Archiv für die Kategorie „Java EE“

Die Java Persistence API (abgekürzt: JPA) bietet die Möglichkeit komfortabel Daten aus der der Welt der Objektorientierung, d.h. aus Deinen Java-Programmen, in die Welt der relationalen Datenbanken zu transportieren und diese von dort wieder abholen. In der freien Wildbahn findet man kaum ein Programm, welches ohne eine Datenbank auskommt. Besonders in großen Unternehmen wachsen die Datenbanken in den Terrabyte-Bereich. Die JPA bietet einen einfachen Zugang zu diesen Datenbanken, indem in den Java-Klassen Annotationen verwendet werden, die der JPA mitteilen, wie die Klassenvariablen in der Datenbank abzubilden sind. Die JPA wertet diese Annotationen aus und ermöglicht eine automatische Synchronisation zwischen Java-Modell und Datenbank.

Natürlich steckt der Teufel im Detail. So passen objektorientierte Welt und relationale Welt konzeptuell an einigen Stellen nicht zusammen, was man als „Impedance Mismatch“ bezeichnet. Um diesen Impedance Mismatch (zu Deutsch auch objektrelationale Unverträglichkeit) zu überwinden, sind detaillierte Kenntnisse sowohl in der Java-Welt wie auch in der relationalen Datenbankwelt nötig. Die JPA bietet Konzepte an, die nutzbar sind, um in seinem Programm diese Unverträglichkeit zu überwinden. Der Kurs hört nicht bei einfacher Übertragung auf, sondern schaut sich diese Schwierigkeiten im Detail an, damit Du gerüstet bist:

  • Ein einfaches Objekt wird in die Datenbank gebracht. Die Einstellungen für die einzelnen Variablentypen werden besprochen.
  • SQL wird in einem integrierten Crash-Kurs wiederholt, damit Du besonders in der Lage bist, Joins auf der Datenbank durchzuführen, die auch von JPA transparent durchgeführt werden.
  • Unterschiedliche Beziehungen (1:1, 1:N und N:M) unidirektional und bidirektional werden aufgebaut.
  • Möglichkeiten der Abbildung von Vererbungshierarchien aus der objektorientierten Welt werden erklärt.
  • und weiteres…

Innerhalb des Kurses erwartet Dich viel Praxis. Anhand eines kleinen Praxisprojektes werden die theoretischen Grundlagen am lebenden Beispiel ausprobiert.

  • Das Praxisprojekt ist eine CRUD-Verwaltung von Personen. Es kann jedoch auf beliebige Daten von Dir umgebaut werden.
    Es handelt sich um eine Java SE-Desktopapplikation, welche Java FX als GUI-Framework nutzt.
  • Innerhalb des Kurses gehen wir jedoch auf darauf ein, wie auf einem Applicationserver im Java EE-Umfeld, konkret auf einem WildFly-Applikation-Server, der sich an den JBoss-Server anlehnt, die JPA genutzt werden kann. Hierbei berühren wir auch den Bereich der Enterprise Java Beans (EJB) und wie sie mit der JPA genutzt werden können.
  • Der Kurs ist ein Expertenkurs. Das bedeutet, er hat ein hohes Niveau und geht ins Detail. Als Voraussetzung für den Kurs sind jedoch nur Java-Kenntnisse erforderlich. Alle anderen Kenntnisse werden Dir in dem Kurs vermittelt.

Buchbar ist der Kurs unter dem folgenden für nur €10:



Java Persistence API mit Hibernate und der Oracle DB

Manchmal steht man vor dem Problem, dass ein Port, den man unter Windows gerade benutzen möchte, blockiert ist. Das bedeutet, ein anderer Prozess benutzt diesen Port momentan und man kann seinen eigenen Dienst nicht starten. In der Eclipse IDE wird man beispielsweise mit der folgenden Fehlermeldung konfrontiert:

Es ist wie folgt möglich, den Dienst zu finden, der den Port blockiert und diesen dann zu beenden:

  1. Kommandozeile ausführen: Im Windowsstartmenü findet sich die Kommandozeile unter „Windows-System“ -> „Eingabeaufforderung“. Dies muss durch ein Klicken der rechten Maustaste im Administratormodus gestartet werden:
  2. Herausfinden, welche Prozess-ID der Prozess trägt, durch Eingabe folgenden Befehls auf der Kommandozeile:
    netstat -aon | findstr /r :8080

    Ausgabe:

    TCP    0.0.0.0:8080    0.0.0.0:0    ABHOEREN    3572

    Die letzte Ziffer, in diesem Beispiel 3572, ist die Prozess-ID.

  3. Den Prozess mit seinen Informationen anzeigen, indem Folgendes auf der Kommandozeile eingegeben wird:
    tasklist /FI "PID eq 3572" /FO TABLE

    Ausgabe

    Abbildname                PID      Sitzungsname     Sitz.-Nr.   Speichernutzung
    ========================= ======== ================ =========== ===============
    TNSLSNR.EXE               3572     Services         0           3.232 K
  4. Den Prozess mit folgendem Befehl auf der Kommandozeile beenden
    taskkill /pid 3572 /f

    Ausgabe ist

    ERFOLGREICH: Der Prozess mit PID 3572 wurde beendet.

    Alternativ kann man auch versuchen, dem Prozess sanfter zu beenden, indem man den Dienst sucht, der diesen Prozess ausmacht und diesen dann herunterfährt. Zusätzlich ist ein Finden des Prozesses über den Taskmanager möglich.

Die Java Server Faces (JSF) sind eine Ablösung der Java Server Pages (JSP). Sie spielen ihre Vorteile besonders dann aus, wenn es um formularbasierte Webanwendungen geht, die in vielen Bereichen genutzt werden.

Java Server Faces ermöglichen eine automatische Synchronisation zwischen den Formularfeldern auf der HTML-Seite und einer im Backend sich befindlichen Backing-Bean. Dabei werden die Eingabefelder konvertiert und validiert. Mit Hilfe eines solchen Vorgehens wird die Verarbeitung solcher Eingabemasken wesentlich vereinfacht. Diese Synchronisation kann nicht nur bei einem einmaligen Absenden des Formulares durchgeführt werden, sondern sie kann über Hintergrund-AJAX-Requests durchgeführt werden, so dass der Benutzer eine unmittelbare Auswirkung seiner Eingabe sehen kann.

Zusätzlich verfügen die Java Server Faces über eine mächtige Templating-Engine wie auch über die Definition einer Navigation.

Der folgende Videokurs führt intensiv in die Java Server Faces (JSF) ein und stellt auch die Contexts and Dependency Injection (CDI) vor, die in die Java Server Faces gerade Einzug hält. Über den untenstehenden Link ist der Kurs zu einem Rabattpreis buchbar:

Java Server Faces (JSF) mit CDI

Folgendes Video erläutert den Kurs noch einmal genauer und ist gleichzeitig auch ein Beispiel, in welchem Format der Videokurs aufgenommen ist:


Die Java Enterprise Edition (Java EE) ist eine Plattform, auf welcher viele Hochlast-Webanwendungen betrieben werden. Dementsprechend herrscht auch immer eine hohe Nachfrage an Entwicklern, die dieser Plattform mächtig sind.

Der von mir angebotene Kurs bietet einen Einstieg in diese Plattform. Er erklärt den Umgang mit Servlets und JSPs umfassend. In praktischen Beispielen wird der Apache Tomcat als Server und die Eclipse IDE als Entwicklungsumgebung eingesetzt. Dabei geht es vor allen Dingen auch um die vielen Möglichkeiten innerhalb von Eclipse, die die Entwicklung in der Java Enterprise Edition (Java EE) unterstützen.

Unter folgendem Couponlink ist es möglich, den Kurs mit einem Rabatt zu buchen:

Java EE mit Tomcat und Eclipse

In dem folgenden Video erkläre ich die Vorzüge dieses Kurses. Das Video selbst ist ein Beispiel, wie das Videokursmaterial aufgebaut ist: