Vorträge und Workshops

InfoDay Modernes API-Design, 26. September 2024, Köln

API-Design-Review – Tipps aus der Praxis

Vor der Implementierung einer (HTTP-) API sollte unbedingt ein API-Design angefertigt werden. Dies ist insbesondere dann wichtig, wenn die Schnittstelle zahlreiche Clients haben wird, etwa im Falle einer öffentlichen API. Und wie alle anderen Erzeugnisse der Softwareentwicklung sollte auch dieses API Design einem fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit HTTP-basierten APIs.

Java User Group Hamburg, 24. September 2024, Hamburg

API-Design-Review – Tipps aus der Praxis

Vor der Implementierung einer (HTTP-) API sollte unbedingt ein API-Design angefertigt werden. Dies ist insbesondere dann wichtig, wenn die Schnittstelle zahlreiche Clients haben wird, etwa im Falle einer öffentlichen API. Und wie alle anderen Erzeugnisse der Softwareentwicklung, sollte auch dieses API Design einem fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit HTTP-basierten APIs.

MAD Summit, 10.-12. Juni 2024, München

Plötzlich API-Anbieter: Herausforderungen und Lösungen

Nach einem (hoffentlich gewissenhaften) API Design ist die Implementierung der Schnittstelle in der Regel mit überschaubarem Zeitaufwand zu leisten. Durch deren Inbetriebnahme wird man dann plötzlich zum API-Anbieter, was eine ganze Reihe neuer Herausforderungen mit sich bringt. Über geeignete Lösungen und Strategien sollte man sich rechtzeitig Gedanken machen. So wird etwa eine Strategie für Lebenszyklus und Versionierung der API benötigt. Auch Datensicherheit stellt einen wichtigen Aspekt dar, also die Frage, ob nicht versehentlich Daten über die API zugänglich gemacht werden, die eigentlich zu schützen wären. APIs sollten zudem eine hinreichende Dokumentation mitbringen und in vielen Fällen ist es wichtig, für eine gute Developer Experience der hoffentlich zahlreichen API-Nutzer zu sorgen. Und nicht zuletzt wäre es sehr empfehlenswert, im eigenen Team oder Unternehmen einen Style Guide für API Design zu etablieren. Im Workshop werden diese und weitere Herausforderungen eines API-Anbieters eingehend diskutiert.

betterCode(API), 14./16. Mai 2024, online

API Versioning: Fallstricke und Lösungsansätze

Eine häufig gestellte Frage zu HTTP APIs lautet, wie man am besten mit unterschiedlichen Versionen umgeht. In aller Regel entwickeln sich Schnittstellen mit der Zeit weiter. Neue Anforderungen kommen hinzu (Daten, Funktionalität) oder frühere Designentscheidungen müssen korrigiert werden. Gleichzeitig nimmt die Anzahl der API-Clients meist zu. Änderungen an der API müssen daher mit Bedacht vorgenommen werden, um keine Inkompatibilitäten entstehen zu lassen.

  • Sollte man also mehrere Versionen gleichzeitig betreiben, und wenn ja, wie viele?
  • Wie werden Versionsnummern kenntlich gemacht?
  • Und wie kann eine Strategie zum Abschalten älterer Versionen aussehen?
  • Benötigt man Versionsnummern überhaupt?

JAX 2024, 22.-26. April 2024, Mainz

GPT, Dall-E und Whisper: das OpenAI API in Java-Anwendungen nutzen

Die API von OpenAI bietet Entwickler:innen Zugang zur faszinierenden Welt von GPT, Dall-E und Whisper. Mit diesen Modellen lassen sich etwa Texte und Bilder generieren oder zwischen Text und Sprache wechseln. Während sich die API-Dokumentation von OpenAI auf Beispiele für Python und Node.js beschränkt, ist die Nutzung natürlich auch von Java aus möglich. In diesen Vortrag beleuchten wir die Fähigkeiten der OpenAI API, wie sie von Java aus genutzt werden kann und einige beispielhafte Anwendungsfälle. Diese werden natürlich auch live demonstriert.

API Versioning: Fallstricke und Lösungsansätze

Eine der am häufigsten gestellten Fragen zu HTTP APIs lautet, wie man am besten mit unterschiedlichen Versionen umgeht. In aller Regel entwickelt sich eine Schnittstelle mit der Zeit weiter. Neue Anforderungen kommen hinzu – hinsichtlich der auszutauschenden Daten oder der Funktionalität –, oder es stellt sich heraus, dass eine frühere Designentscheidung korrigiert werden sollte. Gleichzeitig nimmt in der Regel die Anzahl der API-Clients zu. Änderungen an der Schnittstelle müssen daher mit Bedacht vorgenommen werden, um keine Inkompatibilitäten entstehen zu lassen. Sollte man also mehrere Versionen gleichzeitig betreiben und wenn ja, wie viele? Wie werden Versionsnummern kenntlich gemacht und wie kann eine Strategie zum Abschalten älterer Versionen aussehen? Oder gibt es möglicherweise auch einen Weg, ganz ohne Versionsnummern auszukommen?

MAD Summit, 04.-06. Dezember 2023, Berlin

Hands-On: Entwurf von HTTP-APIs

In diesem praxisnahen Workshop entwerfen wir gemeinsam eine typische HTTP API. Dabei werden die wichtigsten Design-Entscheidungen diskutiert, die beim Entwurf in aller Regel auftreten. Die schrittweise entstehende Schnittstelle wird mithilfe von OpenAPI in eine formale Spezifikation überführt. Zum Abschluss werfen wir einen Blick auf existierende Vorschläge für API Designs, die als Vorlagen für eigene Schnittstellen dienen können.

Software Architecture Gathering, 27.-30. November 2023, online

Workshop: Hands-on: Designing HTTP APIs

HTTP APIs can now be found almost everywhere. Unfortunately, the design of many APIs is not optimal, which will sooner or later result in unpleasant consequences for their providers. In this hands-on workshop, we will practice designing a typical HTTP API together. We will discuss the most important decisions that usually occur during the design process. These include URL paths, the use of HTTP request types and status codes, error handling, versioning and much more. The implementation of frequently needed API features, such as searching, filtering or limiting the detail in API responses, is also addressed. The gradually emerging interface is transformed into a formal specification with the help of OpenAPI. Finally, we'll take a look at existing proposals for API designs that can serve as templates for our own interfaces.

WJAX 2023, 06.-10. November 2023, München

API Versioning: Fallstricke und Lösungsansätze

Eine der am häufigsten gestellten Fragen zu HTTP APIs lautet, wie man am besten mit unterschiedlichen Versionen umgeht. In aller Regel entwickelt sich eine Schnittstelle mit der Zeit weiter. Neue Anforderungen kommen hinzu – hinsichtlich der auszutauschenden Daten oder der Funktionalität – oder es stellt sich heraus, dass eine frühere Designentscheidung korrigiert werden sollte. Gleichzeitig nimmt in der Regel die Anzahl der API-Clients zu. Änderungen an der Schnittstelle müssen daher mit Bedacht vorgenommen werden, um keine Inkompatibilitäten entstehen zu lassen. Sollte man also mehrere Versionen gleichzeitig betreiben, und wenn ja, wie viele? Wie werden Versionsnummern kenntlich gemacht und wie kann eine Strategie zum Abschalten älterer Versionen aussehen? Oder gibt es möglicherweise auch einen Weg, ganz ohne Versionsnummern auszukommen?

Live Coding mit Quarkus, Kafka und OpenTelemetry

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiterzunutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes oder die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei insbesondere demonstriert, wie die Integration mit Kafka gelingt und Tracing auf Basis von OpenTelemetry implementiert werden kann.

API Conference, 16.-18. Oktober 2023, Berlin

API Versioning - Strategies & Pitfalls

One of the most frequently asked questions about APIs is how to best deal with different versions. Interfaces evolve over time. New requirements are added, either in terms of functionality of the data that will be exchanged. Or, it turns out that an earlier design decision needs to be corrected. But at the same time, the number of API clients also typically increases. Therefore, interface changes must be made with caution, so as to not create incompatibilities. Should you run multiple versions at the same time, and if so, how many? How are version numbers identified and what strategies are there for disabling older versions? Is there even a way to possibly get along without version numbers at all?

Java Forum Nord, 12. September 2023, Hannover

API Design Review - Tipps aus der Praxis

Vor der Implementierung einer (HTTP-) API sollte unbedingt ein API-Design angefertigt werden. Dies ist insbesondere dann wichtig, wenn die Schnittstelle zahlreiche Clients haben wird, etwa im Falle einer öffentlichen API. Und wie alle anderen Erzeugnisse der Softwareentwicklung, sollte auch dieses API Design einem fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit HTTP-basierten APIs.

MAD Summit, 19.-21. Juni 2023, München

Hands-on: Entwurf von HTTP APIs

In diesem praxisnahen Workshop entwerfen wir gemeinsam eine typische HTTP API. Dabei werden die wichtigsten Design-Entscheidungen disktutiert, die beim Entwurf in aller Regel auftreten. Die schrittweise entstehende Schnittstelle wird mit Hilfe von OpenAPI in eine formale Spezifikation überführt. Zum Abschluss werfen wir einen Blick auf existierende Vorschläge für API Designs, die als Vorlagen für eigene Schnittstellen dienen können.

JAX 2023, 08.-12. Mai 2023, Mainz

Live-Coding mit Quarkus, Kafka und OpenTelemetry

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiter zu nutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes und die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei insbesondere demonstriert, wie die Integration mit Kafka gelingt und Tracing auf Basis von OpenTelemetry implementiert werden kann.

API Design Review – Tipps aus der Praxis

Vor der Implementierung einer (HTTP-) API sollte unbedingt ein API-Design angefertigt werden. Dies ist insbesondere dann wichtig, wenn die Schnittstelle zahlreiche Clients haben wird, etwa im Falle einer öffentlichen API. Und wie alle anderen Erzeugnisse der Softwareentwicklung, sollte auch dieses API Design einem fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit HTTP-basierten APIs.

API Conference, 24.-27. April 2023, London

API Design Review - Do I Really need that?

Prior to implementing an API, it is essential to think about the API's design. And like all other artifacts of software development, this design should also be subjected to an expert's review. What should be paid attention to? Which quality features can be ensured even in this early phase, and which pitfalls can be avoided? This talk provides valuable advice from many years of practical work on HTTP-based APIs.

betterCode(API), 16./30. März 2023, online

Workshop: API Design in der Praxis

Dieser Workshop thematisiert die wichtigsten Fragestellungen beim Entwurf klassischer HTTP-APIs. Im ersten Teil des Workshops wird die Entwicklung einer typischen Schnittstelle Schritt für Schritt praktisch demonstriert. Dabei kommt OpenAPI zum Einsatz. Im zweiten Teil werfen wir einen ausführlichen Blick auf unterschiedliche Vorschläge für das Design von HTTP-APIs, wie JSON:API, HAL oder OData. Sie bieten einheitliche und bewährte Lösungsansätze für wiederkehrende Herausforderungen beim API-Entwurf und können teilweise oder vollständig für eigene APIs übernommen werden.

API Design Review

Vor der Implementierung eines API sollte unbedingt ein API-Design angefertigt werden. Und wie alle anderen Erzeugnisse der Softwareentwicklung, so sollte auch dieses Design einer fachkundigen Review unterzogen werden.

  • Worauf ist dabei zu achten?
  • Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen?
  • Welche Stolperfallen lassen sich aus dem Weg räumen?
Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit APIs.

JavaLand 2023, 21.-22. März 2023, Brühl

API Design Review – Tipps aus der Praxis

Vor der Implementierung einer (HTTP-) API sollte unbedingt ein API-Design angefertigt werden. Dies ist insbesondere dann wichtig, wenn die Schnittstelle zahlreiche Clients haben wird, etwa im Falle einer öffentlichen API. Und wie alle anderen Erzeugnisse der Softwareentwicklung, sollte auch dieses API Design einem fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit HTTP-basierten APIs.

OOP 2023, 06.-10. Februar 2023 (online)

Der Technical Software Architect – Was macht der eigentlich?

Mal angenommen, es gäbe ein (natürlich fiktives) Großprojekt zur Implementierung einer Microservices-Architektur. Die Entwickler:innen sind in zahlreichen Teams organisiert. Zudem gibt es ein übergreifendes Architekturgremium. Selbstverständlich wird auch ein proprietäres Framework programmiert. In jedem Team existiert die Rolle des "Technischen Architekten". Kommt Ihnen das bekannt vor? Und haben Sie sich auch schon öfters gefragt, was er/sie eigentlich die ganze Zeit macht? In diesem unterhaltsamen Praxisbericht können Sie es herausfinden.
Tatsächlich erscheint es für viele Projektmitarbeitende immer wieder fraglich, was der/die Technical Software Architect eigentlich den ganzen Tag so macht. Scheinbar werden doch die Architekturvorgaben vom dafür verantwortlichen Gremium erarbeitet. In der Praxis ist es jedoch oft so, dass tatsächlich zahlreiche Themen anstehen. Dazu zählt die Bewertung der Folgen solcher Technologievorhaben für das eigene Team, genauso wie der Versuch der Beeinflussung des Gremiums bei der Entscheidungsfindung. Hinzu kommen diverse "politische" Themen oder die Sicherstellung der Einhaltung von Architekturvorgaben und der Softwarequalität. Über die Jahre habe ich hier eine Reihe sehr interessanter und oftmals auch (rückblickend) amüsanter Erfahrungen gemacht, die ich gerne weitergeben möchte.

MAD Summit, 28.-30. November 2022, Berlin

Hands-On: Entwurf von HTTP-APIs

In diesem praxisnahen Workshop entwerfen wir gemeinsam eine typische HTTP API. Dabei werden die wichtigsten Design-Entscheidungen diskutiert, die beim Entwurf in aller Regel auftreten. Die schrittweise entstehende Schnittstelle wird mithilfe von OpenAPI in eine formale Spezifikation überführt. Zum Abschluss werfen wir einen Blick auf existierende Vorschläge für API Designs, die als Vorlagen für eigene Schnittstellen dienen können.

Software Architecture Gathering, 14.-17.November 2022, online

Workshop: API Specification With OpenAPI & AsyncAPI

System integration via APIs is an important part of modern software architectures. An elementary task in the development of such APIs is the creation of an API specification. If the 'API First' approach is followed, the specification serves as a starting point for iterative API design. If necessary, it can also be used to coordinate the interface between the provider and future consumers. Various tools are available that generate visually appealing API documentation from the specification. In addition, the specification serves as a first point of contact for client developers to clarify technical or functional questions.
When talking about APIs, most people first think of HTTP APIs that implement a synchronous communication pattern. For these APIs, OpenAPI has become the mainstream specification language. However, event-driven architectures and asynchronous APIs are now also becoming very common. In order to be able to create API specifications for asynchronous interfaces, a new specification language called AsyncAPI has been developed. It supports concepts such as channels, messages and different communication protocols.
In this workshop, participants will learn how to create API specifications with OpenAPI and AsyncAPI and which tools are available to support developers in this space.

WJAX 2022, 07.-11.11.2022, München

Workshop: Design von HTTP-APIs

Die Integration unterschiedlicher Softwaresysteme und die interne Kommunikation einzelner Anwendungskomponenten stellen wiederkehrende Herausforderungen dar. Seit einiger Zeit hat sich hierzu der Einsatz HTTP-basierter APIs in der Breite durchgesetzt. Vor der Entwicklung solcher Schnittstellen ist es jedoch wichtig, sich zunächst eingehende Gedanken über das API-Design zu machen. Nur so kann sichergestellt werden, dass die neue Schnittstelle konsistent und leicht verständlich, aber auch gut wartbar und erweiterbar ist. Zudem sollten gewisse De-facto-Standards und Best Practices befolgt werden.
In diesem Workshop erlernen die Teilnehmer:innen die zentralen Grundlagen des API-Designs und erhalten wichtige Tipps und Tricks aus der Praxis. Nach einem kurzen Überblick über unterschiedliche Einsatzgebiete für HTTP APIs und ihre unterschiedlichen Charakteristiken wird zunächst der “API First“-Ansatz vorgestellt. Im Anschluss werfen wir einen Blick auf die Spezifikationssprache Open API, mit deren Hilfe HTTP APIs auf standardisierte Weise beschrieben werden können. Ein weiterer wichtiger Bestandteil des Workshops ist eine Betrachtung der unterschiedlichen Fragestellungen und Herausforderungen, die sich beim API-Design immer wieder stellen, und die Suche nach sinnvollen Lösungen. Abschließend werden unterschiedliche Vorschläge für „fertige“ API-Designs vorgestellt und besprochen.

API Design Review - Tipps aus der Praxis

Vor der Implementierung eines API sollte unbedingt ein API-Design angefertigt werden. Und wie alle anderen Erzeugnisse der Softwareentwicklung, so sollte auch dieses Design einer fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit APIs.

Live Coding mit Quarkus, Kafka und OpenTelemetry

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiterzunutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes oder die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei insbesondere demonstriert, wie die Integration mit Kafka gelingt und Tracing auf Basis von OpenTelemetry implementiert werden kann.

API Conference, 17.-19.10.2022, Berlin

Workshop: Design von HTTP-APIs

Die Integration unterschiedlicher Softwaresysteme und die interne Kommunikation einzelner Anwendungskomponenten stellen wiederkehrende Herausforderungen dar. Seit einiger Zeit hat sich hierzu der Einsatz HTTP-basierter APIs in der Breite durchgesetzt. Vor der Entwicklung solcher Schnittstellen ist es jedoch wichtig, sich zunächst eingehende Gedanken über das API-Design zu machen. Nur so kann sichergestellt werden, dass die neue Schnittstelle konsistent und leicht verständlich, aber auch gut wartbar und erweiterbar ist. Zudem sollten gewisse De-facto-Standards und Best Practices befolgt werden.
In diesem Workshop erlernen die Teilnehmer:innen die zentralen Grundlagen des API-Designs und erhalten wichtige Tipps und Tricks aus der Praxis. Nach einem kurzen Überblick über unterschiedliche Einsatzgebiete für HTTP APIs und ihre unterschiedlichen Charakteristiken wird zunächst der “API First“-Ansatz vorgestellt. Im Anschluss werfen wir einen Blick auf die Spezifikationssprache Open API, mit deren Hilfe HTTP APIs auf standardisierte Weise beschrieben werden können. Ein weiterer wichtiger Bestandteil des Workshops ist eine Betrachtung der unterschiedlichen Fragestellungen und Herausforderungen, die sich beim API-Design immer wieder stellen, und die Suche nach sinnvollen Lösungen. Abschließend werden unterschiedliche Vorschläge für „fertige“ API-Designs vorgestellt und besprochen.

API Design Review - Tipps aus der Praxis

Vor der Implementierung eines API sollte unbedingt ein API-Design angefertigt werden. Und wie alle anderen Erzeugnisse der Softwareentwicklung, so sollte auch dieses Design einer fachkundigen Review unterzogen werden. Worauf ist dabei zu achten? Welche Qualitätsmerkmale lassen sich bereits in dieser frühen Phase sicherstellen und welche Stolperfallen aus dem Weg räumen? Dieser Vortrag liefert wertvolle Tipps aus zahlreichen Jahren praktischer Arbeit mit APIs.

AsyncAPI: Spezifikation asynchroner Schnittstellen

Für die Spezifikation von APIs hat sich OpenAPI in der Breite durchgesetzt. Die Beschreibungssprache unterstützt jedoch nur synchrone HTTP-basierte APIs. Gleichzeitig existieren zahlreiche asynchrone APIs, beispielsweise in ereignisgesteuerten Architekturen, die mit OpenAPI nicht beschrieben werden können. Diese Lücke füllt AsyncAPI, das in diesem Vortrag vorgestellt wird.

API Summit, 20.-22.Juni 2022, München

API-Spezifikation mit OpenAPI und AsyncAPI

Eine elementare Aufgabe bei der Entwicklung von APIs ist die Anfertigung einer API-Spezifikation. Wird der API First-Ansatz verfolgt, dient sie als Diskussionsgrundlage beim iterativen API-Design und ggf. auch zur Abstimmung der Schnittstelle zwischen Betreiber und künftigen Konsumenten. Diverse Tools erzeugen optisch ansprechende API-Dokumentationen aus der Spezifikation. Zudem dient sie Client-Entwicklern als erste Anlaufstelle für technische Fragen zur Funktionsweise. Die meisten Entwickler denken beim Thema APIs zuerst an REST- oder HTTP-APIs, die ein synchrones Kommunikationsmuster implementieren. Für diese APIs hat sich OpenAPI als Spezifikationssprache durchgesetzt. Jedoch sind inzwischen auch Event-getriebene Architekturen und asynchrone APIs sehr verbreitet. Um auch solche Schnitttellen eine API-Spezifikation anfertigen zu können, wurde mit AsyncAPI eine neue Spezifikationssprache entwickelt, die Konzepte wie Channels, Messages und unterschiedliche Protokolle unterstützt. In diesem Workshop erlernen Teilnehmer, wie API-Spezifikationen mit OpenAPI und AsyncAPI erstellt werden und welche Tools jeweils im Umfeld dieser Spezifikationssprachen zur Verfügung stehen.

JAX 2022, 02.-05.Mai 2022, Mainz

Hands-on mit Quarkus #Live-Coding

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiter zu nutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes oder die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei werden unterschiedliche Features vorgestellt.

Java Annotations in Action

Annotationen sind aus heutigem Java-Code nicht mehr wegzudenken. Ihre Einführung hat die Entwicklung mit Java grundlegend verändert, und die allermeisten aktuellen Frameworks machen umfangreich Gebrauch davon. Während wir Annotationen also inzwischen ganz selbstverständlich einsetzen, sind vielen Entwicklern die technischen Grundlagen dieses Sprachfeatures nur oberflächlich bekannt. In diesem Talk werfen wir zunächst einen kurzen Blick darauf, wie oder wozu Annotationen in allseits beliebten Frameworks verwendet werden. Zudem frischen wir unser Wissen darüber auf, wie eigene Annotationen erstellt werden und wozu das beispielsweise sinnvoll sein könnte. Im Anschluss lernen Teilnehmer dann, wie Annotationen verarbeitet werden können, sowohl zur Laufzeit als auch zur Compile-Zeit mit Hilfe von Annotation Processors.

JavaLand, 15.-17.03.2022, Brühl

Live Coding mit Quarkus 2.x

Quarkus erfreut sich stetig wachsender Popularität und hat sich zu einer ernstzunehmenden Konkurrenz zu Spring Boot entwickelt. Das Framework ermöglicht die rasche Entwicklung von Anwendungen und Services, die auf einfache Weise in ein natives Image verwandelt und in einen Docker-Container verpackt werden können. Dies garantiert extrem schnelle Startzeiten und einen vergleichsweise geringen Ressourcen-Verbrauch. Somit eignet sich Quarkus ideal für die Entwicklung von Cloud-Native-Anwendungen. Gleichzeitig müssen Entwickler:innen keine neuen oder proprietären APIs erlernen, da Quarkus sowohl populäre Java-Enterprise-APIs (wie JAX-RS, CDI oder JPA) als auch zahlreiche beliebte Frameworks und Tools (Kafka, Redis, Neo4J) unterstützt. Im Zusammenspiel mit dem ebenfalls unterstützten MicroProfile bietet Quarkus somit einen attraktiven Zukunftspfad für Unternehmen, die in der Vergangenheit große Investitionen in Java-EE-Know-how getätigt haben und nun technologisch auf dem neuesten Stand bleiben möchten, ohne gleichzeitig auf gänzlich andere Stacks zu migrieren. In dieser Live-Demo wird die Entwicklung von Services mit Quarkus lebendig demonstriert.

Code Days 2022, 01.-03.02.2022 (online)

Cloud-native Java mit Quarkus 2.x

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiter zu nutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes oder die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei unterschiedliche Features vorgestellt.

Java User Group Frankfurt, 26.01.2022 in Frankfurt

Hands-on mit Quarkus

Quarkus erfreut sich wachsender Popularität und ist auf dem besten Weg, eine ernstzunehmende Alternative zu Spring Boot zu werden. Insbesondere Teams, die bislang auf Basis von Java EE bzw. Jakarta EE entwickelt haben, werden von Quarkus abgeholt. Das Framework ermöglicht diesen Teams, ihr vorhandenes Know-how zu großen Teilen weiter zu nutzen, aber gleichzeitig Anwendungen auf modernstem technischen Fundament zu entwickeln. JAX-RS, CDI und JPA werden ebenso unterstützt wie MicroProfile, Kafka, Docker, Kubernetes oder die Erstellung nativer Images mit der GraalVM. Während dieses Vortrags wird eine beispielhafte Quarkus-Anwendung live erstellt und dabei unterschiedliche Features vorgestellt.

IT-Tage 2021, 06.-09.Dezember 2021 (online)

API-Design für HTTP-Schnittstellen

Eine Schnittstelle zum Datenaustausch über HTTP ist für erfahrene Entwickler scheinbar im Handumdrehen erstellt. Jedoch sollte zuvor ein gewisses Maß an Planung und API-Design erfolgen. Wie bei allen Schnittstellen ist auch hier zu überlegen, wie die API gestaltet sein sollte, damit sie leicht benutzbar, verständlich, erweiterbar und konsistent ist. Zudem haben sich einige Best Practices für die Umsetzung immer wiederkehrender Funktionalitäten von HTTP-APIs etabliert, und es ist meist sinnvoll sie zu befolgen. In diesem Vortrag werden typische Fragestellungen vorgestellt, die beim Design von HTTP-APIs auftreten. Zudem gehen wir der Frage nach, ob es empfehlenswerte Standards für API-Design gibt.

betterCode() API 2021, 01.-02.Dezember 2021 (online)

AsyncAPI: Spezifikation asynchroner Schnittstellen

Für die Spezifikation von APIs hat sich OpenAPI in der Breite durchgesetzt. Die Beschreibungssprache unterstützt jedoch nur synchrone HTTP-basierte APIs. Gleichzeitig existieren zahlreiche asynchrone APIs, beispielsweise in ereignisgesteuerten Architekturen, die mit OpenAPI nicht beschrieben werden können. Diese Lücke füllt AsyncAPI, das in diesem Vortrag vorgestellt wird.

