SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
OSGi: Anwendungsszenarien, Auswahlkriterien
              und Ausblick


                Thementag OSGi

                   03.11.2009




                      Autor:
            Christoph Schmidt-Casdorff
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im JCP




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 3 / 27
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im Java




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 4 / 27
OSGi Rekapitulation

      Modularisierung
       – Statische Sicht auf die Auslieferungseinheiten
       – Reduziert und definiert die Abhängigkeiten der Module

      Life Cycle Layer
       – Module können zur Laufzeit de-/installiert werden
       – Dynamische Funktionalität
       – Selbstheilung des Systems

      Services
       – Korrespondenz der Funktionalität via Service-Registry
       – SOA light


OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick         Seite 5 / 27
Wo wird OSGi derzeit eingesetzt?

      Application Server
       – WebSphere, JonAS, Glassfish
               • setzen auf OSGi
        – JBoss, BEA
               • werden den Weg gehen
        – Siehe http://www.infoq.com/news/2008/02/osgi_jee

      Enterprise Service Bus
       – Apache ServiceMix 4.x
               • Siehe http://architects.dzone.com/articles/fuse-esb-4-osgi-based


      Frameworks
       – Spring, Guice

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                            Seite 6 / 27
Wo wird OSGi derzeit eingesetzt?

      Eclipse IDE
       – Eclipse Plugins sind OSGi-Bundles (seit 3.x)
       – Eclipse Equinox Project ist ein Open Source OSGi Framework

        – Integration in Laufzeitumgebung via Export/Import
        – Dynamische De-/Installation

      LinkedIn (http://www.linkedin.com/)
       – Soziales Netzwerk für Führungs- und Fachkräfte
       – http://raibledesigns.com/rd/entry/building_linkedin_s_next_generation




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                Seite 7 / 27
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im JCP




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 8 / 27
Einsatzszenarien
      Large Scale Application
       – Anwendung besteht aus sehr vielen funktionalen Einheiten
               • OSGi ermöglicht Management dieser Menge


      Funktionalität kann kommen und gehen (dynamische Funktionalität)
       – Dynamisches Monitoring / Profiling
       – Businessstatistiken / -auswertungen

      Funktionalität koexistiert in unterschiedlichen Versionen
       – Verarbeitungsvarianten je nach Eingabe
               • z.B. unterschiedlichen rechtlichen Grundlagen je nach Eingang


      Teile der Businesslogik können zeitweise ausfallen
       – Nicht-primäre Funktionalität fällt zeitweise aus
OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                         Seite 9 / 27
Einsatzszenarien II
      7*24 Verfügbarkeit
       – Neue Versionen/Bugfixes können ohne down time eingespielt
         werden

      Anwendung mit Beiträgen aus unterschiedlichen Quellen
       – Standortübergreifende Entwicklung
       – Integration von third party Software
       – Gesamtplattform mit unterschiedlichen Systemen
               • Jedes System hat einen eigenen Lebenszyklus


      Anwendung wird in unterschiedlichen Profilen/Varianten
      ausgeliefert
       – Jede Variante wird durch spezielle Funktionalität beschrieben
       – Siehe Eclipse
       – Software von der Stange
OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                 Seite 10 / 27
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im JCP




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 11 / 27
OSGi –Status Quo

      Modularisierung unter Java

      Dynamik von Modulen

      SOA light

      Betrieb von großen und / oder dynamischen Anwendungen




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick      Seite 12 / 27
OSGi – Status Quo

      Noch nicht ausgereifte Unterstützung der Entwicklungswerkzeuge
       – IDE, Build, Testing
       – Entwickeln sich aber mit Hochdruck
       – Die Community weiß um das Problem
               • Open Source wird es richten




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick       Seite 13 / 27
OSGi –Status Quo

      Programmiermodell
       – Programmiermodell ist komplex
       – Service Component Models wie Spring DM werden Bestandteil
         der Spezifikation
       – Ansätze, Komponentenmodelle auf eine höhere Sprachebene
         bringen
               • Domänenspezifische Sprache für OSGi
               • Siehe http://romanroe.blogspot.com/2008/03/dsl-for-osgi.html




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                        Seite 14 / 27
OSGi –Status Quo


      Integrationstest
       – Verfahren für Integrationstest ist komplex
       – Werkzeugunterstützung ist noch nicht ausgereift




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 15 / 27
OSGi –Status Quo

      OSGi-fizierung bestehender Frameworks

        – Viele bestehende Frameworks sind nicht in OSGi einzusetzen
               • Keine Manifest-Datei
               • Nicht-konformer Einsatz des Classloaders
               • Log4J, Hibernate


        – Alle wichtigen Frameworks arbeiten daran

        – Spring Source OSGi-fiziert wichtige Frameworks




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick               Seite 16 / 27
OSGi –Status Quo

      Betrieb unter OSGi
       – Provisioning
               • Wie bekomme ich meine Bundles in das Zielsystem
                   o Werkzeugunterstützung ist noch nicht ausgereift
                   o Plattformen wie Spring DM Server werden dieses Problem
                     in naher Zukunft entschärfen


        – Wie gewährleiste ich einen konsistenten Abnahmeprozess

        – Betrieb
               • Neue Technologie erfordert neue Kenntnisse




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                      Seite 17 / 27
OSGi – Status Quo
      OSGi ist Hype in der Javawelt, aber …

      Es fehlt an ausreichender Werkzeugunterstützung
       – Kommt kurz- bis mittelfristig

      Programmiermodell ist komplex
       – Wird kurz- bis mittelfristig entschärft

      Reine OSGi Frameworks sind komplex zu betreiben
       – Kommerzielle Plattformen adressieren dieses Problem
               • Spring DM Server


      JCP hat sich derzeit nicht auf OSGi vollständig eingelassen
       – Jigsaw als konkurrierendes Modulsystem
OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick            Seite 18 / 27
OSGi Ausblicke

      OSGi Spec. 4.2 liefert
       – Integration weiterer JEE Standards
               • JNDI, JTA, ….
        – Remote OSGi
               • Verteiltes OSGi über mehrere Knoten


      Werkzeugumgebung bewegt sich
       – Verbesserungen in Eclipse 3.5.x
       – Werkzeug-Familie PAX entwickelt sich aktiv




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 19 / 27
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im JCP




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 20 / 27
Zukunft von OSGi

      Wird OSGi ein zweites CORBA ?
       – Eine schwergewichtige Technologie, die sich überlebt hat

      OSGi ist reifer
       – Hat daher bessere Überlebenschancen

      OSGi hat einflussreiche Unterstützer
       – WebServer Anbieter
       – Apache, Eclipse, …




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick            Seite 21 / 27
Zukunft von OSGi

      … aber OSGi-Tooling muss seine Mängel möglichst schnell
      beheben
       – Insbesondere in der Infrastruktur

      … dann hat es aus unserer Sicht langfristige Perspektiven
      – Was immer langfristig in der heutigen IT bedeutet

      … aber die Welt braucht OSGi
      – Modularisierung und Dynamik




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick          Seite 22 / 27
Agenda

      Wo wird OSGi derzeit eingesetzt?

      Grundsätzliche Anwendungsszenarien

      OSGi Status Quo und Ausblicke

      Zukunft von OSGi

      Modularisierung im JCP




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 23 / 27
Modularisierung in JCP

      Java Community Process definiert, wie Standards in Java entstehen
       – Diese werden als Java Specification Request eingereicht
       – Sun hat die Hoheit über diesen Prozess

      Modularisierung im JCP
       – JSR 291 definiert ein Komponentenmodell für Java SE
       – JSR 232 definiert ein Komponentenmodell für Java ME
       – Beide spiegeln im wesentlichen OSGi wieder




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick         Seite 24 / 27
JSR 294

      … aber
      – JSR 294 definiert Spracherweiterungen für eine Modularisierung
      – Modulsysteme setzen auf JSR 294 auf
      – Siehe http://jcp.org/en/jsr/detail?id=294

      Spracherweiterungen umfassen
       – Superpackages fassen packages, superpackages zusammen
       – Definieren Sichtbarkeiten
       – Statisches Sprachmittel
       – JDK 7 ist Referenzimplementierung




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick            Seite 25 / 27
JSR 294 und Jigsaw

      OpenJDK implementiert ein Modulsystem über JSR 294
       – Project Jigsaw
       – Konkurrenz zu OSGi
       – OSGi ist ebenfalls bestrebt, auf JSR 294 aufzusetzen
       – OSGi ist bewährt, Jigsaw noch nicht fertig
       – Warum ein weiteres Modulsystem? -> offensichtlich politisches
         Minenfeld

        – Siehe
               • http://java.dzone.com/news/java-modularity-osgi-and
               • http://www.osgi.org/blog/2008/12/project-jigsaw-ii.html




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick                   Seite 26 / 27
JSR 294 - Beispiel

superpackage A {
       member package P;
       member superpackage B;
}
superpackage B member A {
       member superpackage C;
       export superpackage C;
}
superpackage C member B {
       member package Q;
       export Q.X;
}




OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick   Seite 27 / 27
Fragen?
www.iks-gmbh.com

Más contenido relacionado

Destacado

Portafolio estudiantil
Portafolio estudiantilPortafolio estudiantil
Portafolio estudiantilLeidyEnriquez
 
Informes de toxicologia
Informes de toxicologiaInformes de toxicologia
Informes de toxicologiadioslokis
 
Psicologia del color vista
Psicologia del color vistaPsicologia del color vista
Psicologia del color vistaalepatri19
 
Presentaciónmovemaker
PresentaciónmovemakerPresentaciónmovemaker
Presentaciónmovemakerjuanfenugu
 
ethority - International Social Network Studie
ethority - International Social Network Studieethority - International Social Network Studie
ethority - International Social Network Studieethority
 
Alpenfluestern Wiesn Highlights 2009 Handschellen
Alpenfluestern Wiesn Highlights 2009 HandschellenAlpenfluestern Wiesn Highlights 2009 Handschellen
Alpenfluestern Wiesn Highlights 2009 HandschellenAlpenflüstern
 
Alpenflüstern Kollektionen 2009
Alpenflüstern Kollektionen 2009Alpenflüstern Kollektionen 2009
Alpenflüstern Kollektionen 2009Alpenflüstern
 
Maria gomez
Maria gomezMaria gomez
Maria gomezvane_7
 
Guia 11 guisela reina (1)
Guia 11 guisela reina (1)Guia 11 guisela reina (1)
Guia 11 guisela reina (1)Guisela Reina
 
Presentation ISI 2009
Presentation ISI 2009Presentation ISI 2009
Presentation ISI 2009Nina Rebele
 
Regalo de tus primas
Regalo de tus primas Regalo de tus primas
Regalo de tus primas vehidalgo
 
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred Luhmann
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred LuhmannMobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred Luhmann
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred LuhmannBioMotion Tour
 

Destacado (20)

Todos fichados
Todos fichadosTodos fichados
Todos fichados
 
Portafolio estudiantil
Portafolio estudiantilPortafolio estudiantil
Portafolio estudiantil
 
Informes de toxicologia
Informes de toxicologiaInformes de toxicologia
Informes de toxicologia
 
tipos de telas
tipos de telastipos de telas
tipos de telas
 
Psicologia del color vista
Psicologia del color vistaPsicologia del color vista
Psicologia del color vista
 
Presentaciónmovemaker
PresentaciónmovemakerPresentaciónmovemaker
Presentaciónmovemaker
 
Mobile Applikationen: LeasePlan Mobil
Mobile Applikationen: LeasePlan MobilMobile Applikationen: LeasePlan Mobil
Mobile Applikationen: LeasePlan Mobil
 
EDV Schulungen
EDV SchulungenEDV Schulungen
EDV Schulungen
 
Enterprise 2.0
Enterprise 2.0Enterprise 2.0
Enterprise 2.0
 
ethority - International Social Network Studie
ethority - International Social Network Studieethority - International Social Network Studie
ethority - International Social Network Studie
 
Alpenfluestern Wiesn Highlights 2009 Handschellen
Alpenfluestern Wiesn Highlights 2009 HandschellenAlpenfluestern Wiesn Highlights 2009 Handschellen
Alpenfluestern Wiesn Highlights 2009 Handschellen
 
Exa mañana
Exa mañanaExa mañana
Exa mañana
 
Alpenflüstern Kollektionen 2009
Alpenflüstern Kollektionen 2009Alpenflüstern Kollektionen 2009
Alpenflüstern Kollektionen 2009
 
Maria gomez
Maria gomezMaria gomez
Maria gomez
 
Guia 11 guisela reina (1)
Guia 11 guisela reina (1)Guia 11 guisela reina (1)
Guia 11 guisela reina (1)
 
Presentation ISI 2009
Presentation ISI 2009Presentation ISI 2009
Presentation ISI 2009
 
Regalo de tus primas
Regalo de tus primas Regalo de tus primas
Regalo de tus primas
 
Neues Jahr 2009
Neues  Jahr 2009Neues  Jahr 2009
Neues Jahr 2009
 
Bergtour
BergtourBergtour
Bergtour
 
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred Luhmann
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred LuhmannMobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred Luhmann
Mobilität Mit Biogas - Mischbetrieb Diesel//Biogas - Alfred Luhmann
 

Más de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Más de IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

OSGi Anwendungsszenarien, Auswahlkriterien und Ausblick

  • 1. OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Thementag OSGi 03.11.2009 Autor: Christoph Schmidt-Casdorff
  • 2. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCP OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 3 / 27
  • 3. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im Java OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 4 / 27
  • 4. OSGi Rekapitulation Modularisierung – Statische Sicht auf die Auslieferungseinheiten – Reduziert und definiert die Abhängigkeiten der Module Life Cycle Layer – Module können zur Laufzeit de-/installiert werden – Dynamische Funktionalität – Selbstheilung des Systems Services – Korrespondenz der Funktionalität via Service-Registry – SOA light OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 5 / 27
  • 5. Wo wird OSGi derzeit eingesetzt? Application Server – WebSphere, JonAS, Glassfish • setzen auf OSGi – JBoss, BEA • werden den Weg gehen – Siehe http://www.infoq.com/news/2008/02/osgi_jee Enterprise Service Bus – Apache ServiceMix 4.x • Siehe http://architects.dzone.com/articles/fuse-esb-4-osgi-based Frameworks – Spring, Guice OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 6 / 27
  • 6. Wo wird OSGi derzeit eingesetzt? Eclipse IDE – Eclipse Plugins sind OSGi-Bundles (seit 3.x) – Eclipse Equinox Project ist ein Open Source OSGi Framework – Integration in Laufzeitumgebung via Export/Import – Dynamische De-/Installation LinkedIn (http://www.linkedin.com/) – Soziales Netzwerk für Führungs- und Fachkräfte – http://raibledesigns.com/rd/entry/building_linkedin_s_next_generation OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 7 / 27
  • 7. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCP OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 8 / 27
  • 8. Einsatzszenarien Large Scale Application – Anwendung besteht aus sehr vielen funktionalen Einheiten • OSGi ermöglicht Management dieser Menge Funktionalität kann kommen und gehen (dynamische Funktionalität) – Dynamisches Monitoring / Profiling – Businessstatistiken / -auswertungen Funktionalität koexistiert in unterschiedlichen Versionen – Verarbeitungsvarianten je nach Eingabe • z.B. unterschiedlichen rechtlichen Grundlagen je nach Eingang Teile der Businesslogik können zeitweise ausfallen – Nicht-primäre Funktionalität fällt zeitweise aus OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 9 / 27
  • 9. Einsatzszenarien II 7*24 Verfügbarkeit – Neue Versionen/Bugfixes können ohne down time eingespielt werden Anwendung mit Beiträgen aus unterschiedlichen Quellen – Standortübergreifende Entwicklung – Integration von third party Software – Gesamtplattform mit unterschiedlichen Systemen • Jedes System hat einen eigenen Lebenszyklus Anwendung wird in unterschiedlichen Profilen/Varianten ausgeliefert – Jede Variante wird durch spezielle Funktionalität beschrieben – Siehe Eclipse – Software von der Stange OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 10 / 27
  • 10. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCP OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 11 / 27
  • 11. OSGi –Status Quo Modularisierung unter Java Dynamik von Modulen SOA light Betrieb von großen und / oder dynamischen Anwendungen OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 12 / 27
  • 12. OSGi – Status Quo Noch nicht ausgereifte Unterstützung der Entwicklungswerkzeuge – IDE, Build, Testing – Entwickeln sich aber mit Hochdruck – Die Community weiß um das Problem • Open Source wird es richten OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 13 / 27
  • 13. OSGi –Status Quo Programmiermodell – Programmiermodell ist komplex – Service Component Models wie Spring DM werden Bestandteil der Spezifikation – Ansätze, Komponentenmodelle auf eine höhere Sprachebene bringen • Domänenspezifische Sprache für OSGi • Siehe http://romanroe.blogspot.com/2008/03/dsl-for-osgi.html OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 14 / 27
  • 14. OSGi –Status Quo Integrationstest – Verfahren für Integrationstest ist komplex – Werkzeugunterstützung ist noch nicht ausgereift OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 15 / 27
  • 15. OSGi –Status Quo OSGi-fizierung bestehender Frameworks – Viele bestehende Frameworks sind nicht in OSGi einzusetzen • Keine Manifest-Datei • Nicht-konformer Einsatz des Classloaders • Log4J, Hibernate – Alle wichtigen Frameworks arbeiten daran – Spring Source OSGi-fiziert wichtige Frameworks OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 16 / 27
  • 16. OSGi –Status Quo Betrieb unter OSGi – Provisioning • Wie bekomme ich meine Bundles in das Zielsystem o Werkzeugunterstützung ist noch nicht ausgereift o Plattformen wie Spring DM Server werden dieses Problem in naher Zukunft entschärfen – Wie gewährleiste ich einen konsistenten Abnahmeprozess – Betrieb • Neue Technologie erfordert neue Kenntnisse OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 17 / 27
  • 17. OSGi – Status Quo OSGi ist Hype in der Javawelt, aber … Es fehlt an ausreichender Werkzeugunterstützung – Kommt kurz- bis mittelfristig Programmiermodell ist komplex – Wird kurz- bis mittelfristig entschärft Reine OSGi Frameworks sind komplex zu betreiben – Kommerzielle Plattformen adressieren dieses Problem • Spring DM Server JCP hat sich derzeit nicht auf OSGi vollständig eingelassen – Jigsaw als konkurrierendes Modulsystem OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 18 / 27
  • 18. OSGi Ausblicke OSGi Spec. 4.2 liefert – Integration weiterer JEE Standards • JNDI, JTA, …. – Remote OSGi • Verteiltes OSGi über mehrere Knoten Werkzeugumgebung bewegt sich – Verbesserungen in Eclipse 3.5.x – Werkzeug-Familie PAX entwickelt sich aktiv OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 19 / 27
  • 19. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCP OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 20 / 27
  • 20. Zukunft von OSGi Wird OSGi ein zweites CORBA ? – Eine schwergewichtige Technologie, die sich überlebt hat OSGi ist reifer – Hat daher bessere Überlebenschancen OSGi hat einflussreiche Unterstützer – WebServer Anbieter – Apache, Eclipse, … OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 21 / 27
  • 21. Zukunft von OSGi … aber OSGi-Tooling muss seine Mängel möglichst schnell beheben – Insbesondere in der Infrastruktur … dann hat es aus unserer Sicht langfristige Perspektiven – Was immer langfristig in der heutigen IT bedeutet … aber die Welt braucht OSGi – Modularisierung und Dynamik OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 22 / 27
  • 22. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCP OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 23 / 27
  • 23. Modularisierung in JCP Java Community Process definiert, wie Standards in Java entstehen – Diese werden als Java Specification Request eingereicht – Sun hat die Hoheit über diesen Prozess Modularisierung im JCP – JSR 291 definiert ein Komponentenmodell für Java SE – JSR 232 definiert ein Komponentenmodell für Java ME – Beide spiegeln im wesentlichen OSGi wieder OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 24 / 27
  • 24. JSR 294 … aber – JSR 294 definiert Spracherweiterungen für eine Modularisierung – Modulsysteme setzen auf JSR 294 auf – Siehe http://jcp.org/en/jsr/detail?id=294 Spracherweiterungen umfassen – Superpackages fassen packages, superpackages zusammen – Definieren Sichtbarkeiten – Statisches Sprachmittel – JDK 7 ist Referenzimplementierung OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 25 / 27
  • 25. JSR 294 und Jigsaw OpenJDK implementiert ein Modulsystem über JSR 294 – Project Jigsaw – Konkurrenz zu OSGi – OSGi ist ebenfalls bestrebt, auf JSR 294 aufzusetzen – OSGi ist bewährt, Jigsaw noch nicht fertig – Warum ein weiteres Modulsystem? -> offensichtlich politisches Minenfeld – Siehe • http://java.dzone.com/news/java-modularity-osgi-and • http://www.osgi.org/blog/2008/12/project-jigsaw-ii.html OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 26 / 27
  • 26. JSR 294 - Beispiel superpackage A { member package P; member superpackage B; } superpackage B member A { member superpackage C; export superpackage C; } superpackage C member B { member package Q; export Q.X; } OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 27 / 27