Navigation

Seiten der Rubrik "Bücher"


Google Anzeigen

Anzeigen

Bücher

Entwickler.press: OSGi


Statistiken
  • 9772 Aufrufe

Informationen zum Buch
  ISBN
  Buchreihe
  Autoren
  Verlag
  Sprache
  Seiten
  Erscheinungsjahr
  Extras

Rezension von

Marc-Florian Wendland

OSGi Wer in der Java-Sprachdefinition Möglichkeiten für eine komponentenbasierte Software-Architektur sucht, wird feststellen, dass aktuell (ab Version 1.7 soll dem zumindest teilweise abgeholfen werden) keine Konzepte zu diesem Zweck definiert wurden. Als 1999 prominente Vertreter der IT-Branche an einer komponentenbasierten Infrastruktur zur Entwicklung eingebetteter Software arbeiteten, war dies der Beginn der OSGi Alliance. Dieses Konsortium betreut und treibt die (Weiter-)Entwicklung der Spezifikation und stellt darüber eine Referenzimplementierung zur Verfügung. Mittlerweile haben sich zahlreiche kommerzielle und freie Implementierungen auf dem Markt etabliert. Populäre Vertreter der Open Source-Implementierungen sind sicherlich Equinox, Felix und Knopflerfish. So einfach die Idee von OSGi auch ist, der Teufel steckt bekanntlich im Detail. Und davon gibt es bei OSGi jede Menge. Mit dem diskutierten Buch liegt nun ein kompakter Überblick über die Dienste und Architektur der OSGi Plattform vor. Das vorliegende Buch behandelt die OSGi Service Plattform in sechs teilweise aufeinander aufbauenden Kapitel. Das erste Kapitel präsentiert sich dabei als knapp gehaltene Einführung in die Thematik, sowie die Abgrenzung zur Programmiersprache Java. Den essentielle Teil des Buches erschlägt das zweite Kapitel. In ihm werden die fundamentalen Konzepte der OSGi erläutert, der Lebenszyklus von „Bundles“ und das Abfragen von Services besprochen. Kapitel 3 betrachtet einige OSGI-spezifische Konzepte mit den Augen eines Entwicklers. So wird vor allem die in OSGi verwendete Pattern-Sammlung besprochen. Kapitel 4 widmet sich den von der OSGi Core-Spezifikation definierten Standard Services, die jede Implementierung anbieten muss, während im letzten inhaltlichen Kapitel vorwiegend die deklarativen Services und das so genannte „Service Component Model“ besprochen wird. Das abschließende sechste Kapitel wirft einen Blick auf die (mittlerweile freigegebene) Version 4.2 und deren wichtigste Erweiterung „Distributed OSGi“. Die Kritik des vorliegenden Buches „OSGi“ gestaltet sich schwierig, da ich über die Intention des Buch ambivalente Sichtweisen besitze. Es eignet sich weder als Einstieg in die Programmierung mit OSGi – dies steht sogar explizit in den einführenden Worten der Autoren zu Beginn –, noch als Hilfestellung bei kniffligen Design-Entscheidungen, denn dazu kratzt es viel zu sehr an der Oberfläche. Was die Autoren in ihrem Buch präsentieren sind Erläuterungen zu der (per se schon sehr gut lesbaren) Spezifikation der OSGi. Konsequent werden die Ausführungen der Spezifikationen mit eigenen Worten und eigenen Schaubildern rezitiert. Zwar bemühen sich die Autoren mit viel Worten die Vorzüge des einen Konzepts, einem anderen gegenüber herauszuarbeiten, leider gelingt es ihnen nur selten ein tief greifendes Verständnis aufzubauen, warum und wann ersteres die adäquatere Wahl darstellt. Beispielhaft sei der Vergleich zweier zentraler OSGi-Pattern herangezogen. Am Ende einer gegenüberstellenden Diskussionen wird innerhalb eines Merkblockes kundgetan, dass wenn möglich, immer das Extender-Pattern dem Whiteboard-Pattern vorzuziehen sei. Es findet sich überhaupt keine Erläuterung dazu, wie das nun zu bewerkstelligen ist. An Stellen wie dieser geht das Konzept eines reinen Informationsbuches zu OSGi nicht auf. Es fehlt die Demonstration der praktischen Anwendbarkeit/Vorteile der diskutierten Konzepte. Es bleibt auf einem oftmals viel zu hohen Abstraktionsniveau. Das sich das Buch nur schwer einer Zielgruppe zuordnen lässt, wird zusätzlich durch den Fakt untermauert, dass es auf dem Umschlag explizit als „Einstieg und Überblick“ deklariert wird, die Autoren schreiben allerdings bereits auf der zweiten Seite, dass es sich eben nicht um eine Einstiegslektüre handelt, sondern eher an den fortgeschrittenen Entwickler gerichtet ist. Aber jene Entwickler sind meines Erachtens eher mit der Spezifikation vertraut und benötigen keine Erläuterungen, was ein Bundle ist und was die einzelnen Manifest-Header bedeuten. Hilfreicher und wertvoller würde sich das Buch präsentieren, wenn die Autoren problematische Situationen identifizierten und praktische Lösungen aus diesem oder jenem Dilemma fänden. Das die Autoren wissen, worüber sie schreiben und dass sie OSGi sicherlich in mehr als einem Projekt angewendet haben, daran mag kein Zweifel bestehen. Dennoch lesen sich die Ausführungen der Autoren eher wie Coaching-Texte, die zwar viel vermitteln, von denen jedoch wenig hängen bleiben wird. Positiv gefiel indes die interne Abstufung von Basis- und Expertenwissen innerhalb der einzelnen Abschnitte. Dadurch sind die Rezipienten in der Lage selbst zu entscheiden, ob das bis dato gelesene Wissen erfolgreich gefestigt wurde und mit der Expertensektion begonnen werden kann, oder ob dieser Abschnitt besser übersprungen werden sollte. Ideen dieser Art hätte ich mir mehr für dieses kompakte Buch gewünscht. Fazit: Für wen ist das Buch geeignet? Am ehesten würde ich das Buch lehrenden Dozenten ans Herz legen, die über die OSGi Service Plattform zu referieren gedenken. Interessierte Einsteiger, sowie versierte Profis werden meines Erachtens nach kaum einen effektiven Nutzen ziehen könnens. Schlussendlich handelt es sich um ein nicht zu Ende gedachtes und in sich widersprüchlich konzipiertes Buch, dass sich an mancher Stelle wie eine Übersetzung der OSGi-Spezifikation liest.

Wer in der Java-Sprachdefinition Möglichkeiten für eine komponentenbasierte Software-Architektur sucht, wird feststellen, dass aktuell (ab Version 1.7 soll dem zumindest teilweise abgeholfen werden) keine Konzepte zu diesem Zweck definiert wurden. Als 1999 prominente Vertreter der IT-Branche an einer komponentenbasierten Infrastruktur zur Entwicklung eingebetteter Software arbeiteten, war dies der Beginn der OSGi Alliance. Dieses Konsortium betreut und treibt die (Weiter-)Entwicklung der Spezifikation und stellt darüber eine Referenzimplementierung zur Verfügung. Mittlerweile haben sich zahlreiche kommerzielle und freie Implementierungen auf dem Markt etabliert. Populäre Vertreter der Open Source-Implementierungen sind sicherlich Equinox, Felix und Knopflerfish. So einfach die Idee von OSGi auch ist, der Teufel steckt bekanntlich im Detail. Und davon gibt es bei OSGi jede Menge. Mit dem diskutierten Buch liegt nun ein kompakter Überblick über die Dienste und Architektur der OSGi Plattform vor.

weitere Rezensionen von Marc-Florian Wendland

#
rezensiert seit
Buchtitel
2
12.10.2010
3
12.10.2010
4
12.10.2010
5
01.10.2010

Das vorliegende Buch behandelt die OSGi Service Plattform in sechs teilweise aufeinander aufbauenden Kapitel. Das erste Kapitel präsentiert sich dabei als knapp gehaltene Einführung in die Thematik, sowie die Abgrenzung zur Programmiersprache Java. Den essentielle Teil des Buches erschlägt das zweite Kapitel. In ihm werden die fundamentalen Konzepte der OSGi erläutert, der Lebenszyklus von „Bundles“ und das Abfragen von Services besprochen. Kapitel 3 betrachtet einige OSGI-spezifische Konzepte mit den Augen eines Entwicklers. So wird vor allem die in OSGi verwendete Pattern-Sammlung besprochen. Kapitel 4 widmet sich den von der OSGi Core-Spezifikation definierten Standard Services, die jede Implementierung anbieten muss, während im letzten inhaltlichen Kapitel vorwiegend die deklarativen Services und das so genannte „Service Component Model“ besprochen wird. Das abschließende sechste Kapitel wirft einen Blick auf die (mittlerweile freigegebene) Version 4.2 und deren wichtigste Erweiterung „Distributed OSGi“.

Die Kritik des vorliegenden Buches „OSGi“ gestaltet sich schwierig, da ich über die Intention des Buch ambivalente Sichtweisen besitze. Es eignet sich weder als Einstieg in die Programmierung mit OSGi – dies steht sogar explizit in den einführenden Worten der Autoren zu Beginn –, noch als Hilfestellung bei kniffligen Design-Entscheidungen, denn dazu kratzt es viel zu sehr an der Oberfläche. Was die Autoren in ihrem Buch präsentieren sind Erläuterungen zu der (per se schon sehr gut lesbaren) Spezifikation der OSGi. Konsequent werden die Ausführungen der Spezifikationen mit eigenen Worten und eigenen Schaubildern rezitiert.

Zwar bemühen sich die Autoren mit viel Worten die Vorzüge des einen Konzepts, einem anderen gegenüber herauszuarbeiten, leider gelingt es ihnen nur selten ein tief greifendes Verständnis aufzubauen, warum und wann ersteres die adäquatere Wahl darstellt. Beispielhaft sei der Vergleich zweier zentraler OSGi-Pattern herangezogen. Am Ende einer gegenüberstellenden Diskussionen wird innerhalb eines Merkblockes kundgetan, dass wenn möglich, immer das Extender-Pattern dem Whiteboard-Pattern vorzuziehen sei. Es findet sich überhaupt keine Erläuterung dazu, wie das nun zu bewerkstelligen ist. An Stellen wie dieser geht das Konzept eines reinen Informationsbuches zu OSGi nicht auf. Es fehlt die Demonstration der praktischen Anwendbarkeit/Vorteile der diskutierten Konzepte. Es bleibt auf einem oftmals viel zu hohen Abstraktionsniveau.

Das sich das Buch nur schwer einer Zielgruppe zuordnen lässt, wird zusätzlich durch den Fakt untermauert, dass es auf dem Umschlag explizit als „Einstieg und Überblick“ deklariert wird, die Autoren schreiben allerdings bereits auf der zweiten Seite, dass es sich eben nicht um eine Einstiegslektüre handelt, sondern eher an den fortgeschrittenen Entwickler gerichtet ist. Aber jene Entwickler sind meines Erachtens eher mit der Spezifikation vertraut und benötigen keine Erläuterungen, was ein Bundle ist und was die einzelnen Manifest-Header bedeuten. Hilfreicher und wertvoller würde sich das Buch präsentieren, wenn die Autoren problematische Situationen identifizierten und praktische Lösungen aus diesem oder jenem Dilemma fänden.

Das die Autoren wissen, worüber sie schreiben und dass sie OSGi sicherlich in mehr als einem Projekt angewendet haben, daran mag kein Zweifel bestehen. Dennoch lesen sich die Ausführungen der Autoren eher wie Coaching-Texte, die zwar viel vermitteln, von denen jedoch wenig hängen bleiben wird.

Positiv gefiel indes die interne Abstufung von Basis- und Expertenwissen innerhalb der einzelnen Abschnitte. Dadurch sind die Rezipienten in der Lage selbst zu entscheiden, ob das bis dato gelesene Wissen erfolgreich gefestigt wurde und mit der Expertensektion begonnen werden kann, oder ob dieser Abschnitt besser übersprungen werden sollte. Ideen dieser Art hätte ich mir mehr für dieses kompakte Buch gewünscht.

Fazit: Für wen ist das Buch geeignet? Am ehesten würde ich das Buch lehrenden Dozenten ans Herz legen, die über die OSGi Service Plattform zu referieren gedenken. Interessierte Einsteiger, sowie versierte Profis werden meines Erachtens nach kaum einen effektiven Nutzen ziehen könnens. Schlussendlich handelt es sich um ein nicht zu Ende gedachtes und in sich widersprüchlich konzipiertes Buch, dass sich an mancher Stelle wie eine Übersetzung der OSGi-Spezifikation liest.

geschrieben am 03.01.2010 | 746 Wörter | 4673 Zeichen

Kommentare lesen Kommentar schreiben

Kommentare zur Rezension (0)

Platz für Anregungen und Ergänzungen