Handout zum Vortrag Das CORBA Component Model – CORBA Components vs. Enterprise Java Beans Kernkonzepte im Überblick Das CCM ist primär eine Architektur zur Definition von Komponenten. Der so genannte Container konstruiert eine Laufzeitumgebung, mit dessen Hilfe die CORBA Components Systemabhängigkeiten wie Programmiersprachen, API-Zugriffe und Datenbanktransaktion verbergen können. Container bieten daher ein Framework an, mit dessen Hilfe verschiedene infrastrukturelle Dienste den CORBA Components zur Verfügung gestellt werden. Zu diesen Diensten gehören: •Lebenszyklusmanagement (Aktivieren und Deaktivieren von Objekten) •Zugriffsmanagement (effizienter Zugriff auf Geschäftsobjekte) •Sicherheitsmanagement (Sicherheitsanforderungen und Richtlinien) •Konfigurationsmanagement (Administration und Installation) •Persistenz (Zustände persistieren und konsistent bewahren) •Unabhängigkeit (unterschiedliche Plattformen) •Anbindung (Integration mit anderen Systemen) CCM vs. EJB? Die heutige Softwareentwicklung hat sich unlängst von dem Desktop auf den Server verlagert. Im Mittelpunkt stehen komplexe verteilte Systemumgebungen, mit äußerst hohen Connectivity- und Portabilitätsansprüchen. Dabei werden Entwickler oft mit dem Problem konfrontiert, aufwändige ITInfrastrukturen verbunden mit mehrdimensionalen Anforderungen wie Sicherheit, Unabhängigkeit und Asynchronität zu realisieren. Ein möglicher Ansatz wäre die vollständige Eigenentwicklung, um so die komplexen Integrationsaufgaben zu lösen. Der große Nachteil ist zweifelsohne der immense Kostenund Zeitaufwand der bei diesem Ansatz unweigerlich entsteht. Ein Großteil des Aufwandes steckt damit nicht länger in der Umsetzung der Kundenwünsche, sondern bei der Entwicklung einer geeigneten ITInfrastruktur. Eine Lösung könnte der Einsatz von so genannten Middle-TierKomponententechnologien sein. Das CORBA Component Model (CCM) könnte dazu einen wertvollen Beitrag leisten. Das CCM orientiert sich derart stark an der Spezifikation zu Enterprise Java Beans, dass die verwendeten Konzepte zum Teil nur durch geänderte Begrifflichkeiten unterscheidbar sind. Dennoch gibt es neben Gemeinsamkeiten auch Unterschiede, die in der folgenden Tabelle gegenübergestellt werden. CCM Architekturkonzept Container & Interception Container & Interception Schnittstellen pro Komponente mehrere Interfaces über Ports realisiert (Facets & Receptacles) ein allumfassendes Interface Komponenten arten Service-, Session-, Process-, EntityComponent Session-Bean, MessageDriven-Bean, Entity-Bean Metadaten der Komponenten XML basierte Deskriptoren „.car“ XML basierte Deskriptoren „.ear“ Aktivierung Container & POA Container Middleware CORBA ORB/IIOP RMI / RMI-IIOP Persistenz Persistent State Service (PSS) Java DataBase Connectivity (JDBC) Namensdienst CosNaming Java Naming and Directory Interface Integrationsmöglichkeiten EJB to CORBA Mapping – explizit in der Spezifikation Remote Invocation Interoperability – explizit in der EJB-Spezifkation Sicherheit CORBA Security Levels Java Security Package Installation Installation Deployment Process Herstellerabhängige Prozesse © Thomas Havemeister 2002 Haupseminar im Internet: http://www.havemeister.net/public Email: [email protected] EJB