Skip to content

23. Anhänge

Hier wird erläutert, wie die in diesem Dokument verwendeten Tools auf Windows 7- oder 8-Rechnern installiert werden. Die Screenshots zeigen in der Regel die 64-Bit-Versionen des DBMS und der installierten Tools. Der Leser sollte die Angaben an seine eigene Umgebung anpassen.

23.1. Installation eines JDK

Das neueste JDK finden Sie unter der URL [http://www.oracle.com/technetwork/java/javase/downloads/index.html] (Stand: Oktober 2014). Das JDK-Installationsverzeichnis bezeichnen wir im Folgenden als <jdk-install>.

 

23.2. Installation von Maven

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

 

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

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

Sie enthält 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 Maven-basierten Programmen zu Problemen führen, wenn Ihr {user.home}-Pfad wie bei mir ein Leerzeichen enthält (zum Beispiel [C:\Users\Serge Tahé]). Wir geben (in Zeile 7) einen anderen Ordner für das lokale Maven-Repository an:


  <!-- 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 die Verwendung eines Pfads, 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 mit zahlreichen Plugins zum Spring-Framework vorkonfiguriert ist und über eine vorinstallierte Maven-Konfiguration verfügt.

  • Gehen Sie auf die Website der SpringSource Tool Suite (STS) [1], um die aktuelle Version von STS [2A] [2B] herunterzuladen.
  • Die heruntergeladene Datei ist ein Installationsprogramm, das die Dateiverzeichnisstruktur [3A] [3B] erstellt. In [4] starten wir die ausführbare Datei,
  • in [5] das Arbeitsbereichsfenster der IDE nach dem Schließen des Begrüßungsfensters. In [6] wird das Fenster „Anwendungsserver“ angezeigt,
  • in [7], dem Serverfenster. Ein Server ist registriert. Es handelt sich um einen Tomcat-kompatiblen VMware-Server.

Sie müssen STS das Maven-Installationsverzeichnis angeben:

  • Konfigurieren Sie STS in [1-2];
  • in [3-4] fügen Sie eine neue Maven-Installation hinzu;
  • in [5] das Maven-Installationsverzeichnis angeben;
  • Schließen Sie in [6] den Assistenten ab;
  • in [7] die neue Maven-Installation als Standard festlegen;
  • Überprüfen Sie in [8-9] das lokale Maven-Repository – den Ordner, in dem die heruntergeladenen Abhängigkeiten gespeichert werden und in dem STS die erstellten Artefakte ablegt;

Sie müssen außerdem ein JDK (Java Development Kit) auswählen, um sowohl Eclipse-Projekte mit als auch ohne Maven auszuführen [1–5].

Über [4] können Sie JDKs (Java Development Kits) oder JREs (Java Runtime Environments) hinzufügen. Letztere können .class-Dateien ausführen, aber keine .java-Dateien kompilieren, um diese zu erzeugen. Das JDK kann beides. Sie sollten ein JDK wählen, da bestimmte Maven-Operationen eines erfordern.

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

  • Geben Sie in [3] einen Namen für das Projekt ein;
  • wählen Sie in [4] einen vorhandenen, leeren Ordner aus;
  • in [5] wird das Projekt erstellt;
  • in [5-8] erstellen Sie ein Paket. Ein Paket ist ein Ordner, der Java-Code enthält. Zwei Klassen können denselben Namen haben, wenn sie zu unterschiedlichen Paketen gehören. Innerhalb eines Projekts darf es keine zwei Pakete mit demselben Namen geben. Daher können Sie keinen Paketnamen verwenden, der bereits in einer der Abhängigkeiten des Projekts existiert. Ein Unternehmen verwendet einen Paketnamen, 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 innerhalb des erstellten Pakets;
  • in [14] benennen Sie die Klasse (muss der CamelCase-Konvention entsprechen – jedes Wort im Namen muss mit einem Großbuchstaben beginnen, gefolgt von Kleinbuchstaben);
  • Überprüfen Sie in [15] das Paket;
  • Aktivieren Sie in [16] das Kontrollkästchen. Dadurch wird die Generierung der statischen Methode [main] angefordert. 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 den folgenden Code in die [main]-Methode ein, der 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. Daraufhin wird deren [main]-Methode ausgeführt;
  • in [21-22], das Ergebnis der Anwendung;

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

Beim Importieren eines Eclipse-Projekts können Fehler auftreten. Dies kann an einer fehlerhaften Projektkonfiguration liegen. Um den Fehler (falls vorhanden) zu beheben, gehen Sie wie folgt vor:

  • Ändern Sie unter [1] den [Build Path] des Projekts;
  • In [2] ist das Projekt für die Verwendung einer JVM 1.5 konfiguriert;
  • Entfernen Sie in [3] diese Abhängigkeit;
  • Fügen Sie in [4] eine neue Abhängigkeit hinzu;
  • Fügen Sie in [5] eine JVM hinzu;
  • Wählen Sie in [6] die JVM für den Rechner aus;

Sobald dies erledigt ist, überprüfen Sie alles und gehen Sie dann zur Eigenschaft [Java-Compiler] des Projekts [7]:

  • Weisen Sie den Compiler in [8] an, alle Java-Sprachfunktionen bis einschließlich Version 1.7 (oder 1.8) zu akzeptieren;
  • In [9] überprüfen wir die Konfiguration;
  • In [10] sollte das neu konfigurierte Projekt keine Fehler mehr enthalten;

Zudem verwendet das importierte Projekt möglicherweise die Zeichenkodierung UTF-8. Befolgen Sie diese Schritte, um diese Kodierung im importierten Projekt festzulegen [1–4]:

Außerdem kann es sinnvoll sein, die Rechtschreibprüfung im Projekt zu deaktivieren, um zu verhindern, dass französische Kommentare fälschlicherweise als falsch unterstrichen werden. Befolgen Sie die folgenden Schritte [1–4]:

23.4. Installation des DBMS MySQL5 Community Edition

Das DBMS MySQL5 Community Edition ist (Stand: Juni 2015) unter der URL [https://dev.mysql.com/downloads/mysql/] zu finden:

 

Die Installation verläuft wie folgt:

  • In [8] wurde das Passwort [root] verwendet. In diesem Dokument lauten die Anmeldedaten für den MySQL-DBMS-Administrator [root / root];

Sobald MySQL 5 installiert ist, öffnen Sie die Windows-Dienste-Verwaltungsseite:

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

23.5. Installation von EMS MyManager

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

 

Der Vorteil besteht darin, dass sie alle über dieselbe Schnittstelle zur Verwaltung von DBMS verfügen. Dies ist ideal für dieses Dokument, in dem wir alle sechs DBMS verwalten möchten. Beim Wechsel zwischen den DBMS muss kein neuer Client erlernt werden. Sie sind alle unter der URL [http://www.sqlmanager.net/download/] zu finden. Laden Sie die kostenlosen „Lite“-Versionen herunter:

 
 

Die Download-URLs lauten derzeit (Mai 2015) wie folgt:

MySQL5
IBM DB2
Firebird / Interbase
Oracle
Microsoft SQL Server
PostgreSQL

Wenn Sie beispielsweise den MySQL5 MyManager-Client installieren, erhalten Sie die folgende Verzeichnisstruktur:

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

23.6. Installation der Oracle Database Express Edition 11g Release 2

Das DBMS Oracle Database Express Edition 11g Release 2 ist unter der folgenden URL verfügbar (Stand: Juni 2015): [http://www.oracle.com/technetwork/database/database-techno logies/express-edition/downloads/index.html]:

 

Die Installation verläuft wie folgt:

  • Geben Sie in [6] 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. Der erste Schritt besteht darin, sie in den manuellen Modus zu versetzen:

Zwei Dienste müssen gestartet werden:

  • [OracleXETNSListener], der auf Port 1521 auf Anfragen an das DBMS wartet;
  • [OracleServiceXE], das DBMS;

Zur Verwaltung von Oracle verwenden wir den [OraManager]-Client (Abschnitt 23.5). Um ihn nutzen zu können, müssen Sie zunächst die [Oracle Database Express Edition 11g Release 2 Client]-Suite installieren, die unter der folgenden URL verfügbar ist (Stand: Juni 2015): [http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html]. Sie müssen die 32-Bit-Version herunterladen, da [OraManager] ein 32-Bit-Client ist:

 

Installieren Sie diese Suite wie folgt:

  • Geben Sie in [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 [OraManager]-Client mit dem Oracle-DBMS:

  • In [2] können Sie den Gruppennamen frei wählen;
  • In [4] müssen Sie „XE“ eingeben;
  • In [5] kann der Alias beliebig sein;
  • In [6] lauten die Anmeldedaten [system / system];

23.7. Installation des DBMS PostgreSQL 9.4

Das DBMS PostgreSQL 9.4 ist unter der folgenden URL verfügbar (Stand: Juni 2015): [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 PostgreSQL-DBMS-Administrators [postgres / postgres];

Die Installation richtet PostgreSQL als Windows-Dienst mit automatischem Start ein. Als Erstes müssen Sie den Dienst in den manuellen Modus versetzen:

Verbinden wir nun den [PgManager]-Client (siehe Abschnitt 23.5) mit dem PostgreSQL-Datenbankmanagementsystem:

  • In [2] lauten die Anmeldedaten [postgres / postgres];
  • in [3] stellen wir eine Verbindung zur Datenbank [postgres] her;

23.8. Installation des DB2 Express-DBMS

Das DB2 Express DBMS ist unter der folgenden URL verfügbar (Stand: Juni 2015): [http://www-01.ibm.com/software/data/db2/express-c/download.html]:

 

Die Installation läuft wie folgt ab:

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

Hinweis: Sie könnten versucht sein, diesen Schritt zu überspringen. Tun Sie das nicht. Dadurch wird der Ordner erstellt, in dem die DB2-Datenbanken, die wir erstellen werden, gespeichert werden.

  • Ein Ordner [d:\DB2] wurde erstellt [1];
  • die Datenbank [SAMPLE] wurde im Ordner [d:\db2\node0000] erstellt;

Die Installation richtet DB2 als Windows-Dienst mit automatischem Start ein. Der erste Schritt besteht darin, ihn in den manuellen Modus zu versetzen:

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

Verbinden wir nun den [Db2Manager]-Client (siehe Abschnitt 23.5) mit dem DB2-DBMS:

  • Verwenden Sie in [1] die Anmeldedaten [db2admin / db2admin];

23.9. Installation des SQL Server 2014 Express-DBMS

Das SQL Server 2014 Express-DBMS ist unter der folgenden URL verfügbar (Stand: Juni 2015): [http://www.microsoft.com/fr-fr/server-cloud/products/sql-server/]:

 

Die Installation verläuft wie folgt:

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

Starten Sie anschließend den SQL Server-Dienst:

Starten Sie anschließend den [Microsoft SQL Server Management Studio]-Client, der zusammen mit dem DBMS installiert wurde (siehe Startmenü):

Wir könnten diesen Client zur Verwaltung von SQL Server verwenden. Aus Gründen der Konsistenz mit Clients für andere DBMS werden wir jedoch den [MsManager]-Client verwenden (siehe Abschnitt 23.5).

  • Beachten Sie in [1] den Namen des DBMS;
  • in [2] haben wir das Passwort msde eingegeben. In diesem Dokument lauten die Anmeldedaten des DBMS-Administrators [sa / msde];

Starten Sie anschließend das Tool [SQL Server Configuration Manager], das zusammen mit dem DBMS installiert wurde (siehe Startmenü):

  • Standardmäßig ist unter [2] die TCP/IP-Kommunikation nicht aktiviert. Für dieses Dokument müssen Sie sie aktivieren [3];
  • In [4] müssen Sie, ebenfalls für die Zwecke dieses Dokuments, festlegen, dass das DBMS an Port 1433 auf Client-Anfragen wartet. Der Wert für [Dynamic TCP Ports] muss leer bleiben;

Sobald dies erledigt ist, starten Sie den Client [MsManager] (siehe Abschnitt 23.5):

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

23.10. Installation des Firebird-DBMS

Das Firebird 2.5.4 DBMS ist unter der folgenden URL verfügbar (Stand: Juni 2015): [http://www.firebirdsql.org/en/firebird-2-5-4/]:

 

Die Installation läuft wie folgt ab:

 

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

Verbinden wir nun den [IBManager]-Client (siehe Abschnitt 23.5) mit dem installierten Firebird-DBMS:

  • In [1] lautet das Passwort „masterkey“;

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

In diesem Dokument verwenden wir den Chrome-Browser von Google (http://www.google.fr/intl/fr/chrome/browser/). Wir werden die Erweiterung [Advanced Rest Client] hinzufügen. So geht’s:

 
  • Die App steht dann zum Download bereit:
  • Um sie zu erhalten, müssen Sie ein Google-Konto erstellen. Der [Google Web Store] fordert Sie dann zur Bestätigung auf [1]:
  • In [2] ist die hinzugefügte Erweiterung in der Option [Apps] [3] verfügbar. Diese Option erscheint auf jedem neuen Tab, den Sie im Browser erstellen (STRG-T).

23.12. JSON-Verarbeitung in Java

Auf eine für den Entwickler trans parente Weise nutzt das [Spring MVC]-Framework die [Jackson]-JSON-Bibliothek. Um zu veranschaulichen, was JSON (JavaScript Object Notation) ist, stellen wir hier ein Programm vor, das Objekte in JSON serialisiert und den umgekehrten Vorgang durchführt, indem es die generierten JSON-Strings deserialisiert, um die ursprünglichen Objekte wiederherzustellen.

Mit der „Jackson“-Bibliothek können Sie Folgendes erstellen:

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

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

  

Das oben genannte Projekt ist ein Maven-Projekt mit der folgenden [pom.xml]-Datei;


<?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 [Person] sieht wie folgt aus:


package istia.st.json;
 
public class Personne {
    // data
    private String nom;
    private String prenom;
    private int age;
 
    // manufacturers
    public Personne() {
 
    }
 
    public Personne(String nom, String prénom, int âge) {
        this.nom = nom;
        this.prenom = prénom;
        this.age = âge;
    }
 
    // signature
    public String toString() {
        return String.format("Personne[%s, %s, %d]", nom, prenom, age);
    }
 
    // getters and setters
...
}

Die Klasse [Main] sieht wie folgt aus:


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 {
  // the serialization / deserialization tool
  static ObjectMapper mapper = new ObjectMapper();
 
  public static void main(String[] args) throws IOException {
    // creation of a person
    Personne paul = new Personne("Denis", "Paul", 40);
    // display jSON
    String json = mapper.writeValueAsString(paul);
    System.out.println("Json=" + json);
    // person instantiation from Json
    Personne p = mapper.readValue(json, Personne.class);
    // person display
    System.out.println("Personne=" + p);
    // a picture
    Personne virginie = new Personne("Radot", "Virginie", 20);
    Personne[] personnes = new Personne[]{paul, virginie};
    // json display
    json = mapper.writeValueAsString(personnes);
    System.out.println("Json personnes=" + json);
    // dictionary
    Map<String, Personne> hpersonnes = new HashMap<String, Personne>();
    hpersonnes.put("1", paul);
    hpersonnes.put("2", virginie);
    // json display
    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}}

Wichtige Erkenntnisse aus dem Beispiel:

  • das für JSON/Objekt-Transformationen erforderliche [ObjectMapper]-Objekt: Zeile 11;
  • die [Person] --> JSON-Transformation: Zeile 17;
  • die JSON --> [Person]-Transformation: Zeile 20;
  • die von beiden Methoden ausgelöste [IOException]: Zeile 13.