Archiv des Expertenkreises Java

In unserem Archiv stellen wir Ihnen die Vortragsfolien zu allen bisher stattgefundenen Sitzungen des Expertenkreises Java zum Download zu Verfügung.

29.06.2017 DB-Schema-Evolution mit LiquiBase

Abstract:

Der Fokus der Entwicklung von Anwendungen mit (relationalen) Datenbanken hat sich verschoben: Hat man früher zunächst die Struktur der Datenbank entworfen, so entsteht die Schemainformation heute in den Klassen der Anwendung. Bei der Weiterentwicklung muss die DB-Struktur dann "nachgezogen" werden, was im Falle von Tabellen- oder Spaltenergänzungen mit Standardmitteln bspw. in JPA lösbar ist. Andere Änderungen wie Umbenennen oder Löschen von Spalten oder auch Anpassungen von Tabelleninhalten müssen dann immer noch manuell durchgeführt werden.

Hier kann das Open-Source-Tool/Framework LiquiBase eingesetzt werden. Es erlaubt die automatisierte Ausführung von Skripten, die die DB-Struktur von einer Anwendungsversion zur nächsten umbauen - und auch zurück, wenn es nötig sein sollte.

Download der Vortragsfolien.

18.05.2017 Software verpacken mit Docker

Abstract:

Ein großes Problem stellen beim Testen und Ausliefern von Software die leider häufig unterschiedlich konfigurierten Ablaufumgebungen dar. Die Entwicklerrechner, der Testserver und der Produktivserver werden sich höchst wahrscheinlich deutlich voneinander unterscheiden, was in Folge immer wieder zu schwer nachvollziehbaren Problemen führt.
Docker ist eine offene Plattform, welche es ermöglich Anwendungen isoliert voneinander in sogenannten Containern ausführen zu können. Container stellen eine leichtgewichtige Form der Virtualisierung als Alternative zu herkömmlichen VMs dar. (Java-) Applikationen können so mit all ihren Abhängigkeiten und Konfigurationen in einem Image verpackt werden, welches dann zwischen den verschiedenen Umgebungen ausgetauscht wird.
Dieser Vortrag beleuchtete die grundlegende Funktionsweise von Docker und zeigte wie diese Technologie das Paketieren und Ausliefern von Software revolutioniert.

Download der Vortragsfolien.

16.02.2017 Von Java Swing über JavaFX nach HTML


Abstract:

Welche UI Technologie nehmen wir denn nun, wenn es etwas komplizierter wird? Konkret: wenn es um Dialoge für Sachbearbeiter und Power User einer Geschäftsanwendung geht? Weiterhin Java Swing? Oder JavaFX? Oder doch HTML5, obwohl wir uns da bzgl. Erstellungs- und Pflegeaufwands etwas Sorgen machen...?

Björn Müller berichtet über deren Weg durch diese Technologien: Vom Java Swing Client kommend gab es zunächst die Orientierung in Richtung JavaFX - mit Höhen und Tiefen. Daneben wurden zahllose Versuche in Richtung HTML5 unternommen - bis dann einer endlich "einschlug": Über die neue RISC-HTML-Methode wurden binnen eines halben Jahres alle Funktionalitäten des vorherigen Swing/FX Clients reimplementiert - mit 100 % Architektur-bedingter Browserkompatibilität und mit einer Performance, die beeindruckend war!
Lassen auch Sie sich überraschen in dem durch viele konkrete Beispiele gespickten Technologievortrag!

Referent war Herr Björn Müller, Geschäftsführer CaptainCasa GmbH.

Download der Vortragsfolien.

08.12.2016 Java EE Microservices ohne Server


Abstract:

Mit Java EE lassen sich Unternehmensanwendungen gut und schnell entwickeln. Der technologische Werkzeugkasten ist mit JPA, CDI, JTA, JAX-RS etc. gut gefüllt – soweit ist man sich einig, auch wenn es Alternativen auf Augenhöhe gibt, die dem einen oder anderen vielleicht besser gefallen. Das Deployment- und Betriebskonzept von Anwendungen, die auf einem Application Server betrieben werden, wird allerdings zunehmend kritisiert. Der Bedarf für den Betrieb mehrerer Applikationen auf einem Server ist kaum noch vorhanden, Anwendungen werden eher isoliert auf je einem Server betrieben, der somit überflüssig erscheint. Ein Verzicht auf den Server stellt aber die technische Architektur der Anwendungen nicht infrage. Dank WildFly Swarm, Payara Micro oder KumuluzEE können Java-EE-Anwendungen ihren Serveranteil eingebettet enthalten, womit wir das Beste zweier Seiten erhalten: Die technische Mächtigkeit und Eleganz von Java EE und das simple Betriebskonzept einer Java-SE-Anwendung.

Dirk Weil, Geschäftsführer von GEDOPLAN, stellt in seinem Vortrag die angesprochenen Lösungen und ihren derzeitigen Stand vor – Live-Demo inklusive.

Download der Vortragsfolien.

---------------------------------------------------------------------------------------------------

27.10.2016 JavaFX: Schnell und einfach moderne Desktop-Anwendungen bauen


Abstract:

Mit Java 8 ist JavaFX zu einem festen Bestandteil der Java-Plattform
geworden. Es löst Swing als GUI-Toolkit ab und bietet eine Fülle an
neuen Features, die das Entwickeln von modernen Java-Desktop-Anwendungen
vereinfachen.Mit JavaFX wird die Entwicklung produktiver, die Struktur
wird klarer und Boilerplate-Code fällt weg. JavaFX-Anwendungen können in
kürzerer Zeit erstellt werden, sind besser wartbar und leichter erweiterbar.
Der Vortrag gab einen ersten Einblick in das Framework und demonstrierte
die Vorteile und neuen Features an Beispielen.

Während des Vortrags wurde live eine komplette JavaFX-Anwendung
erstellt.

Download der Vortragsfolien.

---------------------------------------------------------------------------------------------------

18.08.2016 Was jeder Java-Entwickler über Strings wissen sollte

Abstract:

Strings sind wahrscheinlich der am meisten verwendete Datentyp in jeder Java-Anwendung. Es ist daher nicht überraschend, dass JDK-Ingenieure versuchen, Strings möglichst gut zu optimieren oder Bücher über Performanz-Tuning und Testen dem Thema Strings ganze Kapitel widmen. Jeder Entwickler sollte daher wissen, was Strings sind und wie sie sinnvoll und effizient eingesetzt werden können. Dieser Vortrag stellt JDK-Klassen vor, die mit und auf Strings arbeiten, sowohl auf der API- aber auch auf der Implementierungsebene. Wir beleuchten interne Strings und die für sie verwendeten Speicherbereiche, sowie die noch recht unbekannte "String-Deduplication"-Option des G1-Garbage-Collectors. Zu guter Letzt gehen wir auf die neue String-Implementierung im JDK 9 ein.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

23.06.2016 Einsatz von JavaScript im Unternehmenskontext

Abstract: Die Erfolgsgeschichte von JavaScript ist nun seit einigen Jahren nicht mehr aufzuhalten. Auch in typischen Java-Enterprise-Umgebungen und -Anwendungen kommt JavaScript dank Frameworks wie Node, Angular und React neben klassischen Java-EE-Komponenten bereits zum Einsatz, mit wachsender Verbreitung.
In seinem Vortrag geht Niko Köbler auf die Gemeinsamkeiten und vor allem die Unterschiede von Java und JavaScript ein und erklärt, wie man beide Welten professionell miteinander verbinden kann, so dass auch langjährige Java-Entwickler sich schnell in der neuen Sprache zurechtfinden. Dank Nashorn findet JavaScript sogar in der JVM auf der Server-Seite einen Platz und hat praxistaugliche Einsatzszenarien. Für die Auswahl von Client-seitigen Frameworks gibt er ebenso wertvolle Tipps und Hinweise wie auch für die Zukunft tragfähige Entwicklungen in großen Teams.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

12.05.2016 Wieviel Client braucht das Web? -
                    Full-Stack-Anwendungen mit JSF, Vaadin oder AngularJS

Abstract: Fullstack-Java-EE-Anwendungen schreibt man mit JSF. Zumindest im Standard. Nun sind Browser schon lange nicht mehr einfache Remote-Displays, sondern führen mit JavaScript eine leistungsfähige und allgegenwärtige Programmumgebung mit sich. Also dann HTML+JS+CSS, vielleicht mit ein bisschen AngularJS? Wie integriert sich das mit dem Java-EE-Backend? Und was ist mit Vaadin als serverzentrierter Präsentation ohne Zwang zu einer weiteren Sprache neben Java? Dominik Mathmann, Hendrik Jungnitsch und Dirk Weil stellen diese Varianten mit viel aussagekräftigem Code gegeneinander und liefern Argumente für die Beantwortung der Frage, welches GUI-Framework wann und für wen am besten geeignet ist.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

12.02.2016 Infinispan / JBoss Data Grid -
                   Schneller Zugriff auf große Datenmengen im Cluster

Abstract: Infinispan / JDG ist eine Cache-Lösung, mit der sich große Datenmengen effizient im Zugriff halten lassen. Idealerweise werden alle Anfragen immer mit der gleichen Performance/Latenz bearbeitet und die Daten sind stets konsistent. Die Clusterfähigkeit sorgt dabei für eine gute Skalierbarkeit, wobei allerdings Netzwerk, Garbage Collection etc. Einflüsse darauf haben können. Wolf-Dieter Fink stellt in diesem Vortrag Infinispan/JDG vor, betrachtet das Verhalten des Caches im Cluster und zeigt auf der Basis von Erfahrungen aus der Praxis die Möglichkeiten zur Vermeidung von Inkonsistenzen und Ausfällen im Betrieb.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

10.12.2015 Leichtgewichtige Microservices mit Java EE 7

Abstract: Microservices werden derzeit stark diskutiert bis hin zu der Fragestellung, ob klassische Java-EE-Server für Microservices überhaupt noch benötigt werden. In diesem Vortrag zeigt Dirk Weil, dass gerade mit der Hilfe von Java EE Microservices schnell und effizient realisiert werden können – und das bei Bedarf auch ohne Application Server!

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

24.9.2015 Flexible Datenbank-Anwendungen mit MongoDB

Seit einigen Jahren wird das Konzept relationaler Datenbanken in Frage gestellt.
Um so stärker rückt die Schema-freie, dokumentenorientierte Open-Source-Datenbank „MongoDB“ von 10gen in den Fokus.Einfache Skalierbarkeit, Hohe Flexibilität und eine effiziente Dokumentenorientierung macht MongoDB für Software-Projekte sehr attraktiv. Das Datenmodell von MongDB basiert auf Collections von BSON Objekten, einer JSON Variante. Wegen der Schema-Freiheit können Datenstrukturen in MongoDB-Datenbanken dynamisch entstehen, sich verändern und wachsen.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

27.8.2015  AngularJS - trendige Webanwendungen mit JavaScript


AngularJS wurde von Google als Open-Source-Framework für sogenannte Single-Page-Applikationen entwickelt. Es implementiert das Entwurfsmuster Model-View-ViewModel (MVVM) zur Trennung von Darstellung und Logik des User Interfaces. Erreicht wird das durch eine Erweiterung des HTML-Vokabulars, sowie wiederverwendbare Komponenten und ein bidirektionales Databinding.  Die Anwendung kommuniziert dabei mit einem Server über REST-Services.

Dowmload der Vortragsfolien

---------------------------------------------------------------------------------------------------

18.06.2015 Java Persistence Queries - Effektive DB-Abfragen

JPA ist als Persistenzframework in Java-EE-Anwendungen im breiten Einsatz. Neben anderen Operationen spielen Abfragen in der Nutzung von Datenbanken eine zentrale Rolle, wozu JPA diverse Möglichkeiten anbietet. Neben einer SQL-ähnlichen Query-Sprache stehen bspw. Native Queries, Extended Queries und Stored Procedure Queries zur Verfügung. Die ebenfalls angebotene Criteria Query API punktet zwar mit Typ- und Refactoring-Sicherheit, ist aber hinsichtlich der Lesbarkeit kritisch zu bewerten. Hier bieten sich Standard-Aufsätze wie QueryDSL an, um Abfragen lesbar und typsicher "fluent" formulieren zu können.

Download der Vortagsfolien

---------------------------------------------------------------------------------------------------

25.03.2015 Versionierung mit GIT

Nach einer kurzen Einführung in die grundlegenden Konzepte werden vor allem die Unterschiede zu CVS und subversion und die daraus resultierenden Vor- bzw. Nachteile erläutert. Außerdem werden die Themen "Best Practices" und Migration angesprochen und ein kurzer Überblick über die Situation bei IDE-Plugins und alternativen Git-Clients gegeben.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

30.10.2014 Anwendungsentwicklung mit Apache Camel

Apache Camel ist ein freies Integration-Framework für das regelbasierte Routen und Konvertieren von Daten. Es bietet eine Java-basierte Umsetzung bekannter Enterprise-Integration-Patterns (EIP), welche mit Hilfe verschiedener DSLs (Java, XML, Scala) deklarativ für den entsprechenden Anwendungsfall definiert werden können. Ziel dieses Vortrages ist es, einen Überblick über die grundlegenden Problemstellungen der Anwendungs-Integration und die Lösungen, die Camel für diese bietet, zu schaffen.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

14.8.2014 Spring Boot - einfach & produktiv - auch ohne Application Server

Mit Spring Boot wird nicht nur der Einstieg in das Spring Ökosystem wesentlich einfacher - auch typische Probleme wie die Builds werden gelöst. Dazu werden für Entwickler Turn Arounds kürzer unddie Anwendungen können auch sehr einfach betrieben werden. Und ganz nebenbei macht Spring Boot den Einsatz von Application Servern überflüssig. Der Vortrag erläutert die Konzepte von Spring Boot - und die wichtigsten Features werden live gezeigt.

Download der Vortragsfolien

---------------------------------------------------------------------------------------------------

3.07.2014

Java 8, mit Lambdas das hohe Lied des Functional Programming singen

---------------------------------------------------------------------------------------------------

8.05.2014

Java Batch: Der neue Standard für‘s Stapeln

---------------------------------------------------------------------------------------------------

27.03.2014

Liferay als Java-Portal-Entwicklungsplattform

---------------------------------------------------------------------------------------------------

30.01.2014

Infinispan - NoSQL für den Enterprise Java Alltag

---------------------------------------------------------------------------------------------------

21.11.2013

Testen im EE-Umfeld – Seien Sie feige!

---------------------------------------------------------------------------------------------------

19.9.2013

What's new in Java EE 7?

---------------------------------------------------------------------------------------------------

04.7.2013

 jBPM und Drools: Prozess- und Regelgestützte Fachanwendungen

---------------------------------------------------------------------------------------------------

16.5.2013

 Desktop Usability im Browser - GWT in Business Anwendungen

---------------------------------------------------------------------------------------------------

14.3.2013

 JBoss 7 als Plattform für hochverfügbare Anwendungen ---------------------------------------------------------------------------------------------------

24.1.2013

Web-GUIs mit Vaadin

---------------------------------------------------------------------------------------------------

23.8.2012

Gebäudeautomation mit Java und OpenRemote

---------------------------------------------------------------------------------------------------

24.5.2012

Live Coding: Anwendungsentwicklung mit Java EE 6

---------------------------------------------------------------------------------------------------

23.2.2012

Entwicklung von Cloud basierten Android Applikationen

---------------------------------------------------------------------------------------------------

29.11.2011

Schneller, besser, sparsamer -  JBoss 7

---------------------------------------------------------------------------------------------------

17.2.2011

Java in the Cloud - am Beispiel der Google App Engine

---------------------------------------------------------------------------------------------------

20.1.2011

Monitoring und Profiling von Java-Anwendungen

---------------------------------------------------------------------------------------------------

2.12.2010

Neuerungen in JavaServer Faces 2.0

---------------------------------------------------------------------------------------------------

23.9.2010

Reporting mit Jasper Reports

---------------------------------------------------------------------------------------------------

24.6.2010

Java Persistence 2.0

---------------------------------------------------------------------------------------------------

17.6.2010

CDI und AOP

---------------------------------------------------------------------------------------------------

17.6.2010

Softwarequalitätssicherung mit Continuous Integration Tools

---------------------------------------------------------------------------------------------------