ADDISON-WESLEY PUBLISHING COMPANY

Ähnliche Dokumente
Objektorientierte Prozeßsimulation in C++

CORBA. Systemprogrammierung WS

Programmierung mit Access 7 für Windows 95

Java-Programmierung mit Visual J++ 1.1

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme

Linux-Kernel- Programmierung

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Frank Budszuhn Thomas Reichel. Visual C Windows-Programmierung mit den MFC ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

Windows 95 und Microsoft Plus!

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

Microsoft FrontPage 98

SCSI-Bus und IDE-Schnittstelle

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien

Der Rational Unified Process

Programmieren mit Java

SQL objektorientiert

FÜR DEN PC. Bi B JL( O T H C- K

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Windows NT 4.0 in heterogenen Netzen

3.2 Der CORBA-Standard Common Object Request Broker Architecture

VBA mit Office 97 lernen

Die Client/Server- Technologie des SAP-Systems R/3

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion

Projektmanagement. Konzeption und praktischer Einsatz des R/3 Moduls PS ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

Modul Software Komponenten 10 Komponentenarchitektur

Grundlagen und Implementation. Jan Kraft

Der Einsatz von CORBA in verteilten EDA-Tools

Achim Bühl, Peter Zöfel SPSS. Methoden für die Markt- und Meinungsforschung. Technische Unäversität Darmstadt

Rechnen in UNIX-Shell-Prozeduren

UML konzentriert. Eine kompakte Einführung in die Standard-Objektmodellierungssprache. Martin Fowler. ADDISON-WESLEY An imprint of Pearson Education

SQL Server 2005 Der schnelle Einstieg

Kommunikation. Björn und Georg

Grundkurs Software- Entwicklung mit C++

Client/Server-Systeme

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SQL Server 2008 Der schnelle Einstieg

Jasmin Blanchette, Mark Summerfield

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education

Scannen und Drucken. Perfekte Fotos mit DTP. Peter Kammermeier Anton Kammermeier BIBLIOTHEK ADDISON-WESLEY PUBLISHING COMPANY.

Inhaltsverzeichnis. Zusammenfassung CORBA

Der Apache-Webserver

C# im Vergleich zu Java

Repetitorium Informatik (Java)

3-schichtige Informationssystem-Architektur

Client/Server-Systeme

Visual C++ Windows-Programmierung mit den MFC. Frank Budszuhn. ADDISON-WESLEY An imprint of Pearson Education

Client/Server-Programmierung

Client/Server-Programmierung

Magento Theme-Design. professionelle Themes für Ihren Shop Y%ADDISON-WESLEY. Entwerfen Sie Schritt für Schritt. Richard Carter

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

Objektorientierte Softwaretechnik

CORBA (Überblick, IDL)

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Steffen Heinzl Markus Mathes. Middleware in Java

ITIL V3 Basis-Zertifizierung

Common Object Request Broker Architecture (CORBA)

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Windows Scripting lernen

Webanwendungen mit IBM Rational und IBM WebSphere V6

Kap. 3 Verteilte Objektverwaltung

Objektorientierte Softwaremigration

SCSI-Bus und IDE-Schnittstelle

Verteilte objektorientierte Programmierung am Beispiel CORBA

LDAP verstehen, OpenLDAP einsetzen

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Enterprise JavaBeans Überblick

Modul Software Komponenten 10 Komponentenarchitektur

Komponentenbasierter Taschenrechner mit CORBA

Remote Method Invocation

Komponentenmodelle II

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Design von Schnittstellen mit CORBA-IDL. Andres Koch

Inhaltsverzeichnis. Teil I Grundlagen der Programmarchitektur Vorwort... XIII XV XVI XVI

Website- Konzeption. Jens Jacobsen ADDISON-WESLEY

Joomla! eigenen Joomla!-Website ^ADDISON-WESLEY. Die Schritt-für-Schritt-Anleitung zur. Stephen Bürge. An imprint of Pearson

JDO Java Data Objects

Definition Web Service

Multiuser Client/Server Systeme

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Windows Scripting lernen

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Rootkits. Windows-Kernel unterwandern. Greg Hoglung, James Butler. An imprint of Pearson Education

Theorie und Praxis einer JSON-RPC-basierten Web-API

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO)

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg.

Transkript:

Jens-Peter Redlich CORBA 2.0 Praktische Einführung für C++ und Java Mit einem Geleitwort von Richard Mark Soley ADDISON-WESLEY PUBLISHING COMPANY Bonn Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Harlow, England Amsterdam Milan Sydney Tokyo Singapore Madrid San Juan Seoul Mexico City Taipei, Taiwan

Inhaltsverzeichnis Geleitwort von Richard Mark Soley Vorwort v vii 1 Einleitung 1 1.1 Zum Kennenlernen: Hello, World" 1 1.2 Nichtblockierende Operationen 15 1.3 Interface-Erweiterungen 17 1.4 Das Modul-Konzept 22 1.5 Ein Taschenrechner für komplexe Zahlen 24 1.6 Fehler auffangen: CORBA-Exceptions 30 1.7 Die Delegate-Technik 39 2 Der Standard im Überblick 45 2.1 Allgemeines 45 2.1.1 Die OMG und ihre Ziele 45 2.1.2 Die OMA und ihre Bestandteile 46 2.1.3 Entstehung und Aktualisierung von Standards 51 2.2 CORBA2.0 52 2.2.1 Überblick über die Architektur 53 2.2.2 IDL und die verschiedenen Programmiersprachen 57 2.2.3 Der Object Adapter (OA) 58 2.2.4 Das Implementation Repository 59 2.2.5 Realisierungsmöglichkeiten für den ORB 59 2.2.6 Aufbau eines Klienten 60 2.2.7 Aufbau einer Objekt-Implementation 61 2.2.8 Interoperabilität 62 2.3 IDL 66 2.3.1 Lexikalische Konventionen 66 2.3.2 Gültigkeit von Bezeichnen! 69 2.3.3 Struktur einer IDL-Definition 71 2.3.4 Module 71 2.3.5 Interfaces 72 2.3.6 Konstanten 75

xii Inhaltsverzeichnis 2.3.7 Definitionen von Typen 76 2.3.8 Exceptions 79 2.3.9 Unterschiede zu C++ 79 2.4 Das Language Mapping für C++ 80 2.4.1 Bezeichner und Namensräume 80 2.4.2 Basistypen (inklusive enum" und const") 81 2.4.3 Zeichenketten ( string") 83 2.4.4 struct", union" und sequence" 85 2.4.5 Arrays 93 2.4.6 Interfaces und Objekt-Referenzen 96 2.4.7 Ausgelagerte Themen 100 3 Wie sich Objekte finden 101 3.1 Objekt gesucht - Namensdienste 101 3.1.1 Was CORBA bietet 101 3.1.2 Überblick über COSS-Naming 103 3.2 Ein einfacher Namensdienst 106 3.2.1 Wiederverwendung von Software 106 3.2.2 Leistungsmerkmale 107 3.2.3 Der Server 109 3.2.4 Ein Klient 115 3.2.5 Was fehlt? 117 3.3 Beispielimplementation für COSS-Naming 119 3.3.1 IDL-Definition 119 3.3.2 Persistente Objekte / Orbix-Loader 122 3.3.3 Der Server 123 3.3.4 resolve_initial_references() 136 3.3.5 Ein Klient, 137 3.3.6 Verteilung und Föderation von Namenskontexten 139 3.4 Factories und Aktivierungsmodi für Server 141 3.4.1 Beispiel für einen per-method Server 146 3.4.2 Integration von Sun-NIS in den Namensdienst 148 3.4.3 Ein Klient zum Anzeigen von Einträgen 151 3.4.4 Deadlocks 153 3.4.5 Factories 155 3.5 Ausblick: Der Trader 158

Inhaltsverzeichnis xiii 4 Interfaces++ 161 4.1 Abstraktionen und Vererbung in IDL 161 4.1.1 Abstraktionen und Polymorphie 162 4.1.2 Kombination von Abstraktionen 164 4.1.3 Mehrere Basisinterfaces 164 4.1.4 Auswirkungen auf die Objekt-Implementation 165 4.1.5 Versteckte Vererbung 167 4.1.6 Element-Relation zwischen Interfaces 169 4.2 Interface-Versionen 170 4.2.1 Worin besteht das Problem? 172 4.2.2 Ein Lösungsvorschlag 173 4.2.3 Ein Beispiel 176 4.2.4 Einarbeitung orthogonaler Operationen 178 4.3 TypeCodes und der IDL-Typ any" 179 4.3.1 Explizite Verwendung von TypeCodes 181 4.3.2 Implizite Verwendung von TypeCodes 185 4.3.3 Beispiel anydemo" 185 4.3.4 Problemfälle 194 4.4 Das Interface Repository (IR) 196 4.4.1 Wofür brauchen wir ein IR? 196 4.4.2 Welche Informationen befinden sich im IR? 197 4.4.3 Wie werden die Einträge im IR identifiziert? 199 4.4.4 Die Interfaces der Objekte im IR 202 4.4.5 Wie findet man eine Interface-Definition? 206 4.4.6 Zusammenarbeit mehrerer IRs 208 4.4.7 Das IR in Orbix 2.0 209 4.4.8 Beispiel 1 212 4.4.9 Beispiel 2 214 4.5 Unbekannte Interfaces benutzen (DU) 218 4.5.1 Die Datentypen NamedValue" und NVList" 220 4.5.2 Requests erzeugen (Kurzform) 223 4.5.3 Requests erzeugen (ausführliche Form) 225 4.5.4 Probleme mit unbekannten Argumenttypen 228 4.5.5 Synchrone Ausführung von Requests 229 4.5.6 Asynchrone Ausführung von Requests 232 4.5.7 Nichtblockierende Nutzeroberflächen 234

xiv Inhaltsverzeichnis 4.6 Unbekannte Interfaces implementieren (DSI) 236 4.6.1 Darstellung eines Requests im Server 237 4.6.2 Bereitstellen der Request-Behandlungsroutine 237 5 CORBA und Java 239 5.1 Kurzer Rundgang durch Java 240 5.1.1 Hello, World" auf stdout 240 5.1.2 Graphische Oberflächen 242 5.1.3 Echo als Applet - EchoApp 245 5.1.4 Kooperierende Applets 247 5.2 Language-Mapping für Java 250 5.2.1 Allgemeines 251 5.2.2 IDL-Basistypen 251 5.2.3 Erzeugte Dateien 252 5.2.4 Konstanten 253 5.2.5 Strukturen 254 5.2.6 Unions 255 5.2.7 Arrays 256 5.2.8 Sequenzen 257 5.2.9 Strings 258 5.2.10 Any 258 5.2.11 Interfaces und Objekt-Referenzen 259 5.2.12 Operationen und Attribute 261 5.2.13 Besonderheiten der anderen Vorschläge 263 5.3 Beispiele 266 5.3.1 Java-Klient für tty-server 266 5.3.2 Graphische Nutzerschnittstelle für Taschenrechner 268 5.3.3 Zugriff auf den Taschenrechner über Applets 273 Anhänge A IDL-Grammatik 279 B Standardisierte Schnittstellen (IDL) 285 C Makefiles für Orbix 2.0 299 D Exceptions in Orbix 2.0 305 Index 307 Literaturverzeichnis 313