Dropwizard 1.0 erschienen: Microservice-Framework unterstützt HTTP/2 und Java 8

Hartmut Schlosser

(c) Shutterstock / Ollyy

Das Java-Framework Dropwizard ist in der Version 1.0 erschienen. Ursprünglich entstanden für die Entwicklung von RESTful Webservices, hat sich das Projekt als guter Ausgangspunkt für Microservice-Anwendungen etabliert.

Microservices mit Dropwizard

Dropwizard ist ein Framework, das verschiedene Libraries und Tools aus dem Java-Ökosystem bündelt, um RESTful Webservices zu entwickeln. Als Servlet-Container und HTTP-Server kommt Jetty zum Einsatz. REST-Services werden mit der JAX-RS-Implementierung Jersey gebaut, die auch ein einfaches Mapping von Java-Objekten in HTTP Requests ermöglicht. Das Projekt Jackson sorgt für die Kommunikation via JSON, zur Überwachung der Anwendungsperformance dient die Library Metrics.

Der Clou ist nun, dass sich diese Konstellation sehr gut für Microservices-Anwendungen eignet. Mit nur wenigen Klassen lässt sich ein Microservice entwickeln, der dann nicht in einen Webserver deployt werden muss. Stattdessen wird der Webserver aus der Main-Methode des Microservices heraus gestartet. Für die Kommunikation mit den anderen Services integriert Dropwizard einen Apache HTTP und einen Jersey Client, bietet HTTP-Basic-Authentifizierung und OAuth2 sowie Logback und SLF4J für das Logging.

Dropwizard 1.0

Im Vergleich zur Vorgänger-Version 0.9.2 zeichnet sich Dropwizard 1.0 vor allem durch zwei Neuerungen aus: Das Framework basiert nun vollständig auf Java 8, was die durchgängige Nutzung von Features wie Lambda Expressions ermöglicht. Zum zweiten wird nun der HTTP/2-Standard unterstützt, der den bisherigen Support für SPDY ersetzt.

Die Unterstützung von HTTP/2 geht mit dem Upgrade auf den Jetty-Server 9.3.9 einher und ermöglicht u.a. Server-Push-Operationen. Ein Server kann einer angefragten Ressource dadurch zusätzliche Informationen mitgeben, was beispielsweise Performance-Optimierungen für Webseiten bringt, die viele statische Assets enthalten.

Darüberhinaus zeichnet sich Dropwizard 1.0 durch Sicherheits-Fixes und zahlreiche aktualisierte Abhängigkeiten aus. Neben dem schon erwähnten Jetty 9.3.9 werden nun Apache HTTP Client 4.5.2, Hibernate 5.1.0, JDBI 2.73, Joda-Time 2.9.4, SLF4J 1.7.21 und Guava 19.0 unterstützt. Eine vollständige Liste der Updates findet sich in den Release Notes auf der Projektseite.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: