08. Dezember 2016

synTechTalk: OSGI Advanced

synTechTalk: OSGI advanced - Bild: Lily http://www.freevector.com/jigsaw-puzzle (CC BY 4.0), synaix

Nach der Einführung in die Welt von OSGI gehen wir in diesem Beitrag einen Schritt weiter und beschäftigen uns mit einigen Tricks und Hilfsmitteln, mit denen wir die Services noch einfacher und besser gestalten können.

Alle hier vorgestellten Beispiele wurden auf dem Apache Servicemix getestet. Die Beispiele sollten auch in anderen Containern laufen, dafür sind ggf. einige kleinere Anpassungen notwendig. (Ein Hoch auf den Standard! ;-))

Funfact: Best Practice

Wenn man sich tiefergehend mit dem Standard beschäftigt und ein wenig recherchiert, stößt man auf einige Best Practices bezüglich OSGI. Doch nun kommt der absolute Geheimtipp: Wenn man mit OSGI arbeiten möchte, dann hält man sich am besten weit entfernt von den implementierten Klassen des Standards.

Uups! Wie kann es denn Best Practice sein, nicht mit OSGI zu arbeiten, wenn man mit OSGI arbeiten möchte? Ganzen Beitrag lesen

22. Juni 2016

synTechTalk: OSGI – eine Einführung

synTechTalk: OSGI - eine Einführung - Bild: Lily http://www.freevector.com/jigsaw-puzzle (CC BY 4.0)

Heute im synTechTalk: Eine Einführung in OSGI.

Weg von monolithischen Anwendungen, hin zu unabhängigen Services. Diesen Slogan hat sich die OSGI-Alliance (Open Services Gateway initiative) auf die Flagge geschrieben und viele Entwickler springen auf diesen Zug auf.

Der OSGI Standard

Die OSGI-Alliance hat einen Standard entwickelt, der es erlaubt, viele einzelne Java-Services zu verwalten. Das hat den Vorteil, dass diese Services unabhängig voneinander ausgetauscht werden können und laufen können. Es ist ebenfalls möglich, Services auf mehrere Systeme zu verteilen um eine Micro Service Architektur aufzubauen.

Die OSGI stellt dafür, wie bereits erwähnt, nur den Standard zur Verfügung. Daher gibt es mehrere unterschiedliche Implementierungen. Das Gute an dem Standard ist jedoch, dass entwickelte Inhalte auf jeder OSGI-Umgebung laufen können.

Mit dem Standard arbeiten: von Bundles und Services

Im Kontext von OSGI gibt es zwei wesentliche Begriffe: Bundles und Services.

Bundles sind abgeschlossene Softwareeinheiten, die für eine bestimmte Aufgabe implementiert werden. Bundles sind Java-Programme ohne Main-Methode. Stattdessen haben sie eine Activator-Klasse, die für das Starten eines Bundles zuständig ist.

Ganzen Beitrag lesen