Pragmatische Web Services mit Dropwizard


Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services.
Dropwizard pulls together stable, mature libraries from the Java ecosystem into a simple, light-weight package that lets you focus on getting things done.
Dropwizard has out-of-the-box support for sophisticated configuration, application metrics, logging, operational tools, and much more, allowing you and your team to ship a production-quality web service in the shortest time possible.

Entwickelt von Coda Hale bei Yammer
Häufig auftretende Muster der Services bei Yammer in ein Framework extrahiert
Erstes Release: 2011-12-22 (Dropwizard 0.1.0)
Eigenständiges Projekt seit 2014 (Dropwizard 0.7.0)
Dropwizard bringt viele Standardkomponenten mit
Bekannte und gut abgehangene Bibliotheken: "Langweilige" Technologien
Gute Dokumentation
Wiederverwendung von Java EE Wissen
Alle Teile so gut wie möglich integriert
Operations friendly
Kurze Time-to-Market
Jetty als Web-Server (HTTP, HTTPS, HTTP/2)
Jersey (JAX-RS) als Web-Framework
Jackson für (De-) Serialisierung
Logback und SLF4J für Logging
Freemarker oder Mustache für Templates
JDBI oder Hibernate für Persistenz
Guava als Ergänzung zur Java Standardbibliothek
Hibernate Validator zur Validierung von Daten
Liquibase für Datenmigration
Guter Support für Tests (vorzugsweise JUnit)
…und vieles mehr, siehe Dropwizard User Manual
Healthchecks
Commands (ad-hoc ausführbare Aktionen)
Tasks (ad-hoc ausführbare Aktionen via HTTP)
Metrics (via Dropwizard Metrics)
Gut konfigurierbares Logging (Logback, SLF4J)
Einfaches Deployment als JAR-Datei
5 offiziell, 69 von der Community (Stand: 2016-10-17)