Workshop: API-Design in der Praxis

Dieser Workshop vertieft den Vortrag des ersten Konferenztages der betterCode API und thematisiert die wichtigsten Fragestellungen beim Entwurf klassischer HTTP-APIs. Im ersten Teil des Workshops klären wir zunächst, was sich hinter dem Schlagwort "API First" verbirgt. Anschließend wird OpenAPI vorgestellt und mit dessen Hilfe der Entwurf einer typischen Schnittstelle Schritt für Schritt praktisch demonstriert. Im zweiten Teil werfen wir einen ausführlichen Blick auf unterschiedliche Vorschläge für das Design von HTTP-APIs, wie JSON:API, HAL oder OData. Sie bieten einheitliche und bewährte Lösungsansätze für wiederkehrende Herausforderungen beim API-Entwurf und können teilweise oder vollständig für eigene APIs übernommen werden.

API Summit, 22.-24.November 2021, Berlin

API-Spezifikation mit OpenAPI und AsyncAPI

Eine elementare Aufgabe bei der Entwicklung von APIs ist die Anfertigung einer API-Spezifikation. Wird der API First-Ansatz verfolgt, dient sie als Diskussionsgrundlage beim iterativen API-Design und ggf. auch zur Abstimmung der Schnittstelle zwischen Betreiber und künftigen Konsumenten. Diverse Tools erzeugen optisch ansprechende API-Dokumentationen aus der Spezifikation. Zudem dient sie Client-Entwicklern als erste Anlaufstelle für technische Fragen zur Funktionsweise. Die meisten Entwickler denken beim Thema APIs zuerst an REST- oder HTTP-APIs, die ein synchrones Kommunikationsmuster implementieren. Für diese APIs hat sich OpenAPI als Spezifikationssprache durchgesetzt. Jedoch sind inzwischen auch Event-getriebene Architekturen und asynchrone APIs sehr verbreitet. Um auch solche Schnitttellen eine API-Spezifikation anfertigen zu können, wurde mit AsyncAPI eine neue Spezifikationssprache entwickelt, die Konzepte wie Channels, Messages und unterschiedliche Protokolle unterstützt. In diesem Workshop erlernen Teilnehmer, wie API-Spezifikationen mit OpenAPI und AsyncAPI erstellt werden und welche Tools jeweils im Umfeld dieser Spezifikationssprachen zur Verfügung stehen.

WJAX 2021, 08.-12.November 2021, München

Annotations in Action

Annotationen sind aus heutigem Java-Code nicht mehr wegzudenken. Ihre Einführung hat die Entwicklung mit Java grundlegend verändert, und die allermeisten aktuellen Frameworks machen umfangreich Gebrauch davon. Während wir Annotationen also inzwischen ganz selbstverständlich einsetzen, sind vielen Entwicklern die technischen Grundlagen dieses Sprachfeatures nur oberflächlich bekannt. In diesem Talk werfen wir zunächst einen kurzen Blick darauf, wie oder wozu Annotationen in allseits beliebten Frameworks verwendet werden. Zudem frischen wir unser Wissen darüber auf, wie eigene Annotationen erstellt werden und wozu das beispielsweise sinnvoll sein könnte. Im Anschluss lernen Teilnehmer dann, wie Annotationen verarbeitet werden können, sowohl zur Laufzeit als auch zur Compile-Zeit mit Hilfe von Annotation Processors.

API Summit, 07.-09.Juni 2021 (online)

API-Spezifikation mit OpenAPI und AsyncAPI

Eine elementare Aufgabe bei der Entwicklung von APIs ist die Anfertigung einer API-Spezifikation. Wird der API First-Ansatz verfolgt, dient sie als Diskussionsgrundlage beim iterativen API-Design und ggf. auch zur Abstimmung der Schnittstelle zwischen Betreiber und künftigen Konsumenten. Diverse Tools erzeugen optisch ansprechende API-Dokumentationen aus der Spezifikation. Zudem dient sie Client-Entwicklern als erste Anlaufstelle für technische Fragen zur Funktionsweise. Die meisten Entwickler denken beim Thema APIs zuerst an REST- oder HTTP-APIs, die ein synchrones Kommunikationsmuster implementieren. Für diese APIs hat sich OpenAPI als Spezifikationssprache durchgesetzt. Jedoch sind inzwischen auch Event-getriebene Architekturen und asynchrone APIs sehr verbreitet. Um auch solche Schnitttellen eine API-Spezifikation anfertigen zu können, wurde mit AsyncAPI eine neue Spezifikationssprache entwickelt, die Konzepte wie Channels, Messages und unterschiedliche Protokolle unterstützt. In diesem Workshop erlernen Teilnehmer, wie API-Spezifikationen mit OpenAPI und AsyncAPI erstellt werden und welche Tools jeweils im Umfeld dieser Spezifikationssprachen zur Verfügung stehen.

Java User Group Darmstadt, 20.Mai 2021 (online)

Live Coding mit dem MicroProfile

Wer cloud-basierte Anwendungen in Java entwickeln möchte, muss nicht zwangsläufig zu Spring Boot greifen. Es lohnt ein Blick auf alternative Frameworks, die in zunehmender Anzahl verfügbar sind und bezüglich ihrer Features stark aufholen. So schreitet auch die Entwicklung des MicroProfile weiter voran. In beeindruckender Geschwindigkeit wurden zahlreiche APIs entwickelt, die (nicht nur) für die Entwicklung von Microservices sehr hilfreich sind. Hierzu zählen die Unterstützung von Metriken, Health Checks, Fault Tolerance oder JSON Web Tokens. Für den Einsatz im Projekt kann aus unterschiedlichen Implementierungen wie Quarkus, WildFly, Open Liberty oder Payara Micro gewählt werden. In dieser Live-Coding-Session wird der praktische Einsatz von MicroProfile anhand eines Praxisbeispiels demonstriert.

JAX 2021, 03.-07.Mai 2021 (online)

Live Coding mit Quarkus

Quarkus erfreut sich wachsender Beliebheit bei Entwicklerteams. Das Framework überzeugt durch hohe Produktivität, gute Unterstützung für Container, Kubernetes und Cloud sowie durch die einfache Kompilierung eigener Anwendungen als natives Binary. Gleichzeitig werden die wichtigsten Java APIs und Standards wie JAX-RS, CDI, JPA oder MicroProfile unterstützt. Somit eignet sich Quarkus hervorragend für Neuentwicklungen auf modernstem technologischen Fundament und könnte zu einem ernsthaften Konkurrenten für Spring Boot werden. Aber auch für die Modernisierung und Pflege existierender Java-EE-Anwendungen kann Quarkus ein geeigneter Pfad in die Zukunft sein. Denn Entwickler mit Java-EE-Kenntnissen können praktisch sofort starten, ohne zunächst neue Frameworks oder APIs erlernen zu müssen. In dieser Live-Coding-Session wird die Implementierung mit Quarkus praxisnah demonstriert.

APIs sind nur der Anfang: Wie erschaffe ich eine großartige Developer Experience?

Das API-Design ist finalisiert, die Implementierung nahezu abgeschlossen. Dann kann es also bald losgehen. Doch wie kann erreicht werden, dass das neue API auch zum Erfolg wird? Wie können Entwickler dafür begeistert werden, das API auch tatsächlich einzusetzen? Neben geschicktem Marketing ist hier vor allem eine gute Developer Experience (DX) von zentraler Bedeutung: API Reference, Dokumentation, Beispiele, Blogs, der Aufbau einer Community. In diesem Talk erhalten angehende API-Anbieter wertvolle Tipps aus der Praxis.

Java User Group Frankfurt, 29.April 2021 (online)

Wie gut kennst Du das Collections Framework?

HashMap und ArrayList kennt jeder, na klar. Aber wann stellen sie eigentlich die richtige Wahl dar? Und vor allem: Wann nicht? Das Collections Framework enthält zahlreiche, zum Teil recht spezialisierte Implementierungen, doch viele Entwickler kennen nur einen kleinen Teil davon. Schon mal was von EnumSet oder WeakHashMap gehört? Und was ist eigentlich der Unterschied zwischen ConcurrentSkipListMap und ConcurrentHashMap? Je nachdem, welche konkreten Anforderungen jeweils umzusetzen sind, ist es wichtig, die Stärken und Schwächen der einzelnen Implementierungen zu kennen.

betterCode() API 2021, 23.März und 22.April 2021 (online)

API-Design für HTTP-Schnittstellen

Eine Schnittstelle zum Datenaustausch über HTTP ist für erfahrene Entwickler scheinbar im Handumdrehen erstellt. Jedoch sollte zuvor ein gewisses Maß an Planung und API-Design erfolgen. Wie bei allen Schnittstellen ist auch hier zu überlegen, wie die API gestaltet sein sollte, damit sie leicht benutzbar, verständlich, erweiterbar und konsistent ist. Zudem haben sich einige Best Practices für die Umsetzung immer wiederkehrender Funktionalitäten von HTTP-APIs etabliert, und es ist meist sinnvoll sie zu befolgen.
In diesem Vortrag werden typische Fragestellungen vorgestellt, die beim Design von HTTP-APIs auftreten. Zudem gehen wir der Frage nach, ob es empfehlenswerte Standards für API-Design gibt.

Workshop: API-Design in der Praxis

Dieser Workshop vertieft den Vortrag des ersten Konferenztages der betterCode API und thematisiert die wichtigsten Fragestellungen beim Entwurf klassischer HTTP-APIs. Im ersten Teil des Workshops klären wir zunächst, was sich hinter dem Schlagwort "API First" verbirgt. Anschließend wird OpenAPI vorgestellt und mit dessen Hilfe der Entwurf einer typischen Schnittstelle Schritt für Schritt praktisch demonstriert. Im zweiten Teil werfen wir einen ausführlichen Blick auf unterschiedliche Vorschläge für das Design von HTTP-APIs, wie JSON:API, HAL oder OData. Sie bieten einheitliche und bewährte Lösungsansätze für wiederkehrende Herausforderungen beim API-Entwurf und können teilweise oder vollständig für eigene APIs übernommen werden.

Spezifikation asynchroner APIs mit AsyncAPI

Für die Spezifikation von APIs hat sich OpenAPI in der Breite durchgesetzt. Die Beschreibungssprache unterstützt jedoch nur synchrone HTTP-basierte APIs. Gleichzeitig existieren zahlreiche asynchrone APIs, beispielsweise in ereignisgesteuerten Architekturen, die mit OpenAPI nicht beschrieben werden können. Diese Lücke füllt AsynchAPI, das in diesem Kurzvortrag vorgestellt wird.

JavaLand 2021, 16.-17.März 2021 (online)

Live Coding mit Quarkus und MicroProfile

Mit Quarkus buhlt ein ungeheuer spannendes Framework um die Gunst der Entwickler. Es glänzt mit guter Unterstützung von Containern und Kubernetes, sowie einer hohen Produktivität bei der Implementierung neuer Anwendungen. Inbesondere aber unterstützt Quarkus weit verbreitete APIs und Frameworks, wie etwa JAX-RS, CDI oder JPA / Hibernate, so dass Entwickler direkt einsteigen können, ohne sich zunächst neue (proprietäre) APIs aneignen zu müssen. Gleichzeitig wird auch das MicroProfile von Quarkus unterstützt. Es bietet eine ganze Reihe nützlicher APIs für cloudbasierte Anwendungen. Hierzu zählen die Unterstützung von Fault Tolerance, Open API, Health Checks, Metrics oder OpenTracing. Auf Basis von Quarkus implementierte Anwendungen können schließlich mit Hilfe der GraalVM in native Anwendungen übersetzt werden, die innerhalb weniger Millisekunden starten und einen extrem kleinen Speicherverbrauch haben. Die Kombination von wohl bekannten APIs aus Java/Jakarta EE mit den neuen Möglichkeiten des MicroProfile auf einem modernen technischen Fundament macht Quarkus zu einem potentiellen Kandidaten für künftige Projekte. Dies gilt insbesondere auch für solche Teams, die in der Vergangenheit große Investitionen in die Java EE-Plattform getätigt haben und dieses Know-How nun weiterhin nutzen können, um sowohl Bestandsanwendungen zu modernisieren, als auch neue Anwendungen auf Basis zeitgemäßer Technologie zu erstellen. Dieser praxisnahe Talk beleuchtet, wie Quarkus und MicroProfile miteinander kombiniert werden können. Eine Beispielanwendung wird während des Talks live erstellt.

WJAX 2020, 02.-06.November 2020 (online)

Live-Coding mit MicroProfile und Quarkus: auf der Überholspur #slideless

Die Innovationskraft der Java-Welt ist ungebrochen: Noch immer werden regelmäßig höchst interessante neue Projekte vorgestellt. Dieser praxisnahe Talk beleuchtet, wie zwei solche Projekte miteinander kombiniert werden können, um zeitgemäße Anwendungen für die Cloud zu entwickeln. MicroProfile bietet eine ganze Reihe nützlicher APIs für cloudbasierte Anwendungen. Hierzu zählen die Unterstützung von Fault Tolerance, Open API, Health Checks, Metrics und Open Tracing. Mit Hilfe von Quarkus (und der GraalVM) werden daraus native Anwendungen, die innerhalb von Millisekunden starten und einen extrem kleinen Speicherverbrauch haben. Eine Beispielanwendung wird während des Talks live erstellt.

