![]() |
Nachdiplomkurs Java - Java Certification Winter Semester Kommunikation mit COBRA-Broker |
|
---|---|---|
© , Alle Rechte vorbehalten, Josef M. Joller Prof Dr. Josef M. Joller |
Zielpublikum | Software-Entwickler |
Vorkenntnisse | Vertiefte Java-Kenntnisse, Netzwerkkenntnisse im Umfang der vorangehenden Kurse (Netzwerkkommunikation, RMI) |
Kursbeginn | Sommer / Herbst |
Kursdauer | 6 Abende |
Zeiten | Jeweils Dienstag und Donnerstag,17.30 bis 21.45 Uhr |
KURSZIELE - Sie kennen die Object Management Architectur (OMA) sowie die Architektur eines CORBA Systems. - Sie können in der Praxis abschätzen, ob die CORBA Technologie die angepasste Lösung bieten kann und können diese Lösung teilweise selbständig realisieren KURSUNTERLAGEN Skript (PDF) Übungen und Beispiele (ZIP) Zusatzliteratur 1) Locating CORBA Objects (PDF) 2) Java IDL PowerPoint Einführung (PDF) 3) Java IDL und CORBA PowerPoint Einführung (PDF) KURSINHALTE CORBA - HETEREOGENE VERTEILTE SYSTEME 1 1.1. KONZEPTE: CORBA UND VERTEILTE SYSTEME 1 1.1.1. Lernziele 2 1.2. VERTEILTE APPLIKATION AUS CORBA SICHT 2 1.2.1. Verteilung der Applikationen 2 1.2.1.1. Daten sind verteilt 2 1.2.1.2. Rechnerleistung ist verteilt 2 1.2.1.3. Benutzer sind verteilt 3 1.2.1.4. Grundlegende Tatsachen über Verteilte Systeme / Objekte 3 1.2.1.5. Verteilte Objektsysteme 4 1.3. KONZEPTE FÜR VERTEILTE APPLIKATIONEN 5 1.3.1. Multi-Tiered Applikationen 5 1.3.2. User-Interface Tier 5 1.3.3. Service (Server) Tier 6 1.3.4. Data Store (Database) Tier 6 1.4. DIE OMG CORBA SPEZIFIKATION 7 1.4.1. Was ist CORBA? 7 1.4.1.1. Die OMG 7 1.4.1.2. CORBA Architektur 7 1.4.1.3. Der ORB 9 1.4.1.4. CORBA als Standard für Verteilte Objektsysteme 10 1.4.1.5. CORBA Services 12 1.4.1.6. Die Facilities von CORBA 13 1.4.1.7. CORBA Produkte 14 1.4.1.7.1. JavaORB - ein frei erhältlicher Objekt Broker 14 1.5. EINE BEISPIELAPPLIKATION 15 1.5.1. Die Börsen Applikation 15 1.5.1.1. Einige Objekte unserer Börsenapplikation 16 1.6. IMPLEMENTATION DES CLIENT 17 1.6.1. Implementation eines CORBA Clients 17 1.6.1.1. CORBA Objekte werden als IDL Interfaces beschrieben 17 1.6.1.2. Objekt Referenzen und Requests 19 1.6.1.3. IDL Typen System 20 1.6.1.3.1. IDL Type Operationen 21 1.6.1.3.2. Request Type Checking 22 1.6.1.4. IDL zu Java Binding 22 1.6.1.5. Der IDL to Java Compiler 23 1.6.1.6. Bestimmen einer Objekt Referenz 23 1.6.1.7. Das Kreieren eines Objekts aus Clientsicht 24 1.6.1.8. Exceptions 25 1.7. IMPLEMENTATION EINES EINFACHEN VERTEILTEN OBJEKT SYSTEMS 26 1.7.1. Objekt Implementation 26 1.7.1.1. Erstellen einer Implementation 26 1.7.1.2. Interface versus Implementation Hierarchien 27 1.7.1.3. Implementation vom Type Checking 28 1.7.1.4. Implementation eines Server mit dem Java 2 ORB 29 1.7.1.5. Implementieren eines Server mit VisiBroker 30 1.7.1.6. Unterschiede der Server Implementationen 31 1.7.1.7. Packaging Objekt Implementationen 31 1.8. OBJEKT ADAPTER 32 1.8.1. Objekt Adapter 32 1.8.1.1. Activation on Demand durch den Basic Object Adapter (BOA) 32 1.8.1.2. Portable Object Adapter (POA) 33 1.9. RESOURCEN 34 1.9.1. Resourcen 34 1.9.1.1. Web Sites 34 1.9.1.2. Dokumentation und Spezifikation 34 1.9.1.3. Bücher 34 1.9.1.4. Verschiedene Quelle 34 1.10. NOTIZEN ZU JAVA 2 ORB 35 1.10.1. Java 2 ORB 35 1.10.1.1. idlj und idltojava 35 1.10.1.2. System Properties 36 1.11. VISIBROKER 37 1.11.1. VisiBroker Übersicht 37 1.11.1.1. VisiBroker Tools 37 1.11.1.2. Einsatz von VisiBroker mit Java 2 37 1.11.1.3. Portable Stubs und Skeletons 38 1.11.1.3.1. Was ist der Unterschied zwischen portabler und proprietärer Version? 38 1.11.1.4. Einsatz des BOA mit VisiBroker 39 1.11.1.5. Einsatz des VisiBroker Smart Agent 40 1.12. HELLO WORLD ALS CORBA APPLIKATION 41 1.12.1. IDL Beschreibung der HelloWorld Objektwelt 41 1.12.1.1. _HelloImplBase.Java 42 1.12.1.2. _HelloStub.java 43 1.12.1.3. Hello.java 44 1.12.1.4. HelloHelper.java 45 1.12.1.5. HelloHolder.java 46 1.12.2. Implementation des Servers 47 1.12.2.1. Die Servant Klasse : HelloServant.Java 47 1.12.2.2. Die Server Klasse : HelloServer.Java 48 1.12.3. Implementation des Clients 49 1.12.3.1. Die Clientklasse : HelloClient.Java 49 1.12.4. Der Client als Applet 50 1.12.4.1. Die Appletklasse : HelloApplet.Java 50 1.12.5. Übersetzen und Starten der Applikation : Schritt für Schritt 51 1.12.5.1. IDL Beschreibung in Java übersetzen 51 1.12.5.2. Compilieren der Java Dateien 51 1.12.5.3. Starten des Namensservers 51 1.12.5.4. Starten der Hello Servers 52 1.12.5.5. Starten des Hello Clients 52 1.12.5.6. Stoppen des Servers und des Nameservices 52 1.13. NAMING SERVICE 53 1.13.1. Java IDL Name Server 53 1.13.2. Starten des Java IDL Name Server 53 1.13.3. Stoppen des Java IDL Name Server 54 1.13.4. Beispiel Client: Objekte einem Namespace hinzufügen 54 1.13.5. Beispiel Client: Abfrage des Namespace 56 1.14. CORBA EXCEPTIONS 58 1.14.1. Unterschiede zwischen CORBA und Java Exceptions 58 1.14.2. System Exceptions 58 1.14.2.1. System Exception Struktur 59 1.14.2.2. Minor Codes 59 1.14.2.3. Completion Codes 59 1.14.3. User Exceptions 59 1.14.4. Minor Code Bedeutung 60 1.15. INITIALISIERUNG 62 1.15.1. Kreieren eines ORB Objekts 62 1.15.1.1. Kreieren eines ORBs für eine Applikation 62 1.15.1.2. Kreieren eines ORB für ein Applet 62 1.15.1.3. Argumente für ORB.init() 63 1.15.1.4. System Eigenschaften 64 1.15.2. Bestimmen einer initialen Objektreferenz 65 1.15.2.1. Stringified Objektreferenzen 65 1.15.2.2. Referenzen von einem ORB erhalten 66 1.16. ÜBERSICHT : IDL ZU JAVA MAPPING 67 1.16.1. IDL zu Java Übersicht 67 1.17. SPEICHERN DES ZUSTANDES - HELLO WORLD MIT PERSISTENTEM ZUSTAND 68 1.17.1. Interface Definition (Hello.idl) 68 1.17.2. Implementation des Servers (HelloServer.java) 69 1.17.3. Implementation des Clients (HelloClient.java) 71 1.17.4. Konkretes Vorgehen : Bau, Übersetzen und Start der Applikation 72 1.18. HELLO WORLD MIT CALLBACK OBJEKT 73 1.18.1. Interface Definition (Hello.idl) 73 1.18.2. Implementation des Servers (HelloServer.java) 74 1.18.3. Implementation des Clients (HelloClient.java) 75 1.18.4. Konkretes Vorgehen für Hello World Callback 76 1.19. BERÜCKSICHTIGUNG VON VERERBUNG 77 1.19.1. Interface Definition (Hello.idl) 77 1.19.1.1. _HelloOperations.java 78 1.19.1.2. _HelloTie.java 78 1.19.2. Implementation des Servers (HelloServer.java) 79 1.19.3. Implementation des Clients (HelloClient.java) 80 1.19.4. Konkretes Vorgehen zum Bau von Callback Hello World 80 1.20. DAS DYNAMIC SKELETON INTERFACE DSI / Dynamic Invocation Interface (DII)81 1.20.1. Warum soll man DSI überhaupt einsetzen? 82 1.20.2. DSI - Ein Beispiel 83 1.21. SCHLUSSBEMERKUNGEN 85