ISBN: 3-540-67728-3
TITLE: Datenversorgung komponentenbasierter Informationssysteme
AUTHOR: Sellentin, Jrgen
TOC:

1 Einleitung 1
1.1 Anwendungsszenario: Entwurfsumgebungen 2
1.2 Rahmenbedingungen 3
1.3 Anforderungen und Ziele 5
1.4 Vorgehensweise und Aufbau des Buches 7
2 Grundlagen 11
2.1 Komponenten und Komponentenmodelle 11
2.1.1 Vorteile einer komponentenbasierten Architektur 13
2.1.2 Nachteile einer komponentenbasierten Architektur 14
2.1.3 Voraussetzung fr den Einsatz von Komponenten 15
2.1.4 Komponentenmodelle 15
2.1.5 Migration zu Komponentenarchitekturen 16
2.2 Business Objects 17
2.3 Strukturierung von Systemen 18
2.3.1 Mehrebenenarchitektur (Multi Tier) und Schichtenmodelle 18
2.3.2 Client/Server-Grenzen 20
2.3.3 Beispiel 21
2.4 Middleware 22
2.4.1 Remote Procedure Call (RPC) 23
2.4.2 Message Oriented Middleware (MOM) 24
2.4.3 Objektorientierte Middleware 24
2.4.4 Datenbankverwaltungssysteme (DBVS) und Middleware 25
2.4.4.1 Zugriff auf einzelne DBVS 25
2.4.4.2 Homogener Zugriff auf heterogene DBVS 27
2.5 Grundbegriffe einer allgemeinen Datenversorgung 28
2.5.1 Modellierung 28
2.5.2 Datenintensive und auftragsbezogene Verarbeitung: Data Shipping versus Operation Shipping 29
2.5.3 Effizienz der Datenversorgung 31
2.6 Entwurfsumgebungen 32
2.6.1 Frameworks 33
2.6.2 Isolation und Kooperation 34
2.6.3 Workflow, Groupware und CSCW 34
2.7 WWW, Intra-/Internet, Java und XML 35
2.7.1 Das Common Gateway Interface (CGI) und JavaScript 36
2.7.2 Java 37
2.7.3 Warum Java? 37
2.7.4 Intranet und Internet: Mehr als ein Prsentationsmedium? 40
2.7.5 Ist Pure Java die ultimative Lsung? 41
2.7.6 XML  Das Konzept der Zukunft? 42
2.8 Zusammenfassung 43
3 Der Internationale Standard STEP 45
3.1 Die Modellierungssprache EXPRESS 47
3.1.1 Schemata 47
3.1.2 Typen 48
3.1.3 Objekte (Entities) 49
3.1.3.1 Beziehungen zwischen Objekten 50
3.1.3.2 Beziehungen zwischen Objekten unterschiedlicher Schemata 51
3.1.4 Algorithmen und Regeln 51
3.1.5 Beispiel 53
3.2 Die Zugriffsschnittstelle SDAI 56
3.2.1 Strukturierung der Daten 58
3.2.2 Manipulation von Daten 59
3.2.3 Sessions und Transaktionen 60
3.2.3.1 Synchronisation und Mehrbenutzerbetrieb 60
3.2.3.2 Zustandsmodell fr Transaktionsebene 3 61
3.2.4 Auswertung von Regeln 62
3.2.5 Early und Late Binding 63
3.2.6 Sprachanbindungen 63
3.2.7 Implementierungsklassen 63
3.3 Standardisierte Schemata 65
3.4 Zusammenfassung 65
4 Der CORBA-Standard 67
4.1 Das Objektmodell und die Modellierungssprache IDL 70
4.1.1 Das Objektmodell 70
4.1.2 Basistypen (Basic Types) 70
4.1.3 Zusammengesetzte Typen (Constructed Types) und Namensrume 71
4.1.4 Objekte und Objektreferenzen 72
4.2 Die Kernarchitektur von CORBA 75
4.2.1 Sprachanbindung, Stubs und Skeletons 76
4.2.2 Verarbeitungsszenario: Bruchrechnung 78
4.2.3 Objekt-Adapter 80
4.2.3.1 Basic Object Adapter (BOA) 81
4.2.3.2 Library Object Adapter (LOA) und Object Oriented Database Adapter (OODA) 82
4.2.3.3 Portable Object Adapter (POA) 82
4.2.4 Kommunikation und Interoperabilitt 83
4.3 Services 83
4.3.1 Der CORBA Event Service 87
4.3.1.1 Allgemeine Spezifikationen 87
4.3.1.2 Event Channel 88
4.3.2 Die CORBA Persistent Object und Persistent State Services 92
4.3.3 Der CORBA Lifecycle Service 93
4.3.4 Der CORBA Transaction Service 95
4.3.5 Der CORBA Query Service 97
4.4 Entwurf und Programmierung in CORBA-Umgebungen 100
4.5 Modellierung von Datenobjekten, Migration und Leistungsaspekte 102
4.6 Komponenten in CORBA 104
4.6.1 Die Business Object Component Architecture (BOCA) 105
4.6.2 CORBA Components 105
4.6.3 DCE 106
4.6.4 (D)COM, OLE und ActiveX 107
4.6.5 (D)SOM 108
4.7 Zusammenfassung 109
5 Datenquellen und Datenzugriff 111
5.1 Charakterisierung von Datenquellen 112
5.1.1 Dateien 112
5.1.2 Relationale DBVS 113
5.1.3 Objektorientierte DBVS 114
5.1.4 Objektrelationale DBVS 115
5.1.5 Durch Anwendungsprogramme gekapselte Datenquellen 116
5.1.6 Zusammenfassung 117
5.2 Integration und Zugriff ber DB-Middleware 119
5.3 Abbildung objektorientierter Datenmodelle auf RDBVS 120
5.4 Datenquellen und Data Shipping in CORBA-Umgebungen 124
5.4.1 Anforderungen und Modellierung 125
5.4.2 Einsatz des CORBA Persistent Object bzw. des Persistent State Services 125
5.4.3 Datenzugriff ber den CORBA Query Service 126
5.4.4 Migration von Objekten ber den CORBA Lifecycle Service 127
5.4.5 Datenaustausch ber den CORBA Externalization Service 128
5.4.6 Proprietre Kopplung zu OODBVS 129
5.4.7 Proprietres Data Shipping ohne Einsatz von Common Object Services 131
5.4.8 Proprietre Erweiterungen von CORBA-Systemen am Beispiel Orbix 134
5.4.9 Forschungsprototypen zur Integration von CORBA und DBVS 135
5.4.9.1 MIND 135
5.4.9.2 SHORE 136
5.4.9.3 TeleMed 136
5.4.9.4 InterGIS 137
5.4.9.5 DICE 137
5.4.10 Kommerzielle Produkte zur DB-Anbindung 138
5.4.10.1 Interne Adapter von CORBA-Produkten 138
5.4.10.2 CORBA-konforme Datenversorgungsmodule 139
5.4.11 Zusammenfassung 139
5.5 Data Shipping im Intra-/Internet 142
5.5.1 HTML-Seiten mit JavaScript und CGI-Skripte im Server 142
5.5.2 HTML-Seiten mit Java-Applets 143
5.5.3 XML 144
5.5.4 Zusammenfassung 144
6 Praxisansatz: Entwurf und Implementierung einer modularen Datenversorgung 147
6.1 Die JavaSDAI Socket Bar: Eine modulare Zugriffsschnittstelle auf Basis des SDAI 148
6.1.1 Konzeptuelle Probleme whrend der Design-Phase 149
6.1.1.1 Anzahl und Umfang von Klassen 149
6.1.1.2 Erzeugung und Freigabe von Instanzen 150
6.1.1.3 Aufzhlungstypen 151
6.1.1.4 Multiple Vererbung 152
6.1.1.5 Verteilung und Transaktionen 160
6.1.2 Die resultierende Gesamtarchitektur 160
6.2 Entwurf und Implementierung der Data Modules 164
6.2.1 Proprietres Data Shipping ber CORBA 165
6.2.2 Data Shipping ber den CORBA Query Service 169
6.2.2.1 Anfragesprache und Datenstrukturen 170
6.2.2.2 Implementierung der Server 174
6.2.2.3 Implementierung des Clients 176
6.2.3 Data Shipping ber JDBC 179
6.2.4 Operation Shipping gem ISO 10303-26 181
6.2.5 Gegenberstellung und Zusammenfassung 182
6.3 Verwendete Applikationen 185
6.3.1 Binre Bume 185
6.3.2 Der oo7-Benchmark 186
6.3.3 Direkte Gegenberstellung von Operation Shipping und Data Shipping 187
6.4 Messungen 188
6.4.1 Vergleich von Operation Shipping und Data Shipping ber SDAI 189
6.4.2 Direkte Gegenberstellung von Operation Shipping und Data Shipping 191
6.4.3 Bewertung verschiedener Anstze zum Data Shipping ber JavaSDAI 195
6.4.3.1 Allgemeiner Vergleich aller Data Modules 195
6.4.3.2 Leistungssteigerungen durch Prefetching 197
6.4.3.3 Pufferverwaltung mit Verdrngung von Objekten 199
6.4.3.4 Lohnt sich der Einsatz von JavaStations? 200
6.4.3.5 Entwicklung von JDK-Versionen, JIT-Compilern und JavaSDAI 201
6.4.3.6 Zusammenfassung 204
6.5 Verwandte Arbeiten im Bereich STEP/SDAI und CORBA 205
6.6 Wo liegt der Flaschenhals? 207
6.7 Erfahrungen und Probleme mit CORBA-Implementierungen 208
7 Zusammenfassung und Ausblick 211
Literatur 217
Index 229
END
