www.wikidata.de-de.nina.az
Die OSGi Alliance fruher Open Services Gateway initiative spezifizierte eine hardwareunabhangige dynamische Softwareplattform die es erleichtert Anwendungen und ihre Dienste per Komponentenmodell Bundle Service zu modularisieren und zu verwalten Service Registry Die OSGi Plattform setzt eine Java Virtual Machine JVM voraus und bietet darauf aufbauend das OSGi Framework OSGi Service PlatformBasisdatenEntwickler OSGi AllianceErscheinungsjahr Mai 2000 1 2 Aktuelle Version 7 3 4 Betriebssystem JavaProgrammiersprache JavaKategorie StandardLizenz OSGi Specification License OSGi Core Release 7 www osgi orgIm Jahr 2021 ubertrug die OSGi Alliance ihre Aufgabe an die OSGi Working Group der Eclipse Foundation 5 6 7 Von OSGi existieren inzwischen verschiedene Generationen die allesamt von der OSGi Alliance einem Industriekonsortium spezifiziert wurden Die Allianz besteht aus Grossunternehmen wie IBM Deutsche Telekom NTT und Oracle aber auch aus vielen kleineren Unternehmen u a aus dem Open Source Software Bereich OSS Bereich Der gemeinsam definierte OSGi Standard steht daher allen Interessenten offen und es existiert gleichfalls ein entsprechend liberales Patent Gesetzeswerk Die OSGi Alliance selbst spezifizierte hierbei lediglich die Programmierschnittstellen APIs und Testfalle fur OSGi Implementierungen von dritter Seite und stellte im Rahmen dessen auch eine Referenzimplementierung zur Verfugung Diese ist nicht fur den Produktiveinsatz gedacht sondern dient lediglich als Vorlage fur kommerzielle und OSS Alternativen Die im Ergebnis herstellerunabhangige generische OSGi Softwareplattform kann zur Steuerung oder Vernetzung aller Arten von Geraten eingesetzt werden z B in der Automobilindustrie in Handys in der Gebaudeautomation zur intelligenten Fernsteuerung von Hausgeraten oder im Bereich Assisted Living Besonders im Heimbereich spielt das Gateway Prinzip eine grosse Rolle d h hier wird haufig nicht unmittelbar ein OSGi Framework auf den jeweiligen Geraten installiert sondern auf sogenannten Residential Gateways sie konnen als eingebettetes System verstanden werden das vergleichbar einem DSL Router einzelnen Geraten den Zugriff auf bestimmte Dienste vermittelt oder von aussen den abstrakten Zugriff auf bestimmte Gerate ermoglicht Anders kommen OSGi Frameworks in Autos und Mobiltelefonen zum Einsatz hier laufen sie ohne zusatzliches Gateway direkt auf der leistungsfahigen eingebetteten Hardware Die Spezifikation der OSGi Service Platform definiert eine Java basierte Laufzeitumgebung oberhalb der JVM und deren Basisdienste Ein bedeutendes Merkmal der Service Plattform ist die Moglichkeit dynamisch und kontrolliert Service Anwendungen sogenannte Bundles zur Laufzeit einzuspielen und vor allem auch zu aktualisieren und wieder zu entfernen Das Modell der OSGi Service Plattform gibt damit die Moglichkeit verschiedene weitgehend unabhangige und modulare Anwendungen parallel in derselben virtuellen Maschine laufen zu lassen und diese wahrend des gesamten Lebenszyklus der Anwendung fern zu administrieren und zu aktualisieren Dabei werden Abhangigkeiten zwischen Bundles automatisch aufgelost und ein intelligentes Versionsmanagement steht zur Verfugung Die einzelnen Implementierungen der jeweiligen Hersteller bestehen meist aus dem OSGi Framework und idealerweise einer grossen Anzahl von Service Bundles Packages die aufgrund der modularen Architektur ebenfalls dynamisch hinzugefugt werden konnen Inhaltsverzeichnis 1 Definition OSGi Framework 2 OSGi im JCP 3 Anwendungsbeispiele 4 Einordnung OSGi amp System Schichten 5 Organisation 6 Board of Directors 7 Spezifikation 8 OSGi Frameworks 8 1 Kommerzielle bzw Closed Source OSGi Frameworks 8 2 Quelloffene OSGi Frameworks 9 Enterprise Application Server 10 Sonstiges 11 Komplementare Standards 12 Literatur 13 Weblinks 14 EinzelnachweiseDefinition OSGi Framework BearbeitenEin OSGi Framework ist eine offene modulare und skalierbare Service Delivery Platform auf Java Basis Es handelt sich um ein Komponentenmodell mit Komponenten Registry Service Registry Der Service Begriff der im OSGi Kontext oft fallt geht dabei kaum uber den allgemeinen Schnittstellen Begriff einer Komponente hinaus Wahrend serviceorientierte Architekturen als Paradigma zur unternehmensweiten Strukturierung von Systemlandschaften Ortstransparenz und Zugriffstransparenz erfordern sind die Moglichkeiten zur Programmierung verteilter Systeme nicht integraler Bestandteil des OSGi Frameworks welches seinen Ursprung in eingebetteten Systemen hat Im OSGi Framework steht die Komponente Bundle im Vordergrund die ihre Schnittstelle Service per Registry Service Registry JVM lokal veroffentlicht und das Re Deployment per Komponenten Lebenszyklus unterstutzt Das OSGi Framework als zugrundeliegendes Komponentenmodell einer SOA in einer Java Umgebung zu verwenden ist trotzdem letztlich moglich Sie ermoglicht in ihrer Auspragung als Software Basisplattform fur eingebettete Gerate die Vernetzung von intelligenten Endgeraten durch nachtragliche Auslieferung und Installation von Webservices zur Laufzeit Dies schliesst somit die Aufgabe der klassischen Fernsteuerung Ferndiagnose und wartung dieser Gerate mit ein Weiterhin wird die Verteilung von Informationen und multimedialen Unterhaltungsinhalten an diese Gerate uber geeignete Protokolle ermoglicht In ihrer Auspragung als Applikationscontainer im Enterprise Bereich ermoglicht sie die Realisierung einer SOA Plattform uber ihre entsprechenden feingranularen service basierten Java Spezifikationen Die auf den einzelnen Clients laufenden Anwendungen konnen gleichfalls per Remote Management uber geeignete Protokolle administriert werden OSGi im JCP BearbeitenOSGi wurde 2007 8 als JSR 291 Dynamic Component Support for Java SE im Rahmen des Java Community Process JCP als offizielles dynamisches Komponentenmodell fur Java angenommen neben JSR 232 Mobile Operational Management das sich auf mobile Umgebungen unter Java ME bezieht JSR 232 bzw JSR 232 246 248 9 korrespondiert dabei mit der R4 Mobile Spezifikation MEG und JSR 291 korrespondiert mit OSGi R4 1 Des Weiteren gibt es inhaltliche Beruhrungspunkte zu JSR 277 und JSR 294 Anwendungsbeispiele BearbeitenDer Einsatz von OSGi erfolgt typischerweise in Fahrzeugen Telematik mobilen Endgeraten Handys PDAs und im Bereich der Heimvernetzung Residential Gateways Router dort wiederum in den Bereichen Smart Grid Assisted Living oder der Gebaudeverwaltung Facilitymanagement Daruber hinaus kommt es auch in industriellen Automatisierungslosungen oder vollig anders gearteten eingebetteten Systemen Aviation Parksysteme etc zur Anwendung haufig auch im Zusammenspiel mit passenden Remote Management Losungen Ein weiteres Einsatzgebiet von OSGi ist die Integrierte Entwicklungsumgebung IDE Eclipse wo OSGi in Form des Equinox Frameworks die Rolle des Modul Systems fur die desktop bzw enterprise orientierten Plattform ubernimmt und dabei das Rich Client RCP Paradigma bedient Eclipse wurde ursprunglich vom OSGi Mitglied IBM entwickelt inzwischen ist Eclipse quelloffen OSS und Plugins fur Eclipse sind ab Version 3 OSGi Bundles Eclipse selbst ist somit ein Beispiel fur eine Enterprise Anwendung von OSGi die uber die ursprungliche eingebettete Ausrichtung hinausgeht dies hat im Umkehrschluss auch Auswirkungen auf die weitere Entwicklung der Spezifikation Daruber hinaus wird OSGi heute auch zur Modularisierung von Java J2EE basierten Application Servern eingesetzt wo es als Basis komplexerer Frameworks dient Uber diverse Aktivitaten im Java Community Process JSR 232 246 und 248 9 die federfuhrend u a von Nokia und Motorola gesteuert wurden fand OSGi auch als Teil einer Mobile Service Architecture MSA Einzug in Mobiltelefone Hierfur wurde es speziell fur die Erfordernisse in diesen Umgebungen angepasst und mit Standards wie OMA DM integriert Diese Entwicklung ist jedoch seit Android und HTML5 in dieser Form uberholt Im Breitband Bereich kombinieren bereits viele Produkte ein clientseitiges OSGi Framework ggf mit integriertem TR 069 Client mit einem OSGi Remote Management Server oder einem herkommlichen TR 069 ACS um einerseits die Fernkonfiguration und Administration von hochbandbreitigem Endanwender Equipment z B DSL Router Set Top Boxen Smart Meter Gateways Smart Home Gateways Energy Management Gateways etc und andererseits das Management von lokalen Apps zu in einer ganzheitlichen Ende zu Ende Losung zu kombinieren Als alternatives Protokoll fur den Telematik Bereich gilt das analog fur OMA DM basierte Losungen Durch die Standardisierung als generische Java Erweiterung JSR 291 einerseits und durch die Zusammenarbeit mit der HGI Home Gateway Initiative sind weitere neue Anwendungen im Embedded Umfeld zu erwarten Die Enterprise Schiene wiederum wird durch gesteigertes Interesse bei den Anbietern von Application Servern bzw dem RCP Eclipse Umfeld bedient Die OSGi Website listet zahlreiche weitere Anwendungsbeispiele Einordnung OSGi amp System Schichten Bearbeiten nbsp Die Abbildung zeigt den Schichtenaufbau einer typischen OSGi Architektur Server bedeutet in diesem Zusammenhang meist ein klassisches eingebettetes System nicht notwendigerweise einen Enterprise Server oder Desktop Client RCP obwohl OSGi sich auch in diese Richtung weiterentwickelt siehe Eclipse und Equinox Organisation BearbeitenGegrundet wurde die OSGi Alliance 1999 Ihr gehoren uber 100 Unternehmen aus unterschiedlichen Branchen an Diese Branchen werden innerhalb der Organisation durch verschiedene Arbeitsgruppen sog expert groups bedient die alle an der weiteren Spezifikation des Standards mitwirken und dadurch helfen dass der Standard industrieubergreifend eingesetzt werden kann Bei der Mitgliedschaft wird zwischen Full Members Adopters und Supporters unterschieden Die Allianz wird von einem Direktorium Board of Directors geleitet das jahrlich von seinen Vollmitgliedern gewahlt wird Zusatzlich zu den Unternehmensvertretern die als directors gewahlt werden gibt es noch sog officers die innerhalb des Direktoriums bestimmte Aufgaben ubernehmen und dem Direktorium zuarbeiten Auf der kommerziellen Ebene wird in diversen Komitees Committees zusammengearbeitet wahrend technische Fragen wie die Weiterentwicklung der Spezifikation von Release 1 uber 2 und 3 bis hin zu Version 4 von den diversen Arbeitsgruppen vorangetrieben werden Es existieren derzeit Stand Januar 2008 Expert Groups fur die Bereiche Residential Enterprise Mobile Vehicle und Core Platform Board of Directors BearbeitenZusammensetzung des Board of Directors in alphabetischer Ordnung nach reprasentierten Unternehmen Stand Oktober 2019 9 Carsten Ziegeler Adobe Inc Kai Hackbarth Bosch Software Innovations Dan Bandera IBM Corporation Ray Auge Liferay Hiroyuki Maeomichi NTT Tim Ward Paremus Prasad Yendluri Software AGSpezifikation BearbeitenDie aktuelle OSGi Spezifikation nennt sich OSGi Service Platform Release 5 adressiert J2ME CDC Java Plattformen und steht einschliesslich alterer Versionen und Errata auf der OSGi Website zur Verfugung OSGi Release 1 R1 Mai 2000 OSGi Release 2 R2 Oktober 2001 OSGi Release 3 R3 Marz 2003 OSGi Release 4 R4 Oktober 2005 September 2006 Kern Spezifikation R4 Core Oktober 2005 Kern Erweiterungen R4 Compendium Oktober 2005 Mobil Spezifikation R4 Mobile JSR 232 September 2006 OSGi Release 4 1 R4 1 Mai 2007 OSGi Release 4 2 R4 2 September 2009 Marz 2010 Kern Spezifikation R4 2 Core September 2009 Kern Erweiterungen R4 2 Compendium September 2009 Enterprise Erweiterungen R4 2 Enterprise Marz 2010 OSGi Release 4 3 R4 3 April 2011 Kern Spezifikation R4 3 Core April 2011 Kern Erweiterungen R4 3 Compendium Mai 2012 Residential Spezifikation R4 3 Residential Mai 2012 OSGi Release 5 R5 Juni 2012 Kern Spezifikation R5 Core Marz 2012 Enterprise Erweiterungen R5 Enterprise Marz 2012 OSGi Release 6 R6 Juni 2014 Kern Spezifikation R6 Core Juni 2014 OSGi Release 7 R7 Compendium Release 7 Specifications 25 April 2018 10 Die OSGi Alliance selbst spezifizierte lediglich die Ausfuhrungsumgebung die APIs und Testfalle fur OSGi Implementierungen von Dritter Seite und stellte im Rahmen dessen auch eine Referenzimplementierung zur Verfugung nbsp OSGi Frameworks BearbeitenDie Referenzimplementierung der OSGi Alliance ist nicht fur den Produktiveinsatz gedacht sondern dient lediglich als Vorlage fur andere Implementierungen Produktivtaugliche OSGi Frameworks sind von verschiedenen Anbietern erhaltlich einerseits als kostenlose frei verfugbare Open Source Losungen andererseits als kommerzielle Produkte Beide Varianten haben Vor und Nachteile Kommerzielle bzw Closed Source OSGi Frameworks Bearbeiten Kommerzielle bzw Closed Source Frameworks sind in der Regel zertifiziert starker anwendungsbezogen ausgerichtet bzw dahingehend optimiert und beinhalten neben dem eigentlichen Framework in der Regel weitere optionale Softwarepakete letztere bilden haufig die Basis fur kundenspezifische Auftragsarbeiten die sich auch in anwendungsbezogen optimierten Framework Varianten niederschlagen konnen z B fur den Mobilbereich Inwieweit die Nichtverfugbarkeit des Quellcodes hier Nachteile bietet ist im Einzelfall unterschiedlich zu gewichten zumal uber Verschwiegenheitserklarungen haufig Zugriff ermoglicht wird Kommerzielle R4 zertifizierte OSGi Service Platforms Frameworks sind folgende Stand Februar 2010 ProSyst Software mBedded Server Makewave Knopflerfish Pro Samsung OSGi R4 Solution HitachiSoft SuperJ Engine Framework KT OSGi Service Platform KOSP Quelloffene OSGi Frameworks Bearbeiten Open Source Frameworks sind in der Regel weniger anwendungsbezogen ausgerichtet oder im Gegenteil stark auf eine bestimmte Anwendung fokussiert siehe Equinox und oder von einem einzelnen Unternehmen dominiert das sein fruheres kommerzielles Produkt auf diesem Wege ausgekoppelt hat oder von Anfang an als OSS Produkt pflegt Teilweise werden auch aufgewertete OSS Losungen kommerziell vertrieben Inwieweit die Quellcodeverfugbarkeit hier Vorteile bietet ist im Einzelfall unterschiedlich zu gewichten Liste der OSS OSGi Frameworks Equinox getrieben von Eclipse Enterprise mBedded Server Equinox Edition OSS Produkt von ProSyst basierend auf dem Equinox Framework von Eclipse erganzt um zusatzliche Features Oscar ursprunglich akademisches Projekt wird inzwischen als Apache Felix weiterentwickelt Apache Felix Community Projekt der Apache Software Foundation Knopflerfish ursprunglich kommerzielles Embedded Produkt von Gatespace Concierge leichtgewichtige OSGi Implementierung fur mobile und eingebettete Systeme Jadabs rudimentarer Ansatz Zitat A dynamic lightweight container for small devices in a distributed environment Native OSGi Implementierung in C C Enterprise Application Server BearbeitenSpring Dynamic Modules von Spring Source heute Pivotal wird inzwischen als Gemini Blueprint von Eclipse weitergefuhrt Gemini Blueprint von Eclipse JOnAS von Bull OW2 WebSphere Application Server von IBM via JSR 291 als Feature Pack for OSGi Applications WebSphere Application Server Community Edition freie Lizenz von IBM via JSR 291 als Feature Pack for OSGi Applications BEA WebLogic von BEA via microService Architecture wurde inzwischen von Oracle ubernommen Glassfish von Sun spater von Oracle ubernommen jetzt Eclipse Foundation WildFly von JBoss bzw Red HatSonstiges BearbeitenEclipse generische IDE der Eclipse Foundation Nuxeo Enterprise Platform Content Management SystemKomplementare Standards BearbeitenMHP OCAP UPnP HomePlug Local Operating Network LON CORBA CEBus EHS CECED CHAIN TR 069Relevante RFCs und Java Standards RFC 2608 Service Location Protocol Version 2 Juni 1999 englisch Sun Jini Java Intelligent Network Infrastructure Literatur BearbeitenOSGi Service Platform Release 3 2003 IOS Press Amsterdam 2004 ISBN 1 58603 311 5 englisch Bernd Weber Patrick Baumgartner Oliver Braun OSGi fur Praktiker Prinzipien Werkzeuge und praktische Anleitungen auf dem Weg zur kleinen SOA Hanser Verlag 2010 ISBN 978 3 446 42094 6 Gerd Wutherich Nils Hartmann Bernd Kolb Matthias Lubken Die OSGi Service Platform Eine Einfuhrung mit Eclipse Equinox dpunkt verlag 2008 ISBN 978 3 89864 457 0 Christoph Schmidt Casdorff Thorsten Vogel OSGi Einstieg und Uberblick Entwickler Press 2008 ISBN 978 3 86802 043 4 Neil Bartlett OSGi In Practice DRAFT ed 10 Januar 2009 njbartlett github io Frei verfugbares Buch im Entwurfsstadium mit praktischen Beispielen englisch Kirk Knoernschild Java Application Architecture Modularity Patterns with Examples Using OSGi englisch Holly Cummins Timothy Ward Enterprise Osgi in Action With Examples Using Apache Aries englisch ISBN 978 1 61729 013 8 Richard S Hall Karl Pauls Stuart McCulloch David Savage OSGi in Action Creating Modular Applications in Java Manning New York April 2011 ISBN 1 933988 91 6 Alexandre De Castro Alves OSGi in Depth Manning New York Dezember 2011 ISBN 978 1 935182 17 7 Weblinks Bearbeiten nbsp Commons OSGi Sammlung von Bildern Videos und Audiodateien Direkter Spezifikationsdownload R1 R8 sowie Entwurfsversion des nachsten OSGi Release 1 2 Vorlage Toter Link www2 osgi org OSGi Alliance Developer Site Seite nicht mehr abrufbar festgestellt im Dezember 2022 Suche in Webarchiven Public Wiki amp APIs Spring OSGi Specification v0 7 Memento vom 29 April 2008 im Internet Archive OSGi Services im Spring J2EE Framework Uber die OSGi Alliance Memento vom 23 September 2020 im Internet Archive OSGi Blog offizielles Blog des OSGi Evangelist der OSGi Mobile OSGi Blog Blog zu OSGi in Mobilgeraten Holger Funke Das OSGi Framework Memento vom 12 Juni 2015 im Internet Archive Onlineartikel zur Einfuhrung in das OSGi Framework 2009 deutsch Heiko Seeberger Erste Schritte mit OSGi Memento vom 14 November 2013 im Internet Archive 4 teiliger Onlineartikel 2008 deutsch OSGi Remote Management Remote Management von Geraten mit OSGi OSGi by Example PDF 2 6 MB NativeOSGiRelevante RFCs und Java Standards Sun JCP JSR 277 Java Module System Sun JCP JSR 232 Mobile Operational Management OSGi R4 MEG Sun JCP JSR 246 Device Management API Sun JCP JSR 249 Mobile Service Architecture for CDC Sun JCP JSR 291 Dynamic Component Support for Java SE OSGi R4 1 Einzelnachweise Bearbeiten OSGi Specifications OSGi Service Gateway Specification Release 1 0 PDF OSGi Release 7 April 2018 Rainald Menge Sonnentag OSGi Alliance ubergibt Projekte der Eclipse Foundation und lost sich auf In heise online 20 Oktober 2020 abgerufen am 23 Dezember 2022 Dan Bandera Announcement of Transition to Eclipse Foundation Memento vom 3 Juli 2022 im Internet Archive in blog osgi org 19 Oktober 2020 englisch The OSGi Alliance Transfers Governance of the OSGi Specifications to Open Source Software Leader the Eclipse Foundation In eclipse org 27 April 2021 abgerufen am 23 Dezember 2022 englisch JSR 291 Abgerufen am 15 Januar 2020 Board amp Officers OSGi Alliance Nicht mehr online verfugbar Archiviert vom Original am 17 Januar 2021 abgerufen am 18 Oktober 2019 OSGi Core Release 7 and Compendium Release 7 Now Available In businesswire 25 April 2018 abgerufen am 23 Dezember 2022 englisch Abgerufen von https de wikipedia org w index php title OSGi amp oldid 235576447