8.3 COM und DCOM (Microsoft)

Größe: px
Ab Seite anzeigen:

Download "8.3 COM und DCOM (Microsoft)"

Transkript

1 8.3 COM und DCOM (Microsoft) Windows-Objekte: sprachunabhängiger, binärer Standard für Objektschnittstellen COM Component Object Model: sprachunabhängige Klassen als Binärcode in DLL- oder EXE-Dateien; lokale Fernaufrufe; Basis für OLE Object Linking and Embedding DCOM Distributed COM: Objekterzeugung und benutzung auch stationsübergreifend: echte Fernaufrufe

2 8.3.1 Schnittstellenbeschreibungssprache IDL ( = erweitertes DCE IDL ) für Dokumentation und Stub-Erzeugung (für Fernaufrufe) Microsoft IDL Compiler MIDL generiert Vertreter-Code in C/C++ [ object, uuid( c c ) ] // IID Interface ID interface Ipersist : Iunknown { typedef [unique] IPersist *LPPERSIST; } HRESULT GetClassID([out] CLSID *pclassid);

3 8.3.2 Windows-Objekte Binäre Konventionen für Objekte mit einer oder mehreren Schnittstellen: Jedes Objekt ist über ein ausgezeichnetes Schnittstellenobjekt (!) mit Schnittstelle IUnknown erreichbar. Objekt ist möglicherweise über weitere Schnittstellenobjekte erreichbar; deren Schnittstellen sind Erweiterungen von IUnknown. interface IUnknown { HRESULT QueryInterface([in] REFIID iid, [out]void** ppvobject); // Adresse der Schnittstelle iid beschaffen ULONG AddRef(void); // Verweiszähler erhöhen ULONG Release(void); // Verweiszähler verringern }

4 Binäre Repräsentation eines Schnittstellenobjekts (Beispiel IPersist): Schnittstelle IUnknown Daten vtable QueryInterface AddRef Release GetClassID! Einzuhalten von OO-Übersetzer (und C-Programmierer!) Darstellung eines Objekts mit Schnittstellen: IUnknown IPersist....

5 8.3.3 COM - Component Object Model Component Development Klasse = Binärcode für Objekterzeugung, identifiziert durch CLSID Zuordnung zwischen CLSID und Code-Datei(en) - DLL oder EXE - ist im Windows Registry vermerkt. Datei kann Code für mehrere Klassen enthalten. Class Object / Class Factory = Fabrikobjekt, das erzeugt werden muß, bevor mit seiner Hilfe Objekte der zugehörigen Klasse erzeugt werden können

6 Standard-Schnittstelle einer Class Factory: interface IClassFactory : IUnknown { HRESULT CreateInstance([in] IUnknown *punkouter, // falls Aggregation [in] REFIID iid, // Schnittstellentyp [out]void** ppvobject); // erzeugtes Objekt, ist nicht initialisiert } HRESULT LockServer([in] boolean lock); // Erhöhung/Verringerung des Sperrzählers Implementierer einer Klasse muß auch Class Factory mit dieser Schnittstelle bereitstellen

7 COM Middleware erlaubt verteilungstransparente Objekterzeugung: CoGetClassObject(clsid, context, NULL, IID_IClassFactory, (LPLPVOID)&factory); factory->createinstance(outer, iid, (LPLPVOID)&object) object->init(...); Ort der Fabrik- und Objekterzeugung wird durch Bits in context bestimmt: internal:dll im gleichen Prozeß/Adreßraum local: EXE in anderem Prozeß/Adreßraum, aber auf gleicher Station remote: DLL oder EXE auf anderer Station...

8 Fabrikobjekt erlaubt beliebig viele Objekterzeugungen, auch mit verschiedenen Schnittstellen (soweit unterstützt). Falls nur ein Objekt benötigt wird: CoCreateInstance(clsid, outer, context, IID_IClassFactory, (LPLPVOID)&object); beinhaltet CoGetClassObject(...); factory->createinstance(...); factory->release();

9 Realisierung von CoGetClassObject ist abhängig von context : COM sucht im Registry nach clsid und zugehörigen Einträgen für DLL- und EXE-Dateien: wenn internal und DLL vorhanden, DLL laden, benutzerdefinierte Prozedur aufrufen, die Fabrik erzeugt: DllGetClassObject(...); sonst: wenn local und EXE vorhanden, Server-Prozeß starten; dieser erzeugt Fabrik und registriert sie mit CoRegisterClassObject(...); COM wartet die Registrierung ab und lädt dann beim Klienten die Proxy DLL für die Fabrik. sonst: wenn remote siehe 8.3.4

10 8.3.4 DCOM - Distributed COM = COM + echte Fernaufrufe + Sicherheit + Threading ( NT Servers) Fernaufrufe: - benutzen DCE RPC, - at-most-once-fehlersemantik, - Orphan Detection Fernerzeugung einer Objektfabrik ist möglich, wenn im lokalen Registry unter clsid ein entsprechender Eintrag steht, mit Daten RemoteServerName = Stationsname oder adresse ActivateAtStorage = "Y" oder "N" (für Aktivierung persistenter Objekt Codes von Klassen und Klienten sind ortstransparent!

11 Benennung einer Station im Klienten-Programm: Wähle als 3. Argument von CoGetClassObject(clsid, context, server,..) einen Verweis auf Verbund vom Typ COSERVERINFO (reserviert, Stationsname oder adresse, Autorisierung, reserviert) Code kann auch DLL statt EXE sein - dann wird spezielles Standard-EXE ( surrogate ) geladen, welches DLL lädt.

12 Objektifizieren von Daten: CoGetInstanceFromFile(server, // or NULL (local) clsid, punkouter, context, filemode, filename, lengthof, &resultsarray); // contains interfaces CoGetInstanceFromIStorage(...);

13 8.3.5 Monikers und Running Object Table Moniker ( Spitzname ) = Verweisobjekt, z.b. File Moniker: Objekt mit Bezug auf Datei = persistentes Objekt, implementiert IMoniker mit Operation BindToObject, die das persistente Objekt aktiviert falls nicht bereits aktiv. Erzeugung: Benutzung: CreateFileMoniker(LPSTR pathname, LPMONIKER *pmk) BindToObject(.,., REFIID iid, void **ppvobject) beschafft CLSID aus Dateityp (Registry!), macht damit CoCreateInstance (falls nicht aktiv!), lädt die Daten aus der Datei und beschafft ppvobject mittels QueryInterface

14 Aktive Objekte werden in der Running Object Table (ROT) registriert. Schnittstelle dafür wird erhalten mit GetRunningObjectTable und hat Operationen Register GetObject Revoke... - macht Eintrag (Moniker, Objekt), liefert Kennun - liefert Objekt für Moniker - entfernt Eintrag mit Kennung

15 8.3.6 Visual J++ mit DCOM leistet gute Abstraktion von DCOM s technischen Details besser als RMI IDL beschreibt Schnittstelle IAccount für Beispiel Konto-Objekte implements IAccoun IDL-Java-Übersetzer erzeugt Package account mit Schnittstelle account.iaccount un Proxy account.account Server: import com.ms.com.*; import account.*; class Account implements IAccount { public int deposit(int a) throws ComException {...}... }

16 Werkzeug javareg übernimmt Generierung und Registrierung der zugehörigen COM-Komponente Klient: import com.ms.com.*; import account.*; IAccount acc = (IAccount)new Account(no,bal);... acc.deposit(amount); // may throw ComException...

17 8.3.7 COM+ Sprachunabhängiges Verbergen der meisten COM/DCOM-Details: Class Factory Reference Counting Query Interface IDL!..... durch Werkzeuge zur automatischen Generierung von Fabriken,..... sowie erweiterte Laufzeitunterstützung.

9.3 COM und DCOM (Microsoft )

9.3 COM und DCOM (Microsoft ) 9.3 COM und DCOM (Microsoft 1990-99) COM Component Object Model Binärcode-Konvention für Schnittstellen von Klassen (= Binärcode in DLL- oder EXE-Dateien), ansprechbar über lokale Fernaufrufe (in getrennten

Mehr

4.4 COM+ mit Transaction Services als Beispiel eines OTM

4.4 COM+ mit Transaction Services als Beispiel eines OTM 4.4 COM+ mit Transaction Services als Beispiel eines OTM Was ist COM/COM+? COM+ Transaction Services Entwickeln von COM+-Applikationen Vergleich TUXEDO vs. COM+ Kapitel 4: Workshop COM+ 1 Was ist COM+?

Mehr

4.4 COM+ mit Transaction Services als Beispiel eines OTM

4.4 COM+ mit Transaction Services als Beispiel eines OTM 4.4 COM+ mit Transaction Services als Beispiel eines OTM Was ist COM/COM+? COM+ Transaction Services Entwickeln von COM+-Applikationen Vergleich TUXEDO vs. COM+ Workshop Objekt-Transaktionsmonitore -1

Mehr

Client/Server-Programmierung

Client/Server-Programmierung Client/Server-Programmierung WS 2017/2018 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 12. Januar 2018 Betriebssysteme / verteilte

Mehr

Einführung in COM. 04.04.2006 Seite 1

Einführung in COM. 04.04.2006 Seite 1 Einführung in COM 04.04.2006 Seite 1 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird 04.04.2006

Mehr

Application Frameworks and Componentware Wintersemester 2002/03. COM+ Entwicklungsschritte. In-Place Activation OSF DCE RPC 1992 DCOM 1996

Application Frameworks and Componentware Wintersemester 2002/03. COM+ Entwicklungsschritte. In-Place Activation OSF DCE RPC 1992 DCOM 1996 OLE, DCOM und COM Die frühen Komponentenmodelle der Firma Microsoft COM+ Entwicklungsschritte Object Linking and Embedding (Compound Documents) In-Place Activation Clipboard 1987 OLE 1992 OLE 2 1993 MS

Mehr

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents)

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents) 5. OLE, DCOM und COM Die frühen Komponentenmodelle der Firma Microsoft Peter Sturm Universität Trier COM+ Entwicklungsschritte Object Linking and Embedding (Compound Documents) In-Place Activation Clipboard

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.

7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc. 7.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi) (http://java.sun.com/j2se/1.3/docs/guide/rmi/spec/rmitoc.html) bietet leider nur begrenzte Verteilungsabstraktion Unterstützung

Mehr

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber

Microsoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS

Mehr

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6..

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6.. Inhalt 1. Motivation 2. COM Architektur IUnkown 3. COM Implementierung 4. Zusammenhang zu ATL 5. Beispiel COM Client/ Server 6..NET/ COM Interop ISum IMultiply Calculator IClassFactory 7. Beispiel.NET

Mehr

I.2.3. DCOM Distributed Component Object Model. Dr. Welf Löwe und Markus Noga 1

I.2.3. DCOM Distributed Component Object Model. Dr. Welf Löwe und Markus Noga 1 I.2.3. DCOM Distributed Component Object Model Dr. Welf Löwe und Markus Noga 1 Literatur Es scheint keine guten COM Bücher zu geben. Don Box. Essential COM. Addison-Wesley. 1998. Viel zu detailliert, zu

Mehr

Andreas Kosch. Software & Support $ > Verlag GmbH

Andreas Kosch. Software & Support $ > Verlag GmbH Andreas Kosch Software & Support Verlag GmbH $ > Inhaltsverzeichnis I COM-GRUNDLAGEN 11 1 COM - COMPONENT OBJECT MODEL 13 1.1 WARUM? 13 1.2 DER COM-STECKBRIEF 16 2 CLIENT UND SERVER 18 2.1 BEGRIFFSBESTIMMUNG

Mehr

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI

1 Motivation. 1 Motivation. Standard Middleware für objektorientierte Anwendungen. Motivation. Fragmentierte Objektmodel. Java RMI 1 Motivation Motivation ierte Objektmodel Standard Middleware für objektorientierte Anwendungen CORBA,.NET-Remoting Java Remote Method Invocation (RMI) Java RMI ierte Objekte undjava RMI Zusammenfassung

Mehr

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

Inhaltsverzeichnis. Teil I Grundlagen der Programmarchitektur... 1. Vorwort... XIII XV XVI XVI Vorwort......................................................................... Vorwort der Autoren........................................................... Systemanforderungen für die CD zum Buch......................................

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Spezielle Technik aus dem Java-Umfeld Ausführung von Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VMs Aufruf

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

ActiveX/DCOM-Programmierung mit Visual C++ 6

ActiveX/DCOM-Programmierung mit Visual C++ 6 Victor Sirotin ActiveX/DCOM-Programmierung mit Visual C++ 6 Entwicklung von Office- und InterneWIntranet-Anwendungen yy ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts

Mehr

Component Object Model. Detlef Streitferdt Technische Universität Ilmenau. TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Komponentenmodelle 1

Component Object Model. Detlef Streitferdt Technische Universität Ilmenau. TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Komponentenmodelle 1 Komponentenmodelle Component Object Model Detlef Streitferdt Technische Universität Ilmenau TU-Ilmenau, Softwaresysteme / Prozessinformatik, KBSE Komponentenmodelle 1 COM-Komponenten COM ist...... eine

Mehr

Seminar Komponentenorientierte Softwareentwicklung

Seminar Komponentenorientierte Softwareentwicklung Seminar Komponentenorientierte Softwareentwicklung Für : Herr Prof. Dr. Thiesing COM (DCOM, COM+) Von: Nurhan Duman MatrNr: 7037779 1 Inhaltsangabe Historie von COM/DCOM/COM+...S.3 Was ist COM (allgemeine

Mehr

Dynamische Aktualisierungsmechanismen komponentenbasierter Software

Dynamische Aktualisierungsmechanismen komponentenbasierter Software Universität Hamburg Fachbereich Informatik Diplomarbeit Dynamische Aktualisierungsmechanismen komponentenbasierter Software eingereicht bei: Prof. Dr. Winfried Lamersdorf Arbeitsbereich Verteilte Systeme

Mehr

Seite 1. Gliederung. Vereinfachtes Weltbild zu aktuellen Technologien. Kapitel 5 Komponententechnologien im Vergleich

Seite 1. Gliederung. Vereinfachtes Weltbild zu aktuellen Technologien. Kapitel 5 Komponententechnologien im Vergleich Gliederung 1. Software-Komponenten: Grundlegende Begriffe 2. Systematischer Entwicklungsprozess für Komponenten-Software mit UML 3. Java-Komponenten-Technologien 3.1 JavaBeans-Technologie 3.2 Web-Komponenten

Mehr

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung G 3.1Einführung in die verteilte Objektverwaltung (Distributed Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA G 3.2Der CORBA-Standard G 3.3Iona

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

Softwareentwicklung mit Komponenten

Softwareentwicklung mit Komponenten Softwareentwicklung mit Komponenten Fachhochschule Gießen 20.10.1999 Dr. Burkhardt Renz Gliederung was sind unsere Ziele? Was ist eine Beispiele, Charakteristika, Technologien Wie funktioniert Ein konkretes

Mehr

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3)

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3) Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 3) Robert Tolksdorf und Peter Löhr Überblick 1. Aktivierung und Deaktivierung von Objekten http://java.sun.com/javase/6/docs/technotes/guides/rmi/activation/overview.html

Mehr

7.1.1 Grundzüge der Fernaufruf-Implementierung

7.1.1 Grundzüge der Fernaufruf-Implementierung 7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

8.4 Microsoft.NET. .NET Framework = 1 CLR Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung von managed cod

8.4 Microsoft.NET. .NET Framework = 1 CLR Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung von managed cod 8.4 Microsoft.NET http://www.microsoft.com/net.net Framework = 1 CLR Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung von managed cod 2 Reichhaltige Klassenbibliotheken für

Mehr

Internetanwendungstechnik (Übung)

Internetanwendungstechnik (Übung) Internetanwendungstechnik (Übung) JacORB S. Bissell, G. Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr. EN6,

Mehr

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler

Seminar Ausgewählte Komponenten von Betriebssystemen. IDL4 Compiler Seminar Ausgewählte Komponenten von Betriebssystemen IDL4 Compiler IDL4 Compiler Hristo Pentchev Überblick CORBA IDL Allgemein IDL4 Compiler Beispiele CORBA Common Objekt Request Broker Architecture Gemeinsame

Mehr

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,

Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, 9 Middleware vs9 1 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, bietet Standarddienste (Transaktionen, Sicherheit,...),

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS

Mehr

Wie teuer ist dynamischer Polymorphismus? 194

Wie teuer ist dynamischer Polymorphismus? 194 Wie teuer ist dynamischer Polymorphismus? 194 Function f vtable data RTTI ~Function get_name type name type info "Sinus\0" execute Nicht-polymorphe Methoden und reguläre Funktionen können in C++ direkt

Mehr

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1

Komponententechnologien Winter 2016/17. Komponenten. 2. Die Anfänge. Peter Sturm, Universität Trier 1 Komponenten 1 2. Die Anfänge 3 Peter Sturm, Universität Trier 1 Selbstzufrieden Anwendung Hardware 4 Oh? Da gibt es noch jemanden? Anwendung Anwendung TCP/IP Hardware Hardware 5 Peter Sturm, Universität

Mehr

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1

Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7. RMI Projekt gettime 1 Kurzanleitung RMI-Beispiel: gettime Seite 1 / 7 Inhaltsverzeichnis RMI Projekt gettime 1 Schritt 1: Interface Klasse definieren 1 Schritt 2: Implementation Class definieren 2 Schritt 3: RMI Compiler erstellen

Mehr

Weitere aus Schnittstelle generierte Dateien (Java-Mapping)

Weitere aus Schnittstelle generierte Dateien (Java-Mapping) 4.2 Client-Seite (2) Nutzung des Proxies vorher Typanpassung notwendig stringtoproxy() liefert nur Proxy für Object-Schnittstelle Typanpassung geschieht über Methoden an dem Proxy bzw. einer ilfsklasse

Mehr

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 1)

Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 1) Netzprogrammierung: Java RMI - Remote Method Invocation (Teil 1) Robert Tolksdorf und Peter Löhr Überblick 1. Fernaufrufbare Objekte 2. Das Objektverzeichnis rmiregistry 3. Parametersemantik Dokumentation

Mehr

D.1 Organisatorisches

D.1 Organisatorisches D Überblick über die 3. Übung D Überblick über die 3. Übung D.1 Organisatorisches D.1 Organisatorisches RPC und ORB Präsentation der Übungsaufgaben 1 und 2 Aufrufsemantiken Hinweise Aufgabe 2 Live in der

Mehr

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache

B Java RMI B.1 B.2. 1 Java. 1.1 Objekte. Objektorientierte Sprache B Java RMI B.1 1 Java 1.1 Objekte Objektorientierte Sprache Objekte beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. Objektreferenzen Verweise auf Objekte keine Zeiger,

Mehr

Janeva:.NET meets J2EE

Janeva:.NET meets J2EE Inhalt: Motivation Was ist Janeva? Systemvoraussetzungen Installation Beispiel Converter Fazit Motivation Motivation: Janeva testen einen Überblick verschaffen Lauffähiges Beispiel Entscheidungshilfe über

Mehr

Praktikum Verteilte Anwendungen

Praktikum Verteilte Anwendungen Technische Informatik (Info II) -Sommersemester 2006 - Folie 1 / 27 0 Gliederung 1.) Kurze Wiederholung/ Einleitung 2.) RPC/ RMI 3.) Praktisches Beispiel 4.) Aufgabenblatt Folie 2 / 27 Wiederholung/ Einleitung

