Visualisatie van een databank met behulp van JPA
|
|
|
- Rudolf Maes
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Academiejaar Departement Toegepaste Ingenieurswetenschappen Schoonmeersstraat Gent Visualisatie van een databank met behulp van JPA Masterproef voorgedragen tot het behalen van het diploma van INDUSTRIEEL INGENIEUR INFORMATICA Tim Mallezie Promotoren: Veerle Ongenae Evert De Rammelaere
2 Inhoudsopgave Lijst van afkortingen 2 I Probleemstelling en doelstellingen 5 1 Inleiding Persistentie Object relational paradigm mismatch ORM, JPA en Hibernate Doelstellingen Visualisatie van een relationeel databankmodel Visualisatie van een objectmodel II Gebruikte technologieën 11 3 Maven Een Maven project aanmaken Het gebruik van dependencies Site generatie met Maven JPA Inleiding Mapping door annotaties Configuratie van JPA Opslaan en opvragen van objecten Spring Dependency injection JPA en Spring Bibliografie 25 1
3 Lijst van afkortingen API Application Programming Interface APT Almost Plain Text CRUD Create Read Update Delete EJB Enterprise Java Beans HTML Hypertext Markup Language III Industrieel Ingenieur Informatica JDO Java Data Objects JDK Java Development Kit JPA Java Persistence API JPAQL JPA Query Language JSR Java Specification Request ORM Object/Relational Mapping POM Project Object Model SQL Standard Query Language 2
4 Lijst van figuren 2.1 Visualisatie van een relationeel databankmodel door DbVisualizer Directory structuur na creatie met behulp van archetype Klassediagram van een objectmodel dat gemapt wordt naar een databankmodel Een één-op-één relatie in een databankmodel Een één-op-veel relatie in het databankmodel Een veel-op-veel relatie
5 Lijst van codevoorbeelden 3.1 Maven s Project Object Model Configuratiebestand van de website Mapping van een klasse Annotaties op attributen Annotaties op een één-op-één relatie Annotaties op een één-op-veel relatie Annotaties op een één-op-veel relatie Mapping van een klasse Annotaties op een superklasse Voorbeeld van persistence.xml configuratiebestand
6 Deel I Probleemstelling en doelstellingen 5
7 Hoofdstuk 1 Inleiding 1.1 Persistentie Een applicatie die data gebruikt en bewerkt, moet in staat zijn deze op te slaan, als het programma wordt afgesloten. Hierbij wordt de data meestal bewaard in een relationele databank. De databank is verantwoordelijk voor het behoud van de data, onafhankelijk van de applicatie. De applicatie moet er voor zorgen, dat wijzigingen aan de data, doorgegeven worden aan de databank. De data gebruikt in de applicatie moet persistent zijn met die in de databank. Persistentie zorgt ervoor dat een object onafhankelijk, van zijn gebruikte context, bewaard kan worden. Het omgekeerde begrip wordt transistentie 1 genoemd, dit zijn objecten met een levensduur die beperkt blijft tot het gebruik in de applicatie. 1.2 Object relational paradigm mismatch Een vaak voorkomend probleem bij het gebruik van een databank, ontstaat bij het aanmaken en wijzigen van de gebruikte objecten in de applicatie, en de overeenkomstige tabellen in de databank. Een (relationele) databank maakt gebruik van een relationeel datamodel, met tabellen, één-op-één relaties, één-op-veel en veel-op-veel relaties tussen deze tabellen. Samen met het gebruik van primaire en secundaire sleutels modelleert een relationeel databankmodel op deze manier een werkelijke situatie. In een applicatie echter maakt men gebruik van een objectmodel om de werkelijkheid te modelleren. Hierbij gebruikt men objecten en klassen, en verschillende mogelijke relaties tussen deze. Daarbij heeft men de keuze tussen het gebruik van attributen die een heeft-een relatie kunnen voorstellen, of kan men overerving en interfaces gebruiken om is-een relaties te modelleren. 1 Een vernederlandsing van het Engelse begrip transient. 6
8 Hoofdstuk 1. Inleiding 7 Deze tegenstrijdigheid wordt de object-relational paradigm mismatch genoemd. Een wijd aanvaarde oplossing voor persistentie en de object-relational paradigm mismatch is een oplossing genaamd Object/Relational Mapping (ORM). ORM is een geautomatiseerd en transparante techniek die de relatie tussen objecten en tabellen in een relationele databank vastlegt. Metadata 2 wordt gebruikt om deze mapping te beschrijven. 1.3 ORM, JPA en Hibernate ORM Een ORM oplossing bestaat uit vier delen. Een API voor Create Read Update Delete (CRUD) operaties. Een taal of API om queries te definiëren. Een techniek om de metadata vast te leggen, die nodig is voor de mapping. Een techniek die transactionele objecten behandelt Java Persistence API (JPA) In 2003 werd door Sun 3 een Java Specification Request (JSR) opgestart met de naam Enterprise Java Beans (EJB) 3.0. Deze specificatie bestaat uit twee delen. Het eerste deel definieert een nieuw model voor het gebruik van Java Beans 4. Het tweede deel behandelt persistentie. Dit deel wordt JPA genoemd, waarschijnlijk omdat de interfaces zich in de package javax.persistence.* bevinden. De JPA is een specificatie die een verzameling interfaces definieert. Deze interfaces bepalen hoe persistentie in Java moet geïmplementeerd worden Hibernate Hibernate is een implementatie 5 van de JPA standaard. De JPA specificatie definieert de ORM metadata syntax door gebruik te maken van JDK 5.0 annotaties. Deze annotaties bepalen de relatie tussen de gegevens in een object, en de bijhorende databanktabellen waar deze gegevens moeten opslaan. De JPA specificatie voorziet niet alleen in annotaties om de 2 Aanvullende data die aan een klasse wordt meegegeven. 3 Sun Microsystems Inc. werd opgericht in 1982 en creëerde het Java platform rond Herbruikbare Java componenten. 5 Hibernate biedt ook extra mogelijkheden aan buiten de JPA standaard, maar in deze masterproef wordt enkel de JPA standaard en Hibernate zijn implementatie behandelt.
9 Hoofdstuk 1. Inleiding 8 gegevens op te slaan, maar ook in verschillende annotaties om de relaties tussen objecten en zaken zoals overerving en polymorfisme te modelleren naar een relationeel databankmodel. De JPA specificatie bepaalt ook interfaces, regels voor de levensduur van persistente objecten, en query toepassingen. De Hibernate implementatie voor dit deel van de JPA specificatie is de Hibernate EntityManager. Deze zet verbindingen op met de databank, en laat toe om opzoekingen en wijzigingen uit te voeren in de databank Persistente objecten aanmaken, opzoeken en wijzigen De JPA specificatie laat ons toe om via annotaties, de juiste relaties te bepalen tussen de gegevens in de objecten en de tabellen van de relationele databank. De Hibernate EntityManager bevat verschillende functies om deze objecten op te zoeken, en zorgt ervoor dat wijzigingen aan deze objecten automatisch aan de databank worden doorgegeven. Via de Hibernate EntityManager voeren we bewerkingen uit op objecten. Er wordt op zoek gegaan naar objecten, die onderliggend als data in databank staan. Er worden wijzigingen uitgevoerd op attributen van objecten, en deze worden automatisch doorgegeven aan de juiste tabellen in de databank. De Hibernate EntityManager laat toe om objecten op te vragen en te wijzigen zonder kennis van het onderliggende relationele databankmodel JPAQL JPA Query Language (JPAQL) is een taal die toelaat om specifieke objecten op te zoeken. De JPA specificatie met zijn Hibernate implementatie zet deze opvragingen om in Standard Query Language (SQL) die uitgevoerd wordt op de onderliggende databank. SQL is een query taal die toelaat om gegevens uit verschillende tabellen op te vragen in de databank, op deze manier kan JPAQL beschouwd worden als een query taal om verschillende objecten uit het objectmodel op te vragen.
10 Hoofdstuk 2 Doelstellingen 2.1 Visualisatie van een relationeel databankmodel Toepassingen zoals DbVisualizer laten toe om een visualisatie te geven van een databankmodel, en de data opgeslagen in een databank. Deze toepassingen geven een weergave van de verschillende tabellen in de databank, en de onderlinge relaties tussen de verschillende tabellen. Ook de data die in de verschillende tabellen opgeslagen wordt kan op een eenvoudige manier visueel worden weergegeven. Figuur 2.1: Visualisatie van een relationeel databankmodel door DbVisualizer Deze toepassingen kunnen eenvoudig gebruikt worden om SQL commando s uit te testen. Ook bij het aanmaken van een databankmodel kan een visualisatie een grote hulp zijn. Tijdens het aanmaken van het model kan stapsgewijs nagekeken worden of de relaties tussen de tabellen correct zijn. 9
11 Hoofdstuk 2. Doelstellingen Visualisatie van een objectmodel Het doel van deze masterproef is een applicatie te ontwikkelen die ons toelaat een objectmodel te visualiseren. Deze applicatie geeft informatie en relaties tussen verschillende klassen weer. Ook is er de mogelijkheid om door middel van JPAQL commando s objecten op te vragen, en deze visueel terug te. De ontwikkelde applicatie vertrekt vanuit een aangeleverd objectmodel, en geeft daaruit een visueel beeld van het objectmodel. Hierbij krijgt de gebruiker een beeld van de klasseinformatie, de attributen en methoden van de aangeleverde klassen. Ook de informatie van de gebruikte JPA annotaties wordt weergegeven. Deze applicatie levert de mogelijkheid om via een JPAQL commander, queries uit te voeren en de opgevraagde objecten weer te geven. Dit maakt de applicatie geschikt om JPAQL commando s uit te testen, alvorens ze in een applicatie te gebruiken. Het doel van de ontwikkelde applicatie is een hulp te zijn voor Java ontwikkelaars die met een aangeleverd objectmodel een applicatie dienen te ontwerpen. Het aangeleverde objectmodel kan bekeken worden en doorzocht worden op het niveau van de objecten. De ontwikkelaar dient op deze manier niet op de hoogte te zijn van de manier waarop de persistente objecten gelinkt zijn naar de databank. De applicatie ontwikkeld in deze masterproef kan ook gebruikt worden om te controleren of een objectmodel op een juiste manier aangevuld is met JPA annotaties. Net zoals men bij programma s als DbVisualizer kan kijken of de relaties tussen de verschillende tabellen correct zijn, kan men bij deze applicatie nakijken of relaties tussen objecten juist geïmplementeerd zijn, en of de onderliggende databank relaties gevolgd worden, bij het opvragen van objecten.
12 Deel II Gebruikte technologieën 11
13 Hoofdstuk 3 Maven Maven is een projectmanagement framework, dat ondersteuning biedt bij het ontwikkelen van grote projecten. Het is een ontwikkel-tool die hulpmiddelen biedt voor het beheer van een project. In deze masterproef worden vooral de mogelijkheden om het compileren, deployen en testen van de applicatie te vereenvoudigen gebruikt. Ook de mogelijkheden voor een eenvoudiger beheer van gebruikte externe libraries worden veelvuldig gebruikt, en zullen dan ook besproken worden. Verder biedt Maven ook een structuur aan onze applicatie die ons op een eenvoudige manier toelaat testcode, applicatiecode en gegenereerde class-files te scheiden van elkaar. Als laatste wordt gebruik gemaakt van de mogelijkheid om Maven een site 1 te laten genereren over dit project. Deze site werd de uiteindelijke website voor deze masterproef. 3.1 Een Maven project aanmaken In deze paragraaf wordt kort overlopen hoe een eerste Maven project aangemaakt wordt, van hieruit wordt verder besproken hoe bepaalde Maven functionaliteiten gebruikt werden in deze masterproef. Om een Maven project aan te maken, wordt het ingebouwde archetype mechanisme gebruikt. An archetype is defined as an original pattern or model from which all other things of the same kind are made. (Mav, 2009) Volgend commando levert ons een nieuw project op: mvn archetype:create -DgroupId="be.hogent.iii" -DartifactId="projectnaam" Hier wordt een nieuw project volgens de standaard gebruikte mapstructuur gecreëerd. Deze structuur wordt weergegeven in figuur
14 Hoofdstuk 3. Maven 13 Figuur 3.1: Directory structuur na creatie met behulp van archetype De directorystructuur toont de map src die de bronbestanden van ons project bevat. Deze bevat een map main\java voor de broncode van de applicatie, onderverdeeld in verschillende packages. Verder is ook de map main\resources voor configuratiebestanden aanwezig. De map test bevat de bronbestanden voor de gebruikte JUnit testklassen. In de mapsite komen de verschillende bron- en configuratiebestanden voor de website te staan. In de target map komen de gegenereerde bestanden terecht, hier zijn verschillende mappen voor de sitebestanden, de gegenereerde testresultaten en de gecompileerde class bestanden. Het hart van de configuratie van het gecreëerde Maven project bevind zich in het pom.xml bestand dat aangemaakt wordt. Dit bevat alle configuratiegegevens voor een project. <p r o j e c t> <modelversion> </ modelversion> <groupid>be. hogent. i i i</ groupid> <a r t i f a c t I d>projectnaam</ a r t i f a c t I d> <packaging>j a r</ packaging> <version>1.0 SNAPSHOT</ version> <name>maven Quick S t a r t Archetype</name> <u r l>h t t p : //maven. apache. org</ u r l> <dependencies> <dependency> <groupid>j u n i t</ groupid> <a r t i f a c t I d>j u n i t</ a r t i f a c t I d> <version> </ version> <scope>t e s t</ scope>
15 Hoofdstuk 3. Maven 14 </ dependency> </ dependencies> </ p r o j e c t> Code 3.1: Maven s Project Object Model. Dit Project Object Model (POM) bevat alle belangrijke informatie van het project. De meeste elementen hierin zijn zeer eenvoudig en geven beschrijvende informatie over het project. In de volgende paragraaf wordt dieper ingegaan op het dependencies element. 3.2 Het gebruik van dependencies Bij de installatie en het eerste gebruik van Maven, zal Maven een lokale repository opstellen, en daar verschillende libraries in opslaan, afhankelijk van de dependencies in het POM. In dit voorbeeld zal Maven in de standaard centrale Maven repository op zoek gaan naar de nodige bestanden om de JUnit afhankelijkheid te gebruiken. Deze zal hij dan downloaden naar de lokale repository alwaar hij de nodige jarbestanden zal bewaren. Op die manier gebruikt Maven voor elk project dezelfde lokale repository en zal niet voor elk afzonderlijk project de nodige externe bestanden opnieuw worden opgehaald. Het voordeel bij deze aanpak is dat de gebruikte dependencies enkel moeten weergegeven worden in pom.xml, zoals in codevoorbeeld 3.1. Maven zorgt ervoor dat de niet aanwezige dependencies gedownload worden naar de lokale repository. 3.3 Site generatie met Maven Maven beschikt ook over een eenvoudig systeem om een website over het project aan te maken. dit wordt veel gebruikt bij open source toepassingen om een projectwebsite 2 aan te maken. Om een site aan te maken gebruikt Maven verschillende bronnen om de informatie op te halen. Enerzijds wordt gebruik gemaakt van het pom.xml bestand om projectinformatie op te halen. Maven heeft verschillende tags die informatie meegeven aan het project. In het pom.xml bestand kan een naam, beschrijving, een lijst van programmeurs, de website,... meegegeven worden. Ook kunnen verschillende plugins gedefinieerd worden die gebruikt kunnen worden om testrapporten en Java documentatie te genereren. Het belangrijkste bestand bevindt zich in de map src/site en heeft als naam site.xml. Hierin wordt de structuur van onze site bepaald, indien men niet voldoende heeft aan de standaard website. De configuratie van dit bestand bepaalt de structuur van de website. 2 Bvb.:
16 Hoofdstuk 3. Maven 15 <p r o j e c t name= Caribou V i s u a l i s a t i o n > <publishdate p o s i t i o n= r i g h t /> <body> <menu name= C a r i b o u V i s u a l i s a t i o n > <item name= Home h r e f= / index. html /> <item name= What i s C a r i b o u V i s u a l i s a t i o n h r e f= / p r o j e c t summary. html /> <item name= Wie? h r e f= /team l i s t. html /> <item name= Downloads h r e f= /download. html /> <item name= Logboek h r e f= / logboek. html /> <item name= L i c e n s e h r e f= / l i c e n s e. html /> </menu> </ body> </ p r o j e c t> Code 3.2: Configuratiebestand van de website In dit bestand worden de gebruikt pagina s gelinkt, aan een inhoudsopgave die we in onze site gebruiken. Hierbij worden enerzijds automatisch gecreëerde pagina s aangemaakt, alsook zelf gemaakte pagina s. Eigen pagina s kunnen op verschillende manieren aangemaakt worden. Externe pagina s of bestanden kunnen rechtstreeks in de website gelinkt worden. Deze externe resources dienen daarvoor in de map /src/site/resources geplaatst te worden. Een tweede mogelijkheid is om zelf pagina s aan te maken in Maven s eigen Almost Plain Text (APT) formaat. Dit is een wiki-achtige markup-taal die door Maven kan omgezet worden naar Hypertext Markup Language (HTML)-pagina s. Deze pagina s worden door Maven in de website ingevoegd.
17 Hoofdstuk 4 JPA 4.1 Inleiding In paragraaf 1.3 werd aangehaald dat de Java Persistence API (JPA) specificatie met Hibernate als implementatie een Object/Relational Mapping (ORM) oplossing biedt om met persistente objecten om te gaan. Het gebruik van JPA in een applicatie bestaat uit drie stappen: Het objectmodel aanmaken en de mapping bepalen door de nodige annotaties aan te brengen. Een configuratiebestand maken, met instellingen over de gebruikte databank en eigenschappen om met deze verbindingen op te zetten. Het gebruik van de Hibernate EntityManager om objecten aan te maken, te wijzigen en op te zoeken. 4.2 Mapping door annotaties Met JPA-annotaties wordt de relatie tussen het objectmodel en de relationele databank aangeduid. In deze paragraaf wordt dieper ingegaan op de verschillende annotaties. Als een objectmodel gemapt dient te worden naar een databankmodel kunnen vier onderdelen onderscheiden worden. 1. Een klasse mappen naar één of meerdere tabellen. 2. De attributen naar de verschillende kolommen linken. 3. Relaties tussen objecten omzetten naar relaties gebruikt in een databankmodel. 16
18 Hoofdstuk 4. JPA Overerving en polymorfisme mappen naar een databankmodel. Hierbij wordt vertrokken van een top-down benadering. Er wordt vertrokken vanuit een bestaand objectmodel dat gelinkt dient te worden aan een databank, waarbij er weinig of geen vereisten zijn voor de onderliggende databank. Deze methode laat de vrijheid om de verschillende annotaties te verklaren. Uiteraard kunnen ook andere benaderingen gebruikt worden 1. Een bottom-up benadering vertrekt vanuit een opgelegde databankmodel waarna men dan de annotaties invult, zodat de objecten dan volgens dit schema gemapt worden naar de databank. In dit hoofdstuk wordt dieper ingegaan op het gebruik van JPA aan de hand van voorbeeld 4.1. Dit objectmodel wordt gemapt naar een databankmodel. Figuur 4.1: Klassediagram van een objectmodel dat gemapt wordt naar een databankmodel Annotaties op klassen Klassen waarvan de objecten gemapt moeten worden naar de databank, moeten aangeduid worden als een entiteit. JPA maakt voor deze aanduiding gebruik van annotaties, een toevoeging in Java 5.0. Om een klasse aan te duiden als entiteit dient men deze aan te duiden met annotatie. Verder kan onder meer de naam van de databanktabel gespecificeerd worden met @Table ( name = PERSOON ) public class Persoon { } Code 4.1: Mapping van een klasse 1 De databank kan dan ook automatisch gegenereerd worden met de hbm2ddl tool.
19 Hoofdstuk 4. JPA 18 Een klasse kan ook beschouwd worden als onderdeel van een andere klasse. Daarvoor kan annotatie gebruikt worden Annotaties op velden en/of attributen Om alle informatie van een klasse te bewaren, dienen ook de attributen van een klasse in de databank opgeslagen te worden. Eenvoudige attributen van standaard Java Development Kit (JDK) types, worden automatisch omgezet naar het overeenkomstige databanktype. Hiervoor is het voldoende om de attributen aan te duiden met annotatie. Binnen een databank dient elke tabel voorzien te zijn van een primaire sleutel. Daarom dient minstens één attribuut aangeduid te worden als primaire sleutel van de tabel. Deze kan automatisch worden ingevuld met de juiste annotaties, ook kunnen andere attributen aangeduid worden als ( s t r a t e g y = name = PERSOON ID ) private long i d name = PERSOON NAAM ) private S t r i n g naam ; Code 4.2: Annotaties op attributen Deze annotaties kunnen rechtstreeks op de attributen aangebracht maken, of op de methoden die toegang geven tot de waarden, de zogenaamde getter-methoden. Afhankelijk waar de annotaties zich bevinden, vragen de onderliggende JPA-klassen hun waarden rechtstreeks aan de attributen, of vragen ze de waarde op via de geannoteerde methoden Relaties tussen klassen De mapping van een klasse en zijn attributen naar de juiste kolommen in de databank is voor de meeste objectmodellen niet voldoende. Binnen verschillende klassen bestaan afhankelijkheden naar andere klassen. Een klasse kan een heeft-een relatie hebben met een andere klasse, of een lijst van objecten van een andere klassen bevatten. Deze relaties moeten we omzetten, naar de bestaande relaties in een databank. Een databank kan één-op-één, veel-op-één, of veel-op-veel relaties bevatten. Verder moet er gespecificeerd worden of deze relaties, uni- of bidirectioneel dienen te zijn.
20 Hoofdstuk 4. JPA 19 Een één-op-één relatie In het voorgaande voorbeeld is te zien dat de klasse Persoon een relatie met zichzelf heeft. Dit dient omgezet te worden naar een één-op-één relatie in de databank. In een databankmodel wordt dit geïmplementeerd door een kolom toe te voegen die een verwijzing bevat naar de primaire sleutel van de Persoon die de echtgenoot voorstelt. Dit is ook duidelijk te zien in de manier waarop de annotaties dienen ingevuld ( name = PERSOON ) public class Persoon cascade = ( name = ECHTGENOOT ID ) private Persoon echtgenoot ; } Code 4.3: Annotaties op een één-op-één relatie Er wordt annotatie gebruikt om de relatie aan te duiden. annotatie duidt de naam van de kolom aan die daarvoor gebruikt wordt. Dit geeft een databankmodel zoals te zien in figuur 4.2. Figuur 4.2: Een één-op-één relatie in een databankmodel Een één-op-veel relatie Een object van de klasse Persoon kan een inwoner zijn van een object van de klasse Huis. Een Huis kan echter meerdere inwoners hebben. Dit is te zien in het klassediagram op figuur 4.1, waar een Huis een collectie van inwoners bevat. Om dit in een databankmodel weer te geven, wordt aan een Persoon-tabel een kolom toegevoegd die de primaire sleutel van een ( name = PERSOON ) public class Persoon {
21 Hoofdstuk 4. JPA 20 f e t c h = ( name= PERSOON HUIS ID, referencedcolumnname= HUIS ID ) private Huis h u i s ; Code 4.4: Annotaties op een één-op-veel relatie Er wordt annotatie gebruikt om de relatie aan te duiden. annotatie duidt de naam van de kolom aan die daarvoor gebruikt wordt. Dit geeft een databankmodel zoals te zien in figuur 4.3. We duiden het type aan van de relatie die we willen definiëren, in dit geval dus ToOne relatie. En aan annotatie worden de kolommen meegegeven die de data van de relatie moet bevatten. Aan de andere kant van de relatie dient enkel aangeduid te worden dat de relatie bestaat en door welk attribuut ze ( name = HUIS ) public class Huis = h u i s ) private C o l l e c t i o n <Persoon> bewoners = new ArrayList<Persoon >();} Code 4.5: Annotaties op een één-op-veel relatie Op deze manier wordt een databankmodel bekomen zoals in figuur 4.3. Figuur 4.3: Een één-op-veel relatie in het databankmodel Een veel-op-veel relatie Ook veel-op-veel relaties kunnen aangeduid worden met behulp van JPA. In een databank kunnen we deze relatie enkel definiëren door een tussentabel in te voegen. Op deze manier moet deze relatie dan ook aangeduid worden in het objectmodel. In het gebruikte objectmodel is te zien dat een object van de klasse Huisdier verschillende Persoon objecten als eigenaar kan hebben, en dat een object van de klasse Persoon verschillende objecten van de klasse Huisdier kan bevatten. Deze relatie wordt geannoteerd volgens codevoorbeeld 4.6.
22 Hoofdstuk 4. JPA 21 De wordt gebruikt om de relatie aan te duiden. De zorgt voor een nieuwe tabel in de databank. Deze bestaat enkel uit verwijzingen naar de primaire sleutels van de objecten die bij ( name = HUISDIER ID ( name = HUISDIER ) public class H u i s d i e r extends Dier f e t c h = ( name = HUISDIER EIGENAAR, joincolumns = ( name = HUISDIER ID ) }, inversejoincolumns = (name = PERSOON ID ) } ) private C o l l e c t i o n <Persoon> e i g e n a a r s = new ArrayList<Persoon >(); } Code 4.6: Mapping van een klasse In het databankmodel van figuur 4.4 is duidelijk te zien dat er een extra tabel in de databank wordt ingevoegd. In de andere klasse die bij de relatie betrokken is, dient enkel aangeduid te worden door welk attribuut de relatie gespecificeerd wordt, zoals in codevoorbeeld 4.5. Figuur 4.4: Een veel-op-veel relatie Overerving en polymorfisme Ten slotte dient nog de overerving tussen de klasse Dier en Huisdier geïmplementeerd te worden. Hiervoor wordt annotatie gebruikt in de superklasse. Hibernate heeft verschillende technieken ingebouwd om ervoor te zorgen dat de juiste objecten uit de databank opgehaald worden. Het strategy attribuut van annotatie bepaalt welke strategie gevolgd wordt, om het databankmodel te bepalen. Deze strategie bepaalt welke SQL statements uitgevoerd worden. Deze keuze heeft meestal dan ook enkel
23 Hoofdstuk 4. JPA 22 belang indien men aan een vast databankmodel dient te voldoen, of kan een invloed hebben op de performantie van de uitgevoerde queries. In deze masterproef wordt hier echter niet dieper ( s t r a t e g y = InheritanceType. ( name= DIER ) public class Dier {... } Code 4.7: Annotaties op een superklasse 4.3 Configuratie van JPA De JPA functionaliteit dient ook nog informatie te krijgen over welke klassen geannoteerd zijn. Alsook dienen connectiegegevens aanwezig te zijn, om de gebruikte databank te kunnen lokaliseren, en een connectie op te zetten. Deze informatie wordt opgeslagen in een XMLbestand. Default wordt dit bestand opgeslagen in de META-INF map. <p e r s i s t e n c e xmlns= h t t p : // java. sun. com/xml/ ns / p e r s i s t e n c e x m l n s : x s i= h t t p : //www. w3. org /2001/XMLSchema i n s t a n c e x s i : s c h e m a L o c a t i o n= h t t p : // java. sun. com/xml/ ns / p e r s i s t e n c e h t t p : // java. sun. com/xml/ ns / p e r s i s t e n c e / p e r s i s t e n c e 1 0. xsd version= 1. 0 > <! p e r s i s t e n c e. xml > <p e r s i s t e n c e u n i t name= h e l l o w o r l d > <p r o p e r t i e s> <! Scan f o r annotated c l a s s e s and Hibernate mapping XML f i l e s > <property name= h i b e r n a t e. a r c h i v e. a u t o d e t e c t i o n value= c l a s s /> <property name= h i b e r n a t e. connection. d r i v e r c l a s s value= com. mysql. jdbc. Driver /> <property name= h i b e r n a t e. connection. password value= m a l l e z i e /> <property name= h i b e r n a t e. connection. u r l value= j d b c : m y s q l : // l o c a l h o s t / t e s t /> <property name= h i b e r n a t e. connection. username value= r o o t /> <property name= h i b e r n a t e. d i a l e c t value= org. h i b e r n a t e. d i a l e c t. MySQLInnoDBDialect /> <property name= h i b e r n a t e. hbm2ddl. auto value= c r e a t e /> </ p r o p e r t i e s>
24 Hoofdstuk 4. JPA 23 </ p e r s i s t e n c e u n i t> </ p e r s i s t e n c e> Code 4.8: Voorbeeld van persistence.xml configuratiebestand 4.4 Opslaan en opvragen van objecten
25 Hoofdstuk 5 Spring Spring is een open-source framework dat tot doel heeft om de eenvoudige J2EE applicaties te ontwikkelen. Elke java-applicatie kan echter voordelen hebben bij Spring. Spring heeft verschillende hulpmiddelen om unit testen te vereenvoudigen. Spring zorgt voor een losse koppeling tussen klassen. Spring zorgt voor minder, en dus makkelijkere code, en biedt hulpklassen aan voor een verscheidenheid aan veelgebruikte technologieën. Spring is a lightweight dependency injection and aspect-oriented container and framework (Walls & Breidenbach, 2008) In deze masterproef gebruiken we vooral de losse koppeling die door Spring verkregen wordt, door dependecy injection te gebruiken. Alsook de hulpklassen die Spring bevat om met minder code JPA opdrachten uit te voeren. 5.1 Dependency injection 5.2 JPA en Spring 24
26 Bibliografie (2009). Introduction to archetypes. introduction-to-archetypes.html. Geraadpleegd: maart Bauer, C. & King, G. (2007). Java Persistance with Hibernate. Manning, second edition. Biswas, R. & Ort, E. (2006). The java persistence api - a simpler programming model for entity persistence. Geraadpleegd: januari Johnson, R., Hoeller, J., Arendsen, A., Risberg, T., & Sampaleanu, C. (2005). Professional Java Development with the Spring Framework. Wiley Publishing, first edition. Massol, V. & Husted, T. (2004). JUnit in action. Manning, first edition. Massol, V., van Zyl, J., Porter, B., Casey, J., & Sanchez, C. (2008). Better Builds with Maven. DevZuz, first edition. Walls, C. & Breidenbach, R. (2008). Spring in action. Manning, second edition. 25
NHibernate als ORM oplossing
NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een
Technisch Ontwerp W e b s i t e W O S I
Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept
Sparse columns in SQL server 2008
Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : [email protected] www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG
INFITT01 - Internettechnologie WEEK 8
INFITT01 - Internettechnologie WEEK 8 Programma Databases (JDBC, JNDI, ORM, JPA) MVC & Spring/Struts EJB Databases Veel web applicaties moeten informatie over langere tijd op kunnen slaan. Een voor de
Zelftest Java EE Architectuur
Zelftest Java EE Architectuur Document: n1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA EE ARCHITECTUUR Nota:
Service Data Objects. Wat is SDO? Dynamic data API
Service Data Objects Het is tegenwoordig misschien moeilijk voor te stellen maar er zijn nog steeds situaties waarbij je geen netwerk verbinding hebt. Hier ben ik de afgelopen tijd meerdere malen tegenaan
Inhoudsopgave. Hoofdstuk 1: Ant...4
Inhoudsopgave Hoofdstuk 1: Ant...4 1.1 Inleiding...4 1.2 Ant installeren...5 1.3 Ant gebruiken...7 1.3.1 Een project maken...7 1.3.2 Mijn eerste Ant-script...10 1.3.2.1 Projects...10 1.3.2.2 Targets...11
Correspondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Technische nota AbiFire Rapporten maken via ODBC
Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern
Correspondentie inzake overnemen of reproductie kunt u richten aan:
JPA 2.1 - Hibernate Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle
4 ASP.NET MVC. 4.1 Controllers
4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.
DWR 1.2 Installatiehandleiding Search Enricher
DWR 1.2 Installatiehandleiding Search Enricher Versie 1.2 Datum 23 november 2010 Status Definitief Inhoud Inhoud...2 Inleiding...3 1.1 Interfacing...3 1.2 Configuratie...3 2 Installatie...4 2.1 Pre-requisites...4
Zelftest Java concepten
Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig
Technische nota AbiFire5 Rapporten maken via ODBC
Technische nota AbiFire5 Rapporten maken via ODBC Laatste revisie: 29 juli 2009 Inhoudsopgave Inleiding... 2 1 Installatie ODBC driver... 2 2 Systeeminstellingen in AbiFire5... 3 2.1 Aanmaken extern profiel...
Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat
Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Wat is een database? Een verzameling van georganiseerde data Een database bestaat uit applicaties, SQL en het DBMS Watis eendbms? EenDBMS
icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous
icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................
Programmeren met databanken volgens het lagenmodel in C#
Programmeren met databanken volgens het lagenmodel in C# met Visual Studio en MySQL HA-2267-02 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2016 Guimardstraat 1, 1040 Brussel Guimardstraat
Capita Selecta Design Patterns voor administratieve applicaties
Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26
Copyright IBS 2006. Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens
Nieuwbouw Vereenvoudigd en versnelt Java ontwikkeling Huub Cleutjens Inhoud IBS en Java Keuzes: taal / architectuur Productiviteit / arbeidsdeling IBS Java Development Accelerator Persistence UI Persistence
Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken
Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand
Programmeren met databanken volgens het lagenmodel in C#
Programmeren met databanken volgens het lagenmodel in C# met Visual Studio en MySQL HA-2267-04 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2017 Guimardstraat 1, 1040 Brussel Guimardstraat
Kleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13
5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische
Correspondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
ETIM UP Handleiding Ketenstandaard Bouw en Installatie Versie:
ETIM UP Handleiding Ketenstandaard Bouw en Installatie Versie: 25-07-17 Handleiding ETIM UP 1 Inhoudsopgave Over ETIM UP...3 1 Algemeen...4 1.1 Website...4 1.2 Toegang...4 1.3 Bestandsformaten...4 2 Dashboard...5
Software Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1
Dynamiek met VO-Script
Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software [email protected] Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries
Dynamische webapplicaties in Java
Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages
Mach3Framework 5.0 / Website
Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...5 1.1 Ingelogd blijven...6 1.2 Wachtwoord vergeten...7 2 Applicatie keuzescherm...8 2.1 De beheeromgeving openen...9 3
DATAMODELLERING BASIS UML KLASSEMODEL
DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
Informatie & Databases
Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat
Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:
Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig
What is the advantage of using expression language instead of JSP scriptlets and JSP expressions?
Web 3: Theorievragen No Scriptlets What is the advantage of using expression language instead of JSP scriptlets and JSP expressions? Geen javacode tussen de html. What is the difference between the. operator
Software Test Documentation
FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe
Acht stappen voor JSF
Acht stappen voor JSF Inleiding In deze tutorial zullen we JSF (Java server faces) installeren. Wat we niet beschrijven is hoe te werken met JSF, over dit onderwerp zijn er genoeg boeken en internetsites
Selenium IDE Webdriver. Introductie
Selenium IDE Webdriver Het Wielsem 10, 5231 BW s- Hertogenbosch, telefoon 073-6409311 e- mail [email protected] internet http://www.testwork.nl 1 Inhoudsopgave 1 Inhoudsopgave... 2 2 Selenium IDE... 3 3
Release notes Release
1 Release notes Release 2018.7-07-08-2018 Inhoud 1. Inleiding... 3 2. Gebouw... 4 2.1. Apps... 4 2.2. Gebruikers op gebouw... 5 2.3. Mapping - Makkelijker (ont)koppelen van producten en materialen... 5
Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen
Elastic Search wat heb je aan data als je er niets mee doet.. Oscar Buse 11 juli 2017 Linux User Group Nijmegen Inleiding Dit praatje gaat over Elasticsearch. De onderwerpen die aan bod komen: Wat is Elasticsearch?
SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.
SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens
Een website maken met databasetoegang.
Hoofdstuk 5 Een website maken met databasetoegang. In dit hoofdstuk gaan we het weblog dat je in hoofdstuk 4 hebt gemaakt verder uitbreiden. Een belangrijk onderdeel wordt toegevoegd aan de applicatie,
TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise
TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van
Specialisatie RTES - Project FunnyScreens. Installatie en gebruik van JUnit
Installatie en gebruik van JUnit Auteurs: Niels Hendriks - 89713 Matthijs Langenberg - 89870 Wiebe van Schie - 84313 Siet Toorman - 91623 Job Vermeulen 90589 Semester: 6 DSO: QSO: Dhr. R.J.W.T. Tangelder
BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/2006 1 / 6
Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/2006 1 / 6 Inhoudstafel... 1 1 Voorwoord... 3 2 De samenstelling van het uitwisselingsformaat... 4 3
Correspondentie inzake overnemen of reproductie kunt u richten aan:
- XSL-FO Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Inhoudsopgave. Hoofdstuk 1.Inleiding...3
Struts Inhoudsopgave Hoofdstuk 1.Inleiding...3 1.1.Design patterns...3 1.1.1.Model 1 Architectuur...3 1.1.2.Model 2 Architectuur (MVC)...4 1.2.Frameworks...6 Hoofdstuk 2.Struts installatie...7 2.1.Installatie
Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.
Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het
Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
DATAMODELLERING DATA MAPPING MODEL
DATAMODELLERING DATA MAPPING MODEL Inleiding In dit whitepaper wordt de datamodelleervorm data mapping model beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil
MA!N Rapportages en Analyses
MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6
Mach3Framework 5.0 / Website
Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...4 1.1 Ingelogd blijven...5 1.2 Wachtwoord vergeten...6 2 Applicatie keuzescherm...7 2.1 De beheeromgeving openen...8 3
Koppeling met een database
PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt
DataFlex 19.0 SQL Server
Connections to SQL Server 1 Agenda Connecties Aanpassingen in applicaties 2 Connecties Kort overzicht 3 SQL manier Connectie maken met een server (login) Connectie stelt je in staat om tabellen in een
WebHare Professional en Enterprise
WebHare Professional en Enterprise Publicatie module Site inrichting handleiding Datum 19 november 2002 Aantal pagina s: 31 Versie: 2.01 Doelgroep Sysops Gebruikers met site aanmaak rechten Gebruikers
De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.
Plsqldoc Genereer je documentatie Beeklaan 444 2562 BK Den Haag www.darwin-it.nl [email protected] KvK 27283780 ING 65.35.40.663 Technical Architect Net als (vrijwel) elke ontwikkelaar vind ik het documenteren
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren Handleiding om te beginnen met mysql WorkBench. In twee stappen 0. WorkBench verbinden met mysql 1. een hallo
Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Beheer van databanken
Beheer van databanken Wim De Proost Jan Jochems Pieter Van den Akkerveken Departement Handelswetenschappen en Bedrijfskunde Bachelor Informatica 3 de jaar Academiejaar 2011-2012 2 Inhoud INLEIDING... 3
Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.
Hoofdstuk 2 Een ASP.NET applicatie met ADO.NET opzetten In dit hoofdstuk ga je een eenvoudige website opzetten, waarbij je een aantal gegevens uit een database ophaalt. Je moet je kennis van ADO.NET dus
Handleiding voor Zotero versie 2.0
Handleiding voor Zotero versie 2.0 Michiel Wolda De handleiding voor Zetero is geschreven voor de lezers van het boek Deskresearch: Informatie selecteren, beoordelen en verwerken: tweede editie (Van Veen
Inhoudsopgave. Hoofdstuk 1.RMI...2
- CORBA Inhoudsopgave Hoofdstuk 1.RMI...2 1.1.Inleiding...2 1.2.De remote...4 1.3.Het remote...5 1.4.De server...6 1.5.De server opstarten...8 1.6.De client applicatie...8 1.7.De stub en skeleton en...10
Indoor Navigation System
Project Indoor Navigation System Onderwerp: Indoor Navigation System Document: Handleiding Ontwikkeltools Groep: EII6RTa Auteurs: 1. Jordi Betting 109277 2. Jerome Bos 113180 3. Theo Miltenburg 112883
App onderdelen. Source files. Android app onderdelen 1/6
Android app onderdelen 1/6 App onderdelen Een Android project bestaat uit een aantal onderdelen die hieronder beschreven worden. In het project venster kan je de mappen weergeven volgens de hieronder aangeduide
Object Oriented Programming
Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming
Een database gebruiken
Een database gebruiken In een vorige handleiding heb ik laten zien hoe je met Scratch soortgelijke gegevens kunt opslaan in een lijst om deze op een later moment weer op te halen. Als voorbeeld las ik
Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho.
Automatisering voor Financiële Dienstverleners Werken met Queries en Merge Documenten For more information visit our website at www.pyrrho.com Date: Document Nr: 30 maart, 2007 UBizzMerge, Versie 4.0 Status:
Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS
WMS voor Kadastrale kaart Limburg GEORZ-lab Datum: 17 juli 2009 Auteur: GEORZ-lab, Just van den Broecke Versie: 2 Contact: Ebrahim Hemmatnia (Adviseur PPI GEO, Kadaster), tel. 088 183 22 16. Inleiding
Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan
Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan met Threat meldingen, driver problemen en hoe het product
APEX vs OutSystems, een vergelijking door een gebruiker
WHITEBOOK APEX vs OutSystems, een vergelijking door een gebruiker Februari 2019 Auteur: Michel Vogelpoel INTEGRATIESPECIALIST Inleiding Als fervent gebruiker van APEX moet men ook af en toe over de Oracle
Deel 2: Endnote bibliografische software gebruiken als databasemanager en editor
Deel 2: Endnote bibliografische software gebruiken als databasemanager en editor Versie feb. 2015 pag. 38 Endnote output: 1. Organiseer je database 2. Doorzoek de referenties in je database 3. Publiceren,
Installatiehandleiding Business Assistent
Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken
Uitgebreid voorstel Masterproef Informatica
HoGent Uitgebreid voorstel Masterproef Informatica Titel van het project: Optimalisatie & ontwikkeling van een gegevenstransfertool voor Business Intelligence-gebruikers Datum : 01/11/2012 Naam student
JSF webapplicatie performance
JSF webapplicatie performance Kees Broenink (JSF expert), 27 januari 2009 JSF webapplicatie performance... 1 Applicatieserver in productie... 2 HotSpot... 2 Geheugen... 2 Webapplicatie performance analyse...
Beschrijving functioneel en technisch design van de website
Bespreking Punten: Beschrijving functioneel en technisch design van de website Nr. Punt 1 Student 2 Bedrijf 3 Algemene lay out 4 Technologieën 5 Webruimte en datatrafiek 1. Student Registratie Bij de registratie
DATAMODELLERING ER DIAGRAM
DATAMODELLERING ER DIAGRAM Inleiding In dit whitepaper wordt de datamodelleervorm ER diagram beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil je een beeld krijgen
Correspondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Installatiehandleiding Cane Webservices.nl Integratie
Installatiehandleiding Cane Webservices.nl Integratie Inhoud INHOUD... 1 1. INTRODUCTIE... 2 DOELSTELLING DOCUMENT... 2 GERELATEERDE DOCUMENTEN... 2 GEBRUIK VAN HET DOCUMENT... 2 LEZERS DOELGROEP... 2
Toelichting op SDK. Versie 2.0. Datum 11 november 2010 Status definitief
Toelichting op SDK Versie 2.0 Datum 11 november 2010 Status definitief Inhoud 1 Inleiding 3 1.1 Wat is de Software developer kit? 3 1.2 Voor wie is de SDK bedoeld? 3 1.3 1.4 Waarvoor kan de SDK gebruikt
Software Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren
Entity Framework en Entity SQL
Thema Entity Framework en Entity SQL DATABASETOEGANG EN OBJECT RELATIONAL MAPPING MET HET ENTITY-MODEL. Hoe bouw je een persistence-laag met ADO.NET 3.5? De auteur maakt in zijn voorbeeld gebruik van het
Thinking of development
Thinking of development Databases Arjan Scherpenisse HKU / Miraclethings Agenda voor vandaag Opdracht tussenstand State diagram / Observer pattern Bret Victor Databases 2/42 Opdracht tussenstand Slides
«Technische gids» Netwerkinstallatie en Terminal Server/Citrix
14/04/01 B50/v4.00/S/TG003.02 «Technische gids» Netwerkinstallatie en Terminal Server/Citrix System Voor gebruik bij de installatie van Sage BOB 50 School Edition 2014 Oplossing Sage BOB 50 2 Hoewel aan
Handleiding RS Form! 1.0.4
Handleiding RS Form! 1.0.4 Inhoud 1. Controlepaneel... 3 2. Forms Manager... 4 2.1 Nieuwe form aanmaken... 4 2.2 Nieuwe fields toevoegen... 7 2.3 Wijzigen/verwijderen bestaande Forms, Fields... 10 Versie
Software Design Document
Software Design Document Mathieu Reymond, Arno Moonens December 2014 Inhoudsopgave 1 Versiegeschiedenis 2 2 Definities 3 3 Introductie 4 3.1 Doel en Scope............................. 4 4 Logica 5 4.1
