Skip to content

23. Anhänge

Hier wird beschrieben, wie die in diesem Dokument verwendeten Tools auf Windows-7- oder Windows-8-Rechnern installiert werden. Die Screenshots beziehen sich in der Regel auf die 64-Bit-Versionen der installierten SGBD und Tools. Der Leser muss die Angaben an seine eigene Umgebung anpassen.

23.1. Installation eines JDK

Die aktuellste Version, URL, ist in [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (Oktober 2014) enthalten. Im Folgenden wird der Installationsordner des JDK als <jdk-install> bezeichnet.

 

23.2. Installation von Maven

Maven ist ein Tool zur Verwaltung der Abhängigkeiten eines Java-Projekts und vieles mehr. Es ist (Stand: Oktober 2014) unter der Versionsnummer URL [http://maven.apache.org/download.cgi] verfügbar.

 

Laden Sie das Archiv herunter und entpacken Sie es. Wir bezeichnen den Installationsordner von Maven als <maven-install>.

  • In [1] konfiguriert die Datei [conf / settings.xml] Maven;

Darin finden sich die folgenden Zeilen:


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

Der Standardwert in Zeile 4 kann bei einigen Programmen, die Maven verwenden, zu Problemen führen, wenn Ihr {user.home} wie bei mir ein Leerzeichen im Pfad enthält (z. B. [C:\Users\Serge Tahé]). Wir legen daher (in Zeile 7) einen anderen Ordner für das lokale Maven-Repository fest:


  <!-- 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>

Vermeiden Sie in Zeile 7 einen Pfad, der Leerzeichen enthält.

23.3. Installation von STS (Spring Tool Suite)

Wir installieren die SpringSource Tool Suite [http://www.springsource.com/developer/sts] (Oktober 2014), eine Eclipse-Umgebung, die bereits mit zahlreichen Plugins zum Spring-Framework sowie einer vorinstallierten Maven-Konfiguration ausgestattet ist.

  • Rufen Sie die Website der SpringSource Tool Suite (STS) [1] aufrufen, um die aktuelle Version von STS [2A] [2B] herunterzuladen,
  • Die heruntergeladene Datei ist ein Installationsprogramm, das die Dateistruktur von [3A] und [3B] erstellt. In [4] wird die ausführbare Datei gestartet,
  • in [5] wird das Arbeitsfenster von IDE angezeigt, nachdem das Begrüßungsfenster geschlossen wurde. In [6] wird das Fenster mit den Anwendungsservern angezeigt,
  • in [7] das Serverfenster. Ein Server ist registriert. Es handelt sich um einen Tomcat-kompatiblen Server VMware.

In STS muss der Installationsordner von Maven angegeben werden:

  • In [1-2] wird STS konfiguriert;
  • in [3-4] wird eine neue Maven-Installation hinzugefügt;
  • In [5] geben Sie den Installationsordner für Maven an;
  • In [6] schließen wir den Assistenten ab;
  • In [7] wird die neue Maven-Installation als Standardinstallation festgelegt;
  • In [8-9] wird das lokale Maven-Repository überprüft, also der Ordner, in dem die heruntergeladenen Abhängigkeiten abgelegt werden und in dem STS die erstellten Artefakte ablegen wird;

Außerdem muss ein JDK (Java Development Kit) ausgewählt werden, um sowohl Eclipse-Projekte ohne als auch mit Maven [1-5] ausführen zu können.

Mit [4] können JDK (Java Development Kit) oder JRE (Java Runtime Environment) hinzugefügt werden. Letzteres kann .class-Dateien ausführen, aber keine .java-Dateien kompilieren, um diese zu erzeugen. Das JDK kann beides. Man wählt ein JDK, da bestimmte Maven-Operationen ein JDK erfordern.

Um ein Eclipse-Projekt zu erstellen, gehen Sie wie folgt vor:

  • in [3], geben Sie dem Projekt einen Namen;
  • unter [4] wählen Sie einen vorhandenen, leeren Ordner aus;
  • in [5] das erstellte Projekt;
  • in [5-8], erstellen Sie ein Paket. Ein Paket ist ein Ordner, der Java-Code enthält. Zwei Klassen können denselben Namen tragen, wenn sie zu unterschiedlichen Paketen gehören. In einem Projekt darf es keine zwei Pakete mit demselben Namen geben. Daher kann kein Paketname verwendet werden, der bereits in einer der Abhängigkeiten des Projekts existiert. Ein Unternehmen verwendet als Paketnamen einen Namen, der das Unternehmen, das Projekt und dessen verschiedene Zweige angibt;
  • in [9], geben Sie dem Paket einen Namen;
  • in [10], das erstellte Paket;
  • in [11-13] erstellen Sie eine Klasse in dem so erstellten Paket;
  • in [14]: Geben Sie der Klasse einen Namen (muss dem Standard CamelCase entsprechen – jedes Wort des Namens muss mit einem Großbuchstaben beginnen, gefolgt von Kleinbuchstaben);
  • Überprüfen Sie in [15] das Paket;
  • In [16] aktivieren Sie das Kontrollkästchen. Damit wird die statische Methode [main] generiert. Diese Methode macht eine Klasse ausführbar, d. h. sie ist die erste Klasse, die in einem Projekt ausgeführt wird;
  • in [17] die so erstellte Klasse;

Geben Sie in der Methode [main] den folgenden Code ein, der einen Text auf der Konsole anzeigt:


package st.istia;

public class Test01 {

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

}
  • Führen Sie in [18-20] die Klasse aus. Die Methode [main] wird daraufhin ausgeführt;
  • in [21-22], das Ergebnis der Anwendung;

Wenn die Ansicht [Console] nicht vorhanden ist, gehen Sie wie folgt vor: [1-4]:

Es kann vorkommen, dass beim Import eines Eclipse-Projekts Fehler auftreten. Dies kann an einer fehlerhaften Projektkonfiguration liegen. Um den Fehler (falls vorhanden) zu beheben, gehen Sie wie folgt vor:

  • Ändern Sie in [1] die Einstellung [Build Path] des Projekts;
  • in [2]: Das Projekt ist so konfiguriert, dass es eine JVM 1.5 verwendet;
  • in [3], entfernen Sie diese Abhängigkeit;
  • in [4] fügen Sie eine neue Abhängigkeit hinzu;
  • In [5] wird ein JVM hinzugefügt;
  • In [6] wählen Sie die JVM der Position aus;

Anschließend bestätigt man das Ganze und wechselt zur Eigenschaft [Java compiler] des Projekts [7]:

  • In [8] weisen wir den Compiler an, alle Merkmale der Java-Sprache bis einschließlich Version 1.7 (oder 1.8) zu akzeptieren;
  • in [9] wird die Validierung durchgeführt;
  • In [10] sollte das so neu konfigurierte Projekt keine Fehler mehr aufweisen;

Außerdem kann das importierte Projekt eine Zeichenkodierung UTF-8 verwenden. Gehen Sie wie folgt vor, um diese Kodierung im importierten Projekt [1-4] festzulegen:

Außerdem kann es sinnvoll sein, die Rechtschreibprüfung im Projekt zu deaktivieren, um zu vermeiden, dass Kommentare auf Französisch fälschlicherweise als fehlerhaft markiert werden. Befolgen Sie dazu die folgenden Schritte:

23.4. Installation der SGBD MySQL5 Community Edition

Die SGBD MySQL5 Community Edition finden Sie (Stand: Juni 2015) unter URL [https://dev.mysql.com/downloads/mysql/]:

 

Die Installation läuft wie folgt ab:

  • Bei [8] wurde das Passwort [root] verwendet. In diesem Dokument lauten die Anmeldedaten des Administrators von SGBD und MySQL: [root / root];

Sobald MySQL 5 installiert ist, rufen Sie die Seite zur Verwaltung der Windows-Dienste auf:

  • [1]: Windows-Symbol unten links;
  • Stellen Sie in [8] den Dienst [MySQL56] auf „Manueller Start“ ein, damit er keine Ressourcen unnötig beansprucht. Sie starten ihn bei Bedarf jeweils über die Seite „Dienste“;

23.5. Installation von EMS und MyManager

Die Website [http://www.sqlmanager.net/en/] bietet kostenlose Clients zur Verwaltung von sechs Arten von SGBD:

 

Der Vorteil besteht darin, dass sie alle über dieselbe Benutzeroberfläche zur Verwaltung der SGBD verfügen. Dies ist ideal für dieses Dokument, in dem die sechs SGBD verwaltet werden sollen. Beim Wechsel des SGBD ist keine Einarbeitung in einen neuen Client erforderlich. Man findet sie alle unter URL und [http://www.sqlmanager.net/download/]. Die kostenlosen Versionen, die sogenannten lite, werden heruntergeladen:

 
 

Derzeit (Mai 2015) stehen folgende URL-Versionen zum Download bereit:

MySQL5
IBM DB2
Firebird / Interbase
Oracle
Microsoft SQL Server
PostgreSQL

Wenn man beispielsweise den Client MyManager von MySQL5 installiert, erhält man folgende Verzeichnisstruktur:

  • Die ausführbare Datei befindet sich in [2];
  • die Schritte in [3-8] zeigen, wie man [MyManager] mit einer der Datenbanken von MySQL verbindet;
  • in [4] lautet das Passwort [root];

23.6. Installation von SGBD Oracle Database Express Edition 11g Release 2

Die Oracle Database Express Edition 11g Release 2 (SGBD, g) ist ab Juni 2015 (URL) verfügbar: [http://www.oracle.com/technetwork/database/database-techno logies/express-edition/downloads/index.html]:

 

Die Installation läuft wie folgt ab:

  • In [6] geben Sie das Passwort [system] ein. In diesem Dokument lauten die Anmeldedaten des Oracle-Administrators [system / system];

Die Installation richtet Oracle als Windows-Dienst ein. Es werden mehrere Dienste installiert, die standardmäßig alle auf automatischen Start eingestellt sind. Als Erstes sollten Sie diese auf manuellen Start umstellen:

Zwei Dienste müssen gestartet werden:

  • [OracleXETNSListener], der auf Port 1521 auf Anfragen an SGBD wartet;
  • [OracleServiceXE], bei dem es sich um den Dienst SGBD handelt;

Zur Verwaltung von Oracle wird der Client [OraManager] verwendet (Abschnitt 23.5). Damit dieser verwendet werden kann, muss zuvor die Suite [Oracle Database Express Edition 11g Release 2 Client] installiert werden, die unter URL (Juni 2015) verfügbar ist: [http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html]. Es muss die 32-Bit-Version heruntergeladen werden, da [OraManager] ein 32-Bit-Client ist:

 

Die Installation dieser Suite erfolgt wie folgt:

  • Geben Sie bei [3] den Ordner <oracleXE-install>\app\oracle\product\11.2.0\client_1 an, wobei <oracleXE-install> der Ordner ist, in dem Sie Oracle Express installiert haben;

Verbinden wir nun den Client [OraManager] mit dem Oracle-Server SGBD:

  • in [2]; der Name der Gruppe kann frei gewählt werden;
  • in [4] muss zwingend XE angegeben werden;
  • in [5] ist der Alias frei wählbar;
  • bei [6] lauten die Kennungen [system / system];

23.7. Installation von SGBD PostgreSQL 9.4

SGBD PostgreSQL 9.4 ist ab URL (Juni 2015) verfügbar: [http://www.enterprisedb.com/products-services-training/pgdownload#windows]:

 

Die Installation läuft wie folgt ab:

  • In [4] lautet das Passwort postgres. In diesem Dokument lauten die Anmeldedaten des Administrators von SGBD PostgreSQL [postgres / postgres];

Die Installation richtet PostgreSQL als Windows-Dienst mit automatischem Start ein. Als Erstes muss dieser in den manuellen Modus versetzt werden:

Nun verbinden wir den Client [PgManager] (siehe Abschnitt 23.5) mit SGBD und PostgreSQL:

  • in [2] lauten die Kennungen [postgres / postgres];
  • in [3] wird eine Verbindung zur Datenbank [postgres] hergestellt;

23.8. Installation von SGBD und DB2 Express

Das SGBD DB2 Express ist ab dem URL (Juni 2015) erhältlich: [http://www-01.ibm.com/software/data/db2/express-c/download.html]:

 

Die Installation erfolgt wie folgt:

  • In [9] lautet das Passwort [db2admin]. In diesem Dokument lauten die Anmeldedaten des Administrators von SGBD [db2admin / db2admin];
 

Hinweis: Man könnte versucht sein, diesen Schritt zu überspringen. Das sollte man jedoch nicht tun. Dadurch wird der Ordner erstellt, in dem die von uns anzulegenen Datenbanken DB2 gespeichert werden.

  • Ein Ordner „[d:\DB2]“ wurde erstellt: „[1]“;
  • Die Datenbank „[SAMPLE]“ wurde im Ordner „[d:\db2\node0000]“ angelegt;

Die Installation richtet DB2 als Windows-Dienst mit automatischem Start ein. Als Erstes muss dieser in den manuellen Modus versetzt werden:

Führen Sie dies für alle oben genannten Dienste [DB2*] durch. Für die Zwecke dieses Dokuments muss lediglich der Dienst [DB2 - DB2COPY1] gestartet werden.

Verbinden wir nun den Client [Db2Manager] (siehe Abschnitt 23.5) mit SGBD und DB2:

  • in [1] die Kennungen [db2admin / db2admin] verwenden;

23.9. Installation von SGBD und SQL Server 2014 Express

Der SGBD SQL Server 2014 Express ist ab dem URL (Juni 2015) verfügbar: [http://www.microsoft.com/fr-fr/server-cloud/products/sql-server/]:

 

Die Installation läuft wie folgt ab:

 
 
 
 
 
  • Geben Sie bei [1] ein beliebiges Passwort ein. Wir werden es später ändern;
 
 

Anschließend starten wir den Dienst „SQL Server“:

Anschließend starten wir den Client [Microsoft SQL Server Management Studio], der zusammen mit dem SGBD installiert wurde (siehe Startmenü):

Man könnte diesen Client zur Verwaltung des SQL-Servers verwenden. Aus Gründen der Einheitlichkeit mit den Clients der anderen SGBD-Versionen verwenden wir jedoch den Client [MsManager] (siehe Abschnitt 23.5).

  • In [1] notieren Sie den Namen von SGBD;
  • in [2] wurde das Passwort msde hinterlegt. In diesem Dokument lauten die Anmeldedaten des Administrators von SGBD: [sa / msde];

Anschließend starten wir das Tool [Gestionaire de configuration SQL Server], das zusammen mit SGBD installiert wurde (siehe Startmenü):

  • Standardmäßig ist in [2] die Kommunikation TCP/IP nicht aktiviert. Für dieses Dokument muss sie aktiviert werden: [3];
  • In [4] muss, ebenfalls für die Zwecke dieses Dokuments, angegeben werden, dass SGBD auf dem Port 1433 auf Client-Anfragen wartet. Der Wert von [Ports TCP dynamiques] muss leer sein;

Anschließend wird der Client [MsManager] gestartet (siehe Abschnitt 23.5):

  • Geben Sie in [3] den in [1] notierten Namen ein;
  • in [4] lauten die Kennungen [sa / msde];
 

23.10. Installation von SGBD Firebird

Firebird 2.5.4 (SGBD) ist ab URL (Juni 2015) verfügbar: [http://www.firebirdsql.org/en/firebird-2-5-4/]:

 

Die Installation läuft wie folgt ab:

 

Nachdem dies erledigt ist, überprüfen wir den Startmodus des erstellten Windows-Dienstes:

Verbinden wir nun den Client [IBManager] (siehe Abschnitt 23.5) mit der installierten Firebird-Instanz SGBD:

  • Bei [1] lautet das Passwort masterkey;

23.11. Installation des Chrome-Plugins [Advanced Rest Client]

In dieser Anleitung wird der Chrome-Browser von Google (http://www.google.fr/intl/fr/chrome/browser/) verwendet. Dazu wird die Erweiterung [Advanced Rest Client] hinzugefügt. Gehen Sie dazu wie folgt vor:

 
  • Die Anwendung steht dann zum Download bereit:
  • Um sie zu erhalten, müssen Sie ein Google-Konto erstellen. [Google Web Store] fordert anschließend eine Bestätigung an: [1]:
  • In [2] ist die hinzugefügte Erweiterung in der Option [Applications] [3] verfügbar. Diese Option wird auf jedem neuen Tab angezeigt, den Sie im Browser erstellen (CTRL-T).

23.12. Verwaltung von jSON in Java

Auf für den Entwickler trans nsparente Weise nutzt das Framework [Spring MVC] die Bibliothek jSON [Jackson]. Um zu veranschaulichen, was jSON (JavaScript-Objektnotation) ist, stellen wir hier ein Programm vor, das Objekte in jSON serialisiert und umgekehrt die erzeugten jSON-Zeichenketten deserialisiert, um die ursprünglichen Objekte wiederherzustellen.

Mit der Bibliothek „Jackson“ lässt sich Folgendes erstellen:

  • die jSON-Zeichenkette eines Objekts: new ObjectMapper().writeValueAsString(object);
  • ein Objekt aus einer Zeichenkette jSON: new ObjectMapper().readValue(jsonString, Object.class).

Beide Methoden können eine Ausnahme auslösen. Hier ein Beispiel.

  

Das oben genannte Projekt ist ein Maven-Projekt mit der folgenden Datei [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>
  • Zeilen 12–16: die Abhängigkeit, die die Bibliothek „Jackson“ einbindet;

Die Klasse [Personne] sieht wie folgt aus:


package istia.st.json;

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

    // Hersteller
    public Personne() {

    }

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

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

    // Getter und Setter
...
}

Die Klasse [Main] lautet wie folgt:


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 {
  // das Tool zur Serialisierung/Deserialisierung
  static ObjectMapper mapper = new ObjectMapper();

  public static void main(String[] args) throws IOException {
    // Anlegen einer Person
    Personne paul = new Personne("Denis", "Paul", 40);
    // Anzeige jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // Instanziierung einer Person aus JSON
    Personne p = mapper.readValue(json, Personne.class);
    // Anzeige einer Person
    System.out.println("Personne=" + p);
    // ein Array
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // JSON-Anzeige
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // Wörterbuch
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // JSON anzeigen
    json = mapper.writeValueAsString(hpersonnes);
    System.out.println("Json hpersonnes=" + json);
  }
}

Die Ausführung dieser Klasse erzeugt folgende Bildschirmausgabe:

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}}

Aus dem Beispiel ist Folgendes zu entnehmen:

  • das Objekt [ObjectMapper], das für die Transformationen jSON / Objekt erforderlich ist: Zeile 11;
  • die Transformation [Personne] --> jSON: Zeile 17;
  • die Transformation jSON --> [Personne]: Zeile 20;
  • die von beiden Methoden ausgelöste Ausnahme [IOException]: Zeile 13.