Eine JVM Runtime für REST Services

Swookiee

Lars Pfannenschmidt
© iStockphoto.com/Gutzemberg

Die meisten großen datengetriebenen Anwendungen, die nicht auf Batchtechnologien wie Hadoop oder Ähnlichem beruhen, stellen ihre Services via REST bereit. Moderne Softwareprojekte haben die Aufgabe, solche Applikationen möglichst schnell zu entwickeln, zu dokumentieren und ihren Zustand zu überwachen. Insbesondere in dynamischen, agilen Umgebungen, in denen Continuous Delivery und Continuous Deployment den Erfolg garantieren, ist ein entsprechend detailliertes Monitoring der Anwendung unentbehrlich. Allerdings ist gerade dies für den Entwickler äußerst mühselig. Swookiee („shaved wookiee“) ist eine Open-Source-Laufzeitumgebung, die es sich zur Aufgabe gemacht hat, genau diese Prozedur für den Entwickler zu vereinfachen und zu verkürzen.

Die Services können, je nach Belieben, in Java, Groovy oder Scala geschrieben werden. In diesem Artikel wird demonstriert, wie sich JVM-basierte REST Services mit JAX-RS 2 und Jersey als dessen Implementierung zusammen mit Jetty, Jackson und der Equinox OSGi Runtime implementieren lassen. Außerdem wird veranschaulicht, wie diese Services unter Einsatz einer interaktiven Swagger-Dokumentation angereichert und verständlicher gemacht werden können. Im Folgenden wird diskutiert, wie man mithilfe von Werkzeugen wie Elasticsearch, Logstash, Kibana (ELK) und JSON Logging den Überblick über den Status seiner auf mehrere Knoten verteilten Applikation verbessert. Außerdem wird gezeigt, wie mithilfe des Java-Metrics-API tiefe Einblicke bis in die eigene Geschäftslogik gewonnen werden können.

Zudem soll demonstriert werden, wie sich die Swookiee Runtime durch eine simple Implementierung der OSGi-Cloud-Spezikation RFC-182 via REST fernsteuern lässt.

(Den vollständigen Artikel finden Sie in der Java Magazin Ausgabe 9.14)

Geschrieben von
Lars Pfannenschmidt
Lars Pfannenschmidt
Lars Pfannenschmidt beschäftigt sich vorrangig mit Themen rund um Internet of Things, Mobilen Applikationen, Machine Learning, Big Data und Agilen Vorgehensmodellen wie Scrum und Kanban. Lars arbeitet als Staff Software Engineer bei der Intuit Inc. und ist Mitgründer der mobile.cologne User Group in Kölle.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: