OSGi: Anwendungsszenarien, Auswahlkriterien              und Ausblick                Thementag OSGi                   03.1...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
OSGi Rekapitulation      Modularisierung       – Statische Sicht auf die Auslieferungseinheiten       – Reduziert und defi...
Wo wird OSGi derzeit eingesetzt?      Application Server       – WebSphere, JonAS, Glassfish               • setzen auf OS...
Wo wird OSGi derzeit eingesetzt?      Eclipse IDE       – Eclipse Plugins sind OSGi-Bundles (seit 3.x)       – Eclipse Equ...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
Einsatzszenarien      Large Scale Application       – Anwendung besteht aus sehr vielen funktionalen Einheiten            ...
Einsatzszenarien II      7*24 Verfügbarkeit       – Neue Versionen/Bugfixes können ohne down time eingespielt         werd...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
OSGi –Status Quo      Modularisierung unter Java      Dynamik von Modulen      SOA light      Betrieb von großen und / ode...
OSGi – Status Quo      Noch nicht ausgereifte Unterstützung der Entwicklungswerkzeuge       – IDE, Build, Testing       – ...
OSGi –Status Quo      Programmiermodell       – Programmiermodell ist komplex       – Service Component Models wie Spring ...
OSGi –Status Quo      Integrationstest       – Verfahren für Integrationstest ist komplex       – Werkzeugunterstützung is...
OSGi –Status Quo      OSGi-fizierung bestehender Frameworks        – Viele bestehende Frameworks sind nicht in OSGi einzus...
OSGi –Status Quo      Betrieb unter OSGi       – Provisioning               • Wie bekomme ich meine Bundles in das Zielsys...
OSGi – Status Quo      OSGi ist Hype in der Javawelt, aber …      Es fehlt an ausreichender Werkzeugunterstützung       – ...
OSGi Ausblicke      OSGi Spec. 4.2 liefert       – Integration weiterer JEE Standards               • JNDI, JTA, ….       ...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
Zukunft von OSGi      Wird OSGi ein zweites CORBA ?       – Eine schwergewichtige Technologie, die sich überlebt hat      ...
Zukunft von OSGi      … aber OSGi-Tooling muss seine Mängel möglichst schnell      beheben       – Insbesondere in der Inf...
Agenda      Wo wird OSGi derzeit eingesetzt?      Grundsätzliche Anwendungsszenarien      OSGi Status Quo und Ausblicke   ...
Modularisierung in JCP      Java Community Process definiert, wie Standards in Java entstehen       – Diese werden als Jav...
JSR 294      … aber      – JSR 294 definiert Spracherweiterungen für eine Modularisierung      – Modulsysteme setzen auf J...
JSR 294 und Jigsaw      OpenJDK implementiert ein Modulsystem über JSR 294       – Project Jigsaw       – Konkurrenz zu OS...
JSR 294 - Beispielsuperpackage A {       member package P;       member superpackage B;}superpackage B member A {       me...
Fragen?
www.iks-gmbh.com
Nächste SlideShare
Wird geladen in …5
×

OSGi Anwendungsszenarien, Auswahlkriterien und Ausblick

1.289 Aufrufe

Veröffentlicht am

Es gibt gute Gründe, Software konsequent und dynamisch zu modularisieren. Zum Beispiel, um eine übersichtliche Softwarestruktur in großen Projekten zu gewährleisten oder um Anwendungslogik zur Laufzeit austauschen zu können (Hot Deployment). Java bietet jedoch kein eigenes Konzept zur Modularisierung.

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.289
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
13
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

OSGi Anwendungsszenarien, Auswahlkriterien und Ausblick

  1. 1. OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Thementag OSGi 03.11.2009 Autor: Christoph Schmidt-Casdorff
  2. 2. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCPOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 3 / 27
  3. 3. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JavaOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 4 / 27
  4. 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 lightOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 5 / 27
  5. 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, GuiceOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 6 / 27
  6. 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_generationOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 7 / 27
  7. 7. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCPOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 8 / 27
  8. 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 ausOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 9 / 27
  9. 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 StangeOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 10 / 27
  10. 10. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCPOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 11 / 27
  11. 11. OSGi –Status Quo Modularisierung unter Java Dynamik von Modulen SOA light Betrieb von großen und / oder dynamischen AnwendungenOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 12 / 27
  12. 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 richtenOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 13 / 27
  13. 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.htmlOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 14 / 27
  14. 14. OSGi –Status Quo Integrationstest – Verfahren für Integrationstest ist komplex – Werkzeugunterstützung ist noch nicht ausgereiftOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 15 / 27
  15. 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 FrameworksOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 16 / 27
  16. 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 KenntnisseOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 17 / 27
  17. 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 ModulsystemOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 18 / 27
  18. 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 aktivOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 19 / 27
  19. 19. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCPOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 20 / 27
  20. 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. 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 DynamikOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 22 / 27
  22. 22. Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status Quo und Ausblicke Zukunft von OSGi Modularisierung im JCPOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 23 / 27
  23. 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 wiederOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 24 / 27
  24. 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 ReferenzimplementierungOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 25 / 27
  25. 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.htmlOSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Seite 26 / 27
  26. 26. JSR 294 - Beispielsuperpackage 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
  27. 27. Fragen?
  28. 28. www.iks-gmbh.com

×