Skip to content

23. Bijlagen

Hier wordt uitgelegd hoe u de in dit document gebruikte tools op Windows 7- of 8-computers kunt installeren. De schermafbeeldingen hebben doorgaans betrekking op de 64-bits versies van SGBD en de geïnstalleerde tools. De lezer dient de instructies aan te passen aan zijn eigen omgeving.

23.1. Installatie van een JDK

In de URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (oktober 2014) is de meest recente versie van de JDK te vinden. We zullen de installatiemap van de JDK hierna <jdk-install> noemen.

 

23.2. Installatie van Maven

Maven is een tool voor het beheer van afhankelijkheden van een Java-project en nog veel meer. Het is (oktober 2014) beschikbaar via de URL [http://maven.apache.org/download.cgi].

 

Download het archief en pak het uit. We noemen de installatiemap van Maven <maven-install>.

  • In [1] configureert het bestand [conf / settings.xml] Maven;

Daarin staan de volgende regels:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
-->

De standaardwaarde op regel 4 kan problemen opleveren voor bepaalde software die gebruikmaakt van Maven, als uw {user.home}, net als bij mij, een spatie in het pad bevat (bijvoorbeeld [C:\Users\Serge Tahé]). We zullen (op regel 7) een andere map aanwijzen voor de lokale Maven-repository:


  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>D:\Programs\devjava\maven\.m2\repository</localRepository>

Vermijd in regel 7 een pad dat spaties bevat.

23.3. Installatie van STS (Spring Tool Suite)

We gaan de SpringSource Tool Suite [http://www.springsource.com/developer/sts] (oktober 2014) installeren, een Eclipse-omgeving die vooraf is uitgerust met talrijke plug-ins die verband houden met het Spring-framework en tevens een vooraf geïnstalleerde Maven-configuratie bevat.

  • Ga naar de website van de SpringSource Tool Suite (STS) [1], om de huidige versie van STS [2A] [2B] te downloaden,
  • het gedownloade bestand is een installatieprogramma dat de bestandsstructuur van [3A] en [3B] aanmaakt. In [4] start men het uitvoerbare bestand,
  • in [5] verschijnt het werkvenster van IDE nadat het welkomstvenster is gesloten. In [6] wordt het venster met de applicatieservers weergegeven,
  • in [7], het venster met de servers. Er is één server geregistreerd. Dit is een Tomcat-compatibele server VMware.

Je moet in STS de installatiemap van Maven opgeven:

  • in [1-2] configureert u STS;
  • in [3-4] voegt men een nieuwe Maven-installatie toe;
  • in [5], wijs je de installatiemap van Maven aan;
  • in [6] sluit u de wizard af;
  • in [7] wordt de nieuwe Maven-installatie ingesteld als standaardinstallatie;
  • in [8-9] controleert men de lokale Maven-repository, de map waarin de gedownloade afhankelijkheden worden opgeslagen en waarin STS de te bouwen artefacten zal plaatsen;

Je moet ook een JDK (Java Development Kit) kiezen om zowel Eclipse-projecten zonder als met Maven [1-5] uit te voeren.

Met [4] kun je JDK (Java Development Kit) of JRE (Java Runtime Environment) toevoegen. De laatste kan .class-bestanden uitvoeren, maar kan de .java-bestanden niet compileren om ze te genereren. De JDK kan beide. We kiezen voor een JDK omdat bepaalde Maven-bewerkingen een JDK vereisen.

Om een Eclipse-project aan te maken, gaan we als volgt te werk:

  • in [3], geef het project een naam;
  • in [4], selecteer je een bestaande, lege map;
  • in [5], het aangemaakte project;
  • in [5-8], maak een pakket aan. Een pakket is een map die Java-code bevat. Twee klassen mogen dezelfde naam hebben als ze tot verschillende pakketten behoren. Binnen een project mogen er geen twee pakketten met dezelfde naam zijn. Het is dus niet mogelijk om een pakketnaam te gebruiken die al voorkomt in een van de afhankelijkheden van het project. Een bedrijf zal als pakketnaam een naam gebruiken die het bedrijf, het project en de verschillende takken daarvan aangeeft;
  • in [9], geef het pakket een naam;
  • in [10], het aangemaakte pakket;
  • in [11-13], maak je een klasse aan in het aangemaakte pakket;
  • in [14], geef de klasse een naam (moet voldoen aan de norm CamelCase – elk woord in de naam moet beginnen met een hoofdletter, gevolgd door kleine letters);
  • in [15], controleer het pakket;
  • in [16], vink het vakje aan. Hiermee wordt gevraagd om de statische methode [main] te genereren. Deze methode maakt een klasse uitvoerbaar, d.w.z. de eerste klasse die in een project moet worden uitgevoerd;
  • in [17], de zo aangemaakte klasse;

Typ in de methode [main] de volgende code in, die een tekst op de console weergeeft:


package st.istia;

public class Test01 {

    public static void main(String[] args) {
        System.out.println("test01");
    }

}
  • Voer in [18-20] de klasse uit. De methode [main] wordt dan uitgevoerd;
  • in [21-22], het resultaat van de toepassing;

Als de weergave [Console] niet aanwezig is, ga dan als volgt te werk met [1-4]:

Het kan voorkomen dat er bij het importeren van een Eclipse-project fouten optreden. Dit kan te wijten zijn aan een onjuiste configuratie van het project. Ga als volgt te werk om de fout (indien aanwezig) te verhelpen:

  • wijzig in [1] het bestand [Build Path] van het project;
  • in [2]: het project is geconfigureerd om een JVM 1.5 te gebruiken;
  • in [3], verwijder deze afhankelijkheid;
  • in [4], voeg een nieuwe afhankelijkheid toe;
  • in [5] voeg je een JVM toe;
  • in [6], kies je de JVM van het item;

Zodra dit is gebeurd, bevestigen we alles en gaan we verder met de eigenschap [Java compiler] van het project [7]:

  • in [8] vragen we de compiler om alle kenmerken van de Java-taal tot en met versie 1.7 (of 1.8) te accepteren;
  • in [9] wordt gevalideerd;
  • in [10] mag het aldus opnieuw geconfigureerde project geen fouten meer vertonen;

Bovendien kan het geïmporteerde project gebruikmaken van een UTF-8-tekenset. Ga als volgt te werk om deze tekenset in het geïmporteerde project [1-4] in te stellen:

Daarnaast kan het nuttig zijn om de spellingcontrole in het project uit te schakelen, om te voorkomen dat opmerkingen in het Frans als onjuist worden gemarkeerd. Volg de onderstaande stappen:

23.4. Installatie van de SGBD MySQL5 Community Edition

De SGBD MySQL5 Community Edition is (juni 2015) te vinden op de URL [https://dev.mysql.com/downloads/mysql/]:

 

De installatie verloopt als volgt:

  • in [8] is het wachtwoord [root] gebruikt. In dit document zijn de inloggegevens van de beheerder van SGBD en MySQL: [root / root];

Zodra MySQL 5 is geïnstalleerd, opent u de beheerpagina van Windows Services:

  • [1]: Windows-pictogram linksonder;
  • Stel in [8] de service [MySQL56] in op handmatig opstarten, zodat deze geen onnodige systeembronnen verbruikt. U start de service telkens wanneer u deze nodig hebt via de pagina met services;

23.5. Installatie van EMS en MyManager

De website [http://www.sqlmanager.net/en/] biedt gratis clients aan voor het beheer van zes soorten SGBD:

 

Het voordeel is dat ze allemaal dezelfde interface hebben voor het beheer van de SGBD. Dit is ideaal voor dit document, waarin we de zes SGBD willen beheren. U hoeft geen nieuwe client te leren kennen wanneer u van SGBD wisselt. Ze zijn allemaal te vinden op de URL [http://www.sqlmanager.net/download/]. We downloaden de gratis versies, de zogenaamde lite:

 
 

De URL-versies die momenteel (mei 2015) beschikbaar zijn om te downloaden, zijn de volgende:

MySQL5
IBM DB2
Firebird / Interbase
Oracle
Microsoft SQL Server
PostgreSQL

Wanneer men bijvoorbeeld de client MyManager van MySQL5 installeert, krijgt men de volgende boomstructuur:

  • het uitvoerbare bestand is [2];
  • de stappen in [3-8] laten zien hoe je [MyManager] kunt koppelen aan een van de databases van MySQL;
  • in [4] is het wachtwoord [root];

23.6. Installatie van SGBD Oracle Database Express Edition 11g Release 2

De SGBD Oracle Database Express Edition 11g Release 2 is beschikbaar in de URL (juni 2015): [http://www.oracle.com/technetwork/database/database-techno logies/express-edition/downloads/index.html]:

 

De installatie verloopt als volgt:

  • in [6] voert u het wachtwoord [system] in. In dit document zijn de inloggegevens van de Oracle-beheerder [system / system];

De installatie installeert Oracle als een Windows-service. Er worden verschillende services geïnstalleerd die standaard allemaal automatisch worden gestart. Het eerste wat je moet doen, is ze in de handmatige modus zetten:

Er moeten twee services worden gestart:

  • [OracleXETNSListener], die op poort 1521 luistert naar verzoeken die worden gedaan aan SGBD;
  • [OracleServiceXE], dat SGBD is;

Voor het beheer van Oracle gebruiken we de client [OraManager] (paragraaf 23.5). Om deze te kunnen gebruiken, moet eerst de [Oracle Database Express Edition 11g Release 2 Client]-suite worden geïnstalleerd, die beschikbaar is via de URL (juni 2015): [http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html]. U moet de 32-bits versie downloaden, aangezien [OraManager] een 32-bits client is:

 

De installatie van dit pakket verloopt als volgt:

  • Geef bij [3] de map <oracleXE-install>\app\oracle\product\11.2.0\client_1 op, waarbij <oracleXE-install> de map is waarin u Oracle Express hebt geïnstalleerd;

Laten we nu de client [OraManager] verbinden met de Oracle-server SGBD:

  • in [2]; de naam van de groep kunt u zelf kiezen;
  • naar [4], hier moet u verplicht XE invoeren;
  • in [5] is de alias vrij te kiezen;
  • in [6] zijn de identificatiecodes [system / system];

23.7. Installatie van SGBD PostgreSQL 9.4

De SGBD PostgreSQL 9.4 is beschikbaar vanaf de URL (juni 2015): [http://www.enterprisedb.com/products-services-training/pgdownload#windows]:

 

De installatie verloopt als volgt:

  • in [4] is het wachtwoord postgres. In dit document zijn de inloggegevens van de beheerder van SGBD PostgreSQL [postgres / postgres];

Tijdens de installatie wordt PostgreSQL geïnstalleerd als een Windows-service die automatisch wordt gestart. Het eerste wat u moet doen, is deze in de handmatige modus zetten:

Laten we nu de client [PgManager] (zie paragraaf 23.5) verbinden met SGBD en PostgreSQL:

  • in [2] zijn de identificatiecodes [postgres / postgres];
  • in [3] wordt verbinding gemaakt met de database [postgres];

23.8. Installatie van SGBD DB2 Express

De SGBD DB2 Express is beschikbaar op de URL (juni 2015): [http://www-01.ibm.com/software/data/db2/express-c/download.html]:

 

De installatie verloopt als volgt:

  • in [9] is het wachtwoord [db2admin]. In dit document zijn de inloggegevens van de beheerder van SGBD: [db2admin / db2admin];
 

Opmerking: het kan verleidelijk zijn om deze stap over te slaan. Dat moet u echter niet doen. Deze stap zorgt ervoor dat de map wordt aangemaakt waarin de DB2-databases worden opgeslagen die we gaan aanmaken.

  • er is een map [d:\DB2] aangemaakt [1];
  • de database [SAMPLE] is aangemaakt in de map [d:\db2\node0000];

Het installatieprogramma installeert DB2 als een Windows-service met automatische start. Het eerste wat u moet doen, is deze in de handmatige modus zetten:

Doe dit voor alle bovenstaande [DB2*]-services. Voor dit document hoeft alleen de service [DB2 - DB2COPY1] te worden gestart.

Laten we nu de client [Db2Manager] (zie paragraaf 23.5) verbinden met SGBD en DB2:

  • in [1] de identificatiecodes [db2admin / db2admin] gebruiken;

23.9. Installatie van SGBD SQL Server 2014 Express

De SGBD SQL Server 2014 Express is beschikbaar via de URL (juni 2015): [http://www.microsoft.com/fr-fr/server-cloud/products/sql-server/]:

 

De installatie verloopt als volgt:

 
 
 
 
 
  • in [1] een willekeurig wachtwoord invoeren. We zullen dit later wijzigen;
 
 

Vervolgens starten we de SQL Server-service:

Zodra dit is gebeurd, starten we de client [Microsoft SQL Server Management Studio], die tegelijk met SGBD is geïnstalleerd (zie Startmenu):

We zouden deze client kunnen gebruiken om de SQL-server te beheren. Maar omwille van de consistentie met de clients van de andere SGBD-versies, gebruiken we de client [MsManager] (zie paragraaf 23.5).

  • in [1], noteer de naam van de SGBD;
  • in [2] is het wachtwoord msde ingevoerd. In dit document zijn de inloggegevens van de beheerder van SGBD: [sa / msde];

Zodra dit is gebeurd, starten we de tool [Gestionaire de configuration SQL Server], die tegelijk met SGBD is geïnstalleerd (zie Startmenu):

  • Standaard is in [2] de communicatie TCP/IP niet geactiveerd. Voor dit document moet deze worden geactiveerd: [3];
  • in [4] moet, nog steeds voor dit document, worden aangegeven dat SGBD op poort 1433 wacht op verzoeken van clients. De waarde van [Ports TCP dynamiques] moet leeg zijn;

Zodra dit is gebeurd, starten we de client [MsManager] (zie paragraaf 23.5):

  • in [3] vult u de naam in die u in [1] hebt genoteerd;
  • in [4] zijn de identificatiegegevens [sa / msde];
 

23.10. Installatie van SGBD Firebird

De SGBD Firebird 2.5.4 is beschikbaar via de URL (juni 2015): [http://www.firebirdsql.org/en/firebird-2-5-4/]:

 

De installatie verloopt als volgt:

 

Nu dit is gebeurd, gaan we de startmodus van de aangemaakte Windows-service controleren:

Laten we nu de client [IBManager] (zie paragraaf 23.5) verbinden met de geïnstalleerde Firebird SGBD:

  • in [1] is het wachtwoord masterkey;

23.11. Installatie van de Chrome-plug-in [Advanced Rest Client]

In dit document wordt de Chrome-browser van Google (http://www.google.fr/intl/fr/chrome/browser/) gebruikt. We voegen hier de extensie [Advanced Rest Client] aan toe. Dit gaat als volgt:

 
  • de applicatie is dan beschikbaar om te downloaden:
  • om deze te downloaden, moet u een Google-account aanmaken. [Google Web Store] vraagt vervolgens om bevestiging van [1]:
  • In [2] is de toegevoegde extensie beschikbaar via de optie [Applications] [3]. Deze optie wordt weergegeven op elk nieuw tabblad dat u aanmaakt (CTRL-T) in de browser.

23.12. Beheer van jSON in Java

Op een voor de ontwikkelaar tra nparante manier maakt het [Spring MVC]-framework gebruik van de bibliotheek jSON [Jackson]. Om te illustreren wat jSON (JavaScript Object Notation) is, presenteren we hier een programma dat objecten serialiseert naar jSON en het omgekeerde doet door de gegenereerde jSON-strings te deserialiseren om de oorspronkelijke objecten te reconstrueren.

Met de bibliotheek 'Jackson' kun je:

  • de jSON-string van een object: new ObjectMapper().writeValueAsString(object);
  • een object op basis van de tekenreeks jSON: new ObjectMapper().readValue(jsonString, Object.class).

Beide methoden kunnen een uitzondering genereren. Hier volgt een voorbeeld.

  

Het bovenstaande project is een Maven-project met het volgende bestand [pom.xml];


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>istia.st.pam</groupId>
  <artifactId>json</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.3.3</version>
    </dependency>
  </dependencies>
</project>
  • regels 12-16: de afhankelijkheid die de bibliotheek 'Jackson' binnenhaalt;

De klasse [Personne] ziet er als volgt uit:


package istia.st.json;

public class Personne {
    // gegevens
    private String nom;
    private String prenom;
    private int age;

    // fabrikanten
    public Personne() {

    }

    public Personne(String nom, String prénom, int âge) {
        this.nom = nom;
        this.prenom = prénom;
        this.age = âge;
    }

    // handtekening
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }

    // getters en setters
...
}

De klasse [Main] is als volgt:


package istia.st.json;

import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Main {
  // de tool voor serialisatie/deserialisatie
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // een persoon aanmaken
    Personne paul = new Personne("Denis", "Paul", 40);
    // weergave jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // Person instantiëren vanuit JSON
    Personne p = mapper.readValue(json, Personne.class);
    // weergave van een persoon
    System.out.println("Personne=" + p);
    // een array
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // JSON weergeven
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // woordenboek
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // JSON weergeven
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Het uitvoeren van deze klasse leidt tot de volgende schermweergave:

1
2
3
4
Json={"nom":"Denis","prenom":"Paul","age":40}
Personne=Personne[Denis, Paul, 40]
Json personnes=[{"nom":"Denis","prenom":"Paul","age":40},{"nom":"Radot","prenom":"Virginie","age":20}]
Json hpersonnes={"2":{"nom":"Radot","prenom":"Virginie","age":20},"1":{"nom":"Denis","prenom":"Paul","age":40}}

Uit het voorbeeld onthouden we:

  • het object [ObjectMapper] dat nodig is voor de transformaties jSON / Object: regel 11;
  • de transformatie [Personne] --> jSON: regel 17;
  • de transformatie jSON --> [Personne]: regel 20;
  • de uitzondering [IOException] die door beide methoden wordt gegenereerd: regel 13.