Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | 10.01.2011 Bildquellen : [1]

Ähnliche Präsentationen


Präsentation zum Thema: "Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | 10.01.2011 Bildquellen : [1]"—  Präsentation transkript:

1 Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | 10.01.2011 Bildquellen : [1] http://www.osgi.org/wiki/uploads/Main/logo1.jpg [2] http://www.flickr.com/photos/jurvetson/916142

2 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 2 Inhalt OSGi Einführung Service Component Models OSGi für Verteilte Systeme Zusammenfassung

3 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 3 OSGi Architektur Quelle: OSGi 4.2 Core Spezifikation, Seite 1-332, Abbildung 1

4 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 4 OSGi Architektur Quelle: OSGi 4.2 Core Spezifikation, Seite 1-332, Abbildung 1 Komponente = Bundle = JAR OSGi Framework JVM

5 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 5 OSGi Bundle Lebenszyklus Quelle: OSGi 4.2 Core Spezifikation, Seite 97-332, Abbildung 4.28

6 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 6 OSGi Servicelayer, SOA Pattern : Publish-Find-Bind Service Registry Service Provider Service Requestor Publish Find Bind Auch Services haben einen Lebenszyklus

7 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 7 Inhalt OSGi Einführung Service Component Models OSGi für Verteilte Systeme Zusammenfassung

8 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 8 Service Orientierte Entwicklung mit OSGi Probleme: Kopplung an das OSGi Framework Wiederverwendbarkeit Komplexe Implementierung eines nicht anwendungsspezifischen Aspektes Einfachheit, Fehleranfälligkeit, …

9 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 9 Lösung : Service Component Models (SCM) Service Component Model: –Service Vertrag zwischen OSGi Bundles Was muss ein Service Component Model leisten? –Keine OSGi APIs im Quellcode der eigenen Anwendung d.h. auch keine Activator Klasse –Definition von Services nicht im Quellcode sondern: In XML Dateien oder mit Java Annotationen Service = Java Interface, Service Impl. = Java Bean –Service Referenzen werden durch SCM verwaltet Einschließlich der Reaktionsmöglichkeiten auf Service Dynamik

10 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 10 Service Component Models - Übersicht Declarative Services Specication Blueprint Container Specication (Spring DM) Apache iPOJO (inject POJO) Google Guice & Peaberry

11 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 11 Declarative Services (DS) Seit Version 4.1 Teil der OSGi Compendium Spec. XML Definition für Services & Service Referenzen Definiert durch Service-Component Manifest Eintrag –Default Ordner im Bundle: OSGI-INF/*.xml Bestandteile: Service Component Runtime OSGi Framework Instanz Service Referencen Bundle Service Definitionen Bundle Service Vertrag Bundle … consume provide Implementiert als OSGi Bundle Bundels werden um Service XML Definition erweitert

12 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 12 Blueprint Container (Spring DM) Seit Version 4.2 Teil der OSGi Compendium Spez. Entstanden aus Spring Dynamic Modules (V. 2.0) Definiert durch Bundle-Blueprint Manifest Eintrag –Default Ordner im Bundle: OSGI-INF/blueprint/ Blueprint Container Blueprint Bundle component instances … Blueprint XML service reference service Blueprint Container Listener Blueprint Extender Blueprint Container Impl Blueprint Bundle … Implementiert in 3 OSGi Bundles, weitere Bundles für Spring erforderlich!

13 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 13 Apache iPOJO (inject POJO) Vorreiter in Sachen OSGi SCM Beeinflusste Declarative Services & Blueprint Container Ähnlich Blueprint (Spring DM): Trennung von Service Impl. & SCM Aspekten Apache Projekt, nicht im OSGi Standard Schnellere Entwicklungs- und Release-Zyklen Unterschiede: Konfiguration auch über ConfigureAdmin Service Verbindung zwischen Metadaten und POJO zur Build-Zeit

14 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 14 Google Guice & Peaberry Google Guice als Dependency Injection Framework Guice basierend auf Java Annotationen Peaberry ist eine Erweiterung für Guice Ermöglicht mit speziellen Annotation : –Das Erstellen von OSGi Service Objekten –Das Referenzieren von OSGi Services –Das Interagieren mit dem Service/ Bundle Lebenszyklus, d.h. Umgang mit OSGi Service Dynamic

15 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 15 Service Component Models Review Anzahl Bundles Einsatz- bereich Release- zyklus Version Declarative Services 1Eclipse Plattfom Integration OSGi Spez. 1.1 Blueprint Container 3 (13)EnterpriseOSGi Spez. 1.0 (2.0) Apache iPOJO 1Performancekurz1.6.8 Google Guice & Peaberry 1 (2)Java Annotation Verfechter ?1.1.1

16 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 16 Inhalt OSGi Einführung Service Component Models OSGi für Verteilte Systeme Zusammenfassung

17 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 17 OSGi für Verteilte Systeme: Anforderungen Aus der SOA im Kleinen wird eine echte SOA –Betreiben von OSGi Bundles ohne Anpassung –Veröffentlichen & nutzen von Service Verteiltes OSGi Famework Verteiltes System Peers

18 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 18 Arten der Verteilung (1): Bundle Verteilung Bundles zur Serviceumsetzung werden verteilt Keine Netzwerk Kommunikation bei Service Aufruf Service Bundle Kopie Netz- werk Bundle Verteiltes OSGi System Peer 1Peer 2 Bundle Daten Austausch

19 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 19 Verteiltes OSGi System Arten der Verteilung (2): Automatische Proxy Generierung Bei 1. Service Aufruf wird ein Proxy Bundle erzeugt Netzwerk Kommunikation bei Service Aufruf Peer 1 Service Bundle Proxy Service Bundle Netz- werk Nachrichtenaustausch Peer 2

20 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 20 R-OSGi, Architektur Distributed R-OSGi: - Durch Verwendung von jSLP (Service Location Protocol) binäres Java Bytecode basiertes Kommunikationsprotokoll - Automatic Proxy Bundle Generation - Distributed Service Registry R-OSGi Peer 1Peer 2Peer n… Verteiltes OSGi System R-OSGi Bundle Lokales OSGi Framework

21 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 21 Remote Services Seit Version 4.2 Teil der OSGi Compendium Spez. Keine neue Middleware Technologie Sondern standardisierte Art & Weise solche in OSGi zu integrieren Wichtigste Bestandteile: –Distribution-Provider für Service Veröffentlichung über implementierungsspezifische Endpunkte –Discovery Dienst zum Registrieren und Auffinden von Remote Service Endpunkten

22 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 22 Remote Services & Distributed OSGi Service Modell Service ProviderService Consumer Service Registry Service Registry Provider Bundle Distribution Provider Consumer Bundle Distribution Provider Discovery Dienst Discovery Dienst horcht auf Interessenten von Remote Diensten horcht auf Registrierung von Remote Diensten sucht gibt bekannt ruft auf findet Dienst registriert Dienst OSGi Framework Discovery Protokoll UDDI, SLP Kommunikations- protokoll JMS, WS*,CORBA

23 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 23 OSGi als Middleware Plattform Lokales OSGi Framework –Standardisiertes Komponenten Laufzeitsystem –Service Plattform, einschließlich Standard Services (http, logging, …) Distributed OSGi (R-OSGi, Remote Services, …) –Schafft Ortstransparenz –Verteilte Service Registry –Verteilt lokale Komponenten Eignung Verteilter OSGi Systeme als Middleware Plattform

24 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 24 Inhalt OSGi Einführung Service Component Models OSGi für Verteilte Systeme Zusammenfassung

25 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 25 Evaluation: Service Component Models & Remoting Konzepte R-OSGiRemote Services (Apache CXF) Declarative Services++ Blueprint Container++ Apache iPOJO++ Google Guice & Peaberry +-

26 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 26 Zusammenfassung OSGi unterstützt Serviceorientierung OSGi Entwicklung ohne OSGi durch Service Component Models –Declarative Services, Blueprint, iPOJO, Peaberry OSGi als Middleware Plattform für Verteilte Systeme –R-OSGi: einfach & performant Embedded –Remote Services: komplex, Anbindung an Enterprise Welt, SOA

27 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 27 Ende Vielen Dank für die Aufmerksamkeit –Fragen ?

28 Multimedia- und Internetsysteme | Service components and distribution with OSGi Seite 28 Remote Services & Distributed OSGi, Architektur Lokale OSGi Frameworks Distributed OSGi ServiceConsumer Impl. ServiceConsumer Impl. ServiceProducer Impl. ServiceProducer Impl. Distribution Provider Impl. Distribution Provider Impl. to endpointendpoint import service export service service. exported.interface service. imported Quelle: OSGi 4.2 Compemdium Spezifikation, Seite 5-850, Abbildung 13.1, Überarbeitet


Herunterladen ppt "Service components and distribution with OSGi Seminar: Multimedia- und Internetsysteme Paul Hübner | 10.01.2011 Bildquellen : [1]"

Ähnliche Präsentationen


Google-Anzeigen