Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 1 Seminar "Component and Aspect Engineering" WS2003 CORBA Component Model Aleksej.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 1 Seminar "Component and Aspect Engineering" WS2003 CORBA Component Model Aleksej."—  Präsentation transkript:

1 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 1 Seminar "Component and Aspect Engineering" WS2003 CORBA Component Model Aleksej Palij,

2 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 2 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

3 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 3 CORBA Component Model (CCM) Ist: ein verteiltes komponentenorientiertes Model Technologie für den Einsatz von binärem ausführbarem Code, der in verschiedenen Sprachen implementiert wurde Erster umfassender Komponenten-Standard Ermöglicht: Definition von Komponenten und ihrer Interaktionen Generische Implementierung von Komponentenverwaltung: Erzeugung, Aktivierung, Deaktivierung… CORBA Services: Sicherheit, Persistenz, Verteilten Transaktionen, Ereignissen Interoperabilität mit Enterprise Java Beans (EJB)

4 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 4 Motivation plug-and-play von CORBA-Objekten einfache Integration mit anderen objektorientierten Technologien, insbesondere Java und EJB klare Kommunikationsschnittstellen zwischen CORBA-Objekten externe Konfiguration der Anwendung (nicht in Objekten versteckt) Befreiung der Objekten von Nicht-funktionslogik Berücksichtigung von Installationszeiten

5 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 5 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

6 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 6 Abstraktes Komponentenmodel Beschreibt: Was eine Komponente den anderen Komponenten anbietet Was eine Komponente von den anderen Komponenten braucht Welche Arten der Zusammenarbeit werden zw. den Komponenten benutzt Synchronous via operation invocation Asynchronous via event notification Welche Komponenteneigenschaften konfigurierbar sind Welche Manager für die Komponenteninstanzenverwaltung verantwortlich sind (z.B. home)

7 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 7 Was ist eine CORBA-Komponente? component ist ein neuer CORBA-meta-typ Interface Definition Language (IDL) Bietet Features von Komponenten an Single inheritance supports multiple interfaces Jede Komponenteninstanz wird von einem eindeutigen Komponenten- home erzeugt und verwaltet

8 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 8 Component Features Attributes = konfigurierbare Eigenschaften Facets = Interfaces der angebotenen Operationen Receptacles = Interfaces der benötigten Operationen Event sources = erzeugte events Event sinks = konsumierte events Navigation und Introspektion auch ports genannt

9 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 9 Eine CORBA-Komponente CORBA Component facets receptacles event sinks Component reference type attributes event sources REQUIRED OFFERED

10 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 10 CORBA Component CORBA Component CORBA Component CORBA Component CORBA Component CORBA Component CORBA Component CORBA Component Komposition

11 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 11 Attribute zentraler Schlüssel für die erfolgreiche Wiederverwendbarkeit sind für die Konfiguration von Komponenten gedacht z.B., optionales Verhalten, Modalität, Ressourcenhinweise, usw. die Auslösung von Exceptions möglich Zugreifbar via accessors und mutators Konfiguration visuell via Property-Sheet-Mechanismus in Assembly oder Deployment Umgebung Bei homes oder während der Implementationsinitialisierung Danach möglicherweise nur lesbar

12 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 12 Facets Distinct named Interfaces bieten die Funktionalität der komponentenbasierten Anwendung für die Klienten an Jede facet enthält eine Sicht der Komponente, entspricht einer Rolle, bezüglich deren ein Klient die Komponente ansprechen kann Eine facet representiert die Komponente selbst, nicht einen getrennten Teil davon Facets besitzen unabhängige Objektreferenzen

13 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 13 Receptacles Distinct named connection points für die Operationsaufrufe der anderen Komponenten Enthalten eine oder mehrere Referenzen Konfiguration statisch während der Initialisierungs- oder Assembly-Phase Wird dynamisch zur Laufzeit verwaltet um Interaktionen mit Klienten oder anderen Komponenten anzubieten (z.B. callback)

14 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 14 Events mit push-Mechanismus named connection points Event sources Publishers (multicast) Emitters (unicast) Event sinks Akzeptieren events vom bestimmten Typ Unterscheiden nicht zw. Verbindungen(emits) und Subscriptions(publishes) source Notification channel sink emits publishes

15 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 15 Component Home Verwaltet einen eindeutigen Typ von Komponenten home ist ein neuer CORBA Meta-Typ Wird instanziiert wenn die Komponente in Betrieb genommen wird Ansprechbar via HomeFinder

16 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 16 Container HomeFinder HomeFinder ermöglicht die Ermittlung der Referenz zum gewünschten Home Interface eines Komponententyps Alle Homes können hier registriert werden (nicht automatisch) resolve_initial_reference(ComponentHomeFinder); Liefert HomeFinder Home Finder CORBA Component

17 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 17 PhilosopherHome CCM – IDL Beispiel component Philosopher { attribute string name; // The left fork receptacle. uses Fork left; // The right fork receptacle. uses Fork right; // The status info event source. publishes StatusInfo info; }; home PhilosopherHome manages Philosopher { factory new(in string name); }; left right info Philosopher Name = X

18 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 18 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

19 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 19 Container Model Auch Execution Model genannt Beschreibt die Execution-Umgebung von Komponenteninstanzen Basiert hauptsächlich auf Portable Object Adaptor Automatische Aktivierung / Deaktivierung Optimisierung des Resourcenverbrauchs Bietet vereinfachte Interfaces für CORBA Services Security, transactions, persistence und events Benutzt callbacks für Instanzenmanagement

20 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 20 ORB Container Architecture TransactionSecurity PersistencyNotification ClientClient Extended OMG IDL external API Home Container CORBA Component Internal API Callback API POA

21 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 21 Was ist ein Component Container? Server Runtime Environment Versorgung und Verwaltung von Resourcen für Komponenten- Instanzen Servant/component life time (memory consumption) CORBA Object Services (COM) kapselt ein oder mehrere POAs ein Verwaltet ein Typ von Komponenten entity, process, session, service, EJBsession, EJBentity, Empty

22 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 22 Komponententypen CORBA usage model stateless conversational durable Container Type Session Entity Component Category Service Session Process Entity EJB type - Session - Entity

23 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 23 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

24 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 24 Implementationsmodel Component Implementation Framework – CIF Beschreibt die Implementierungsstruktur und Persistenzzustand einer Komponente Component Implementation Definition Language (CIDL) Erleichtert die Imlementierung von Komponenten Es muss nur Business Logic implementiert werden –kein port management, navigation, component life cycle etc. Komposition (von Artefakten) ist das zentrale Konzept Verwaltet Segmentierung und Persistenz Generiert Skeletons

25 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 25 Component Skeleton Generierung CIDLIDL 3 Java / CIF Compiler Non functional Component executor User written Generated Functional IDL 2XML composition { home executor { implements ; manages ; };

26 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 26 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

27 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 27 Packaging model Pakete (ZIP) enthalten: XML-Descriptor Andere (Pakete, Libraries) Softwarepaket Komponentenpaket Komponenten-Assembly-Paket Main Elements of Software Package Descriptor:

28 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 28 XML Descriptors Überblick Software Package Descriptor (.csd) CORBA Component Descriptor (.ccd) Component Assembly Descriptor (.cad) Component Property File Descriptor (.cpf)

29 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 29 Component Packaging IDL/CIDL Compiler User Code Generated Code IDL Component Descriptor Default Properties Compiler Shared Library or Executable Packaging Tool Component Package.zip

30 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 30 Component Assembly Properties DeploymentT ool Assembly Archive.aar (ZIP) Assembly Tool Component Package Component Package Component Package Port Connections Instance Creation...

31 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 31 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

32 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 32 Deployment model (1) Zuordnung – Definierung von execution sites Eine Applikation kann mehrmals instanziiert werden ComponentInstallation AssemblyFactory Assembly

33 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 33 Deployment model (2) Server Activator Component Server Container Instanziierung von Komponenten Konfiguration von Komponenten

34 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 34 The Component Deployment Process Deployment Tool AssemblyFactoryAssembly ServerActivator ComponentServer Container CCMHome CCMObject ComponentInstallation «instantiates»

35 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 35 Inhalt Motivation Übersicht des CORBA Komponentenmodels (CCM) Konzepte Abstraktes Model Container Model Implementationsmodel Entwicklung Packaging Model Deployment Model Alternativen im Überblick Zusammenfassung

36 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 36 CCM vs. EJB, COM und.NET Ähnlichkeiten mit EJB CORBA Komponenten werden von homes erzeugt und verwaltet laufen im Container werden von Komponentenserver-Applikation gehostet Ähnlichkeiten mit COM Hat mehrere input und output Schnittstellen Sowohl synchrone Operationen als auch asynchrone Nachrichten Navigations- und Introspektionsfähigkeiten Ähnlichkeiten mit.NET Framework Können in verschiedenen Programmiersprachen geschrieben werden Können zum Zweck der Verteilung verpackt werden

37 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 37 Aber mit CCM… Die CCM Applikationen sind wirklich verteilt Sie können auf mehreren verteilten Knoten gleichzeitig eingesetzt und ausgeführt werden. Eine CORBA Komponente kann von mehreren Klassen implementiert werden

38 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 38 Vergleich von CCM mit EJB AspectEJBCCM Availability Many productsOpenCCM, MICO ConnectionsJava Bean to implement Four kinds of ports PragrammingJavaAny language PackagingJAR + XMLZIP + OSD DeploymentSingle server Multiple servers Runtime Container generationContainer configuration UseToday Tomorrow

39 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 39 Zusammenfassung component (definiert via IDL) Attribute, Ports, Navigation, Introspektion home, HomeFinder Container Typen: Session, Entity Komponententypen entity, process, session, service, EJBsession, EJBentity, Empty Implementierung (CIF,CIDL) Verpackung (XML-Descriptors) Verteilung

40 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 40 Open Source Implementierungen OpenCCM from LIFL & ObjectWeb Java on ORBacus 4.1 & OpenORB MicoCCM from FPX & Alcatel C++ on MICO FreeCCM from Humboldt University C++ on ORBacus 4.1

41 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 41 Fragen?

42 Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 42 Vielen Dank!


Herunterladen ppt "Universität Bonn, Seminar Softwaretechnologie WS 2003, Aleksej Palij 1 Seminar "Component and Aspect Engineering" WS2003 CORBA Component Model Aleksej."

Ähnliche Präsentationen


Google-Anzeigen