01 Dec 2016
Language
The talk will be given in German. Slides are in English.
Registration
Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.
Termin
Der Vortrag findet am 01.12.2016 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).
Abstract
Apache Kafka ist ein verteilter Message Broker, der nach dem Publish-Subscribe-Prinzip arbeitet. Durch seine Architektur kann ein Kafka-Cluster immensen Durchsatz bei sehr niedriger Latenz erreichen – und obendrein noch hervorragend horizontal skalieren. Florian Troßbach erläutert die Grundkonzepte und demonstriert, wie Clients mit Kafka interagieren können.
Bio
Florian Troßbach arbeitet als IT-Consultant bei der codecentric AG. Seine Wurzeln hat er in der klassischen Java-Enterprise-Entwicklung, mittlerweile gilt sein Hauptaugenmerk jedoch dem Themenbereich “Fast Data” und dem SMACK Stack.
27 Oct 2016
Language
The talk will be given in English.
Registration
Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.
Termin
Der Vortrag findet am 27.10.2016 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).
Abstract
In this talk we take a look at the Kotlin Programming Language. Based on a sample application, we will go over the language features and see how they compare to Java. We will discuss the interoperability between both languages and see how to build Kotlin applications using Gradle.
Bio
Alexander Hanschke works at techdev Solutions and is helping clients to realize IT projects mostly based on Java. He resisted to jump at a new language for a long time, but eventually fell in love with Kotlin.
29 Sep 2016
Language
The talk will be given in German.
Registration
Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.
Termin
Der Vortrag findet am 29.09.2016 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).
Abstract
Im Zeitalter von Continuous Delivery möchte man möglichst häufig und schnell Änderungen in Produktion bringen. Nur was macht man, wenn Features noch nicht fertig implementiert sind oder noch nicht veröffentlicht werden sollen?
Eine mögliche Lösung ist die Isolierung von Features über Branches. Bei vielen Features bzw. Features mit langer Entwicklungszeit kommt man hier schnell in die Merge-Hölle.
Eine andere Lösung sind Feature Toggles, über die Features im Live-Betrieb versteckt werden können. Das heißt man entkoppelt das Ausrollen von Funktionalität vom eigentlichen Deployment.
Feature Toggles bieten noch einige weitere Vorteile, wie z.B. die Möglichkeiten von A/B-Tests, Canary Releases etc. Es existieren aber auch Risiken, die in diesem Vortrag nicht unerwähnt bleiben sollen.
Der Vortrag beschäftigt sich außerdem mit der Togglz-Library. Wie damit Feature Toggles in realen Projekten umgesetzt werden können, wird an Hand von Code-Beispielen gezeigt.
Bio
Kai Hofstetter ist Senior Softwareentwickler bei 1&1. Er beschäftigt sich seit über 15 Jahren mit Java, macht aber auch gerne Ausflüge zu anderen Programmiersprachen, wie z.B. Scala.
Er interessiert sich u.a. für alles was die Effizienz der Softwareentwicklung steigert und die Softwarequalität verbessert, wie z.B. Continuous Delivery.
Kai hat bereits bei verschiedenen Web-Anwendungen Erfahrungen mit der Einführung von Feature Toggles gesammelt und ist Togglz Contributor.
Des Weiteren gilt sein besonderes Interesse dem Thema Security von Web-Applikationen.
10 Aug 2016
Language
The talk will be given in German.
Registration
Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.
Termin
Der Vortrag findet am 10.08.2016 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C014 statt (Anfahrtsbeschreibung).
Abstract
Microservices and their frameworks like spring boot allow to start fast but can easily produce ugly monoliths again.
OSGi on the other hand provides great modularity but is regarded as more complex than spring boot and alike.
This Talk shows how to create lean and modular microservices using OSGi, maven and bndtools.
The build result is a runnable jar or docker image and nicely fits microservice deployments.
See how OSGi allows the flexibility to deploy each microservice on its own and let them communicate over (REST) remote calls or
deploy them together and talk using OSGi services locally using the same business code bundles.
Bio
Christian Schneider is an Open Source Architect at Talend. He was the responsible architect for the Services Oriented Architecture of EnBW Trading GmbH (Trading floor of one of Germany’s largest utility companies).
He specializes in OSGi and practical integration solutions. He was a a regular speaker at several Java conferences in Germany like JAX. W-JAX and at Apachecon.
21 Jul 2016
Language
The talk will be given in English.
Termin
Der Vortrag findet am 21.07.2016 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).
Abstract
A lot of people refer to Java 8 as a shift towards functional programming. But what exactly does this mean? What are the benefits from using functions and lambdas? What ideas do Streams, Optionals and CompletableFutures share? And how can one exploit these? In this talk we try to give a comprehensive answer by introducing the basics of functional programming and providing a lot of real world examples in Java 8. Further, we will also have a look on how lambda expressions are translated to bytecode and, whether, there is a perfomance impact.
After this talk you will
- know how functions are represented in Java 8
- know the common abstractions of
Streams, Optionals and CompleteableFutures
- hopefully apply some of the given suggestions
Bio
Artem Kozlov is a Software Engineer, currently working for metaphacts GmbH in Walldorf. He is mainly interested in Functional Programming languages like Haskell, Scala, etc. and Semantic Web Technologies.
Gregor Trefs is a Research Assistent at the University of Mannheim where he uses Java 8 to develop a platform for semantically integrating business processes. He is always interested in new ways to better cope with challenges in Software Development.