Babelfischchen
Einführung in Xtext
Andreas Heiduk
MATHEMA Software GmbH
T01 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Mit Xtext ist es sehr einfach möglich, eigene domänenspezifische Sprachen (DSLs) zu entwerfen. Dabei unterstützt Xtext nicht nur beim Entwurf der Grammatik! Vielmehr ist die vollständige Integration in Eclipse mit allen aus Eclipse gewohnten Schikanen das Maß der Dinge. Dazu gehören die sofortige Syntax-Prüfung, strukturierte Outline-View, Code-Completion, automatische Code-Formatierung, Hyperlink-Navigation sowie inkrementelle Generatoren inklusive einer komfortablen Template-Sprache. Dies und vieles mehr erhält man ohne großen Aufwand.
Dieses Tutorium ist eine Einführung in die Grundlagen von Xtext. Sie lernen, wie die einzelnen Module zusammenspielen und angepasst werden können. Machen Sie sich dieses mächtige Werkzeug zunutze!
Intro to Neo4j
Stefan Armbruster
Neo Technology
T02 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Dieses Neo4j-Tutorium führt in die Funktionsweise und Nutzung der Neo4j Graphendatenbank ein. Durch eine Mischung aus Theorie und praktischen Übungen können die Teilnehmer schnell erlernen, wie einfach es ist, eine auf Neo4j-basierende Applikation zu erstellen.
Die Themen im Einzelnen:
- Einführung in Neo4j
- Überblick über die Abfragesprache Cypher
- Darstellung eines Anwendungsfalls: Soziales Netzwerk, inklusive Freundes-Empfehlung
- praktische Modellierung von Zugriffsrechten
- Modellierung weiterer Anwendungsfälle in verschiedenen Gebieten
- Diskussion von Fragen zu bestehenden Projekten, mögliche Implementierungsstrategien, Evaluations-Ansätze
Die Teilnehmer benötigen keinerlei Erfahrung mit Neo4j, mit NoSQL-Datenbanken oder spezifischen Programmiersprachen. Erfahrungen mit Datenbanken im Allgemeinen sind hilfreich. Sie benötigen aber einen eigenen Laptop für eine Installation von Neo4j.
Jedem seine eigene Teststage
Den ganzen Zoo auf einem Rechner
Stefan Hildebrandt
T03 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Wer schon mal in einem größeren Team mit einer zentralen Entwicklungs- und Testumgebung gearbeitet hat, wird wissen, was dort allerhand Kompromisse eingegangen werden müssen: relativ seltene Deployments, die dann genau zur falschen Zeit, viele Abstimmungen, inkompatible Schnittstellen und Datenbankschema zur lokalen Version, etc.. Wie schön wäre es doch seine eigene definierte Umgebung zu haben. Dies ist nun mit Werkzeugen aus der DevOps-Bewegung, die unter dem Begriff „Infrastructure as Code“ laufen, möglich. Mit diesen Mitteln sind auch Continous Integrationsumgebungen für mehrere Branches einfach umzusetzen, so dass der Code vor der Integration in zentrale Branches bereits getestet ist. Bei ausreichend hoher Testabdeckung können die erstellten Artifacte direkt für Deployments bereitgestellt werden (continous delivery).
In diesem Tutorium werden anhand eines konkreten Beispiels alle Schritte durchgegangen, um auf dem eigenen Rechner eine Laufzeitumgebung für eine typische Java-Applikation mit einem Datenbank-Server einzurichten. Hierzu werden primär vagrant, puppet und VirtualBox genutzt. Weiterhin wird ein Ausblick auf den Einsatz im CI-Server, mehrerer VMs und Docker gegeben.
Voraussetzungen: Programmierkenntnisse, keine Angst vor Linux, ein Notebook mit 64Bit CPU und Virtualisierungsunterstützung, 4GB Ram und 8GB freier Plattenplatz.
JSF meets JavaScript
Hands on JSF-Komponenten mit JavaScript
Sven Kölpin
open knowledge GmbH
Sebastian Reiners
open knowledge GmbH
T04 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen.
Im Rahmen des eintägigen Tutoriums werden aus JSF-Core-Komponenten Formularelemente mit Client-seitiger Validierung, ansprechende Charts und dynamische Tabellen inkl. lazy loading für die eigene Anwendung entwickelt.
1, 2, fertig
Ajax-Frontend, REST-API, Java-Backend – vollständige Web-Anwendung in 3 Minuten
Stefan Isele
prefabware UG
T05 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Web-Anwendungen sollen ein modernes User-Interface haben, über eine REST-API verfügen und robuste Services und Persistenz bieten. Dazu einfach zu entwickeln sein, automatisch gebaut, getestet, released und deployed werden können.
Der Referent zeigt, mit welcher Architektur, Frameworks und Tools man diese Anforderungen erfüllen kann. Die verwendeten Technologien werden anhand einzelner, leicht verständlicher Tutorium-Projekte vorgestellt. Parallel dazu wird eine komplette Web-Anwendung als durchgängiges Beispiel entwickelt. Basis dafür ist das Framework appdriver, das die vorgestellten Technologien integriert und es so ermöglicht eine funktionierende Web-Anwendung mit moderner Oberfläche in 3 Minuten zu erstellen und dann iterativ zu erweitern.
Das Tutorium vermittelt Software-Entwicklern und -Architekten aktuelle Technologien und Vorgehensweisen, wie sie diese konkret in Projekten einsetzen können.
Themen
- Anforderungen an Web-Anwendung und deren Entwicklung
Architektur
Entwicklungsumgebung
Build mit Maven
Testen – Unit-Tests, Integration-Test,
Browser-Test mit Selenium
Releases bauen und ausrollen – auf eigenem Server oder Cloud (Amazon S3)
Deployen – auf eigenem Server oder Cloud (Amazon Beanstalk, EC2)
- Backend
Persistenz – JPA, Spring Data JPA
REST-Services - als Schnittstelle zwischen Server und Client (Browser)
- zur Integration mit anderen Systemen
- für Datenbankzugriffe, lesen schreiben löschen mit Spring Data REST
- für Services mit Spring
Paging, Lazy Loading
Validierung mit Java Validation
Zugriffskontrolle – Spring Security
- Frontend
JavaScript für Java-Entwickler
Tools – Chrome Developer
CSS-Frameworks – Bootstrap, kaufbare Template-Klassen und Typ-Systeme
Frameworks dojo und JQuery, JQuery-Plugins
User-Interface automatisch erzeugen, mit Tables, Forms, Embeddebles, Many-to-One, One-To-Many und Many-To-Many
Zugriff auf REST-Services
Paging, Lazy Loading
Asynchrone Verarbeitung
Der Stack für neue Mobile-Apps
AngularJS, Ionic und PhoneGap
Philipp Burgmer
Weigle Wilczek GmbH
T06 Montag, 1. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Durch die Fragmentierung der mobilen Betriebssysteme gewinnt der alte Java-Slogan „Write once run everywhere“ wieder an Bedeutung. Web-Technologien haben sich bei der App-Entwicklung in den letzten Jahren zu einer echten Alternative zu nativen Sprachen und SDKs entwickelt. Mithilfe von HTML5, JavaScript und Frameworks wie PhoneGap, AngularJS und Ionic lassen sich plattformunabhängige und dennoch für den Benutzer nativ wirkende Apps entwickeln.
In diesem Tutorium zeigt der Referent wie der Stack für so eine App aussieht, welches Tool für was zuständig ist und demonstriert anhand einer kleinen Demo-Anwendung wie die Entwicklung abläuft.