Archiv

Auf dieser Seite finden Sie Informationen zu Vorträgen vergangener JUG-Treffen.

Dienstag, 10.11.2020 ab 18:30 Uhr

Micronaut – effiziente und performante Microservices für die Cloud
Falk Sippach

Den Chancen, die der Microservices-Ansatz bietet, stehen auch einige Herausforderungen gegenüber, die man aber gut mit Frameworks handhaben kann. Mit Micronaut hat nun ein ganz neuer Vertreter die Bühne mit dem Versprechen betreten, modulare, leicht testbare und sehr performante Anwendungen in Java, Kotlin oder Groovy entwickeln zu können.

Auch wenn Micronaut dem Platzhirsch aus dem Spring-Ökosystem ähnlich sieht, wurde es von Grund auf explizit für die Erstellung von Microservices im Cloud-Computing-Umfeld erstellt. Dank extrem kurzer Startzeiten, einem enorm niedrigen Speicherverbrauch und sehr kleinen JAR-Größen wird es die Microservices-Welt umkrempeln. Ermöglicht wird das neuartige Programmiermodell mittels Compile-Zeit-Metaprogrammierung, wodurch die Metadaten für beispielsweise Dependency Injection und die aspektorientierte Programmierung bereits beim Kompilieren erzeugt werden. Reflection, Proxy Generierung und Data Caching zur Laufzeit entfallen dadurch. Zur Verwendung in der Cloud oder Serverless-Umgebungen gibt es zudem bereits zahlreiche fertig gestellte oder geplante Anbindungen an Service-Discovery-Dienste, Configuration Sharing, Load Balancing und Serverless Computing.

Im Rahmen dieser Session wollen wir uns die Funktionsweise näher anschauen und anhand von realistischen Codebeispielen und Performancemessungen im Vergleich zu anderen JVM-basierten Microservices-Frameworks auf den Prüfstand stellen.

Das Treffen findet online statt.

ABGESAGT – Donnerstag, 29.10.2020 ab 18:30 Uhr

ABGESAGTEclipse MicroProfile – der Java-Standard für die Cloud
Sascha Groß

Die Java Enterprise Edition hat sich über zwei Jahrzehnte entwickelt, um verteilte Anwendungen zu betreiben. Mit dem MicroProfile beginnt ein Reload von Java EE für Microservices und die Cloud. Bestehende Standards von Java EE werden weiter verwendet oder auch aussortiert. Neue Standards werden aufgenommen.

Mit der bald erscheinenden Version 4.0 ist das MicroProfile mehr als erwachsen geworden. Fast zeitgleich wird Jakarta EE in Version 9 erscheinen. Hier lohnt sich ein Blick, wie und ob diese beiden Standards miteinander interagieren und in Beziehung stehen. Das Hauptziel wird es aber sein, das Eclipse MicroProfile und seine einzelnen Teile kennenzulernen. Beispielhaft seien hier nur einige genannt, angefangen von Config, Health, Opentracing, Open-Api, Fault-Tolerance und vieles andere mehr.

Hybridveranstaltung: Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt. Vor Ort wird auf ausreichend Abstand zwischen den Teilnehmenden geachtet und es werden Einwegmasken und Desinfektionsmittel angeboten. Die Teilnahme ist zudem auch remote mit Jitsi möglich. Weitere Informationen erhalten Sie nach der Anmeldung.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Mittwoch, 16.09.2020 ab 18:30 Uhr

Ultraschnelle Java In-Memory Datenbankanwendungen mit MicroStream
Markus Kett

MicroStream ist der erste Java-native Ansatz zur Datenspeicherung in Java. Mit MicroStream lassen sich erstmals beliebige Java Objektgraphen nativ speichern, d.h. genauso wie diese von der JVM im RAM verwaltet werden. Kein externes Datenbanksystem mehr. Kein aufwändiges Mapping mehr. Kein ORM-Framework mehr. Kein zusätzlicher Data-Cache mehr. Das Ergebnis ist eine ultraschnelle Pure-Java In-Memory Datenbank-Applikation, ultraschnelle Abfragen bis zu 1.000 Mal schneller als heutige Datenbanksysteme und bis zu 100 Mal schneller als jeder Data-Cache. Alles Pure Java. Und die Implementierung ist simpel.

Im Rahmen einer spannenden Live-Demo demonstrieren wir, wie schnell Java im Vergleich zu heutigen Datenbanksystemen und In-Memory-Technologien ist, wie sich unterschiedliche JVMs und Garbage-Collectors auf die Performance auswirken und zeigen anhand von Code, wie die Entwicklung ultraschneller In-Memory Datenbank-Applikationen mit Pure Java und MicroStream funktioniert.

Im Anschluss an den Vortrag sind ausführliche Q&A und Diskussionen möglich und erwünscht.

Hybridveranstaltung: Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt. Vor Ort wird auf ausreichend Abstand zwischen den Teilnehmenden geachtet und es werden Einwegmasken und Desinfektionsmittel angeboten. Die Teilnahme ist zudem auch remote über Zoom möglich. Nutzen Sie dazu folgenden Link: https://us02web.zoom.us/j/88269576847

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Mittwoch, 08.07.2020 ab 18:30 Uhr

Quarkus: Supersonic, Subatomic Java – eine Einführung
Harald Pehl

Quarkus ist ein Microservice-Framework von Red Hat. Es unterstützt moderne Standards wie MicroProfile und bringt Unterstützung für viele populäre Libraries wie Hibernate, vert.x oder RESTEasy. Quarkus bietet minimalen Speicherverbrauch und extrem schnelle Startzeiten. Ein Ziel von Quarkus ist, Java fit für Kubernetes und Serverless-Umgebungen zu machen.

Der Vortrag bietet eine Einführung in Quarkus und die verwendeten Konzepte. Anhand von Beispielen und Live Coding wird gezeigt, wie Quarkus angefangen vom Maven Archetype bis hin zum Deployment in OpenShift eingesetzt werden kann.

Der Vortrag findet als Webinar statt.

Folien

Dienstag, 10.03.2020 ab 18:30 Uhr

Testing Elasticsearch – Von Unit über Integrationstests bis hin zum Release
Alexander Reelsen

Testen muss jeder, egal ob kleiner Webshop oder eine beliebte verteilte Suchmaschine wie Elasticsearch. In diesem Vortrag geht es um die verschiedenen Teststrategien innerhalb von Elasticsearch, angefangen bei Unit Tests und Integration Tests, der Verwendung von randomized Testing und automatisiertes Testen der produzierten Artefakte. Des Weiteren wird die CI Infrastruktur beleuchtet und es wird erklärt, was schlussendlich passiert, wenn eine neue Elasticsearch Version veröffentlicht wird.

Der Fokus des Vortrags liegt auf größtmöglicher Automatisierung jedweder Prozesse im Lebenszyklus von Elasticsearch und zeigt auch, welche Teile besonders schwer zu automatisieren sind.

Serverless Reverse Geocoder mit Java & Lucene
Alexander Reelsen

Serverless und Java, passt das überhaupt zusammen? Cold starts, Memory Footprint – all das spricht nicht für Java. In diesem Vortrag wird ein Reverse Geocoder (zur Zuordnung von Längen- und Breitengrad zu einer Stadt) mit Hilfe von Apache Lucene implementiert, so dass dieser Teil der Serverless-Anwendung und kein weiterer Endpunkt beim Aufruf abgerufen werden muss.

Durch die Implementierung wird aufgezeigt, wie verschiedene Cloud Provider eine Serverless-Plattform interpretieren und welche Vor- und Nachteile dadurch für den Entwickler entstehen.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Mittwoch, 19.02.2020 ab 18:30 Uhr

DevOps – die Geschichte einer Java-Anwendung
Frank Prechtel

Betrieb? Machen wir gerne selber! Wer als Mitglied eines Entwicklungsteams einmal komplett eigenverantwortlich eine Anwendung entwickelt, betrieben und weiterentwickelt hat, kann sich den Weg zurück zur alten Welt schwerlich vorstellen. Infrastruktur per Ticket beantragen oder gar für ein Deployment mit einer anderen Abteilung einen Termin ausmachen? Nein danke.

Untermalt von wenig Folien und vielen Live-Demos gibt es ein Jahrzehnt DevOps-Geschichte einer Spring-Anwendung auf AWS, komprimiert auf einen Abend. Es geht um Infrastructure as Code, Monitoring, Continuous Integration, hilfreiche Tools, Lessons Learned und vieles mehr. Ein besonderes Augenmerk gilt dem Spring-Ökosystem und seiner Unterstützung betrieblicher Aspekte, die man als Entwickler allzu gerne vernachlässigt.

Am Ende des Abends steht ein zeitgenössisches Setup, das sich für mehr als nur diese Anwendung bewährt hat.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Mittwoch, 11.12.2019 ab 18:30 Uhr

Zeebe.io – The new open source project for event-driven microservices orchestration
Bernd Rücker

Implementing long-running, asynchronous and complex collaborations of distributed microservices is challenging. How do we guarantee that overall flows always complete, even if single services fail? How can we ensure visibility of flows and provide status and error monitoring? In this talk, I show how to use the Open Source engine Zeebe.io to implement orchestration flows using visual workflows. For each step in a flow, a microservice can be connected using a publish/subscribe protocol. Once an orchestration flow starts, Zeebe ensures that it is eventually carried out, retrying steps upon failure. Along the way, Zeebe produces a complete event log, facilitating monitoring and visibility into the progress and status of orchestrations. Internally, Zeebe works as a distributed, event-driven and event-sourced system, making it not only very fast but horizontally scalable and fault tolerant.

I will also talk about the current state and roadmap of Zeebe, our motivation to build a new engine in the first place, how it is different to Camunda BPM and which of the workflow engines you should use in your project.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Donnerstag, 14.11.2019 ab 18:30 Uhr

Streaming mit Apache Kafka – ein Einstieg in das Stream Processing mit KSQL und Kafka Streams DSL
Thomas Müller

Die Welt der Datenströme in Echtzeit zu analysieren, wird immer mehr und mehr zur Anforderung verschiedenster Business-Units. Egal ob im IoT-Bereich, in der Finanzwelt oder bei größeren Shop-Anwendungen – überall ist Stream Processing mittlerweile ein wichtiger Bereich. Im Gegensatz zur herkömmlichen Batch-Verarbeitung können durch die Echtzeit-Verarbeitung der eintreffenden Ereignisse Unternehmen bedeutend schneller diese Daten analysieren und darauf reagieren.

Die Firma Confluent bietet mit der Open-Source-Software Apache Kafka sowie den dazugehörigen Tools wie z.B. Kafka Connect, KSQL oder vor allem der Kafka Stream API einen großen Baukasten, um Datenströme zu verarbeiten.

In diesem Vortrag soll ein kurzer Überblick über das Confluent-Ökosystem geschaffen werden. Danach wird in praktischen Beispielen mittels KSQL und der Kafka Stream DSL das Stream Processing gezeigt.

Thomas Müller ist Senior Developer bei diva-e Digital Value Enterprise GmbH in Karlsruhe. Er ist seit 2003 passionierter Java-Entwickler und dort auch in sämtlichen Backend- und Middleware-Systemen unterwegs.
Seine beruflichen Lieblingsspielplätze sind vor allem Apache Kafka, Hazelcast sowie Spring-Boot-Applikationen. Und wenn dann mal noch etwas freie Zeit übrig bleibt, ist das Raspberry PI-Umfeld ein nette Abwechslung.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Donnerstag, 17.10.2019 ab 18:30 Uhr

Wo wir hin wollen, brauchen wir keine Server – Serverless programmieren mit AWS Lambda
Werner Eberling

Im Umfeld der schon länger anhaltenden Cloud-Mania taucht ein Begriff immer wieder auf: Serverless. Amazon, Google, Microsoft: Alle namhaften Anbieter haben inzwischen auch Serverless-Angebote im Programm. Aber was bedeutet dieses “Entwicklen ohne Server” eigentlich? Wofür ist der Ansatz sinnvoll?

Der Vortrag diskutiert Vor- und Nachteile von Serverless-Architekturen. Er zeigt am live vorgeführten Beispiel von AWS Lambda, wie Serverless-Entwicklung funktioniert, und diskutiert, wann dieser Ansatz eine gute Wahl sein kann und wann er eher nicht infrage kommt.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Mittwoch, 18.09.2019 ab 18:30 Uhr

Service Mesh mit Istio für Einsteiger
Patrick Arnold

Über die letzten Jahre ging es Schlag auf Schlag mit der Veröffentlichung von unterschiedlichen Cloud-Native Tools. Docker, Kuberentes und nun das Thema Service Meshing. Die einzelnen Tools bringen bei der Entwicklung von verteilten System einige Vorteile. Solange man von ein paar einzelnen Services redet, lässt sich das Ganze mit Kubernetesmitteln relativ einfach bewältigen. Doch ab einem gewissem Zeitpunkt entsteht die Herausforderung, eine Vielzahl von Services zu managen und dabei nicht den eigentlichen Business Value aus dem Auge zu verlieren. Hier hilft das Tool Istio deutlich.

In der Session soll es darum gehen, welche Unterstützung Istio liefert und wie es aufgebaut ist.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Donnerstag, 13.06.2019 ab 18:30 Uhr

Serverless mit Alexa – Skills mit AWS Lambda entwickeln
Werner Eberling

Digitale Assistenten sind aus so manchem Haushalt nicht mehr wegzudenken. Gerade Amazon ist hier, u.a. durch eine entsprechend aggressive Vermarktungspolitik, stark vertreten. Mit der Bereitstellung selbstgeschriebener Skills für digitale Assistenten hat sich dabei ein neues, interessantes Anwendungsfeld für Cloud native Entwicklungen ergeben.

Dieser Vortrag zeigt, nach einem kurzem theoretischen Abriss bzgl. nativer Cloud Entwicklung, anhand eines live entwickelten Beispiels, wie ein einfacher Alexa Skill sowohl per Web Console, als auch lokal per Development Kits implementiert werden kann. Das Zusammenspiel mit AWS Lambda ermöglicht dabei einen ersten, leicht spielerischen Kontakt und eine einfache Einführung in die Welt der Serverless Programmierung innerhalb der AWS Cloud.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Montag, 29.04.2019 ab 18:00 Uhr

Getting Started With The Java 9 Module System
Nicolai Parlog

Java 9 is out and with it came the new Java Platform Module System. If you didn’t have time yet to get your feet wet, then this is the talk for you! It will walk you through the underlying concepts and goals as
well as basic features and pitfalls.

It will show how to…

* define modules and a module graph
* compile, package, and launch a modular application
* migrate an application while handling unmodularized dependencies
* what to look out for in your project

With the different pieces of the puzzle coming together you will be able to vet or even spike your app’s migration.

Das Treffen findet bei der Kegelbahn der DATEV in der Ecke Fürther Straße / Roonstraße statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza und Getränke – wird gesorgt.

Adresse:
DATEV eG – Kegelbahn
Südliche Früher Straße 18 – 20
90429 Nürnberg

Donnerstag, 11.04.2019 ab 18:30 Uhr

Property-Based Testing mit Java
Johannes Link

Testgetriebene Entwicklung in Java und anderen objektorientierten Sprachen setzt bislang meist auf beispielbasierte Testfälle, wie man sie leicht mit JUnit und ähnlichen Testframeworks erstellen kann. Schaut man jedoch über den Tellerrand und auf funktionale Programmiersprachen wie z.B. Haskell oder F#, findet man dort etwas anderes: Property-Tests.

Property-Tests basieren auf der Idee, die erwünschten Eigenschaften unseres Programms zu beschreiben und anschließend das Framework selbstständig Testfälle generieren zu lassen, die diese Eigenschaften bestätigen oder falsifizieren.

In diesem Vortrag werde ich sowohl auf die Theorie hinter Property-based Testing eingehen als auch konkret zeigen, wie man mit jqwik unter Java und anderen JVM-Sprachen solche Tests umsetzen kann. Dabei spielen die Muster zum Finden der Properties eine wichtige Rolle.

Johannes Link beschäftigt sich schon seit Ende des letzten Jahrhunderts mit Extreme Programming und anderen agilen Ansätzen. Ein wesentlicher Schwerpunkt dabei war und ist die testgetriebene Entwicklung. Zu diesem Thema hat er bereits mehrere Bücher geschrieben und lernt dennoch immer noch dazu. Johannes war einer der Köpfe hinter der Konzeption und Umsetzung der JUnit-5-Plattform und ist Haupt-Committer bei jqwik.net.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Schillerstraße 14
90409 Nürnberg

Donnerstag, 28.03.2019 ab 18:30 Uhr

Java-Hacker und Zwillingsmama
Martina Baumer

Arbeit und Familie wären nicht zu vereinbaren? Denkste! Lasst mich berichten, wie man den Traumjob Java-Entwicklung und die Herausforderung als Mutter von Zwillingen unter einen Hut bekommt. Mehr noch – warum dieser Job dafür ideal ist!

Ich berichte über meine persönlichen Erfahrungen aus dem Alltag in Beruf und Privatleben, wenn sich beide Welten berühren und ergänzen. Zwei Welten, das sind für mich Java-Software und vierjährige Zwillinge, automatische Lagersysteme und Kinderbetreuung, Vor-Ort-Einsatz und Mama, Debuggen und Streit schlichten, Workspace und Kindergarten, New Work und Haushalt, Scrum und Kram. Ich zeige euch meine Grenzen im Job und wo so eine Java-Hackerin über sich hinauswächst und es gar nicht merkt.

Für mich ist es nicht nachvollziehbar, warum nur wenige Frauen einen Job in der IT-Branche ausüben, so wie es aktuelle Statistiken zeigen. Woran liegt es? In welchen Bereichen könnte man als Arbeitgeber/Chef/Teamleiter/Kollege Frauen und Mütter leicht unterstützen? Wie könnt ihr, wie können wir Mädels und Frauen motivieren, eine Karriere in der IT anzustreben?

Damit künftig nicht nur für mich Java und Mama die beste Kombination ist!

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 14.02.2019 ab 18:30 Uhr

Software-Entwicklung im 21. Jahrhundert
Jens Schauder

Entwickler und Referenten auf Konferenzen können Ihnen sagen, wie großartig ihre Entwicklungspraktiken sind.

Aber wenn man Menschen in den Schützengräben großer Unternehmen oder die Kollegen in ein- bis dreiköpfigen IT-Abteilung eines kleinen Unternehmens besucht, sieht das ganz anders aus.

Und selbst die hippen Jungs, die das neueste JS-Framework vorantreiben, scheinen die Weisheit aus den 70er und 80er Jahren vergessen (oder nie gehört) zu haben.

In diesem Vortrag werden Kernpraktiken aufgezeigt, die jeder bei der Arbeit als professioneller Software-Entwickler befolgen muss. Und da es mehr solche Dinge gibt, als in einen einzigen Vortrag passen, wird es auch eine lange Liste von Quellen geben.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 24.01.2019 ab 18:30 Uhr

Jenkins X – Continuously Driving the Kloud
Gerd Aschemann

Cloud schreibt man im Zeitalter von Kubernetes mit K! Alle Ressourcen werden dynamisch von Kubernetes verwaltet. Alle? Build und Deployment über verschiedene Stages liegen oft noch außerhalb, z.B. in einem Build-Server und verschiedenen Repositories (Artefakte, Docker-Images).

Mit Jenkins-X wandert alles in einen Kubernetes-Cluster und gewinnt so die nötige Dynamik:

- Setup der nötigen Infrastruktur in Kubernetes (Jenkins, Nexus, Docker-Registry, …),
- Aufsetzen von Build-Pipelines für jeden Branch und jeden Pull-Request,
- Deployment in verschiedene Stages (mit Helm),
- Mandantenfähigkeit (Builds und Environments nach Teams unterscheiden),
- Steuerung von versionierten Deployment-Konfigurationen (GitOps),
- Import von bestehenden Projekten,
- Setup neuer Projekte auf Basis gängiger Microservice-Frameworks (z.B. Spring Boot), u.v.a.m.

Jenkins-X kommt als Entwickler-freundliches Command-Line Tool und bündelt eine Vielzahl von Komponenten hinter einer einheitlichen (opinionated) Fassade. Der Vortrag erklärt die Architektur und Konzepte und führt an ein paar kleinen Beispielen typische Use-Cases vor.

Gerd Aschemann berät seine Kunden freiberuflich als Entwickler und Software-Architekt. Seine Schwerpunkte sind dabei oft die Themen Build-/Konfigurations-/Versionsmanagement, der Aufbau von Continuous Integration-/Delivery-Plattformen und Transformation und Neu-Entwicklung von Java Enterprise-Anwendungen. Gerd hat an der TU Darmstadt Informatik studiert und als wissenschaftlicher Mitarbeiter über “Management Verteilter Systeme” geforscht. In den letzten Jahren hat er sich als Mitorganisator der JUG Darmstadt und der Javaland für die Community der deutschen JVM-Nutzer engagiert.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 13.12.2018 ab 18:30 Uhr

Every Spring HarryPotter´s BookStore gets a visit from Spock
Daniel Hörner

Anhand eines einfachen Online Webshops in Spring Boot wird der Einsatz des Testing Frameworks Spock demonstriert.

- Welche Vereinfachungen bietet mir Spock
- Wie erstelle ich Mocks
- Wie integriert sich SPOCK in das Spring Boot Ökosystem
- Welche Reporting Möglichkeiten hat Spock

Das Treffen fand in den Räumlichkeiten der DATEV eG statt.

Adresse:
DATEV IT-Campus
Fürther Straße 111
90429 Nürnberg

Donnerstag, 29.11.2018 ab 18:30 Uhr

Elasticsearch – einfach aber sicher!
Alexander Reelsen

Elasticsearch – das Herz des Elastic Stacks – ist als verteilte, skalierbare Volltextsuchmaschine und für Analytics bekannt. Zehntausende Elasticsearch Instanzen laufen weltweit, so dass trotz aller neuen Features in jedem Release auch über das Thema Sicherheit nachgedacht werden muss – zu jeder Zeit. Dieser Vortrag geht auf unterschiedliche Aspekte von Elasticsearch im Bereich Sicherheit ein, von Features bis hin zu
bestimmten – manchmal auch unpopulären – Entscheidungen, die getroffen worden sind. Der Vortrag behandelt unter anderem eine Einführung in den Java Security Manager, die Verwendung des Java Security Managers in Elasticsearch, Production vs. Development mode, System Call Filtering, Painless als sichere Alternative für eine Scripting Sprache und Sicherheit als Feature

Ziel des Talks ist es, nicht nur auf einige Details in Elasticsearch einzugehen, sondern vielmehr den Zuhörer dazu zu bekommen, diese Themen auch in seinen eigenen Apps zu berücksichtigen.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 18.10.2018 ab 18:30 Uhr

Android P – Was bringt das nächste große Android-Update?
Thomas Künneth

Seit ein paar Jahren wiederholt sich dasselbe Ritual. Im Frühjahr beginnt Google, die Entwickler mit Vorschau-Versionen der kommenden neuen Hauptversion von Android zu versorgen. Im Sommer ist die nächste Süßspeise servierbereit. Und im Herbst gibt es neue Hardware.

Was bringt die 2018er-Ausgabe von Googles omnipräsenter Plattform für mobile Geräte? Gibt es noch noch Neues zu entdecken, oder beginnt so langsam die Ausschwingphase? Und überhaupt – was kommt denn nach Android? Neben klassischen Programmiererthenen wirft dieser Talk auch einen Blick in die Glaskugel.

Im Oktober findet unsere JUG im Rahmen der Nürnberger WebWeek statt. Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 20.09.2018 ab 18:30 Uhr

Legacy Code in x einfachen Schritten meistern und testgetrieben weiterentwickeln
Falk Sippach

In einer idealen Welt würden wir nur “neuen” Code schreiben, der natürlich perfekt und wunderschön ist. Wir müßten nie wieder unseren Code anschauen geschweige denn 10 Jahre alte Projekte warten. Ende des Tagtraums … Leider ist unsere Welt nicht so ideal, unser Code von gestern ist heute schon Legacy. Diesen im Nachhinein zu verstehen, zu erweitern oder darin Fehler zu beheben, ist immer eine Herausforderung, insbesondere wenn Tests fehlen.

Trotzdem gibt es einfache Möglichkeiten, wie man die Qualität von Legacy Code verbessern kann. Das Wichtigste ist das Einziehen von Fangnetzen, so dass man trotz fehlender Tests guten Gewissens Änderungen durchführen kann. Wer Golden Master, Subclass to Test und Extract Pure Functions an konkreten Beispielen kennenlernen möchte, ist in dieser Session mit viel Live-Coding genau richtig. Zum Abschluss wollen wir zudem schauen, wie wir unseren Legacy Code dank testgetriebener Entwicklung (TDD) ohne Bauchschmerzen weiterentwickeln können.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Donnerstag, 19.07.2018 ab 18:30 Uhr

Angular, der Frontend-Technologie-Stack der TeamBank
Thomas Wießner

Die Web-Entwicklung ist ein sich stetig änderndes und technologisch anspruchsvolles Umfeld. Kunden und Konsumenten von Web-Applikationen haben mittlerweile hohe Erwartungen an moderne Frontend-Entwicklung gerade in Sachen Usability und Design. Um allen Anforderungen gerecht zu werden, bedarf es eines soliden Technologie-Stack. Die große Menge und vor allem die Halbwertszeit von Frameworks, Tools und Bibliotheken stellt Unternehmen vor eine große Herausforderung. Wie sind wir bei der TeamBank vorgegangen? Es begann mit der Definition von funktionalen und nicht funktionalen Kriterien (unter anderem auch aus der BAIT). Gegen diesen Katalog traten Angular, React und VueJS in einem exklusiven PoC mit der gleichen Aufgabenstellung gegeneinander an. Wir möchten euch nun einen Einblick hinter die Kulissen geben.

Apache Kafka in einer Bankanwendung
Tobias Tatsch

Kafka ist für viele nichts Neues mehr. Die Anwendungsmöglichkeiten erstrecken sich vom einfachen Message Broker bis zum zentralen Element für eine Event Sourcing Lösung. Kafka soll sehr performant und ausfallsicher sein. Darüber hinaus verträgt er mehr als andere Message Broker hinsichtlich Message-Aufkommen. Somit gibt es genug Gründe, den Kafka im Spannungsfeld zwischen Neartime-Anforderungen und Batchprozesse genauer zu betrachten. Deshalb haben wir seit kurzem einen Kafka für einen zentralen Dienst im Einsatz. Die Erfahrungen aus dem Entwicklungsprojekt möchten wir gerne mit euch teilen.

Das Treffen findet in den Räumlichkeiten der Teambank AG statt. Auch für das leibliche Wohl der Teilnehmer/innen – Snacks und Getränke – wird gesorgt.

Adresse:
Teambank AG
Beuthener Str. 25
90471 Nürnberg

Donnerstag, 17.05.2018 ab 18:30 Uhr

Cross-platform, aber native: Mobile Anwendungen mit NativeScript entwickeln
Werner Eberling

Bei der Entwicklung mobiler Cross-Plattform-Anwendungen spielen JavaScript-Ansätze bereits seit längerem eine große Rolle. Mit NativeScript gibt es seit einiger Zeit einen neuen Vertreter dieser Spielart, der den Bau von Apps mit nativen Komponenten verspricht.

In diesem Vortrag wird anhand eines live entwickelten, praktischen Beispiels gezeigt, wie NativeScript funktioniert, wie damit aus einer Quelle Apps für Android und iOS gebaut werden können und warum hier “native” wirklich nativ ist. Dabei werden Themen wie der Aufbau einer NativeScript-App, Code-behind, Navigation, Data-Binding und Zugriff auf Gerätefunktionen behandelt.

Donnerstag, 15.03.2018 ab 18:30 Uhr

Alt gegen Neu – JUnit 4 und 5 im Vergleich
Nikolas May

JUnit 5 behauptet von sich den Grundstein für ein aktuelles entwicklerseitiges Testen zu legen. Doch schon die Vorgängerversion eignete sich dafür. Welchen Vorteil bietet also Version 5?

In diesem Vortrag werden die beiden Versionen in direkten Vergleich gestellt. Es wird gezeigt, wo die neue Version besser ist und welchen syntaktischen Zucker sie bietet. Ebenfalls wird gezeigt, was man tun muss, um umzusteigen. Um die Unterschiede zu verdeutlichen, wird das Ganze mit Beispielen unterfüttert und eignet sich daher auch für JUnit Anfänger.

Nikolas May ist als Entwickler und Consultant bei MATHEMA Software GmbH tätig. Seine Schwerpunkte liegen im Java Standard- und Enterprise-Bereich. Daneben beschäftigt er sich mit Java-basierenden Web-Frameworks.

Donnerstag, 15.02.2018 ab 18:30 Uhr

Schnelles Denken – Maschinelles Lernen mit Apache Spark 2 und Java
Heiko Spindler

Die Kosten für Speichermedien sinken und das systematische Sammeln von Datenmassen aller Arten wird immer leichter. Big Data ist in den Unternehmen angekommen. Viele Projekte sind bereits über den Pilot- oder Prototypenstatus hinaus. Apache Spark ist ein skalierbares System für die flexible Verarbeitung großer Datenmengen und bietet einen guten Einstieg in das “Maschinelles Lernen”.
Der Vortrag stellt Apache Spark 2 vor, beschreibt konkrete Einsatzszenarien und zeigt konkrete Beispiele mit Java aus dem Bereich des maschinellen Lernens.

Seit über 18 Jahren ist Heiko Spindler als Softwareentwickler und Softwarearchitekt in vielen Projekten unterschiedlicher Branchen tätig. Er ist seit 2008 zertifizierter ScrumMaster (CSM) gemäß ScrumAlliance. Er ist seit 2007 Dozent an der Fachhochschule Gießen-Friedberg, schreibt regelmäßig für Fachmagazine und präsentiert neue Entwicklungen auf Konferenzen. Sein Buch über Single-Page-Web-Apps ist seit April 2014 verfügbar.

Donnerstag, 16. 11. 2017 ab 18:30 Uhr

Probleme in der Softwareentwicklung mittels Datenanalysen nachvollziehbar aufzeigen
Markus Harrer

Bei unseren altgedienten Anwendungssystemen bekommen wir manchmal das Gefühl, dass irgendetwas grundlegend schief läuft. Das Business lässt sich aber nur mit Zahlen, Daten und Fakten von dringenden Verbesserungsarbeiten überzeugen. Uns Entwicklern fehlt jedoch die Zeit zum Sammeln und Aufbereiten der Indizien hin zu soliden, stichhaltigen Argumenten.

Ich versuche diesen Teufelskreis mit Hilfe von Datenanalysen zu durchbrechen: Wir erzeugen in der Entwicklung oder Verwendung von Software ganz nebenbei ständig Daten wie Commits, Quellcode oder Logdateien. Diese Daten können wir automatisiert auswerten und dazu verwenden, Problemursachen in unserer Software für jeden klar und deutlich aufzuzeigen.

