Testen von und mit Infrastruktur - Integration Testing done right

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 14.11.2019 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).

Abstract

Heutzutage läuft eine Software nicht für sich alleine, sondern agiert mit Anderen. Die Kommunikation erfolgt meist über verschiedene Protokolle, sprich über verschiedene Infrastruktur-Komponenten. Gerade beim Testen stellt sich die Frage, wie kann der Entwickler Tests so schreiben, dass sie von einem bestimmten Infrastruktur-Setup unabhängig sind. Meistens gelingt es nicht und dann wird dieser Teil der Software erst spät bei den End-2-End-Tests geprüft. Doch gerade mit Microservices und dem Paradigma “Wenn etwas schiefläuft, dann so schnell wie möglich” möchte der Entwickler schon zu einem früheren Testzeitpunkt, z.B. bei Entwicklertests, erfahren, wenn bei diesem Teil der Software etwas schief läuft. Zudem macht die Infrastruktur nicht beim Anwendungscode halt. Mittlerweile wird die Infrastruktur immer mehr mit Hilfe von Code (Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc. ) beschrieben und automatisiert. Auch bei diesem Code möchte der Entwickler sicher gehen können, dass er so funktioniert wie erwartet. Dieser Vortrag zeigt anhand einer Java-Anwendung, wie man mit Hilfe von 3rd-Party-Libraries die Infrastruktur in den Tests der Anwendung einbinden kann ohne sich gleich von einer bestimmten Infrastruktur abhängig zu machen. Darüber hinaus, wird darauf eingegangen wie die Qualität des Infrastruktur-Codes gesichert werden kann, angefangen bei klassischen Provisionierungswerkzeugen bis hinzu Container.

Bio

Sandra Parsick ist als freiberufliche Softwareentwicklerin und Consultant im Java-Umfeld tätig. Seit 2008 beschäftigt sie sich mit agiler Softwareentwicklung in verschiedenen Rollen. Ihre Schwerpunkte liegen im Bereich der Java Enterprise Anwendungen, agilen Methoden, Software Craftsmanship und in der Automatisierung von Softwareentwicklungsprozessen. Darüber schreibt sie gerne Artikel und spricht darüber auch gerne auf Konferenzen. In ihrer Freizeit engagiert sie sich in der Softwerkskammer Ruhrgebiet.

Kotlin 1.3 in Action und Kotlin Multiplatform & Kotlin Native in Action

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 06.06.2019 um 19:00 Uhr statt. Der Ort wird noch bekannt gegeben.

Abstract

Kotlin 1.3 in Action

Kotlin hilft uns mit unseren bekannten Tools Software besser zu entwickeln, die im Code prägnant sind und weniger Fehler enthalten. An vielen stellen versucht es Designfehler von Java auszumerzen und bringt neue Programmiermodelle mit, die uns unterstützen Probleme mit neuem Handwerkszeug zu meistern. Dabei ist Kotlin dafür ausgelegt, sich nahtlos in bestehende Java Projekte zu integrieren und auf selbst auf älteren 1.6 JVMs zu laufen. (Die Kotlin Foundation, gegründet von JetBrains and Google, hat das Ziel, Kotlin Open Source als freie Software unter der Apache 2 Lizenz zu entwickeln.) Ob Delegations, Refied Types… wir werden uns anschauen, welche Kotlin Features ein Java Entwickler kennen sollte und wie sie uns weiterhelfen. Dabei nehmen wir auch das neuste Kotlin 1.3 Update mit Corutinen und Inline Classes unter die Lupe. Der Vortrag richtet sich gleichermaßen an Kotlin Neueinsteiger, als auch fortgeschrittene, die sich für die Neuerungen im Update 1.3 interessieren.

Kotlin Multiplatform & Kotlin Native in Action

Kotlin ist weitaus mehr als eine Sprache auf der JVM. Mit Kotlin Native und Kotlin Multiplatform eröffnen sich völlig neue Möglichkeit für eine platformübergreifenden Entwicklung. Ob im Backend, im Browser, auf Smartphones oder selbst auf Embedded Systemen, überall lässt sich in Kotlin programmieren, Code wiederverwenden und selbst ohne JVM nativ ausführen. Wie wäre es mit native IOs Apps, schlanke Microservices ohne JVM, oder Backends die sich mit dem Frontend die Codebase teilen? Wie setze ich ein solches Multipaltform Projekt auf? Wie kann ich nativ entwickeln und wo sind noch die Vor- und Nachteile - auch im Vergleich mit GraalVM?

Bio

Tobse Fritz ist Software Entwickler bei ITscope aus Karlsruhe. Dort arbeitet er an einer großen B2B Webanwendung in Java u.a. mit dem Vaadin Framework und Spring. Er interessiert sich sehr für Software Craftsmanship und setzt sich für Clean Code ein. Seit den ersten alpha Versionen hat er die Entwicklung von Kotlin mitverfolgt. Vor allem durch zahlreiche private Projekte hat er immer mehr mit Kotlin beschäftigt. Die Begeisterung für Neues und Kotlin im speziellen teilt er gerne auf Konferenzen und Meetups und freut sich sehr auf seinen ersten JUG Vortrag.

Configuration Management and Zero-downtime deployment with Kubernetes, Spring Boot

Registration

Registration is optional, but for planning we would still prefer registration on our Meetup page.

Date

08.05.2019 at 19:00h at Uni Mannheim A5, 6, room C013 (How to get there).

Language

The talks will be held in English.

Abstract

Configuration Management with Kubernetes, a Spring Boot use-case

Come discover what options Kubernetes allows in terms of configuration management.

Docker images are supposed to (and should be) immutable. Given that the same image should be promoted from the development environment to the production environment, it needs to be parameterized in each environment.

Kubernetes provides different ways to do that. On the other, the Spring Boot platform allows a wide range of configuration options. In this talk, I’ll go through (and demo!) what common options are available, and what pro(s)/con(s) each of them have.

Zero-downtime deployment with Kubernetes, Spring Boot and Flyway

Beyond Hello World applications, zero-downtime deployments are not trivial. In this talk, I’ll demo how to achieve that on a Spring Boot application using Kubernetes and Flyway.

Kubernetes allows a lot. After discovering its features, it’s easy to think it can magically transform your application deployment process into a painless no-event. For Hello World applications, that is the case. Unfortunately, not many of us do deploy such applications day-to-day.

You need to think about application backward compatibility, possible rollback, database schema migration, etc. I believe the later is one of the biggest pain point. In this talk, I’ll demo how to update a Spring Boot app deployed on a Kubernetes cluster with a non-trivial database schema migration with the help of Flyway, while keeping the service up during the entire update process.

Bio

Nicolas Frankel (Blog) is a Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Currently working for Exoscale. Also double as a teacher in universities and higher education schools, a trainer and triples as a book author.

Reactive Relational Database Connectivity

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 27.03.2019 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).

Abstract

Immer mehr Projekte setzen auf reaktive Programmierung. Auf ihrem Weg reaktive Systeme zu bauen, stellen Entwicklungsteams fest, dass sich sämtliche Vorteile dieser Umstellung nur bei einem durchgängig reaktiven Stack einstellen. Es gibt einige reaktive Messaging und NoSQL Integrationen, jedoch gehören die relationalen Datenbanksysteme nicht dazu.

Dieser Vortrag stellt die Reactive Relational Database Connectivity (R2DBC) Initiative vor. Das Ziel dieses Projekts ist es, ein reaktives API für relationale Datenbanken zu definieren. Dieser Vortrag erklärt das R2DBC API, seine Funktionsweise und die Vorteile die sich aus der Nutzung ergeben. Wir schauen uns auch Gemeinsamkeiten und Unterschiede weiterer Initiativen wie ADBA, dem asynchronen Nachfolger von JDBC, an und wie diese sich mit R2DBC nutzen lassen.

Bio

Mark Paluch (@mp911de) ist Software Craftsman und arbeitet als Spring Data Engineer bei Pivotal. Er betreut die Module MongoDB, Redis und Apache Cassandra und Entwickelt den Lettuce Redis Treiber. Sein Fokus liegt derzeit auf reaktiven Treibern und Infrastrukturkomponenten.

IntelliJ IDEA Trickkiste - Ein Entwickler packt aus

Registration

Wir freuen uns über Eure Anmeldung auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 17.01.2019 um 19:00 Uhr bei LivePerson in P3 1-3, Mannheim statt.

Abstract

Die Leistungsfähigkeit moderner IDEs ist Segen und Fluch zugleich. Arbeite ich wirklich effizient damit? Kenne ich alle notwendigen Kniffe?

Im Rahmen einer Live-Demonstration möchte ich zumindest einige - auch unbekanntere - Features und Techniken aufzeigen, die einem in der täglichen Arbeit weiterhelfen. An einigen Stellen werden wir auch einen kurzen Blick hinter die Kulissen wagen… Zudem besteht die Gelegenheit direkt mit einem der IntelliJ Entwickler Anregungen und Probleme aus eurem Projekteinsatz zu diskutieren.

Der Vortrag richtet sich sowohl an erfahrene Benutzer als auch an Neueinsteiger/Interessierte.

Bio

Yann Cébron (@yanncebron) ist seit 2002 nicht nur begeisterter User von IntelliJ IDEA, er entwickelte im Laufe der Zeit auch eine Reihe von Plugins dafür. Seit sechs Jahren ist er nun für dessen Spring Framework Support sowie das Plugin SDK verantwortlich - zu beidem hält er auch regelmässig Vorträge bei Konferenzen im In- und Ausland.