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.

Jenkins X – Continuously Driving the Kloud

Registration

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

Termin

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

Abstract

Cloud schreibt man im Zeitalter von Kubernetes mit K! Alle Ressourcen werden dynamisch von Kubernetes verwaltet. Alle? Build und Deployment über verschiedene Stages liegt 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 ist ein entwicklerfreundliches 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.

Bio

Gerd Aschemann ist Automatisierungsfanatiker: was gescriptet werden kann, wird auch gescriptet. Er ist als freiberuflicher Software-Entwickler und -Architekt unterwegs, in den letzten Jahren bevorzugt mit Aufgaben im Bereich Continuous Integration und -Delivery. Mit Java beschäftigt er sich schon seit ca. 1996, seit er als wissenschaftlicher Mitarbeiter im Fachgebiet Verteilte Systeme der TU Darmstadt zum Management Verteilter Anwendungen geforscht hat.

Einführung in Gradle

Registration

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

Termin

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

Abstract

Gradle ist als Build Tool mittlerweile etabliert. Dennoch haben viele Java-EntwicklerInnen wenig Erfahrung damit. Außerdem ist der Build ja nicht so wichtig — oder vielleicht doch (und wenn ja, warum)? Daher fangen wir mit den Basics an und steigern uns dann kontinuierlich: Wie legt man mit Gradle ein neues Projekt an? Was ist ein Build Script? Wie definiert man einen eigenen Task? Wie kann man mehr darüber erfahren, wie lange ein Task gedauert hat? Was ist ein inkrementeller Build? Was ist der Build Cache? Wie kann ich den Build an meine Bedürfnisse anpassen? Außerdem möchte ich euch zeigen, wie man Build-Logik wiederverwendbar macht, etwa in dem man sie in separate Build Scripts und schließlich eigene Plugins auslagert. Insgesamt habe ich viel Zeit für eure Fragen eingeplant, die ich hoffentlich alle beantworten kann. Falls nicht, sage ich euch, wo ihr Hilfe bekommt.

Bio

Marc Philipp hat mehr als 10 Jahre Erfahrung in der Entwicklung von Software für Unternehmen und Endkunden sowie als Trainer und Coach für andere Entwickler. In seiner Arbeit bei Gradle widmet er sich der Verbesserung des Entwicklungsalltags von Millionen von Entwicklerinnen und Entwicklern und kann seiner Leidenschaft für Open-Source-Software nachgehen. Er ist seit langem aktiver Committer und Maintainer von JUnit. Außerdem war er Mitinitiator der Crowdfunding-Kampagne JUnit Lambda, die der Anfang von dem war, was nun JUnit 5 ist.

Java Next - New Releases, Amber, Valhalla, and More Goodies

Registration

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

Termin

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

Abstract

Java Next - New Releases, Amber, Valhalla, and More Goodies

With Java’s switch to a six-month release schedule, the community needs to step up its game to stay up to date. Instead of having a year or more to prepare for a new release, it’s a mere three months - we need to be better informed about what’s going on to see changes coming before they’re out.

This talk:

  • explains the details behind the new schedule and how to stay up to date
  • presents Java 9 to 13 language features like var and switch expressions
  • shows the future of Java, brought by projects like Valhalla, Amber, and others
  • looks at features of upcoming releases like pattern matching, value types, and fibers

Afterwards, you will not only know about the immediate future but also how to stay up to date without much effort.

Bio

Nicolai Parlog is a thirty-year-old boy, as the narrator would put it (if he’s generous), who has found his passion in software development (mostly Java) and who codes for a living as well as for fun. He also blogs, writes, newsletters, speaks, chats, records, streams, trains, and consults about it - not all at the same time, but in prolific fits and starts with high throughput and long latencies. If you want to take the wheel, hire him for in-house trainings on new Java features, migrations to Java 9+, and JUnit 5. His home is at codefx.org.

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. Veranstaltungsort ist bei BridgingIT N7, 5-6 in 68161 Mannheim (Anfahrtsbeschreibung).

Abstract

Kotlin 1.3 in Action

Kotlin hilft uns, mit unseren bekannten Tools Software besser zu entwickeln, die im Code prägnant ist und weniger Fehler enthält. 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 selbst auf älteren 1.6 JVMs zu laufen. Ob Delegations, Reified 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 Coroutinen und Inline Classes unter die Lupe. Der Vortrag richtet sich sowohl an Kotlin-Neueinsteiger, als auch an 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öglichkeiten für eine plattformübergreifende 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 nativen IOs Apps, schlanken Microservices ohne JVM, oder Backends die sich mit dem Frontend die Codebase teilen? Wie setze ich ein solches Multiplatform 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 sich 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. https://github.com/TobseF