In meinem Vortrag stelle ich einen digitalen Notizbuchansatz sowie Werkzeuge für die schnelle Durchführung von nachvollziehbaren Datenanalysen in der Softwareentwicklung vor. Dadurch lassen sich ganz individuell Problemursachen in Softwaresystemen Schritt für Schritt herausarbeiten und explizit darstellen. Ich zeige das Zusammenspiel von Open-Source-Analysewerkzeugen (wie jQAssistant, Jupyter, Pandas, D3) zur Untersuchung von Java-Anwendungen und deren Umgebung (Git, FindBugs, JaCoCo, Profiler, Logfiles etc.). Ich stelle auch einige meiner Auswertungen zu Race-Conditions, Performance-Hotspots, Wissenslücken und wertlosen Codeteilen vor – von den Rohdaten bis zu Visualisierungen komplett automatisiert ausgeführt.

Markus Harrer arbeitet seit über zehn Jahren in der Softwareentwicklung an Hochschule, Forschungsinstitut und Softwareunternehmen. Seine Spezialgebiete sind Clean Code, Softwaresanierung und Software Analytics. Derzeit entwickelt er Unternehmensanwendungen in Java bei der Sparda Datenverarbeitung e. G. in Nürnberg und hilft durch die Analyse von Softwareartefakten, Verbesserungsmaßnahmen für Softwareprodukte nachvollziehbar zu erarbeiten. In seinem Blog https://www.feststelltaste.de schreibt er regelmäßig über Datenanalysen im Softwarebereich.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 19. 10. 2017 ab 18:30 Uhr

Blockchain – die langsamste (und spannendste) Datenbank der Welt
Stefan Tilkov

Als Fundament der virtuellen Währung Bitcoin ist das Blockchain-Verfahren mittlerweile die Basis für zahlreiche neue Geschäftsideen. Die üblichen Verdächtigen übertrumpfen sich gegenseitig mit Superlativen dazu, wie „disruptiv“ die darauf basierenden Startups sein werden. In diesem Vortrag betrachten wir zunächst die technischen Grundlagen, beleuchten Vor- und Nachteile und diskutieren schließlich praktische Szenarien, die man damit umsetzen könnte.

Stefan Tilkov (@stilkov) ist Geschäftsführer und Principal Consultant bei innoQ. Er berät Kunden zu modernen Architekturansätzen und ist häufiger Sprecher auf internationalen Konferenzen.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 21. 09. 2017 ab 18:30 Uhr

Start hunting the Mutations
Sven Ruppert

JUnit ist im Bereich des TDD für den Java-Entwickler ein bekanntes Werkzeug. Hier hat sich auch durchgesetzt, dass man die Testabdeckung (CodeCoverage) messen kann. Hierbei unterscheidet man die Abdeckung auf Klassen-, Methoden- und Zeilenebene. Ziel ist es, die Testabdeckung auf Zeilenebene so hoch wie möglich, nicht aber höher als nötig zu bekommen.
Aber was genau bedeutet das? Eine Testabdeckung von ca. 75% auf Zeilenebene ist sehr gut und kann einem schon als Grundlage dienen. Aber wie aussagekräftig ist diese Zahl?

Wir werden uns in diesem Talk mit dem Begriff des “Mutation Testing” beschäftigen und praktische Wege zum Einsatz zeigen. Wie ist die Abdeckung zu interpretieren, was kann man erreichen? Wie ist die Integration in ein bestehendes Projekt möglich und was ist bei der Erstellung der Tests zu beachten?

Sven Ruppert has been coding Java since 1996 and working as Developer Advocate for Vaadin. In his free time he is regularly speaking at Conferences like JavaOne/Jfokus/Devoxx/JavaZone/JavaLand and many more and contributes to IT periodicals, as well as tech portals.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 20. 07. 2017 ab 18:30 Uhr

Programm

Das JUG-Sommertreffen

Die Sommerpause rückt schon etwas näher und wir möchten den Juli noch zu einem gemütlichen Beisammensein nutzen. Bei leichten Speisen und Getränken können die Themen der vergangenen JUG-Treffen oder aber auch gerne neue aufgegriffen und diskutiert werden, ähnlich wie bei einer Unkonferenz. Ebenso soll neben des Themen-Rückblicks der bisherigen Treffen der Blick nach vorne gerichtet werden. Welche Themen und Speaker sind z. B. für künftige JUG-Treffen interessant? Der Wissensaustausch wird dabei im Naturbiergarten Lederer stattfinden.

Adresse:
Lederer Kulturbrauerei
Sielstraße 12
90429 Nürnberg

Donnerstag, 22. 06. 2017 ab 18:30 Uhr

Programm

REST-Services nur mit HATEOAS
Dr. Andreas Würl und Jörg Adler

Beim Design von REST-Interfaces wird eine Anforderung oft übersehen – HATEOAS. Dabei geht es darum, dass REST-Clients keine Annahmen über die möglichen Zustandsänderungen einer Ressource machen sollten, es sei denn, der REST-Server stellt genau dafür einen Hyperlink zur Verfügung. Wir stellen die Vorteile dieses Architekturparadigmas anhand einiger Beispiele vor – von der besseren Entkopplung von Client und Server bis zur einfacheren Modellierung von Berechtigungen einzelner Nutzer. Dabei präsentieren wir vorhandene Ansätze im Spring- und Jersey-Framework. Außerdem stellen wir unser Open-Source-Projekt rest-schemagen vor. Dabei wird klar, dass HATEOAS auch für den (Server-) Entwickler echte Vorteile bringt und der zusätzliche Aufwand verschwindend gering ist. Das Projekt findet man auf Github (https://github.com/Mercateo/rest-schemagen) und auf maven central.

Jörg Adler ist zurzeit bei der Mercateo AG als Softwareentwickler tätig. Aktuelle Schwerpunkte sind REST-Schnittstellen und interne Systeme.

Andreas Würl ist seit über sechs Jahren bei TNG in der agilen Softwareentwicklung mit Fokus auf nachhaltigem Design tätig. Er schreibt neben Java Software in anderen Sprache wie Kotlin oder Python und entwickelt in seiner Freizeit gerne Open-Source-Software.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 18. 05. 2017 ab 18:30 Uhr

Programm

Visualisierung von Big Data Sets der Pharmaindustrie mittels Graphdatenbanken
Dr. Steffen Tomschke

Die Pharmaindustrie ist ein facettenreiches Gebiet mit unterschiedlichsten Einflüssen aus Logistik, Chemie, Biologie, IT und vielen weiteren Fachgebieten. Hierbei entstehen viele miteinander verbundene und aufeinander aufbauende Daten und Information welche als zentrales Wissen genutzt werden.
In unserem Referenzfall ist allein die Menge der Projektdokumente auf ca. 300 Mio. zu beziffern. Zusätzlich würden 150.000 Mitarbeiter auf diese Dokumente zugreifen verteilt über mehr als 300 Standorte Weltweit.
Die aktuelle Entwicklung in der IT mit personalisierter Suche und Social-Features bedingt die Nutzung von Graphdatenbanken, welche mit ihren Graphtheoretischen Methoden optimierte und effiziente Algorithmen bereitstellen.
Dabei ist die Beschreibung der Aufbereitung der Daten zur Ablage ein wesentlicher Bestandteil bevor es in die Visualisierung (in unserem Fall mit d3js) geht. Als Usability Aspekt soll dabei die Exploration der Daten gezeigt werden, welche auf Graphalgorithmen zurückgreift und wie diese die Wahrnehmung und Usability beeinflussen.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Update: Die Vortragsfolien stehen ab sofort zur Verfügung: Visualisierung-von-Big-Data-Sets.pdf

Donnerstag, 20. 04. 2017 ab 18:30 Uhr

Programm

7, 8, 9 ist es schon soweit – Java Module System
Sascha Groß

Lange erwartet und immer wieder verschoben, aber demnächst wird uns Java 9 mit dem Module System, auch als Jigsaw bekannt, beglücken.
Wie funktioniert es, welche Vorteile und Nachteile bringt es, wie ist es um die Abwärtskompatibilität gestellt und muss es mich als Entwickler überhaupt interessieren, es ging ja auch über zwei Jahrzehnte ohne Module System. Diese Fragen werden beantwortet und auch Konsequenzen, die sich aus dem Vorhandensein des Module System ergeben werden gezeigt. Viel Spaß beim Puzzeln.

Sascha Groß ist als Software-Entwickler, Consultant und Trainer für die Mathema Software GmbH tätig. Seine Spezialgebiete sind die Oberflächen- und Web-Programmierung mit Java. Insbesondere beschäftigt er sich stets mit den Neuerungen der Java-Welt und gibt sein Wissen gerne als Referent auf Konferenzen weiter. Außerdem besitzt er Expertenwissen über XML, das er bereits als Buchautor veröffentlicht hat.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 16. 03. 2017 ab 18:30 Uhr

Programm

Dropwizard
Jochen Schalanda

Brauche ich unbedingt einen dicken Application Server? Gibt es Alternativen zu Spring Boot? Und wieviel Overhead brauche für einen produktionsreifen Web Services in Java? Dropwizard versucht auf diese Fragen eine Antwort zu geben. Es kombiniert ausgereifte Standardkomponenten wie Jetty, Jersey (JAX-RS), Jackson und Bean Validation und gibt dem Entwickler und dem IT-Betrieb noch die Werkzeuge für einen erfolgreichen Betrieb in die Hand. Dadurch kann in kürzester Zeit ein produktionsreifer Web Service erstellt werden. Dropwizard ist dabei so schlank, dass wenig Lernaufwand anfällt und man sich nicht zu stark an das Framework bindet.

Der Vortrag gibt eine Einführung in Dropwizard und zeigt dessen Leistungsfähigkeit anhand einer kleinen Demo-Anwendung.

Jochen Schalanda liebt es Speaker Biographies zu schreiben, weil Jochen Schalanda in diesen über Jochen Schalanda in der dritten Person schreiben kann. Wenn Jochen Schalanda keine Speaker Biographies über Jochen Schalanda schreibt, arbeitet Jochen Schalanda an der Open-Source Log-Management Lösung Graylog und füttert dort den Party Gorilla. In seiner Freizeit arbeitet Jochen Schalanda mit einer Reihe weiterer Personen am Dropwizard Framework.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Update: Im GitHub Repository findet ihr sowohl die Folien des Vortrags als auch die Demoanwendung.

Donnerstag, 15. 12. 2016 ab 18:30 Uhr

Programm

Reaktiv statt nur aktiv – Couchbases Java-SDK
David Maier

Couchbase Server ist ein verteiltes und dokumentenorientiertes NoSQL-Datenbanksystem mit Schwerpunkten auf Flexibilität, Performanz, Skalierbarkeit und Hochverfügbarkeit. Die Performanzanforderungen hören nicht auf der Seite des Datenbankservers auf. Dieser Vortrag geht kurz auf die Vorteile und Verwendungsmöglichkeiten von RxJava ein, um dann zu erläutern wie das Couchbase-Client-SDK aufgebaut ist und mit RxJava verwendet werden kann.

David Maier ist ein kreativer Software-Entwickler und Berater mit Projektleitungserfahrung in der Produktentwicklung und in Kundenprojekten. Darüber hinaus besitzt er einen soliden Datenbank-Background, wobei er sich im Laufe der Zeit auf NoSQL-Datenbanksysteme spezialisiert hat. Er startete seine Karriere einige Jahre zuvor als Entwickler für die Datenbankfirma ‚Ingres‘. Weiterhin arbeitete er für ‚Ingres‘ als verantwortlicher Software Engineer für technische Partnerzertifizierung und Migrationswerkzeuge. David verließ Ingres als Senior Software Engineer um dem kleinen Graph-Datenbanken-Startup ‚sones‘ beizutreten. Dort arbeitete er als Senior Consultant und Software-Architekt und leitete z. B. die Entwicklung der persistenten Storage-Engine für die ‚sones GraphDB 2.0‘. Nach ‚sones‘ war er eine Weile als Berater und Projektleiter für ‚fme‘, ein mittelgroßes Beratungshaus, tätig. David arbeitet momentan als Principal Solutions Engineer für ‚Couchbase‘, der Firma hinter dem Open-Source NoSQL-Datenbanksystem ‚Couchbase Server‘.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen – Pizza, Snacks und Getränke – wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 17. 11. 2016 ab 18:30 Uhr

Programm

Proxy Pattern Tutorial
Sven Ruppert

Everybody knows the proxy pattern , but how can you use it effectively? What kinds of proxy patterns are available and how can you build patterns more effectively with these? Why is reflection needed for this? Most importantly, how can we only use the Core JDK?

In this talk we will start from the basics and move straight on to DynamicProxies, Dynamic-/Static-ObjectAdapter, DynamicStaticProxies at runtime and more. Would it influence your team members to start using functional aspects in your Core Java Project? How we can combine this with other pattern, Invokedynamic or maybe with another language such as Kotlin?

We will have a detailed view on the possibilities to reduce the amount of code with this Pattern, and we will see how we could make it more generic. One of the main points will be the combination of this patterns with for example NestedBuilder-Pattern and more. After this you will have a better understanding of this pattern group from the practical point of usage. All pattern are build up from scratch, to give a feeling of the way to develop your own pattern based on this talk, or how you could change it for the needs of your project.

We will have a deep dive into this pattern group, which I am sure you will enjoy. This talk is based on the German book “Dynamic Proxies” written by Dr. Heinz Kabutz and myself.

Sven Ruppert has been coding Java since 1996. He is a Fellow (Head of R&D) for reply based in Munich. In his free time he is regularly speaking at Conferences like JavaOne/Jfokus/Devoxx/JavaZone/JavaLand and many more and contributes to IT periodicals, as well as tech portals.

Das Treffen findet in den Räumlichkeiten der Teambank AG statt. Auch für das leibliche Wohl der Teilnehmer/innen (Snacks und kühle Getränke) wird gesorgt.

Adresse:
Teambank AG
Beuthener Straße 25
90471 Nürnberg

Update: Die Vortragsfolien stehen ab sofort zur Verfügung: Proxy-Deep-Dive_Master.pdf

Donnerstag, 20. 10. 2016 ab 18:30 Uhr

Programm

RxJava: Die Reactive Extensions for Java
Eric Weikl

Die Schonzeit ist vorbei und der sprichwörtliche “Free Lunch” vorüber – mit den abnehmenden Leistungssteigerungen aktueller CPU-Generationen bleibt uns in vielen Fällen nur die Flucht in die parallele Programmierung. Mit ThreadPools, Futures und Konsorten bietet das JDK die Bausteine hierzu, ganz einfach ist es in der Praxis aber nicht.

Mit den Reactive Extensions steht uns ein weiteres Programmiermodell zur Verfügung, um die asynchrone Programmierung auf eine höhere Abstraktionsebene zu bringen. Der Vortrag zeigt, wie wir mit RxJava und den Lambdas aus Java 8 mächtige Werkzeuge an der Hand haben, um wartungsfreundlichere und weniger fehleranfällige asynchrone Software zu schreiben.

Eric Weikl geht seiner Leidenschaft für Softwareentwicklung seit über 10 Jahren bei der TNG Technology Consulting GmbH nach. Am liebsten hält er sich dort auf, wo das platonische Ideal des Programmierens und der schmutzige IT-Alltag kollidieren.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen (Pizza, Snacks und kühle Getränke) wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 22. 09. 2016 ab 18:30 Uhr

Programm

Java on Speed – Hot Deployment mit JRebel, Spring-Loaded und HotSwapAgent
Hristiyan Pehlivanov

Warum sind Sie Entwickler/-in geworden? Ich freue mich immer noch, wenn ich ein Problem löse und sehe, dass mein Programm das richtige Ergebnis liefert. Ich will aber nicht minutenlang auf dieses Ergebnis warten und zuschauen, wie ein Paket nach dem anderen kompiliert wird. Dieser Zyklus – Code, Build, Redeploy, Test – prägt den Alltag von vielen Java-Entwicklern. Man kann seine Komponente oft nicht isoliert testen und muss stattdessen das komplette System bauen und deployen.

Im Gegensatz dazu bieten Tools wie JRebel, Spring-Loaded und HotSwapAgent die Möglichkeit an, Änderungen im Sourcecode zur Laufzeit neu zu laden, ohne die Applikation stoppen zu müssen. Dabei werden Änderungen im Klassenschema und sogar Klassenhierarchien unterstützt. Hier ist nicht das übliche Java HotSwap gemeint, das IntelliJ und Eclipse verwenden, sondern eine wesentlich mächtigere Methode. Außerdem stellen diese Tools Integration mit vielen Frameworks (Hibernate, JSF, Spring, etc.) zur Verfügung. Diese Features und die Konfiguration lassen sich anhand praktischer Beispiele mit einer Java-Applikation gut veranschaulichen.

Das Hauptziel dieses Vortrags ist, dass wir verschiedene Methoden besprechen, wie wir schneller Code schreiben können. Auch wenn man in einem großen Legacy-Projekt tätig ist, kann man mehr Spaß bei der Entwicklung haben.

Hristiyan Pehlivanov ist als Entwickler und Consultant bei MATHEMA Software GmbH im Java Umfeld tätig. Er ist leidenschaftlicher Agilist und Clean-Code-Anhänger, der immer auf der Suche nach neuen Herausforderungen ist. Außerdem glaubt er an die kontinuierliche Evolution von Systemen, die über leichtgewichtige Lösungen und Testautomatisierung ermöglicht wird.

Das Treffen findet in den Räumlichkeiten der MATHEMA statt. Beachten Sie dabei die Anreisehinweise. Auch für das leibliche Wohl der Teilnehmer/innen (Pizza, Snacks und kühle Getränke) wird gesorgt.

Adresse:
MATHEMA Software GmbH
Henkestr. 91
91052 Erlangen

Donnerstag, 16. 06. 2016 ab 18:30 Uhr

Programm

jQAssistant – Statische Code-Analyse für Design und Architektur
Dirk Mahler

Werkzeuge zur Code-Analyse geben Entwicklern schnelles und wertvolles Feedback über potentielle Fehler oder die Verletzung definierter Coding-Guidelines. Letztere beinhalten oft Regeln, die sich auf die Design- oder Architekturebene einer Anwendung beziehen. Die Werkzeuge hingegen operieren meist auf tieferen Abstraktionen wie Packages, Klassen oder Methoden und kommen zumeist mit einem festdefinierten Satz Regeln daher, der sich schlecht auf individuelle Bedürfnisse anpassen oder erweitern lässt.
Die Open-Source-Lösung jQAssistant verfolgt einen Ansatz, der diese Einschränkungen aufbricht: das Werkzeug integriert sich in den Build-Prozess und erfasst alle relevanten Strukturen der Anwendung – von der Programmiersprache über Framework-Deskriptoren bis hin zum Buildsystem – in einer Graphendatenbank (Neo4j) und erlaubt die Ausführung von Regeln auf den gewonnen Informationen. Es handelt sich dabei um Abfragen, die in ausführbarer Entwickler-Dokumentation eingebettet sind, und die individuelle Anreicherung der Daten um Konzepte aus der Design- und Architektursprache ermöglichen, z. B. “Entity”, “Service” oder “Layer”. Basierend auf diesen Abstraktionen können kompakte und aussagekräftige Abfragen als Constraints formuliert werden, welche Verletzungen definierter Regeln aufdecken, z. B. “Entitäten müssen in model-Packages enthalten sein” oder “Controller dürfen keine Abhängigkeiten zu Repositories besitzen”, und damit Entwicklern aussagekräftiges Feedback geben.

Der Vortrag beinhaltet eine kurze Einführung in Neo4j und zwei Demos.

Dirk Mahler ist Senior-Consultant bei der buschmais GbR, einem Beratungshaus mit Sitz in Dresden. Der Schwerpunkt seiner mehr als 10-jährigen Tätigkeit liegt im Bereich Architektur und Entwicklung von Java-Applikationen im Unternehmensumfeld. Den Fokus setzt er dabei auf die Umsetzung von Lösungen, die im Spannungsfeld zwischen Pragmatismus, Innovation und Nachhaltigkeit liegen. In diesem Rahmen engagiert er sich für das Open-Source-Projekt jQAssistant.

Das Treffen findet dieses Mal in den Räumlichkeiten unseres befreundeten Unternehmens adorsys statt.

Adresse:
adorsys GmbH & Co. KG
Bartholomäusstrasse 26c
90489 Nürnberg

Update: Die Vortragsfolien sowie die vorgeführten Beispielsapplikationen stehen euch nun zur Verfügung

Donnerstag, 21. 05. 2015 ab 18:30 Uhr

Programm

Model-View-ViewModel mit JavaFX
Manuel Mauky und Max Wielsch

Die wahre Schönheit von UIs verbirgt sich unter der Oberfläche, nicht zuletzt, weil der Unterhalt von schlecht wartbaren Anwendungen sonst sehr teuer wird. Saubere Architekturen erleichtern die Wart- und Testbarkeit. Neben den bekannten MV* Pattern, die bis dato ausgiebig in der Java-Welt exerziert wurden, gibt es mittlerweile Alternativen. Dazu zählt MVVM.
Das Presentation Model Derivat kommt aus der .NET-Welt und hält mittlerweile in immer mehr Technologien, wie zum Beispiel JavaScript (Knockout.js) Einzug. Auch JavaFX-Entwickler können davon profitieren. Im Vortrag wird gezeigt, wie mit JavaFX und MVVM testgetrieben Client-Anwendungen entwickelt werden können.

Manuel Mauky arbeitet seit 2010 als Software-Entwickler bei der Saxonia Systems AG in Görlitz. Er ist vor allem im Frontend-Bereich aktiv, seit einiger Zeit überwiegend mit JavaFX. Daneben interessieren ihn Themen wie Software-Architektur, funktionale Programmierung und Reactive Programming. Manuel ist Gründungsmitglied und Leiter der Görlitzer Java User Group. Er bloggt unter www.lestard.eu und ist bei Twitter unter @manuel_mauky erreichbar.

Max Wielsch ist seit 2011 als Software-Entwickler bei der Saxonia Systems AG beschäftigt. Sein Interesse gilt der Entwicklung von Applikationen basierend auf JavaFX und Android. In seiner Freizeit arbeitet er verstärkt an den Themen Architektur und Testbarkeit solcher Applikationen und ist als Mitglied der Java User Group Görlitz aktiv.

Donnerstag, 26. 02. 2015 ab 18:30 Uhr

Programm

Gut durchmischt
Michael Wiedeking

Mit Java 8 haben nicht nur die Lambda-Ausdrücke Einzug in die Sprache gehalten; auch die Möglichkeit, default-Implementierungen in Interfaces unterzubringen, ist neu. Die Lambda-Ausdrücke sind aber deutlich mehr als nur syntaktischer Zucker für den Ersatz anonymer Klassen, wie auch die default-Implementierungen Besseres leisten, als nur die Interfaces erweiterbar zu machen.

Dieser Vortrag beschäftigt sich mit den Möglichkeiten, die sich durch den Einsatz der neuen Java-Mechanismen eröffnen, und zeigt, wie man damit, sehr viel einfacher, mehr erreichen kann. Dabei wird etwa gezeigt, wie man mit Lambda-Ausdrücken Klassen beeindruckend konfigurierbar machen kann, oder wie man mit Hilfe von Interfaces Code vergleichbar zu Mix-ins einbetten kann.

Donnerstag, 11. 12. 2014 ab 18:30 Uhr

Programm

Bullseye – Ein Blick auf Dart
Florian Hirsch

Mit Dart hat sich Google das Ziel gesetzt JavaScript als Lingua Franca des Webs abzulösen. Zwei Jahre nach der ersten Ankündigung wurde Ende 2013 die Version 1.0 vorgestellt. Seitdem wird Dart von Google produktiv eingesetzt. Am Beispiel einer kleinen Web-Anwendung zeigt der Vortrag wie Dart tickt und was es anders macht als JavaScript.

Florian Hirsch arbeitet als Software-Entwickler bei der adorsys GmbH & Co. KG. Er engagiert sich seit Jahren in der Frontend-Entwicklung mit JSF, GWT und HTML5/JavaScript.

Donnerstag, 13. 11. 2014 ab 18:30 Uhr

Programm

Entscheidung von Stillstand zu moderner Web-Entwicklung – Erfahrungen bei der DAB-Bank mit großen JavaScript-Projekten aus der Praxis
David Amend

Die Chance, auf den Zug der modernen Online-Technologien aufzusteigen, sollte ergriffen werden, bevor es zu spät ist. Sind für die einen der Wechsel der Frontend-Technologien weg von Java noch nicht “Enterprise-ready”, stellt der Einsatz von JavaScript in Browser, Apps und auf dem Server für die Big Player im Onlinebusiness eine weitaus effektivere Software-Entwicklung dar.

Der Vortrag richtet sich sowohl an Kritiker des genannten Technologie-Stacks als auch an bereits Überzeugte, die einen geschärften Blick über aktuelle Entwicklungen für das Web erfahren möchten. Die Diskussionsrunde lädt ein zu Themen über TypeScript, Angular und deren Praxistauglichkeit.

David Amend ist spezialisiert auf die Entwicklung und Konzeption für Web-Frontends. Dabei hat er Spaß daran, das Erfolgsrezept moderner Web-Entwicklung in Vorträgen und Publikationen, OpenSource-Projekten und Entwickler-Teams im Unternehmen, weiterzugeben.

Donnerstag, 16. 10. 2014 ab 18:30 Uhr

Programm

Baukasten für interne DSLs in Java
Heiner Kücker

Fluent Interfaces mit Method Chaining sind eine Möglichkeit, interne DSLs (Domain Specific Languages) in Java zu realisieren. Durch die neue Java 8-Stream-API ist es auch für den weniger ambitionierten Java-Entwickler alltäglich verwendbar. Durch sogenannte progressive Interfaces (Begriff von Martin Fowler) bzw. Intermediate-Klassen ist es möglich den Anwender des fluent interface mit der Autovervollständigung der IDE zu unterstützen und eine korrekte Verwendung des fluent interface zur Compile-Zeit abzusichern. Selbst auf der deutschen Wikipedia-Seite wird vorgeschlagen, das fluent interface auf Basis einer Grammatik zu generieren. Seltsamerweise gibt es nirgendwo eine Lösung zum Herunterladen. (Eventuell kann der Redner mit Suchmaschinen nicht so gut umgehen). Er hat nur Lösungen mit einem Zustandsautomat gefunden, ok, jede gültige Grammatik kann in einen Zustandsautomaten umgewandelt werden, aber Grammatiken sind ausdrucksstärker.

Beim Vortrag präsentiert der Redner den weltweit ersten und scheinbar immer noch einzigen frei verfügbaren Code-Generator für fluent interfaces auf Basis einer Grammatik. Aufgrund des Vakuums im Netz bezüglich der sich daraus ergebenden Probleme (Konvertierung zirkulärer Strukturen) und der sich aufdrängenden Erweiterungen der constrained (prediktiven) Grammatik und der endlichen rekursiven Grammatik scheint es bezüglich solcher Code-Generatoren bei Willensbekenntnissen oder Primitiv-Lösungen geblieben zu sein.

Heiner Kücker ist seit 2000 freiberuflicher Java-Programmierer und interessiert sich für Fehlervermeidung zur Compile-Zeit, DSLs und funktionale Programmierung.

Donnerstag, 18. 09. 2014 ab 18:30 Uhr

Programm

CDI, Design Patterns und AOP
Martin Reimann

Für den Software-Architekten und -Entwickler sind Design Patterns und AOP wichtige Werkzeuge, um wartbare und portierbare Software zu erstellen und auch um Komplexität überhaupt beherrschen zu können. CDI, das seit Java EE 6 zum offiziellen Technologie-Stack gehört und immer weitere Verbreitung findet, bietet über Dependency Injection und Web Beans hinaus standardisierte Patterns und ein „AOP-Light“. Der Vortrag zeigt nach einem Überblick, welche Werkzeuge hier CDI bereithält und wie man sie auch ganz praktisch programmiert! Wer beim Live Coding aktiv mitmachen möchte, bringt einfach seinen Laptop samt IDE und installiertem Application Server seiner Wahl mit.

Martin Reimann ist selbstständiger Consultant für JEE-Projekte und arbeitet als Entwickler, begeisterter Software-Architekt und Berater. Er interessiert sich für Technologien und Methoden, mit denen wir IT-Projekte auch bei Ressourcen-Knappheit erfolgreich und wirtschaftlich durchführen können: Software-Architektur, Automatisierung, MDE sowie Holistisches Projektmanagement und Verbesserungskultur. Er arbeitet zur Zeit an einer Veröffentlichung zum Thema „Java-Technologien für Software-Architekten“ (http://rc42.de).

Donnerstag, 10. 07. 2014 ab 18:30 Uhr

Programm

Dokumentation schreiben kann Spass machen!
Sebastian Hempel

Woran liegt es, dass in den meisten Projekten und Unternehmen das Schreiben von Dokumentation einen so schlechten Ruf hat? Sicher nicht daran, dass die meisten Entwickler und Projektleiter das Wissen für sich behalten möchten. Auch der Sinn von der Dokumentation an sich wird nicht in Frage gestellt. Es sind die nicht für die Zielgruppe “Informatiker” geeigne- ten eingesetzten Werkzeuge. Mit der leichtgewichtigen Auszeichnungssprache AsciiDoctor erfolgt das Schreiben von Dokumentation wie das Schreiben von Code. Der Entwickler nutzt den von ihm gewohnten Editor. Die Eingabe des Textes selbst erfolgt in reinem Text. Durch intuitive und leicht zu merkende Auszeichnungen wird die Struktur und damit indirekt die Formatierung des Textes festgelegt. Die Dokumentation kann wie Quellcode in einem VCS verwaltet werden. Wie Quellcode lässt sich die Dokumentation in verschiedene Module/Dateien aufteilen.

Der Vortrag gibt einen Einblick in die Auszeichnungssprache AsciiDoctor und das Programm zur Erstellung von Dokumenten im HTML- und PDF-Format. Es wird beschrieben, wie AsciiDoctor zur Dokumentation in Java (JavaDoc) verwendet werden kann. AsciiDoctor kann in die bekannten Build-Tools Ant, Maven und Gradle integriert werden, so dass die Dokumentation wie Quellcode regelmäßig übersetzt wird. Als Ausblick wird die Integration von “beschreibenden Grafikformaten” wie GraphViz und PlantUML in AsciiDoctor-Dokumente gezeigt.

Sebastian Hempel ist selbständiger IT-Consultant und Trainer aus dem Fichtelgebirge. Seit 2003 unterstützt er Kunden bei der Entwicklung und dem Betrieb von Enterprise-Anwendungen. Seine Schwerpunkte liegen dabei bei Java EE auf Linux-Systemen. In Projekten übernimmt er gerne die Konzeption und den Aufbau der Entwicklungs- und Build-Umgebung. In den letzten Jahren beschäftigt er sich mit der DevOp-Bewegung. Neben seiner Tätigkeit als Software-Entwickler hält Sebastian Hempel Trainings im Bereich Java, Java EE und Puppet.

Donnerstag, 05. 06. 2014 ab 18:30 Uhr

Programm

Java im Web mit Ajax – Eine einfache Einführung
Timo Körner

Es sollen zwei Java Web-basierte Apps vorgestellt werden:

1. Servlet- und jsp-basiert
Eine Benutzerin gibt in einem Formular Buchstaben ein, die dann auf dem Server durch das Servlet geprüft werden. Findet eine positive Prüfung statt (es gibt Ergebnisse aus dem “where” des “selects”), werden diese in ein XML-Dokument geschrieben, zur Jsp weitergeleitet und auf dem Client ausgegeben. Die Prüfung erfolgt asynchr