Great APIs - Eine Rundreise

Die API Economy ist in aller Munde, fast täglich werden neue APIs von Unternehmen oder Behörden veröffentlicht. Es ist praktisch unmöglich, sich einen umfassenden Überblick auch nur über die interessantesten öffentlich zugänglichen APIs zu verschaffen. In diesem Talk begeben wir uns auf eine kleine Rundreise durch die API-Landschaft. Es sollen einige sehr nützliche API-Angebote vorgestellt werden, die sich in zahlreichen Projekten sinnvoll einsetzen lassen. Manche dieser APIs sind recht bekannt, bieten jedoch teils ungeahnte Einsatzmöglichkeiten. Andere APIs sind (noch) relativ unbekannt, können aber dennoch eine große Hilfe darstellen. Reiseteilnehmer sind eingeladen, auch eigene API-Fundstücke kurz vorzustellen.

JAX 2020, 07.-11.September 2020, Mainz

Keynote: Power & Responsibility

Software ist in fast sämtliche Lebensbereiche vorgedrungen – ohne Software geht beinahe gar nichts mehr. Dies führt zu massiven Veränderungen in der Wirtschaft, in der Gesellschaft und auch im Privatleben. Als Softwareentwickler haben wir das große Glück, diesen Wandel aktiv mitzuerleben und mitzugestalten. Doch nicht alle dieser Veränderungen sind positiv. Manche Einsatzgebiete von Software dienen unlauteren oder beunruhigenden Zwecken. Immer mehr Daten werden über jeden Einzelnen gesammelt, die Überwachung nimmt stetig zu, über soziale Medien werden Menschen unter Druck gesetzt, bloßgestellt oder in ihrer politischen Meinung beeinflusst. In vielen Fällen können nur IT-Experten noch verstehen oder zumindest erahnen, was in den vielen uns umgebenden Softwaresystemen geschieht, welche Daten gesammelt werden und wo mögliche Risiken liegen. Somit kommt dem Softwareentwickler neben aller Begeisterung für die Technologie auch eine immer größere gesellschaftliche Verantwortung zu – auch im Privatleben.

Live-Coding mit MicroProfile und Quarkus: auf der Überholspur #slideless

Die Innovationskraft der Java-Welt ist ungebrochen: Noch immer werden regelmäßig höchst interessante neue Projekte vorgestellt. Dieser praxisnahe Talk beleuchtet, wie zwei solche Projekte miteinander kombiniert werden können, um zeitgemäße Anwendungen für die Cloud zu entwickeln. MicroProfile bietet eine ganze Reihe nützlicher APIs für cloudbasierte Anwendungen. Hierzu zählen die Unterstützung von Fault Tolerance, Open API, Health Checks, Metrics und Open Tracing. Mit Hilfe von Quarkus (und der GraalVM) werden daraus native Anwendungen, die innerhalb von Millisekunden starten und einen extrem kleinen Speicherverbrauch haben. Eine Beispielanwendung wird während des Talks live erstellt.

Great APIs - Eine Rundreise

Die API Economy ist in aller Munde, fast täglich werden neue APIs von Unternehmen oder Behörden veröffentlicht. Es ist praktisch unmöglich, sich einen umfassenden Überblick auch nur über die interessantesten öffentlich zugänglichen APIs zu verschaffen. In diesem Talk begeben wir uns auf eine kleine Rundreise durch die API-Landschaft. Es sollen einige sehr nützliche API-Angebote vorgestellt werden, die sich in zahlreichen Projekten sinnvoll einsetzen lassen. Manche dieser APIs sind recht bekannt, bieten jedoch teils ungeahnte Einsatzmöglichkeiten. Andere APIs sind (noch) relativ unbekannt, können aber dennoch eine große Hilfe darstellen. Reiseteilnehmer sind eingeladen, auch eigene API-Fundstücke kurz vorzustellen.

Java 2020 (presented by Herbstcampus), 01.-03.September 2020

Cloud-native Java mit Quarkus und MicroProfile

Die Innovationskraft der Java-Welt ist ungebrochen: Noch immer werden regelmäßig höchst interessante neue Projekte vorgestellt. Dieser praxisnahe Talk beleuchtet, wie zwei solche Projekte miteinander kombiniert werden können, um zeitgemäße Anwendungen für die Cloud zu entwickeln. MicroProfile bietet eine ganze Reihe nützlicher APIs für Cloud-basierte Anwendungen. Hierzu zählen die Unterstützung von Fault Tolerance, Open API, Health Checks, Metrics und Open Tracing. Mit Hilfe von Quarkus (und der GraalVM) werden daraus native Anwendungen, die innerhalb von Millisekunden starten und einen extrem kleinen Speicherverbrauch haben. Eine Beispielanwendung wird während des Talks live erstellt.

API Summit Online 2020, 08.-10.Juni 2020

API-Design? Schon erledigt! – Einführung in JSON:API

Gutes API-Design ist ein wichtiger Baustein auf dem Weg zu einer erfolgreichen und wartbaren Schnittstelle. Während der Arbeit am Design stellen sich dabei eine Reihe von Fragen. Wie sollen Datenstrukturen dargestellt werden? Wie können API-Clients ihre Suchanfragen parametrisieren oder die Anzahl der Treffer limitieren? Wie werden HTTP Statuscodes konkret eingesetzt? Oder wie werden Hyperlinks dargestellt? Man kann diese und ähnliche Fragen immer wieder neu diskutieren und das berühmte Rad in jedem Projekt neu erfinden. Oder man kann sich umsehen, ob nicht bereits fertige Vorschläge existieren. Einer dieser Vorschläge heißt JSON:API, das in diesem Workshop ausführlich vorgestellt wird. Daneben werfen wir einen kurzen Blick auf alternative Design-Vorschläge.

JAX Online 2020, 25.-27.Mai 2020

Great APIs - Eine Rundreise

Die API Economy ist in aller Munde, fast täglich werden neue APIs von Unternehmen oder Behörden veröffentlicht. Es ist praktisch unmöglich, sich einen umfassenden Überblick auch nur über die interessantesten öffentlich zugänglichen APIs zu verschaffen. In diesem Talk begeben wir uns auf eine kleine Rundreise durch die API-Landschaft. Es sollen einige sehr nützliche API-Angebote vorgestellt werden, die sich in zahlreichen Projekten sinnvoll einsetzen lassen. Manche dieser APIs sind recht bekannt, bieten jedoch teils ungeahnte Einsatzmöglichkeiten. Andere APIs sind (noch) relativ unbekannt, können aber dennoch eine große Hilfe darstellen. Reiseteilnehmer sind eingeladen, auch eigene API-Fundstücke kurz vorzustellen.

Frankfurter Entwicklertag, 20.02.2020 in Frankfurt

MicroProfile: Microservices mit Jakarta EE

Die weit verbreitete, einst unter dem Namen Java-EE bekannte Plattform, heißt nun "Jakarta EE" und wird unter dem Dach der Eclipse Foundation weiter entwickelt. Die Releasezyklen sollen deutlich kürzer werden, sodass die Plattform schneller als zuletzt an die Anforderungen zeitgemäßer Enterprise-Anwendungen angepasst werden kann. In diesem Zusammenhang hat sich das MicroProfile-Projekt zum Innovationsmotor entwickelt. Hier werden in beeindruckendem Tempo neue Features vorgestellt und entwickelt. Diese reichen von einer API zum einheitlichen Zugriff auf Konfigurationen, über Unterstützung für Fault Tolerance, Metriken, Health Checks und JSON Web Tokens, bis hin zu Support für OpenAPI und Open Tracing. Weitere Vorschläge, wie etwa Unterstützung für GraphQL, Event Data oder reaktiven Zugriff auf relationale Datenbanken stehen bereits in den Startlöchern. Höchste Zeit also für einen Überblick über den aktuellen Stand der Dinge! Für existierende Java-EE-Projekte existiert wieder in Pfad in die Zukunft. Und für neue Projekte muss es nicht mehr zwangsläufig immer Spring Boot sein...

API Summit 2019, 09.-11.12.2019 in Berlin

API-Design? Schon erledigt! – Einführung in JSON:API

Gutes API-Design ist ein wichtiger Baustein auf dem Weg zu einer erfolgreichen und wartbaren Schnittstelle. Während der Arbeit am Design stellen sich dabei eine Reihe von Fragen. Wie sollen Datenstrukturen dargestellt werden? Wie können API-Clients ihre Suchanfragen parametrisieren oder die Anzahl der Treffer limitieren? Wie werden HTTP Statuscodes konkret eingesetzt? Oder wie werden Hyperlinks dargestellt? Man kann diese und ähnliche Fragen immer wieder neu diskutieren und das berühmte Rad in jedem Projekt neu erfinden. Oder man kann sich umsehen, ob nicht bereits fertige Vorschläge existieren. Einer dieser Vorschläge heißt JSON:API, das in diesem Workshop ausführlich vorgestellt wird. Daneben werfen wir einen kurzen Blick auf alternative Design-Vorschläge.

API-Dokumentation mit OpenAPI

Der Erfolg einer API steht und fällt mit einer guten Dokumentation. Doch API-Anbieter haben die Qual der Wahl. Zahlreiche Werkzeuge konkurrieren um ihre Gunst. Im Bereich der Schnittstellenbeschreibungssprachen hat immerhin eine Konsolidierung stattgefunden: Das aus Swagger hervorgegangene OpenAPI wird zum Standard entwickelt. Doch während OpenAPI bzw. Swagger weit verbreitet ist und viele Anhänger hat, sind neben den vielen positiven Eigenschaften und Vorteilen auch einige Nachteile und Schwächen festzustellen. In diesem Workshop werden zunächst OpenAPI und eine Auswahl der zahlreich erhältlichen Tools vorgestellt. Im Anschluss werden die guten und weniger guten Seiten der Beschreibungssprache gegenübergestellt, Fallen aufgezeigt und dargestellt, auf welchen Teil der Tool-Unterstützung man vielleicht besser verzichten sollte.

WJAX 2019, 04.-08.11.2019 in München

Was lange währt... Javas neuer HttpClient

Ausgerechnet für den immer wichtiger werdenden Aspekt der HTTP-Kommunikation mussten sich Java-Entwickler jahrelang mit der betagten HttpURLConnection herumplagen. Diese wurde mit Java 1.1 eingeführt und galt verständlicherweise als altmodisch und schwierig zu benutzen. In der Regel wurden daher externe Bibliotheken als Ersatz verwendet. Mit Java 9 wurde der neue HttpClient im Incubator vorgestellt, seit Java 11 ist er nun endlich offiziell eingeführt. Er bietet ein modernes Builder API, Unterstützung für HTTP/2 und Push Promises sowie die bequeme Definition mehrstufiger, asynchroner Abläufe mittels CompletableFuture. Für die Verarbeitung von Streams wurden zudem die Schnittstellen an das Flow API angepasst. Höchste Zeit also, den neuen HttpClient genauer unter die Lupe zu nehmen!

Wie gut kennst du das Collections Framework?

HashMap und ArrayList kennt jeder, na klar. Aber wann stellen sie eigentlich die richtige Wahl dar? Und vor allem: Wann nicht? Das Collections Framework enthält zahlreiche, zum Teil recht spezialisierte Implementierungen, doch viele Entwickler kennen nur einen kleinen Teil davon. Schon mal was von EnumSet oder WeakHashMap gehört? Und was ist eigentlich der Unterschied zwischen ConcurrentSkipListMap und ConcurrentHashMap? Je nachdem, welche konkreten Anforderungen jeweils umzusetzen sind, ist es wichtig, die Stärken und Schwächen der einzelnen Implementierungen zu kennen. Dieser Vortrag diskutiert Details wie Threadsicherheit, Laufzeitverhalten und sinnvolle Initialisierung anhand einiger ausgewählter Collection-Klassen.

API Conference, 14.-16.10.2019 in Berlin

Die API ist nur der Anfang: Wie erschafft man eine großartige Developer Experience?

Das API-Design ist finalisiert, die Implementierung nahezu abgeschlossen. Dann kann es also bald los gehen. Doch wie kann erreicht werden, dass das neue API auch zum Erfolg wird? Wie können Entwickler dafür begeistert werden, das API auch tatsächlich einzusetzen? Neben geschicktem Marketing ist hier vor allem eine gute Developer Experience (DX) von zentraler Bedeutung: API Reference, Dokumentation, Beispiele, Blogs, der Aufbau einer Community… In diesem Talk erhalten angehende API-Anbieter wertvolle Tipps aus der Praxis.

Great APIs – eine Rundreise

Die API Economy ist in aller Munde, fast täglich werden neue APIs von Unternehmen oder Behörden veröffentlicht. Es ist praktisch unmöglich, sich einen umfassenden Überlick selbst nur über die interessantesten öffentlich zugänglichen APIs zu verschaffen. In diesem Talk begeben wir uns auf eine kleine Rundreise durch die API-Landschaft. Es sollen einige sehr nützliche API-Angebote vorgestellt werden, die sich in zahlreichen Projekten sinnvoll einsetzen lassen. Manche dieser APIs sind recht bekannt, bieten jedoch teils ungeahnte Einsatzmöglichkeiten. Andere APIs sind (noch) relativ unbekannt, können aber dennoch eine große Hilfe darstellen. Reiseteilnehmer sind eingeladen, auch eigene API-Fundstücke kurz vorzustellen.

Herbstcampus, 03.-05.09.2019 in Nürnberg

MicroProfile 3.x: Microservices mit Jakarta EE

Die weit verbreitete Java-EE-Plattform heißt künftig "Jakarta EE" und wird unter dem Dach der Eclipse Foundation weiter entwickelt. Die Releasezyklen sollen deutlich kürzer werden, sodass die Plattform schneller als zuletzt an die Anforderungen zeitgemäßer Enterprise-Anwendungen angepasst werden kann. In diesem Zusammenhang hat sich das MicroProfile-Projekt zum Innovationsmotor entwickelt. Hier werden in beeindruckendem Tempo mögliche neue Features vorgestellt und entwickelt. Diese reichen von einer API zum einheitlichen Zugriff auf Konfigurationen, über Unterstützung für Fault Tolerance, Metriken, Health Checks und JSON Web Tokens, bis hin zu Support für OpenAPI und Open Tracing.

JUG Hamburg, 27.08.2019 in Hamburg

Microservices mit dem MicroProfile 3.x

Wer Microservices in Java entwickeln möchte, muss nicht zwangsläufig zu Spring Boot greifen. Es lohnt ein Blick auf alternative Frameworks, die in zunehmender Anzahl verfügbar sind und bezüglich ihrer Funktionalität stark aufholen. So schreitet auch die Entwicklung des MicroProfiles weiter voran. In beeindruckender Geschwindigkeit wurden zahlreiche APIs entwickelt, die (nicht nur) für die Entwicklung von Microservices sehr hilfreich sind. Hierzu zählen die Unterstützung von Metriken, Health Checks, Fault Tolerance und JSON Web Tokens. Für den Einsatz im Projekt kann aus unterschiedlichen Implementierungen wie TomEE, Thorntail oder OpenLiberty gewählt werden. In dieser Live-Coding-Session wird der praktische Einsatz von MicroProfile anhand eines Praxisbeispiels demonstriert.

JUG Görlitz, 26.06.2019 in Görlitz

Wie gut kennst Du das Collections-Framework?

HashMap und ArrayList kennt jeder, na klar. Aber wann stellen diese eigentlich die richtige Wahl dar? Und vor allem: Wann nicht? Das Collections Framework enthält zahlreiche, teils recht spezialisierte Implementierungen. Doch viele Entwickler kennen nur einen kleinen Teil davon. Schon mal was von EnumSet oder WeakHashMap gehört? Und was ist der Unterschied zwischen ConcurrentSkipListMap und ConcurrentHashMap? Für jeden Java-Entwickler ist es wichtig, die Stärken und Schwächen der einzelnen Implementierungen zu kennen. Dieser Vortrag diskutiert Details wie Threadsicherheit, Laufzeitverhalten und sinnvolle Initialisierung anhand einiger ausgewählter Collection-Klassen.

API Summit 2019, 17.-19.06.2019 in München

API Design - Tipps aus der Praxis

Bei der Entwicklung einer API sollten Qualitätsmerkmalen wie guter Verständlichkeit, leichter Benutzbarkeit und Konsistenz besondere Beachtung geschenkt werden. Dies gilt im Besonderen für APIs, die öffentlich zur Verfügung gestellt werden oder die potentiell von vielen unterschiedlichen Clients angesprochen werden. Ein gutes API-Design stellt sich jedoch nicht von alleine ein. Es sind viele Entscheidungen zu treffen und eine Portion Erfahrung im Schnittstellenentwurf kann gewiss nicht schaden. In diesem Workshop werfen wir einen Blick auf typische Fragestellungen beim Entwurf HTTP-basierter APIs, wie URL Patterns, Filterung, Pagination oder Sortierung. Wir diskutieren Styleguides und JSON Formate und wir beleuchten die Frage, wann und wo der Einsatz von Hypermedia sinnvoll ist.

Beliebte Fallen der API-Entwicklung und ihre Vermeidung

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird als erhofft. Dieser Workshop beleuchtet typische Fallen und zeigt alternative Lösungswege auf. Themen sind u. a. Datenmodelle, Implementierungsstrategien für die HTTP-Kommunikation, Swagger und Code-Generatoren, Data Binding Frameworks und die Sicherung des Datenverkehrs.

JAX 2019, 06.-10.05.2019 in Mainz

Live Coding: Microservices mit dem MicroProfile

Die Entwicklung des MicroProfile schreitet weiter voran. In beeindruckender Geschwindigkeit wurden zahlreiche APIs entwickelt, die (nicht nur) für die Entwicklung von Microservices sehr hilfreich sind. Hierzu zählen die Unterstützung von Metriken, Health Checks, Fault Tolerance und JSON Web Tokens. Für den Einsatz im Projekt kann aus unterschiedlichen Implementierungen wie TomEE, Thorntail oder OpenLiberty gewählt werden. In dieser Live Coding Session wird der praktische Einsatz des MicroProfile anhand eines Praxisbeispiels demonstriert.

Was lange währt... Javas neuer HttpClient

Ausgerechnet für den immer wichtiger werdenden Aspekt der HTTP-Kommunikation mussten sich Java-Entwickler jahrelang mit der betagten HttpUrlConnection herum plagen. Diese wurde mit Java 1.1 eingeführt und galt verständlicherweise als altmodisch und schwierig zu benutzen. In der Regel wurden daher externe Bibliotheken als Ersatz verwendet. Mit Java 9 wurde der neue HttpClient im Incubator vorgestellt, seit Java 11 ist er nun endlich offiziell eingeführt. Er bietet eine moderne Builder API, Unterstützung für HTTP/2 und Push Promises, sowie die bequeme Definition mehrstufiger asynchroner Abläufe mittels CompleteableFuture. Für die Verabreitung von Streams wurden zudem die Schnittstellen an die Flow API angepasst. Höchste Zeit also, den neuen HttpClient genauer unter die Lupe zu nehmen.

JavaLand 2019, 18.-20.03.2019 in Brühl

MicroProfile: Microservices mit Jakarta EE

Im Java Enterprise-Bereich gibt es derzeit eine ganze Reihe spannender Entwicklungen. Die weit verbreitete Java EE-Plattform heißt künftig "Jakarta EE" und wird unter dem Dach der Eclipse Foundation weiter entwickelt - eine Veränderung, die viele Chancen bietet. Unter anderem sind deutlich kürzere Releasezyklen zu erwarten, so dass die Plattform viel schneller als zuletzt an die Anforderungen zeitgemäßer Enterprise-Anwendungen angepasst werden kann. In diesem Zusammenhang hat sich die MicroProfile-Initiative zum Innovationsmotor entwickelt. Hier werden in beeindruckendem Tempo mögliche neue Features vorgestellt und entwickelt. Diese reichen von einer neuen API zum einheitlichen Zugriff auf Konfigurationseinstellungen, über Unterstützung für Fault Tolerance, Metriken, Health Checks und JSON Web Tokens, bis hin zu Support für Open API und Open Tracing. Dieser Vortrag beleuchtet den aktuellen Stand von Jakarta EE und MicroProfile, und wagt einen Blick in die Zukunft.

API Summit 2018, 03.-05.12.2018 in Berlin

API-Design – Tipps & Tricks aus der Praxis

Bei der Entwicklung einer API sollten Qualitätsmerkmalen wie guter Verständlichkeit, leichter Benutzbarkeit und Konsistenz besondere Beachtung geschenkt werden. Dies gilt im Besonderen für APIs, die öffentlich zur Verfügung gestellt werden oder die potentiell von vielen unterschiedlichen Clients angesprochen werden. Ein gutes API-Design stellt sich jedoch nicht von alleine ein. Es sind viele Entscheidungen zu treffen und eine Portion Erfahrung im Schnittstellenentwurf kann gewiss nicht schaden. In diesem Workshop werfen wir einen Blick auf typische Fragestellungen beim Entwurf HTTP-basierter APIs, wie URL Patterns, Filterung, Pagination oder Sortierung. Wir diskutieren Styleguides und JSON Formate und wir beleuchten die Frage, wann und wo der Einsatz von Hypermedia sinnvoll ist.

Architekturtipps & Best Practices für gelungene API-Integration

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird als erhofft. Dieser Workshop beleuchtet typische Fallen und zeigt alternative Lösungswege auf. Themen sind u. a. Datenmodelle, Implementierungsstrategien für die HTTP-Kommunikation, Swagger und Code-Generatoren, Data Binding Frameworks und die Sicherung des Datenverkehrs.

WJAX 2018, 05.-09.11.2018 in München

Das machen wir nebenbei - Concurrency mit CompletableFuture

In fast jeder Anwendung gibt es Aufgaben, die besser in separate Threads ausgelagert werden. So lassen sich Abläufe beschleunigen und parallelisieren sowie Wartezeiten oder Blockaden vermeiden. Während vor allem die Entwicklung mehrstufiger Logik, also mehrerer voneinander abhängiger asynchroner Aktionen, früher kompliziert war und viele Zeilen nicht-fachlichen Codes benötigte, vereinfacht der Einsatz von CompletableFuture diese Aufgabe erheblich. Zudem ist im resultierenden Code die fachliche Logik nun leichter erkennbar. In diesem paxisnahen Vortrag werden eingangs Gründe und Einsatzgebiete für Asynchronität diskutiert und anschließend der Einsatz von CompletableFuture ausführlich erläutert.

Live Coding: APIs mit JAX-RS 2.1, JSON-B und CDI 2.0

Die aktuellen Releases von JAX-RS und CDI bieten einige interessante Neuerungen für API-Entwickler, wie etwa Unterstützung für HTTP PATCH, Server-sent-Events oder asynchrone CDI-Events. In Kombination mit dem neuen JSON-B geht die Implementierung von APIs noch leichter von der Hand. Auch das neue, reaktive Client-API von JAX-RS stellt ein interessantes neues Feature dar. In dieser Live-Coding-Session wird eine prototypische Anwendung entwickelt, die den Einsatz der neuen Features veranschaulicht.

API Design - Tipps aus der Praxis

Gutes API-Design ist immens wichtig für den Erfolg einer Schnittstelle. Ist ein API nur schwer verständlich oder benutzbar, sind allerhand Schwierigkeiten vorprogrammiert. So muss sich ein API-Betreiber darauf einstellen, regelmäßige Nachfragen von Cliententwicklern zu beantworten. Im schlimmsten Fall wenden sich diese sogar ab und halten Ausschau nach einem besseren Anbieter. Was aber ist "gutes" API-Design? Welche Fragen und Entscheidungen stellen sich, und welche Alternativen stehen jeweils zur Wahl? Dieser Vortrag gibt anhand unterschiedlicher Beispiele wertvolle Tipps aus der Praxis. Zur Sprache kommen Themen wie Namensgebung, Filterung, Pagination oder Limitierung der Ergebnisse. Zudem gehen wir der Frage nach, welche Standards oder Vorlagen existieren, an denen man sich orientieren kann.

API Conference, 24.-26.09.2018 in Berlin

API-Dokumentation mit OpenAPI - The Good, The Bad & The Ugly

Der Erfolg eines API steht und fällt mit einer guten Dokumentation. Doch API-Betreiber haben die Qual der Wahl: Zahlreiche Werkzeuge konkurrieren um ihre Gunst. Im Bereich der Schnittstellenbeschreibungssprachen ist nun eine gewisse Konsolidierung im Gange: Das aus Swagger hervorgegangene OpenAPI soll zum Standard entwickelt werden. Doch während Swagger/OpenAPI weit verbreitet ist und viele Anhänger hat, sind neben den vielen positiven Eigenschaften und Vorteilen auch einige Nachteile und Schwächen festzustellen. In diesem Vortrag werden zunächst OpenAPI und eine Auswahl der zahlreich erhältlichen Tools vorgestellt. Im Anschluss werden die guten und weniger guten Seiten der Beschreibungssprache gegenübergestellt, Fallen aufgezeigt und dargestellt, auf welchen Teil der Toolunterstützung man vielleicht besser verzichten sollte.

Architekturtipps für API-Integration

Durch den Trend zu Microservices-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. In der Praxis ist jedoch zu beobachten, dass bei der Umsetzung von APIs und ihren Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. Erneut entstehen Integrationslösungen mit sehr enger Kopplung, bei denen selbst kleinste Änderungen des API eine Änderung der Clients notwendig macht – und das selbst bei Änderungen, die eigentlich rückwärtskompatibel sein müssten. Zudem weist die Architektur der Kommunikationspartner oftmals keine ausreichende Widerstandsfähigkeit auf. Auch die Weiterentwicklung eines produktiven API erweist sich nicht selten als deutlich aufwendiger als erhofft. Dieser Vortrag beleuchtet typische Fallen und zeigt alternative Lösungswege auf.

Java Forum Nord, 13.09.2018 in Hannover

MicroProfile: Innovationsschmiede für Jakarta EE

Im Java Enterprise-Bereich gibt es derzeit eine ganze Reihe spannender Entwicklungen. Die weit verbreitete Java EE-Plattform heißt künftig "Jakarta EE" und wird unter dem Dach der Eclipse Foundation weiter entwickelt - eine Veränderung, die viele Chancen bietet. Unter anderem sind deutlich kürzere Releasezyklen zu erwarten, so dass die Plattform viel schneller als zuletzt an die Anforderungen zeitgemäßer Enterprise-Anwendungen angepasst werden kann. In diesem Zusammenhang hat sich die MicroProfile-Initiative zum Innovationsmotor entwickelt. Hier werden in beeindruckendem Tempo mögliche neue Features vorgestellt und entwickelt. Diese reichen von einer neuen API zum einheitlichen Zugriff auf Konfigurationseinstellungen, über Unterstützung für Fault Tolerance, Metriken, Health Checks und JSON Web Tokens, bis hin zu Support für Open API und Open Tracing. Dieser Vortrag beleuchtet den aktuellen Stand von Jakarta EE und MicroProfile, und wagt einen Blick in die Zukunft.

Java Forum Stuttgart, 05.07.2018 in Stuttgart

Zu neuen Ufern: Jakarta EE & MicroProfile

Im Java Enterprise-Bereich gibt es derzeit eine ganze Reihe spannender Entwicklungen. Die weit verbreitete Java EE-Plattform heißt künftig "Jakarta EE" und wird unter dem Dach der Eclipse Foundation weiter entwickelt - eine Veränderung, die viele Chancen bietet. Unter anderem sind deutlich kürzere Releasezyklen zu erwarten, so dass die Plattform viel schneller als zuletzt an die Anforderungen zeitgemäßer Enterprise-Anwendungen angepasst werden kann. In diesem Zusammenhang hat sich die MicroProfile-Initiative zum Innovationsmotor entwickelt. Hier werden in beeindruckendem Tempo mögliche neue Features vorgestellt und entwickelt. Diese reichen von einer neuen API zum einheitlichen Zugriff auf Konfigurationseinstellungen, über Unterstützung für Fault Tolerance, Metriken, Health Checks und JSON Web Tokens, bis hin zu Support für Open API und Open Tracing. Dieser Vortrag beleuchtet den aktuellen Stand von Jakarta EE und MicroProfile, und wagt einen Blick in die Zukunft.

API Summit, 11.-13.06.2018 in München

API-Design – Tipps & Tricks aus der Praxis

Bei der Entwicklung einer API sollten Qualitätsmerkmalen wie guter Verständlichkeit, leichter Benutzbarkeit und Konsistenz besondere Beachtung geschenkt werden. Dies gilt im Besonderen für APIs, die öffentlich zur Verfügung gestellt werden oder die potentiell von vielen unterschiedlichen Clients angesprochen werden. Ein gutes API-Design stellt sich jedoch nicht von alleine ein. Es sind viele Entscheidungen zu treffen und eine Portion Erfahrung im Schnittstellenentwurf kann gewiss nicht schaden. In diesem Workshop werfen wir einen Blick auf typische Fragestellungen beim Entwurf HTTP-basierter APIs, wie URL Patterns, Filterung, Pagination oder Sortierung. Wir diskutieren Styleguides und JSON Formate und wir beleuchten die Frage, wann und wo der Einsatz von Hypermedia sinnvoll ist.

API Security

Wird eine API bereit gestellt, darf natürlich auch das Thema Sicherheit nicht zu kurz kommen. Dies gilt vor allem, aber nicht ausschließlich, für Public APIs. Diese Session thematisiert die unterschiedlichen Fragestellungen, die sich für API-Anbieter in diesem Kontext stellen und diskutiert mögliche Lösungen und Best Practices. Themen: Authentifizierung, OAuth und Open ID Connect, Verschlüsselung (TLS vs. nachrichtenbasiert), allgemeine Sicherungsmaßnahmen.

Architekturtipps & Best Practices für gelungene API-Integration

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird als erhofft. Dieser Vortrag beleuchtet typische Fallen und zeigt alternative Lösungswege auf. Themen sind u. a. Datenmodelle, Implementierungsstrategien für die HTTP-Kommunikation, Swagger und Code-Generatoren, Data Binding Frameworks und die Sicherung des Datenverkehrs.

JAX 2018, 23.-27.04.2018 in Mainz

Jakarta EE und MicroProfile: Java Enterprise im Aufwind

Nach der Übergabe von Java EE an die Eclipse Foundation wird die Plattform dort unter dem neuen Namen Jakarta EE weiterentwickelt. Dieser Schritt sorgt für spürbaren Aufwind und bedeutet signifikante Veränderungen für die Plattform, die viele Chancen, aber auch einige Risiken mit sich bringen. Dieser Vortrag beleuchtet den aktuellen Stand in Sachen Jakarta EE. Welche neuen Features werden diskutiert? Wann ist mit einem ersten Release zu rechnen? Gleichzeitig werfen wir einen Blick auf die MicroProfile-Initiative, die sich zu einem Innovationsmotor der Plattform zu etablieren scheint. Hier werden in raschem Tempo neue APIs und Implementierungen für lange geforderte Features wie Fault Tolerance, Health Checks, Metriken oder Support für JSON Web Tokens vorgestellt.

Live-Coding mit JAX-RS 2.1, JSON-B und CDI 2.0

Die neuen Releases von JAX-RS und CDI bringen einige interessante Neuerungen für API-Entwickler, wie etwa Unterstützung für HTTP PATCH, Server-sent Events oder asynchrone CDI-Events. In Kombination mit dem neuen JSON-B geht die Implementierung von APIs noch leichter von der Hand. Auch das neue reaktive Client-API von JAX-RS stellt ein interessantes neues Feature dar. In dieser Live-Coding-Session wird eine prototypische Anwendung entwickelt, die den Einsatz der neuen Features veranschaulicht.

JavaLand 2018, 13.-15.03.2018 in Brühl

Wie gut kennst du das Collections Framework?

HashMap und ArrayList kennt jeder, na klar. Aber wann stellen diese eigentlich die richtige Wahl dar? Und vor allem: Wann nicht? Das Collections Framework enthält zahlreiche, zum Teil recht spezialisierte Implementierungen, doch viele Entwickler kennen nur einen kleinen Teil davon. Schon mal was von EnumSet gehört oder von WeakHashMap? Und was ist eigentlich der Unterschied zwischen ConcurrentSkipListMap und ConcurrentHashMap? Je nachdem, welche konkreten Anforderungen jeweils umzusetzen sind, ist es wichtig, die Stärken und Schwächen der einzelnen Implementierungen zu kennen. Dieser Vortrag diskutiert Details wie Threadsicherheit, Laufzeitverhalten und sinnvolle Initialisierung anhand einiger ausgewählter Collection-Klassen.

Frankfurter Entwicklertag, 21.02.2018 in Frankfurt

Architekturtipps und Best Practices für gelungene API-Integration

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird, als erhofft. Dieser Vortrag beleuchtet typische Fallen und zeigt alternative Lösungswege auf.

OOP, 05.-09.02.2018 in München

Architekturtipps und Best Practices für gelungene API-Integration

Durch den Trend zu Microservice-Architekturen und die Bereitstellung von Public APIs ist die Verbreitung HTTP-basierter APIs noch weiter angestiegen. Doch in der Praxis ist zu beobachten, dass bei der Umsetzung von APIs und ihrer Clients wohlbekannte Fehler und Anti-Patterns wiederholt zum Einsatz kommen. So entstehen eng gekoppelte, zerbrechliche und wenig widerstandsfähige Lösungen, deren Wartung und Weiterentwicklung deutlich aufwendiger wird, als erhofft. Dieser Vortrag beleuchtet typische Fallen und zeigt alternative Lösungswege auf.

API Summit, 27.-29.11.2017 in Berlin

API First mit Swagger & Co

Für lange Zeit entstanden APIs überwiegend als Erweiterung bereits existierender Systeme. Immer mehr Unternehmen setzen zur Implementierung von APIs jedoch inzwischen auf den API-First Ansatz. Bei diesem Ansatz besteht der erste Schritt im Entwurf der API. Dabei wird angenommen, dass keine existierenden Systeme und Einschränkungen bestehen. Stattdessen liegt der Fokus ausschließlich darauf, wie die API geschaffen sein muss, damit sie gut funktioniert, leicht zu integrieren ist und einen echten Mehrwert bietet – und das potentiell für ganz unterschiedliche Clients und Endgeräte. Der API-Entwurf wird anschließend mithilfe geeigneter Werkzeuge in eine erste Implementierung überführt, dokumentiert und getestet. Erst im letzten Schritt werden datenliefernde oder konsumierende Systeme erstellt. Bereits existierende Systeme werden an die API angepasst, nicht umgekehrt. Auf diese Weise entstehen APIs, die in Multi-Channel-Szenarien jeden Kanal optimal unterstützen und nicht zuletzt auch konsistente Schnittstellen. Dieser Workshop diskutiert den API First-Ansatz im Detail und stellt Tools und Technologien vor, die bei der Umsetzung hilfreich sein können.

Fallstricke beim Einsatz von Web APIs

Web APIs erfreuen sich seit geraumer Zeit großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es auch einige Herausforderungen und Fallstricke, die unbedingt bedacht werden sollten. So führen Web APIs zu einer recht engen Kopplung, weshalb u.a. eine Strategie für den Umgang mit temporär nicht verfügbaren Kommunikationspartnern benötigt wird. Weitere Aspekte sind die Unzuverlässigkeit des Netzwerkes, die Behandlung von Fehlerfällen, die Wiederholbarkeit von Requests oder auch die Tatsache, dass SSL in manchen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Workshop diskutiert die wichtigsten Herausforderungen von Web APIs und zeigt Wege auf, wie diese zu meistern sind. Dabei werden sowohl die Seite des API-Betreibers, als auch die des API-Clients betrachtet.

WJAX 2017, 06.-10.11.2017 in München

Aufbruchstimmung: Java EE 8, EE4J und MicroProfile

Was lange währt, wird endlich gut: Java EE 8 ist da! Das neue Release bietet eine ganze Reihe interessanter neuer Features und Weiterentwicklungen. In diesem Vortrag werden die wichtigsten Neuigkeiten vorgestellt. Hierzu zählen u.a. JAX-RS 2.1 mit Support für Server-Sent Events und einer neuen reaktiven Client API, das neue JSON Binding, Servlet 4.0 mit Support für HTTP/2 und Server Push, sowie CDI 2.0 mit zahlreichen Verbesserungen, insbesondere im Bereich der CDI Events. Darüber hinaus werfen wir einen Blick in die Zukunft, also auf EE4J. Es wird diskutiert, was die Weiterentwicklung der Plattform durch die Eclipse Foundation erwarten lässt, und wie sich die MicroProfile Initiative zum Innovationsmotor entwickelt hat.

Web APIs - ganz einfach, oder?

Web-APIs sind allgegenwärtig und haben sich als Mittel zur Systemintegration in der Breite durchgesetzt – nicht zuletzt auch deshalb, weil sie als leichtgewichtig und einfach umsetzbar gelten. Doch ist es wirklich so einfach? Spätestens beim ersten größeren Projekteinsatz wird deutlich, dass eine Reihe von Herausforderungen zu meisten sind. Wie geht man mit vorübergehend nicht erreichbaren Endpunkten um? Bietet SSL in allen Umgebungen ausreichende Sicherheit? Wer kümmert sich um ungültig werdende Zertifikate? Und wie setzt man langlaufende Prozesse am besten um? Dieser Talk liefert zahlreiche Tipps aus dem Projektalltag.

Java Enterprise Summit, 16.-18.10.2017 in Frankfurt

Java EE 8 – What’s New and Noteworthy

Was lange währt wird endlich gut: Java EE 8 ist da! Das neue Release bietet eine ganze Reihe sehr interessanter neuer Features und Weiterentwicklungen. In diesem Workshop werden die einzelnen Neuigkeiten im Detail vorgestellt. Hierzu zählen unter anderem Servlet 4.0 mit Support für HTTP 2 und Server Push, das neue JSON Binding, JAX-RS 2.1 mit Support für Server-Sent Events und einer neuen reaktiven Client API, sowie CDI 2.0 mit zahlreichen Verbesserungen, insbesondere im Bereich der CDI Events.

Live Coding mit Java EE 8

In diesem Workshop werden einige der neuen Features von Java EE 8 anhand einer Beispielanwendung live demonstriert. Der Schwerpunkt liegt dabei auf JAX-RS 2.1, JSON-B, Bean Validation 2.0 und CDI 2.0. Zudem werden aktuelle Entwicklungen im Kontext von Java EE, wie Fat-JARs oder Wildfly Swarm diskutiert.

APICON 2017, 18.-20.09.2017 in Berlin

API Security – Best Practices

APIs bieten Unternehmen die Möglichkeit, sich auf verhältnismäßig einfache Weise nach außen zu öffnen und somit potenzielle neue Geschäftsmodelle zu erschließen. Diese Öffnung bringt natürlich auch Gefahren mit sich. Daher ist es gerade bei öffentlichen APIs besonders wichtig, sich bereits zu Beginn der Entwicklung eingehend mit dem Thema Sicherheit zu beschäftigen. Dieser Vortrag bietet einen Überblick über die unterschiedlichen Aspekte, die in puncto API-Security berücksichtigt werden sollten, und liefert gleichzeitig wertvolle Tipps aus der Praxis. Zur Sprache kommen unter anderem die Themen Authentifizierung und Autorisierung, API Keys, sichere URLs, sowie Risiken und Nebenwirkungen beim Einsatz von TLS.

Consuming APIs – When Things go wrong…

Sie möchten von Ihrer Anwendung aus ein API ansprechen. Der Zugriff erfolgt über HTTP. Das hört sich leicht an, denn das Protokoll ist wohlbekannt. Was soll da schon schiefgehen? Leider eine ganze Menge… Denn das Netzwerk ist unzuverlässig, und die Services des API-Anbieters sind es möglicherweise auch. Es ist also mit einigen Unwägbarkeiten zu rechnen. Und es wird eine Strategie benötigt, um mit diesen umzugehen. Dieser praxisnahe Vortrag betrachtet Aspekte wie Retry, Time-outs oder scheiternde Verbindungen. Ferner geht er der Frage nach, wie Sie verhindern können, dass Ihre Anwendung blockiert ist, sollte das zu integrierende API einmal nicht erreichbar sein.

Herbstcampus, 04.-07.09.2017 in Nürnberg

Asynchrone Java-Anwendungen mit CompletableFuture

Traditionell werden die meisten Java-Anwendungen vollständig oder überwiegend blockierend/synchron implementiert. Es ist jedoch zunehmend der Trend zu beobachten, zumindest bestimmte Abläufe nebenläufig zu gestalten. Während vor allem die Entwicklung mehrstufiger Logik, also mehrerer voneinander abhängiger asynchroner Aktionen, früher kompliziert war und viele Zeilen nicht-fachlichen Codes benötigte, vereinfacht CompletableFuture diese Aufgabe deutlich. Zudem ist im resultierenden Code die fachliche Logik nun leichter erkennbar. In diesem Vortrag werden eingangs Gründe und Einsatzgebiete für Asynchronität diskutiert, anschließend wird der Einsatz von CompletableFuture ausführlich erläutert.

API Summit, 19.-21.06.2017 in München

API First mit Swagger & Co.

Für lange Zeit entstanden APIs überwiegend als Erweiterung bereits existierender Systeme. Immer mehr Unternehmen setzen zur Implementierung von APIs jedoch inzwischen auf den API-First Ansatz. Bei diesem Ansatz besteht der erste Schritt im Entwurf der API. Es wird angenommen, dass keine existierenden Systeme und Einschränkungen bestehen. Stattdessen liegt der Fokus ausschließlich darauf, wie die API geschaffen sein muss, damit sie gut funktioniert, leicht zu integrieren ist und einen echten Mehrwert bietet. Der API-Entwurf wird anschließend mithilfe geeigneter Werkzeuge in eine Mock-Implementierung überführt, dokumentiert und getestet. Erst im letzten Schritt wird die API dann implementiert. Auch datenliefernde oder konsumierende Systeme entstehen gegebenenfalls erst jetzt. Bereits bestehende Systeme werden an die API angepasst, nicht umgekehrt. Auf diese Weise entstehen APIs, die in Multi-Channel-Szenarien jeden Kanal optimal unterstützen, und nicht zuletzt auch konsistente Schnittstellen. Dieser Workshop diskutiert den API First-Ansatz im Detail und stellt Tools und Technologien vor, die bei der Umsetzung hilfreich sein können.

Fallstricke beim Design von Web APIs

Web APIs erfreuen sich seit geraumer Zeit großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es auch einige Herausforderungen und Fallstricke, die unbedingt bedacht werden sollten. So führen Web APIs zu einer recht engen Kopplung, weshalb u.a. eine Strategie für den Umgang mit temporär nicht verfügbaren Kommunikationspartnern benötigt wird. Weitere Aspekte sind die Unzuverlässigkeit des Netzwerkes, die Behandlung von Fehlerfällen, die Wiederholbarkeit von Requests oder auch die Tatsache, dass SSL in manchen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Workshop diskutiert die wichtigsten Herausforderungen von Web APIs und zeigt Wege auf, wie diese zu meistern sind.

JAX 2017, 08.-12.05.2017 in Mainz

Java EE Microservices mit WildFly Swarm, Payara Micro und Co.

Im Zusammenhang mit Microservices und zeitgemäßen Deployment-Modellen hat Spring Boot einige Popularität erlangt. Während es zwar Unterstützung für einige Java-EE-Standards wie JAX-RS mitbringt, entwickelt man damit letztlich jedoch immer eine Spring-Anwendung. Somit muss entsprechendes Spring-Know-how mitgebracht oder aufgebaut werden. Daher stellt Boot nicht für jedermann die optimale Lösung dar. Entwickler, die es bevorzugen, komplett auf Basis des Java-EE-Standards zu entwickeln, haben inzwischen jedoch einige Alternativen, wie etwa WildFly Swarm, Payara Micro oder KumuluzEE. In dieser Session werden die unterschiedlichen Lösungen miteinander verglichen, der aktuelle Stand der Technik wird beleuchtet und an einem konkreten Beispiel demonstriert, wie Java EE Microservices erstellt werden.

Web-APIs – ganz einfach, oder?

Web-APIs sind allgegenwärtig und haben sich als Mittel zur Systemintegration in der Breite durchgesetzt – nicht zuletzt auch deshalb, weil sie als leichtgewichtig und einfach umsetzbar gelten. Doch ist es wirklich so einfach? Spätestens beim ersten größeren Projekteinsatz wird deutlich, dass eine Reihe von Herausforderungen zu meisten sind. Wie geht man mit vorübergehend nicht erreichbaren Endpunkten um? Bietet SSL in allen Umgebungen ausreichende Sicherheit? Wer kümmert sich um ungültig werdende Zertifikate? Und wie setzt man langlaufende Prozesse am besten um? Dieser Talk liefert zahlreiche Tipps aus dem Projektalltag.

JavaLand 2017, 28.-30.03.2017 in Brühl

Asynchrone Anwendungen mit CompletableFuture

Für lange Zeit wurden die meisten Java-Anwendungen überwiegend oder vollständig blockierend/synchron implementiert. In den letzten Jahren zeichnet sich jedoch ein Trend zu vermehrtem Einsatz asynchroner Abläufe ab. Während die Entwicklung insbesondere mehrerer abhängiger asynchroner Aktionen jedoch früher kompliziert und tipp-intensiv war, vereinfacht CompletableFuture diese Aufgabe deutlich. In diesem Vortrag werden eingangs Gründe für den Einsatz von Asynchronität diskutiert und anschließend der Einsatz von CompletableFuture ausführlich erläutert.

Java 9 Meetup, 16.03.2017 in München

Java 9-Features: Alles außer Jigsaw

Java 9 hat noch viel mehr zu bieten als das Projekt Jigsaw. Der Talk zeigt die wichtigsten neuen Features, die man auf jeden Fall auf dem Schirm haben sollte, auch wenn man sich nicht gleich in die Untiefen der Modularisierung stürzen möchte.

JUG Hamburg, 08.03.2017, Hamburg

Microservices mit Java EE - Im Ernst? Wildfly Swarm, Payara & Co

Wer vorschlägt, Microservices mit Java EE zu entwickeln, erntet nicht selten zweifelnde Blicke. Denn schwergewichtige Application Server passen so gar nicht zu zeitgemäßen Deployment-Modellen. Stattdessen hat Spring Boot einige Popularität erlangt. Während dieses zwar Unterstützung für einige Java-EE-Standards wie JAX-RS mitbringt, entwickelt man damit letztlich jedoch immer eine Spring-Anwendung. Somit muss entsprechendes Spring Know-how mitgebracht oder aufgebaut werden. Aus diesem Grund stellt Boot nicht für jedermann die optimale Lösung dar. Entwickler, die es bevorzugen, komplett auf Basis des Java EE-Standards zu entwickeln, haben inzwischen jedoch einige Alternativen, wie etwa WildFly Swarm oder Payara Micro. In diesem Vortrag werden die unterschiedlichen Lösungen miteinander verglichen, der aktuelle Stand der Technik beleuchtet und an einem konkreten Beispiel demonstriert, wie Microservices auf Java EE Basis erstellt werden können.

Frankfurter Entwicklertag, 16.02.2017 in Frankfurt

Java EE - Quo vadis?

Der Bereich "Enterprise Java" befindet sich an einem Wendepunkt. Schon mehrfach totgesagt, dominiert Java weiterhin die Software-Entwicklung in vielen Unternehmen. Doch Themen wie Cloud oder Microservices bringen große Veränderungen mit sich: Der Application Server gilt vielerorts als überholtes Modell für das Deployment. Entwickler beklagen unzureichende Unterstützung für modernere Ansätze im Java EE-Standard. Und gleichzeitig finden schlanke Ansätze wie Wildfly Swarm oder Spring Boot zahlreiche Anhänger. In diesem Kontext wurden weitreichende Neuigkeiten für die kommenden Releases von Java EE angekündigt, mit denen die Plattform moderne Entwicklungsansätze besser unterstützen wird. Die ersten Neuerungen sollen bereits 2017 zur Verfügung stehen. Dieser Talk diskutiert den aktuellen Entwicklungsstand, wagt einen Blick in die Zukunft und zeigt, weshalb Java auch weiterhin eine gute Wahl für die Entwicklung moderner Unternehmensanwendungen sein wird.

Java Enterprise & Microservices Summit, 28.-30.11.2016 in Berlin

Und Action… Moderne Web-Anwendungen mit MVC und JAX-RS

Mit Java EE 8 wird der Standard ein neues Web-Framework namens MVC erhalten. Dieses wird den action-basierten Entwicklungsansatz unterstützen und damit eine Alternative für alle Entwickler darstellen, die sich mit JSF nicht recht anfreunden können. Zum Rendern der Views ist MVC nicht auf JSP oder Facelets beschränkt, sondern erlaubt die Verwendung beinahe beliebiger Technologien. Im Zusammenspiel mit JAX-RS entstehen moderne Web-Anwendungen mit REST-Backend, das gleichzeitig mobilen Apps oder Fremdsystemen einen Zugang zur Geschäftslogik bereit stellt. Dieser Workshop demonstriert it vielen praktischen Beispielen, wie solche Anwendungen mit MVC und JAX-RS entwickelt werden.

API Summit, 22.-23.11.2016 in Berlin

Fallstricke beim Design von Web APIs

Web APIs erfreuen sich seit geraumer Zeit großer Beliebtheit, bieten sie doch eine scheinbar perfekte Lösung zur Systemintegration. Jedoch gibt es auch einige Fallstricke, die unbedingt bedacht werden sollten. So führen Web APIs zu einer recht engen Kopplung, weshalb u.a. eine Strategie für den Umgang mit temporär nicht verfügbaren Endpunkten benötigt wird. Weitere Aspekte sind die fehlende Zuverlässigkeit von HTTP oder auch die Tatsache, dass SSL in vielen Produktivumgebungen keine ausreichende Sicherheit bietet. Dieser Talk diskutiert die wichtigsten Herausforderungen von Web APIs und zeigt Wege auf, wie diese zu meistern sind.

Der Application Server ist tot. Lang lebe der Application Server!

Klassische Application Server scheinen ausgedient zu haben, der Trend geht zu schlankeren Deployment Modellen wie Fat JARs und Embedded Servern. In diesem Zusammenhang hat Spring Boot einige Popularität erlangt. Während dieses zwar Unterstützung für einige Java-EE-Standards wie JAX-RS mitbringt, entwickelt man damit letztlich jedoch immer eine Spring-Anwendung. Somit muss entsprechendes Spring-Know-How mitgebracht oder aufgebaut werden. Daher stellt Boot nicht für jedermann die optimale Lösung dar. Entwickler, die es bevorzugen, komplett auf Basis des Java-EE-Standards zu entwickeln, haben inzwischen jedoch einige Alternativen, wie etwa Wildfly Swarm, KumuluzEE oder Payara Micro. In dieser Session werden die unterschiedlichen Lösungen miteinander verglichen, der aktuelle Stand der Technik beleuchtet und an einem konkreten Beispiel demonstriert, wie sich eine typische Web API auf diese Weise jeweils umsetzen lässt.

WJAX 2016, 07.-11.11.2016 in München

Eine MVC-Anwendung in 60 Minuten (JSR-371)

Java EE 8 wird ein neues Action-basiertes Webframework namens MVC erhalten. Es beruht sehr stark auf bestehenden Technologien wie JAX-RS oder CDI und bietet Entwicklern daher einen leichten Einstieg. Ein besonderes Feature ist die Möglichkeit, nahezu beliebige Technologien für die Views zu verwenden. Auch wenn es mit der Fertigstellung von Java EE 8 noch ein wenig dauern wird, kann man auf Basis der Referenzimplementierung von MVC bereits heute experimentieren. In dieser Session wird eine Webanwendung auf Basis von MVC per Live-Coding erstellt und die Konzepte des neuen Frameworks dabei veranschaulicht.

Java EE Microservices - Swarm, Payara Micro und KumuluzEE

Im Zusammenhang mit Microservices und modernen Deployment-Modellen hat Spring Boot einige Popularität erlangt. Während dieses zwar Unterstützung für einige Java-EE-Standards wie JAX-RS mitbringt, entwickelt man damit letztlich jedoch immer eine Spring-Anwendung. Somit muss entsprechendes Spring-Know-how mitgebracht oder aufgebaut werden. Daher stellt Boot nicht für jedermann die optimale Lösung dar. Entwickler, die es bevorzugen, komplett auf Basis des Java-EE-Standards zu entwickeln, haben inzwischen jedoch einige Alternativen, wie etwa Wildfly Swarm, KumuluzEE oder Payara Micro. In dieser Session werden die unterschiedlichen Lösungen miteinander verglichen, der aktuelle Stand der Technik beleuchtet und an einem konkreten Beispiel demonstriert, wie Java EE Microservices erstellt werden.

Java User Group Frankfurt, 28.09.2016 in Frankfurt

Und Action... Web-Anwendungen mit MVC (JSR-371)

Java EE 8 wird ein neues Action-basiertes Webframework namens MVC erhalten. Es beruht sehr stark auf bestehenden Technologien wie JAX-RS oder CDI und bietet Entwicklern daher einen leichten Einstieg. Ein besonderes Feature ist die Möglichkeit, nahezu beliebige Technologien für die Views zu verwenden. Auch wenn es mit der Fertigstellung von Java EE 8 noch ein wenig dauern wird, kann man auf Basis der Referenzimplementierung von MVC bereits heute experimentieren. In dieser Session wird eine Webanwendung auf Basis von MVC per Live-Coding erstellt und die Konzepte des neuen Frameworks dabei veranschaulicht.

Java Forum Stuttgart, 07.07.2016 in Stuttgart

MVC - Action-basierte Web-Anwendungen mit Java EE 8

Eine der spannendsten, aber auch kontroversesten Neuigkeiten des kommenden Java EE 8 ist ein neues Web-Framework. Es trägt den (etwas unglücklichen) Namen "MVC" und wird im Unterschied zu JavaServer Faces nicht komponenten- sondern action-basiert sein. Damit ermöglicht es einen Programmieransatz, den zwar viele Entwickler favorisieren, der vom Java EE-Standard jedoch bislang nicht unterstützt wurde. MVC basiert stark auf bestehenden Technologien wie CDI und JAX-RS, und bietet daher Entwicklern mit entsprechener praktischer Erfahrung einen besonders leichten Einstieg. In diesem Vortrag werden die Grundlagen von MVC, sowie der aktuelle Stand der Spezifikation vorgestellt. Teilnehmer lernen, wie MVC-basierte Anwendungen bereits heute auf Basis der Referenzimplementierung erstellt werden können, wie sich Web-Frontends mit REST-Backends verbinden lassen, und wie man eine Vielzahl von View-Technologien mit MVC kombinieren kann.

Java Enterprise & Microservices Summit, 15.-17.06.2016 in München

Kommunikationsmuster für Microservices

In einer Architektur, die auf Microservices basiert, stellt sich zwangsläufig früher oder später die Frage, wie diese miteinander kommunizieren sollen. Häufig kommt dabei REST zum Einsatz, eine gängige Alternative ist Messaging. Dieser Workshop diskutiert Vor- und Nachteile der beiden Ansätze und geht dabei insbesondere der Frage nach, wie das häufig formulierte Ziel der losen Kopplung am besten zu erreichen ist. Wir klären gemeinsam, was lose Kopplung eigentlich genau bedeutet, wie man sie messen kann, welche Varianten von Kopplung auftreten können und wo sie sich verbergen. So wird verdeutlicht, wie durch den Einsatz verschiedener Kommunikationsvarianten ganz unterschiedliche Grade von Kopplung erreicht werden können.

JAX-RS 2.1 und MVC: Ausblick auf Java EE 8

Mit JAX-RS enthält Java EE bereits sehr gute Unterstützung für die Implementierung von REST Services. Die API kommt immer häufiger auch als Backend für Web-Frontends zum Einsatz. Das kommende JAX-RS 2.1 soll diese Unterstützung nochmals deutlich erweitern. So sind spannende neue Features in Vorbereitung, wie etwa Server-Sent Events, verbesserter Support für Hypermedia, Declarive Security, ein Reactive Client-API oder die Integration mit JSON Binding. Eine andere interessante Neuerung in Java EE wird sein, dass die Plattform ein neues Web-Framework namens "MVC" erhält. Dabei handelt es sich um ein actionbasiertes Framework, das als Alternative zu JSF dienen soll. MVC wird sehr stark auf JAX-RS basieren und daher für viele Entwickler einen leichten Einstieg bieten. Dieser Workshop stellt MVC und die Neuerungen in JAX-RS im Einzelnen vor. Für beides stehen bereits erste Implementierungen bereit, auf deren Basis man erste Experimente machen kann.


JAX 2016, 18.-22.April 2016 in Mainz

Der glückliche Java-Entwickler

Nicht wenige Softwareentwickler sagen von sich, sie hätten ihren Traumberuf gewählt. Viele haben ihr Hobby zum Beruf gemacht. Da sollte man annehmen, dass die meisten auch große Freude an ihrer Arbeit haben. Doch ist das ein Trugschluss? In Gesprächen erfährt man häufig von Frust und Unzufriedenheit mit der Team- oder Projektsituation. Welche Voraussetzungen müssen also erfüllt sein, damit Softwareentwicklung Spaß macht? Welche Hindernisse gibt es regelmäßig? Welche Fehler werden verbreitet von Unternehmen gemacht? Als freiberuflicher Experte kommt man viel herum, sieht viele Teams und Projekte und erlebt so einige Anekdoten. In diesem Talk werden typische Beispiele aus fünfzehn Jahren Projekterfahrung vorgestellt, in denen Sie sich und Ihr Team sicher vereinzelt wiederfinden. Und es werden Wege aufgezeigt, um dem Ziel des glücklichen Java-Enwicklers ein großes Stück näherzukommen. Für Entwickler und Führungskräfte gleichermaßen geeignet.

Eine MVC-Anwendung in 60 Minuten

Java EE 8 wird ein neues Action-basiertes Webframework namens MVC erhalten. Es beruht sehr stark auf bestehenden Technologien wie JAX-RS oder CDI und bietet Entwicklern daher einen leichten Einstieg. Ein besonderes Feature ist die Möglichkeit, nahezu beliebige Technologien für die Views zu verwenden. Auch wenn es mit der Fertigstellung von Java EE 8 noch ein wenig dauern wird, so kann man auf Basis der Referenzimplementierung von MVC bereits heute experimentieren. In dieser Session wird eine Webanwendung auf Basis von MVC per Live-Coding erstellt und die Konzepte des neuen Frameworks dabei veranschaulicht.

Java Enterprise & Microservices Summit, 06.-11.12.2015 in Berlin

Kommunikationsmuster für Microservices

In einer Architektur, die auf Microservices basiert, stellt sich zwangsläufig früher oder später die Frage, wie diese miteinander kommunizieren sollen. Häufig kommt dabei REST zum Einsatz, eine gängige Alternative ist Messaging. Dieser Workshop diskutiert Vor- und Nachteile der beiden Ansätze und geht dabei insbesondere der Frage nach, wie das häufig formulierte Ziel der losen Kopplung am besten zu erreichen ist. Wir klären gemeinsam, was lose Kopplung eigentlich genau bedeutet, wie man sie messen kann, welche Varianten von Kopplung auftreten können und wo sie sich verbergen. So wird verdeutlicht, wie durch den Einsatz verschiedener Kommunikationsvarianten ganz unterschiedliche Grade von Kopplung erreicht werden können.

Blick nach vorn: JAX-RS 2.1 und MVC

Mit JAX-RS enthält Java EE bereits sehr gute Unterstützung für die Implementierung von REST Services. Die API kommt immer häufiger auch als Backend für Web-Frontends zum Einsatz. Das kommende JAX-RS 2.1 soll diese Unterstützung nochmals deutlich erweitern. So sind spannende neue Features in Vorbereitung, wie etwa Server-Sent Events, verbesserter Support für Hypermedia, Declarive Security, ein Reactive Client-API oder die Integration mit JSON Binding. Eine andere interessante Neuerung in Java EE wird sein, dass die Plattform ein neues Web-Framework namens "MVC" erhält. Dabei handelt es sich um ein actionbasiertes Framework, das als Alternative zu JSF dienen soll. MVC wird sehr stark auf JAX-RS basieren und daher für viele Entwickler einen leichten Einstieg bieten. Dieser Workshop stellt MVC und die Neuerungen in JAX-RS im Einzelnen vor. Für beides stehen bereits erste Implementierungen bereit, auf deren Basis man erste Experimente machen kann.


WJAX 2015, 02.-05.11.2015 in München

MVC (JSR 371) - Ein neues Webframework für Java EE

Der vielleicht am kontroversesten diskutierte JSR für Java EE 8 trägt den Namen "MVC". Dabei handelt es sich um ein Action-basiertes Webframework, das als Alternative (und nicht etwa als Ersatz) zum komponentenbasierten JSF dienen soll. In dieser Session werfen wir einen Blick auf den aktuellen Stand der Spezifikation von MVC und auch auf die bereits existierende Referenzimplementierung. Beides erlaubt einen guten Eindruck davon, wie MVC voraussichtlich aussehen wird. Zudem diskutieren wir gemeinsam, ob Java EE ein zusätzliches Webframework überhaupt benötigt.

Der glückliche (Java-)Entwickler

Nicht wenige Softwareentwickler sagen von sich, sie hätten ihren Traumberuf gewählt. Viele haben ihr Hobby zum Beruf gemacht. Da sollte man annehmen, dass die meisten auch große Freude an ihrer Arbeit haben. Doch ist das ein Trugschluss? In Gesprächen erfährt man häufig von Frust und Unzufriedenheit mit der Team- oder Projektsituation. Welche Voraussetzungen müssen also erfüllt sein, damit Softwareentwicklung Spaß macht? Welche Hindernisse gibt es regelmäßig? Welche Fehler werden verbreitet von Unternehmen gemacht? Als freiberuflicher Experte kommt man viel herum, sieht viele Teams und Projekte und erlebt so einige Anekdoten. In diesem Talk werden typische Beispiele aus fünfzehn Jahren Projekterfahrung vorgestellt, in denen Sie sich und Ihr Team sicher vereinzelt wiederfinden. Und es werden Wege aufgezeigt, um dem Ziel des glücklichen Java-Enwicklers ein großes Stück näherzukommen. Für Entwickler und Führungskräfte gleichermaßen geeignet.

JUG Darmstadt, 15.10.2015 in Darmstadt

MVC für Java EE

Mit Java EE 8 erhält die Plattform ein neues Webframework. Im Unterschied zu den JavaServer Faces (JSF) wird dieses nicht komponenten-, sondern actionbasiert sein. Eine Entscheidung, die durchaus kontrovers diskutiert wird. Während manche Entwickler eine jahrelange Hoffnung endlich erfüllt sehen, halten andere diesen Schritt für unnötig. Dieser Vortrag bietet einen Einstieg in die Thematik, skizziert Gründe für die Entscheidung und wirft einen ersten Blick auf die neue Spezifikation, die stark an JAX-RS angelehnt ist.

bedcon, 17.-18.09.2015 in Berlin

MVC - Actionbasierte Webentwicklung mit Java EE 8

Das kommende Java EE 8 beschert Entwicklern ein neues Web-Framework namens "MVC". Dabei handelt es sich um eine actionbasierte Alternative zum komponentenbasierten JSF. Das neue Framework wird unter anderem stark auf JAX-RS beruhen. Wer damit bereits Erfahrung gesammelt hat, sollte sich daher schnell zurecht finden. In dieser Session erfahren Teilnehmer alles Wissenswerte zu MVC. Mittels Live-Coding wird auf Basis des aktuellen Standes der Referenzimplementierung eine kleine Beispielanwendung erstellt.

Software Architecture Summit, 16.-18.09.2015 in Berlin

Sind Ihre (Micro-)Services lose gekoppelt?

Werden Anwendungs- oder Enterprise-Architekturen auf Basis von kooperierenden Services erstellt, zählt häufig die lose Kopplung dieser Services zu den genannten Architekturzielen. Interessanterweise stellt sich jedoch bei näherem Hinsehen oftmals heraus, dass die technische Umsetzung dieser Architekturen keineswegs zu einer besonders losen Kopplung geführt hat. Woran liegt das? Und was genau ist mit loser Kopplung eigentlich gemeint? Dieser Vortrag stellt mögliche Kriterien für die Beurteilung von Kopplung vor und zeigt auf, wie durch den Einsatz verschiedener Kommunikationsvarianten ganz unterschiedliche Grade von Kopplung erreicht werden können.