Mehr

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth

Überblick. Verteilte Systeme - 4. Übung. VS-Übung. Dynamische Proxies Stubs & Skeletons Dynamische Proxies als Stubs. Tobias Distler, Michael Gernoth Überblick Verteilte Systeme - 4. Übung Tobias Distler, Michael Gernoth Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

Mehr

9.5 Microsoft.NET

9.5 Microsoft.NET 9.5 Microsoft.NET http://www.microsoft.com/net http://msdn.microsoft.com/netframework Architektur: objektorientiert/fernaufrufe (8.1.6 ) IDL: (unsichtbare Metadaten, vom Übersetzer erzeugt) Dienste: (über

Mehr

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen

Überblick. Class-Objekte. Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://download.oracle.com/javase/tutorial/reflect/index.html

Mehr

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method

Überblick. Beispiel: get()-methodenaufruf am VSBoard aus Übungsaufgabe 1. Analyse einer Methode: java.lang.reflect.method Überblick Bietet die Möglichkeit das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Stubs & Skeletons Aufgabe 2 Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Java-Programmierung. Remote Method Invocation - RMI

Java-Programmierung. Remote Method Invocation - RMI Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig

Mehr

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Meta Programming and Reflection in Java

Meta Programming and Reflection in Java Meta Programming and Reflection in Java Overview instanceof operator Java Annotations Java Reflection instanceof operator vergleicht ein Objekt mit einem bestimmten Typ testet ob ein Objekt ist eine Instanz

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 3 RMI over IIOP el0100 copyright Abt. Technische Informatik,

