Mozart-Saal
Themenbereich: SW-Architekturen
Im Mai hat die Landeshauptstadt München das zentrale Melderegister (EWO) ausgetauscht. EWO ist die zentrale Datenquelle innerhalb einer Kommune und tauscht Datem mit mehr als 80 Fachverfahren unterschiedlichster Technologien (Natural, Assembler, PHP, Java, usw.) aus. Um in dieser heterogenen Landschaft nicht sämtliche Verfahren anfassen zu müssen, wurde im Rahmen des EWO Projektes eine moderne EAI auf Basis von Apache Camel und OSGi eingeführt.
Der Vortrag zeigt vor welchen Herausforderungen Unternehmen mit einer großen gewachsenen Anwendungslandschaft stehen, wenn sie zentrale Verfahren austaschen müssen. Es wird das vorgestellt, warum sich die Landeshauptstadt München für Apache Camel / OSGi als Technologie entschieden hat und nach welchem Konzept EAI im Stadtkonzern umgesetzt wird. Zum Abschluss wird ganz konkret am Beispiel EWO gezeigt, welchen Nutzen EAI im Projekt, aber auch danach bringt und wie es geschafft wurde, dass am ersten Mai 80 Fachverfahren auf Knopfdruck mit dem neuen EWO gesprochen haben - fast ohne dass es jemand gemerkt hat.
Silcher-Saal
Themenbereich: SW-Architekturen
Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. This way you get shorter time to results and increased flexibility.
However, Microservices also create several challenges such as required integration, automation of deployment and centralized monitoring. This session will provide you with several key requirements to overcome those challenges.
You will learn how to implement Microservices the right way by using modern technologies and concepts such as REST, API Management and Continuous Delivery.
Hegel-Saal
Themenbereich: IDE / Eclipse u. Tools
Das "Robot Framework" ist eine vielseitig einsetzbare Open-Source-Lösung zum automatisierten Testen eines Systems mittels dessen grafischer Benutzeroberfläche und sowohl bei Swing-Clients als auch Webanwendung einsetzbar.
Die Beschreibung der einzelnen Testfälle erfolgt dabei durch eine leichtverständliche Abstraktion mit Hilfe sogenannter Keywords, die teilweise vom Framework mitgeliefert werden, aber auch selbst definiert werden können und damit eine maßgeschneiderte Anpassung an die eigene Applikationsoberfläche erlauben. Besonders interessant für Java-Entwickler ist, daß die Implementierung eben jener Keywords in Java erfolgen kann, so daß der technisch anspruchsvollste Teil der Testentwicklung in einer bestens vertrauten Sprache stattfindet.
Der Vortrag bietet eine grundlegende Einführung in das Framework und demonstriert die Entwicklung von Akzeptanz- und Regressionstests.
Beethoven-Saal
Themenbereich: Internet of Things / Embedded
Das “Smart Home wird immer bekannter: Big Player wie Google/NEST, Apple sind in den Markt eingetreten, im Wochenrhythmus tauchen Startups mit Lösungen und den neuesten coolen Geräten in Crowdfunding Plattformen auf. Der Kunde wird in diese Lösungs-Silos getrieben, für jedes Gerät eine eigene App. Die Gesamtintegration in Geräte-übergreifende “intelligente” UseCases bleibt dabei auf der Strecke.
Die Eclipse Foundation bietet mit dem Projekt “Eclipse SmartHome” (https://www.eclipse.org/smarthome/) einen Ausweg aus diesem Dilemma. Entstanden aus dem openHAB Projekt (http://www.openhab.org/) bietet es auf Basis von OpenSource Technologien eine Integrationsplattform der verschiedensten Geräte und Protokolle an, mit Ziel dies auch kommerziell nutzbar zu machen.
Der Vortrag gibt einen Überblick über das OpenSource Projekt, die letzten Fortschritte in der Entwicklung von Geräteintegrationen. Übergreifende UseCases werden anhand von Integrationen verschiedenster Geräte und Regeln live gezeigt. So wird mein Zuhause irgendwann auch wirklich “Smart”.
Schiller-Saal
Themenbereich: Enterprise Java
RESTful Web Services sind schon seit einiger Zeit in aller Munde und sehr beliebt. Viele der bekannten öffentlichen Web-APIs behaupten von sich, RESTful zu sein. Die meisten sind es allerdings nicht wirklich, unter anderem, da sie ein wichtiges Element von REST nicht erfüllen: Hypermedia as the Engine of Application State (HATEOAS). Diese Session gibt einen Überblick über das Thema und zeigt an vielen konkreten Beispielen, warum RESTful Hypermedia-APIs sinnvoll und sehr nützlich sind. Dabei geht Kai sowohl auf verschiedene Repräsentationen wie z. B. HAL und Siren ein als auch auf deren Einbindung in existierende Infrastrukturen wie z.B. Spring (Boot/Data/HATEOAS) oder Jersey.
Raum Usedom
Themenbereich: Core-Java
Obwohl Behavior-Driven Development schon seit über 10 Jahren existiert, hat die Methodik in der Java-Welt bisher noch keinen besonders großen Anklang gefunden. Ein Grund dafür sind die existierenden BDD-Tools für Java, die für Entwickler umständlich zu benutzen sind und einen hohen Wartungsaufwand verursachen. Der Autor will dies mit JGiven ändern und Java-Entwicklern ein Framework an die Hand geben, das sie gerne benutzen und gleichzeitig die Fachabteilung mit ansprechenden Reports zufriedenstellt.
JGiven-Szenarien werden in der gängigen Given-When-Then-Form mit einer embedded Java-DSL geschrieben. Dadurch können alle IDE-Features, wie Autovervollständigung und Refactoring-Werkzeuge von Entwicklern genutzt werden.
Die resultierenden Szenarien sind zwar für sich schon sehr gut lesbar, JGiven kann aber zusätzlich noch Reports in verschiedenen Formaten generieren, die für die Zusammenarbeit mit Domain-Experten verwendet werden können.
Durch ein modulares Konzept lassen sich neue Szenarien leicht aus Teilen anderer Szenarien zusammensetzen. Dies beschleunigt die Erstellung von neuen Szenarien und vermeidet Testcode-Duplizierung. Da weder Groovy noch Scala benötigt werden und JGiven kompatibel zu JUnit und TestNG ist, kann JGiven sofort in Java-Projekten eingesetzt werden und leicht in bestehende Test-Infrastrukturen integriert werden.
In dem Vortrag wird der Autor eine Einführung in JGiven geben und anhand einer kurzen Live-Coding-Session zeigen wie schnell und einfach BDD-Szenarien in JGiven geschrieben werden können.
Raum Sylt
Themenbereich: Clients
Was ist heutzutage die beste Methode, um grafische Benutzeroberflächen für eine Java-Anwendung zu realisieren?JavaFX? Jein! Denn die beste Neuerung bei JavaFX ist die WebView-Klasse, die es erlaubt, HTML5/JavaScript-Anwendungen einzubetten. Mit WebView eröffnet sich eine ganze Welt an Frameworks und Möglichkeiten, ganz vorn Facebooks React-Library. React ermöglicht es erstmals, Benutzeroberflächen deklarativ zu entwickeln und die bei anderen Frameworks übliche Callback-Hölle sowie Komplikationen beim Management von Zustand zu vermeiden. Zu weiteren Vorteilen gehören, dass alle Mittel des Web-Design zur Verfügung stehen, Anwendungen gut automatisiert getestet werden können und ein leichter Übergang zu plattformübergreifendem UI-Code möglich ist. Wer die JVM-Sprache Clojure kennt, wird sich sogar noch wohler fühlen mit Reacl, einem Wrapper für React, der in ClojureScript geschrieben ist - einem Clojure-Dialekt, der nach JavaScript compiliert wird. Reacl treibt die React-Idee mit Hilfe funktionaler Programmierung noch weiter. Der Vortrag zeigt, wie UI-Programmierung mit JavaFX, React und Reacl richtig Freude machen kann.