Wir unterstützen...

Elterninitiative Kinderkrebsklinik e.V

Kinderkrebsklinik e.V

Sponsoren

Wir danken unseren Sponsoren:

Permanente Sponsoren

Uni Düsseldorf
(Raum und Beamer)


(Preise)


(Preise)


(Preise)


(Preise)

Mitgliedschaften



java.net Member

Events

Nachlese: Spannende Erweiterungen der Java EE Plattform durch Innovationstechnologien von Oracle | Print |
Written by Philip Höfges   
Monday, 01 December 2014 10:51

>> Slides Peter Doschkinow (1. Vortrag)

>> Slides Michael Bräuer (2. Vortrag)

Auch zu diesem Vortrag fanden sich wieder über 75 Personen im Hörsaal ein. Wie üblich wurde das Gewinnspiel der Rheinjug durchgeführt. Dabei kam es zu einem Novum. Alle drei Gewinner wurden auf Anhieb gezogen. Das gab es noch nie! Ein guter Start für diesmal zwei Vorträge.

Der erste Vortrag wird von Peter Doschkinow gehalten. Er ist Senior Java Architekt bei Oracle und erzählt den Zuhörern interessante Dinge zur serverseitigem JavaScript in der Java Virtual Maschine. Peter stellt zunächst fest, dass es inzwischen sehr viele verschiedene Technologien für die JVM gibt. Diese sind sogar für die Server-Seite interessant. Früher hatte der Client im Vergleich zum Server sehr viel weniger Arbeit. Heutzutage stehen dem Benutzer aber auch dort einige Optionen zur Verfügung. Dies erzeugt aber natürlich auch Arbeit auf der Server-Seite. Dabei gewinnt JavaScript immer mehr an Bedeutung. Der Redner zeigt anhand einer Timeline anschaulich, wie sich JavaScript in der letzten Zeit entwickelt hat. Java und JavaScript sind inzwischen sehr beliebte Programmiersprachen. Auf der neuen Anwendungsplattform Java EE 7 wird der Fokus darauf gelegt, sowie auf HTML5. Für diese Plattform gibt es auch eine Anbindung an ein anderes Tool: Node.js.

Node.js arbeitet eher datenlastiger. Dabei wird allerdings der Umgang mit Nebenläufigkeit nicht mehr trivial. Es gibt tatsächlich keinen Standard für die Schnittstelle für Datenbanken. Als Beispiel zu dieser Behauptung, führt Peter Doschkinow einen Vergleich zwischen synchroner und asynchroner I/O an. Hier kann man sehr schön sehen, wie die Nebenläufigkeit die Laufzeit beeinflusst. Dadurch wird auch deutlich, dass Node.js nicht optimal ist. Die Lösung: Node.js in die Java SE/EE einbauen. Dazu wurde Projekt Nashorn eröffnet. Peter erklärt anschaulich, wie es sich aus Projekt Rhino entwickelt hat. Und es geht noch weiter. Auf diesem Projekt Nashorn aufbauend, wurde Avatar.js entwickelt, eine Plattform für serverseitige JavaScript Applikationen. Dies ist sogar zu 95 Prozent Node.js kompatibel. Ein sehr guter Wert. In einem Beispiel zeigt Doschkinow den Unterschied zwischen Java und JavaScript: Eine Foto-Datenbank mit Node.js als Framework.

Man kann sehr gut sehen, dass die Abhängigkeiten im Vorhinein bekannt sind. Es ist insgesamt sehr wenig Code geschrieben worden und doch ist das Beispiel sehr umfangreich. Es gibt auch andere Programme wie Nodyn, die aber nur am Rand erwähnt werden. Danach geht Peter Doschkinow wieder in die Vollen und zeigt ein neues Projekt: ProjectAvatar. ProjectAvatar ist eine End-to-end-Plattform und bietet neben Multi-threading auch Out-of-the-box Support an. Dadurch wird paralleles Rechnen sehr viel einfacher. In einer letzten Demonstration zeigt der Redner, wie eine einfache Applikation, nämlich das parallele Zeichnen von Figuren, mit JavaScript und Nods.js einfach und schnell zu realisieren ist. Man kann sehr schön sehen, wie es funktioniert. Tolles Beispiel. Zusammenfassend stellt Peter Doschkinow noch den wesentlichen Punkt heraus: Avatar schließt die Brücke zwischen Java und Node.js.

In der darauf folgenden kurzen Pause wird bereits über die Inhalt diskutiert, eher Michael Bräuer ans Mikrofon tritt und mit seinem Vortrag startet. Mit dem Thema In-Memory Grid Computing baut er auf dem vorherigen Vortrag zunächst auf. Dabei macht er auf das Problem aufmerksam, dass bei der Zeichnen-Applikation nicht jeder Client mit einem anderen gemeinsam zeichnen kann, sobald er auf einem anderen Host läuft. Dies ist ein Ärgernis. Die Lösung liegt dafür im Cache. Über In-Memory Data Grid wird dies realisiert. Die Vorteile liegen auf der Hand: Geringe Antwortzeiten, hoher Durchsatz, vorhersehbare Skalierbarkeit, Verfügbarkeit und Zuverlässigkeit. Damit kann die Kapazität über einzelne System hinaus gehalten werden. Dies stellt Michael Bräuer ebenfalls anschaulich dar. Er zeigt, dass die Daten auf die verschiedenen Systeme verteilt werden. Weiterhin gibt es Backups, so dass die Daten in den Systemen immer vorhanden sind, auch wenn eines ausfallen sollte. Dies auch unbedingt erforderlich, um Datenverlust zu vermeiden. Das Netzwerk sei der Feind, behautet Michael mit einem Grinsen im Gesicht. Durch unter anderem Serialisierung wird die Bearbeitung parallelisiert. Sobald sich etwas verändert hat, wird diese Änderung in den Cache geladen. Damit werden alle Clients sofort über diese Änderung informiert und alles kann parallel laufen. Die Daten liegen dabei im Cluster. Abschließend stellt der Redner noch die Frage, was es zu beachten gilt: Aus Betriebssicht muss darauf geachtet werden, dass die Netzwerkkonfiguration und Netzwerkplanung, sowie eine gute Einschätzung der Kapazitäten durchgeführt wird. Aus Entwicklersicht sollten Standardserialisierungsmechanismen vermieden, sowie paralleles Rechnen eingesetzt werden. Der Code muss zu den Daten gebracht werden, nicht die Daten zum Code.