Mehr

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

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Remote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Remote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Remote-Objekte Motivation Architektur Client und Server-Implementierung Parameterübergabe Distributed Garbage Collection Verteilung und Nachladen von Code Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Mehr

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker

PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker RMI, Zusammenfassung und Lehrevaluation PROG 2: Einführung in die Programmierung für Wirtschaftsinformatiker Steffen Helke Technische Universität Berlin Fachgebiet Softwaretechnik 8. Juli 2013 Übersicht

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen Faulheit professionell: Fertige Datenbehälter Das Java-Collections-Framework Typsicherheit Generische Klassen Das Java Collections Framework Grundlegende Interfaces Das Interface List Das Interface List

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Lehrstuhl für Programmierparadigmen Fortgeschr. Objektorientierung SS 2009 http://pp.info.uni-karlsruhe.de/ Dozent: Prof. Dr.-Ing. G. Snelting snelting@ipd.info.uni-karlsruhe.de

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

Parallele und Verteilte Systeme

Parallele und Verteilte Systeme Parallele und Verteilte Systeme Einführung in die Netzwerk Programmierung mit Java : JavaIDL Hello World (C) J.M.Joller 1 Zeitlicher Ablauf Hello World Übersicht IDL Interface Beschreibung Der Client (Der

Mehr

Vortrag Grundlagen der COM-Programmierung

Vortrag Grundlagen der COM-Programmierung Schulungsdokument Vortrag Grundlagen der COM-Programmierung Konfigurationsidentifizierung (KI): CTB003202 Funktion Name Organisationseinheit Erstellung Mario Becker BDS Inhalt ➀ Funktionsweise von COM

Mehr

8.1.5 Java RMI Remote Method Invocation

8.1.5 Java RMI Remote Method Invocation 8.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi ) (http://java.sun.com/j2se/1.5/docs/guide/rmi ) (http://java.sun.com/docs/books/tutorial/rmi ) (http://java.sun.com/developer/onlinetraining/rmi/rmi.html

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Objekt-Orientierte Programmierung. II/Wb17

Objekt-Orientierte Programmierung. II/Wb17 Probeklausur SS 2018 Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Objekt-Orientierte Programmierung II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 Gesamt /30 /25 /25 /20 /20 /120 Spielregeln:

Mehr

8.2 Mobile Objekte. (mobile objects, auch Objektmigration, object migration) Facetten der Verteilungsabstraktion

8.2 Mobile Objekte. (mobile objects, auch Objektmigration, object migration) Facetten der Verteilungsabstraktion 8.2 Mobile Objekte (mobile objects, auch Objektmigration, object migration) 8.2.0 Facetten der Verteilungsabstraktion Verteilungsabstraktion (distribution transparency) ist Sammelbegriff für verschiedene

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

F.1 Überblick. Terminologie COM Architektur Vergleich mit CORBA.net Architektur. Weiterer online-artikel über.net:

F.1 Überblick. Terminologie COM Architektur Vergleich mit CORBA.net Architektur. Weiterer online-artikel über.net: F Microsoft & Verteilte Objekte F Microsoft & Verteilte Objekte F.2 Literatur F.2 Literatur F.1 Überblick Terminologie COM Architektur Vergleich mit CORBA.net Architektur EdEd98. G. Eddon, H. Eddon: Inside

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Aufgabe 1: Wintersemester 07/08 Übungsblatt 2 20.11.07 Grundlagen verteilter Systeme Lösungsvorschlag

Mehr

Konzepte von Betriebssystem-Komponenten Middleware RMI

Konzepte von Betriebssystem-Komponenten Middleware RMI Konzepte von Betriebssystem-Komponenten Middleware RMI Mario Kiefer 21. Januar 2005 1 Einführung RMI (Remote Method Invocation) ermöglicht es mit relativ einfachen Mitteln verteilte Anwendungen zu erstellen.

Mehr

Das Component Object Model (COM)

Das Component Object Model (COM) Einführung in das Component Object Model unter Microsoft Windows Das Component Object Model (COM) Michael Puff mail@michael-puff.de 2010-03-26 Die erste Version dieses Dokumentes wurde im Rahmen einer

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

Die Warenkorbfunktion (workbasket)

Die Warenkorbfunktion (workbasket) Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl. Vorbereitungen Download AVO-Übung ICE Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation

Mehr

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub

39 Object Request Brokers. 40 Components of an ORB. 40.1 Stubs and Skeletons. 40.1.1 Stub 39 Object Request Brokers 40.1 Stubs and s invoke methods at remote objects (objects that run in another JVM) Stub: Proxy for remote object example ORBs: RMI, JavaIDL : Invokes methods at remote object

Mehr

Überblick. Java Reflection API. Class-Objekte

Überblick. Java Reflection API. Class-Objekte Bietet die Möglichkeit, das Laufzeitverhalten von Applikationen zu analysieren und es gegebenenfalls sogar zu beeinflussen Tutorial: http://docs.oracle.com/javase/tutorial/reflect/index.html [...] This

Mehr

Java Remote Method Invocation (RMI)

Java Remote Method Invocation (RMI) Java Remote Method Invocation (RMI) Alexander Petry 13. Mai 2003 engl.: Entfernter Methodenaufruf 1 Übersicht 1. Einleitung 2. RMI Interfaces und Klassen 3. Parameterübergabe 4. Dynamisches Nachladen von

Mehr

Kapitel 8: Serialisierbarkeit

Kapitel 8: Serialisierbarkeit Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 8: Serialisierbarkeit Folie 189 : Serialisierbarkeit Die Umwandlung eines komplexen Objektes in ein Byte-Array nennt

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

KAPITEL. Ernst Pfannenschmidt und Paul Watzlaw

KAPITEL. Ernst Pfannenschmidt und Paul Watzlaw KAPITEL 8 Ernst Pfannenschmidt und Paul Watzlaw Die Active Template Library Microsofts Komponentenmodell hat eine recht lange Vorgeschichte, die nicht nur durch den Wandel der Begriffe VBX, OCX, ActiveX

Mehr

Verteilte Systeme Übung

Verteilte Systeme Übung Verteilte Systeme Übung Tobias Distler, Klaus Stengel, Timo Hönig, Christopher Eibel, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode

Mehr

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E. Objekte und Klassen INE2 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? typedef struct Konto { double saldo; int id; Konto; Modul "konto" konto.h konto.c Prozedurale Programmierung:

Mehr

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären.

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. CORBA Lernziele 1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. Zentrale Idee: Schnittstelle: - mit einer Schnittstelle beschreibt man

Mehr

10 Abstrakte Datentypen

10 Abstrakte Datentypen 10 Abstrakte Datentypen abstrakte Datentypen generische Implementierung datengesteuerte Programmierung Operationstabelle 10.1 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr