HUDU

COBRA Komponenten


€ 69,99
 
gebunden
Sofort lieferbar
März 2011

Beschreibung

Beschreibung

Die Softwareindustrie fordert immer mehr verbesserte Methoden zur effektiven Herstellung von komplexen Softwaresystemen. Im Bereich der verteilten Softwaresysteme brachte die Common Object Request Broker Architecture (CORBA) eine wesentliche Verbesserung bei der industriellen Fertigung und dem Betrieb von verteilten Softwaresystemen. Das CORBA Component Model (CCM) baut auf den Vorteilen von CORBA auf und fügt neue Mechanismen hinzu. Dieses Buch wird das CORBA Component Model unter anderem aus der Sicht der Softwareentwicklung betrachten. Dabei gliedert sich das Buch in 3 Teile. Der 1. Teil erläutert die allgemeinen und eher theoretischen Konzepte des Modells. Dabei geht es darum, den notwendigen Wissenshintergrund zu vermitteln, um das CCM effektiv einzusetzen. Der 2. Teil befasst sich mit dem Design und der Implementierung von Komponenten. Konkrete Beispiele werden betrachtet und die angewandten Mechanismen im Detail erläutert. Der 3. Teil befasst sich mit dem Design einer ganzen Anwendung.

Inhaltsverzeichnis

I - Theorie des CORBA-Komponentenmodells.- 1 CORBA.- 1.1 Überblick CORBA.- 1.2 Object Request Broker.- 1.3 Interface Definition Language.- 1.3.1 Sprachabbildungen.- 1.4 Portable Object Adapter.- 1.4.1 Servant Manager.- 1.5 General Inter-ORB Protocol.- 1.5.1 Common Data Representation.- 1.5.2 Interoperable Object Reference.- 1.6 Standarddienste in CORBA.- 2 Das CORBA-Komponentenmodell.- 2.1 Komponentenbegriff.- 2.1.1 Was ist eine Komponente?.- 2.1.2 Was ist ein Objekt?.- 2.1.3 Komponenten und Objekte.- 2.1.4 Instanzen.- 2.1.5 Komponententyp.- 2.1.6 Sichtbarkeit und Wiederverwendung.- 2.1.7 Eine abschließende Definition.- 2.2 CORBA-Komponenten.- 2.2.1 Der Metatyp CORBA-Komponente.- 2.2.2 Ports.- 2.2.3 Das Komponenteninterface.- 2.2.4 Facets.- 2.2.5 Receptacles.- 2.2.6 Ereignisproduzenten.- 2.2.7 Ereigniskonsumenten.- 2.2.8 Attribute.- 2.3 Homes.- 3 Der Container.- 3.1 Laufzeitumgebung einer CORBA-Komponente.- 3.2 Standarddienste des Containers.- 3.2.1 Transaktionen.- 3.2.2 Sicherheit.- 3.2.3 Automatische Speicherung.- 3.3 Komponentenkategorien.- 3.4 Containertypen.- 3.4.1 Der Komponenten-Kontext.- 3.4.2 Callback-Interfaces.- 3.4.3 Allgemeine Eigenschaften des Containers.- 3.4.4 Eigenschaften des Session-Containers.- 3.4.5 Eigenschaften des Entity-Containers.- 3.5 Der Komponentenserver.- 3.6 Der Komponentenserver-Aktivator.- 4 Implementierungsstruktur.- 4.1 Komposition.- 4.2 Executors.- 4.3 Segmente.- 4.4 Dauerhafter Zustand.- 4.5 Proxy Homes.- 4.6 Komponentenkategorien.- 5 Komponentenbasierte Anwendungen.- 5.1 Was ist eine komponentenbasierte Anwendung?.- 5.2 Beispielanwendungen.- 5.2.1 Hello World.- 5.2.2 Philosophen.- 5.3 Bereitstellungsformate.- 5.3.1 Metainformationen.- 5.3.2 Archive.- 5.4 Bereitstellung von Komponenten.- 5.5 Bereitstellung von Anwendungen.- 5.6 Konfiguration.- 5.7 Infrastruktur für Anwendungen.- 5.7.1 Werkzeugunterstützung.- 5.7.2 Plattformunterstützung.- 5.8 Inbetriebnahme von Anwendungen.- 5.8.1 Prozess der Inbetriebnahme.- 5.8.2 Szenario.- 6 Rollen und Entwicklungsprozesse.- 6.1 Rollen im CORBA-Komponentenmodell.- 6.1.1 Der Nutzer.- 6.1.2 Der Komponentenentwickler.- 6.1.3 Der Anwendungsentwickler.- 6.1.4 Der Installateur.- 6.1.5 Der Containerhersteller.- 6.1.6 Der Systemadministrator.- 6.2 Der Komponentenentwicklungsprozess.- 6.2.1 Entwurf des Komponententyps.- 6.2.2 Implementierung der Komponenten.- 6.2.3 Bereitstellung.- 6.3 Der Anwendungsentwicklungsprozess.- 6.3.1 Entwurf und Spezifikation.- 6.3.2 Implementierung und Bereitstellung.- 6.3.3 Inbetriebnahme.- II - Entwicklung von Komponenten.- 7 Modellierungskonzepte.- 7.1 Modellierung.- 7.1.1 Metamodell des CORBAKomponentenmodells.- 7.1.2 Modellierungssprache.- 7.2 Verfeinerung der Beispiele.- 7.2.1 Hello World.- 7.2.2 Speisende Philosophen.- 8 Komponentendesign.- 8.1 Entwurf eines Komponententyps.- 8.1.1 Datentypen.- 8.1.2 Interfaces.- 8.1.3 Valuetypes.- 8.1.4 Komponenten.- 8.1.5 Facets.- 8.1.6 Receptacles.- 8.1.7 Ereignistypen.- 8.1.8 Ereignisproduzenten.- 8.1.9 Ereigniskonsumenten.- 8.1.10 Attribute.- 8.1.11 Home.- 8.2 Beispielhafte Komponentendefinition.- 8.2.1 Hello World.- 8.2.2 Speisende Philosophen.- 9 Äquivalente Typumwandlung.- 9.1 Motivation.- 9.2 Komponenteninterface.- 9.2.1 Umwandlung eines Facet.- 9.2.2 Umwandlung eines Receptacle.- 9.2.3 Umwandlung eines Ereignistyps.- 9.2.4 Umwandlung von Ereignisproduzenten.- 9.2.5 Umwandlung von Ereigniskonsumenten.- 9.2.6 Das Interface CCMObject.- 9.2.7 Das Interface Navigation.- 9.2.8 Das Interface Receptacles.- 9.2.9 Das Interface Events.- 9.3 Home-Interface.- 9.3.1 Das implizite Home-Interface.- 9.3.2 Das explizite Home-Interface.- 9.4 Typumwandlung für die Beispielszenarien.- 9.4.1 Hello-World.- 9.4.2 Philosophen.- 10 Design der Implementierung.- 10.1 Entwurf der Komposition.- 10.2 Speichertypen.- 10.2.1 Speicherschnittstellen.- 10.2.2 Speicherfabrikschnittstellen.- 10.2.3 Speicherobjekttypen.- 10.2.4 Speicherfabriktypen.- 10.3 Komposition.- 10.3.1 CIDL.- 10.3.2 UML.- 10.4 Home Executor.- 10.4.1 CIDL.- 10.4.2 UML.- 10.5 Proxy Home Executor.- 10.5.1 CIDL.- 10.6 Komponenten-Executor.- 10.6.1 CIDL.- 10.6.2 UML.- 10.7 Definition der Implementierungsstruktur der Beispiele.- 10.7.1 Hello World.- 10.7.2 Philosophen.- 11 Implementierung.- 11.1 Der Sinn der Sprachabbildung.- 11.2 Grundlegende Strategie.- 11.3 Basis einer Komponentenimplementierung.- 11.3.1 Der Executor Locator.- 11.3.2 Fehlerzustände im Executor.- 11.4 Interfaces für den Session-Containertyp.- 11.5 Interfaces für den Entity-Containertyp.- 11.6 Typspezifische Implementierungsregeln.- 11.6.1 Regeln für Interfaces.- 11.6.2 Regeln für den Komponententyp.- 11.6.3 Regeln für Ereignistypen.- 11.6.4 Facets.- 11.6.5 Receptacles.- 11.6.6 Ereignisproduzenten.- 11.6.7 Ereigniskonsument.- 11.6.8 Homes.- 11.7 Abbildung der CIDL-Konstrukte.- 11.7.1 Abbildung der Modulnamen.- 11.7.2 Abbildung des Kompositionsnamens.- 11.7.3 Abbildung des Hauptsegments.- 11.7.4 Abbildung für weitere Segmente.- 11.7.5 Abbildung für den Home-Executor.- 11.8 Implementierungsaspekte beim locator-basierten Ansatz.- 11.9 Bemerkungen.- 12 Bereitstellung von Komponenten.- 12.1 Komponentenbeschreibung.- 12.1.1 Dateikopf.- 12.1.2 Allgemeine Informationen.- 12.1.3 Transaktionen, Sicherheit und Persistenz.- 12.1.4 Eigenschaften des Home.- 12.1.5 Eigenschaften der Komponente.- 12.2 Implementierungsbeschreibung.- 12.2.1 Dateikopf.- 12.2.2 Allgemeine Informationen.- 12.2.3 Implementierungsvarianten.- 12.3 Komponentenarchive.- 12.3.1 Beispiel.- III - Entwicklung von Anwendungen.- 13 Entwurf und Spezifikation von Anwendungen.- 13.1 Entwurf von Anwendungen.- 13.1.1 Beispiel.- 13.2 Spezifikation von Anwendungen.- 13.2.1 Umfang der Spezifikation.- 13.2.2 Spezifikation mit XML.- 13.2.3 Anwendungsbeschreibung.- 13.2.4 Konfigurationsbeschreibung.- 13.3 Ergebnis.- 14 Implementierung und Bereitstellung von Anwendungen.- 14.1 Implementierung von Anwendungen.- 14.1.1 Vorgehensweise.- 14.1.2 Beispiel.- 14.2 Bereitstellung von Anwendungen.- 14.2.1 Anwendungsarchive.- 14.2.2 Beispiel.- 15 Infrastruktur für die Inbetriebnahme.- 15.1 Installation von Komponenten.- 15.1.1 Bemerkungen.- 15.2 Erzeugung von Laufzeitinstanzen.- 15.2.1 Instantiierung eines Servers.- 15.2.2 Das Interface des Komponentenservers.- 15.2.3 Das Container-Interface.- 15.2.4 Einsprungpunkte.- 15.3 Laufzeitrepräsentationen von Anwendungen.- 15.3.1 Erzeugung von Laufzeitrepräsentationen.- 15.3.2 Bemerkungen.- 15.4 Sichtbarkeit von Laufzeitinstanzen.- 15.4.1 Durchsuchen der Plattform.- 15.4.2 Verwendung von Standarddiensten.- 15.4.3 Home Finder.- 16 Inbetriebnahme von Anwendungen.- 16.1 Bestimmung der Verteilung.- 16.1.1 Beispiel.- 16.2 Übergabe an die Plattform.- 16.2.1 Erzeugung der Laufzeitrepräsentation der Anwendung.- 16.2.2 Installation.- 16.2.3 Instantiierung.- 16.2.4 Konfiguration.- IV - Entwickeln mit Qedo.- 17 Die Software Qedo.- 17.1 Geschichte von Qedo.- 17.2 Eigenschaften von Qedo.- 17.2.1 Allgemeine Eigenschaften.- 17.2.2 Eigenschaften der Laufzeitumgebung.- 17.2.3 Eigenschaften der Werzeuge.- 18 Installation von Qedo.- 18.1 Die aktuellen Quellen.- 18.1.1 CVS-Benutzung.- 18.1.2 Web-Benutzung.- 18.1.3 FTP-Benutzung.- 18.2 Kompatible ORB-Produkte.- 18.3 Weitere benötigte Software.- 18.3.1 XML-Unterstützung.- 18.3.2 Archivierungsunterstützung.- 18.3.3 Softwarepakete für den Generator.- 18.4 Installationsprozess.- 18.4.1 Installation unter Windows.- 18.4.2 Installation unter Linux.- 18.5 Inbetriebnahme von Qedo.- 19 Ein Beispiel mit Qedo.- 19.1 Die Benutzung des Generatorwerkzeugs.- 19.2 Die Spezifikation der Komponente.- 19.3 Die Implementierung der Komponente.- 19.3.1 Die Beschreibung mit CIDL.- 19.3.2 Implementierung mit Visual Studio .NET.- 19.4 Die Erstellung des Komponentenarchivs.- 19.4.1 Die Komponentenbeschreibung.- 19.4.2 Die Implementierungsbeschreibung.- 19.5 Fertigstellung des Komponentenarchivs.- 19.6 Ausblick.- Literatur.

Innenansichten

Portrait

Bertram Neubauer und Frank Stoinski studierten Informatik an der Humboldt-Universität zu Berlin. Heute sind sie dort als wissenschaftlicher Mitarbeiter am Lehrstuhl für Systemanalyse, Modellierung und Simulation tätig. Tom Ritter studierte Informatik an der Technischen Universität Berlin und wurde anschließend wissenschaftlicher Mitarbeiter bei der GMD FOKUS, das 2001 in das Fraunhofer Institut FOKUS umgewandelt wurde. Alle Autoren sind aktive Mitglieder in Standardisierungsgremien und haben so beispielsweise am CORBA Component Model-Standard mitgewirkt. Die Autoren verbindet vor allem die gemeinsame Entwicklung einer Open Source-basierten Referenzimplementierung für CMM.

EAN: 9783540009221
ISBN: 3540009221
Untertitel: Effektives Software-Design und Programmierung. Mit CD-ROM. 'Xpert. press'. 60 Abbildungen. Inklusive CD-ROM.
Verlag: Springer-Verlag GmbH
Erscheinungsdatum: März 2011
Seitenanzahl: XVI
Format: gebunden
Es gibt zu diesem Artikel noch keine Bewertungen.Kundenbewertung schreiben