K. CORBA. K.1.1 Standardisierung. OMG = Object Management Group. Teilbereiche der Standardisierung

Größe: px
Ab Seite anzeigen:

Download "K. CORBA. K.1.1 Standardisierung. OMG = Object Management Group. Teilbereiche der Standardisierung"

Transkript

1 K. CORBA K.1.1 Standardisierung CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte, aufgesetzt auf ein vorhandenes Betriebssystem, auch für heterogene verteilte Systeme. OMG = Object Management Group Standardisierungsorganisation mit etwa 1000 Mitgliedern, Publikation verschiedener Standard-Dokumente, Definition von CORBA Kompatibilität. Teilbereiche der Standardisierung CORBA Softwarearchitektur für Komponenten, UML Unified Modelling Language (textuell & graphisch), XMI XML Metadata Interchange zwischen UML und MOF Werkzeugen, MOF Meta Object Facility... Entwurf von Systemen mit hoher Komplexität... Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-1

2 K.1.2 Zielsetzung Verteilte objektbasierte Programmierung: verteilte Objekte mit definierter Schnittstelle Heterogenität in Verteilten Systemen: verschiedene Betriebssystem-Architekturen verschiedene Hardware-Architekturen verschiedene Programmiersprachen Anbindung an Altsysteme (Legacy): insbesondere C, Pascal und Visual Basic, CORBA-Anwendungen sollen mit Altsystemen interagieren. Freiheitsgrade bei der Middleware-Implementierung: CORBA schreibt keine Implementierung vor, sondern die Funktionalität, CORBA fordert Interoperabilität verschiedener Implementierungen, Partielle Implementierung zulässig. Obj Obj Obj Middleware OS OS OS OS Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-2

3 K.2 OMA - Object Management Architecture ORB als Softwarebus bzw. Komponentenbus : Anwendungsobjekte Vertikale Vertikale Vertical Facilities Facilities Facilities Horizontal Facilities ORB CORBA Services Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-3

4 K.2.1 Anwendungsobjekte Verteilte CORBA-Objekte Objekt immer auf einem bestimmten Rechner (holistischer Ansatz), Kommunikation zwischen den Objekten über ORB, bilden gemeinsam eine Anwendung. Implementierungsperspektive: interne Implementierung über Stellvertreterobjekte, Legacy-Anwendungen können Objektaufrufe durchführen, Der Aufrufer muss nicht unbedingt ein CORBA-Objekt sein: Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-4

5 K.2.2 CORBA-Services Bieten gewissermassen ein System API zum Middleware-OS. Mit Objektschnittstelle und Methoden zum Aufruf, Erscheinen als ORB-Erweiterungen. Services bieten weitergehende Dienstleistungen an allgemein brauchbare und standardisierte Dienstleistungen, Was man eben in einem Betriebssystem so erwartet. Konkret zum Beispiel: Namensdienst (zum Auffinden von Objekten), Zeitdienst (zum Synchronisieren der Zeit), Sicherheitsdienst (zur Zugriffskontrolle). Query, Relationships, Collections, Change Management, Life cycle, Externalisation, Persistence, Concurrency, Transactions, Events, Object properties, Trader, Licensing Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-5

6 K.2.3 CORBA-Facilities Facilities sind anwendungsorientierte Dienstleistungen: im Gegensatz zu CORBA-Services (systemorientierte Dienstleistungen), könnten auch vom Anwendungsprogrammierer erstellt werden. Horizontale CORBA-Facilities: über Anwendungsgebiete hinweg nutzbare Dienstleistungen, z.b. Dokumentenbearbeitung, Druckdienst, Mobile Agenten,... Vertikale CORBA-Facilities: Betrachtung einer Anwendungsdomäne (Domain Facilities) z.b. Dienste für Gesundheitswesen (Patientenverwaltung CORBAmed), Finanzdienstleistungsgewerbe, Produktmanagement, Telekommunikation,... Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-6

7 K.2.4 ORB - Object Request Broker Rückgrat einer CORBA-Middleware. Vermittelt Methodenaufrufe von einem zum anderen Objekt Interne Komponenten im ORB: Language Mapping, Dynamic Interfaces, Inter Orb Protocols, Objekt-Adapter Objekte (im Servant) Klient Skeleton DSI Interface Repository DII IDL Stubs ORB Intf. Object Adapter GIOP / IIOP ORB Core Implementation Repository Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-7

8 K.2.5 Kommunikationsprotokolle GIOP General Inter-ORB Protocol (standardisiert in CORBA): Basisprotokoll für RPC-basierte Objektaufrufe, Austauschformat zwischen ORBs verschiedener Hersteller, Common Data Representation (CDR) definiert Marshalling & Unmarshalling von IDL-Typen IIOP Internet Inter-ORB Protocol: GIOP über TCP/IP, GIOP-Implementierungen über andere Protokolle möglich, Unterstützung durch den ORB für CORBA-Kompatibilität vorgeschrieben. Innerhalb einer ORB-Instanz können Objekte mit herstellerspezifischem Protokoll kommunizieren. GIOP Request Typen: LocateRequest & LocateReply zum Auffinden eines Objektes, Request & Reply für einen Methodenaufruf, MessageError, Fragment, CloseConnection, CancelRequest. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-8

9 K.2.6 OA bzw. Objekt-Adapter Sprachspezifische Objektschnittstelle an ORB-Kernfunktionen anpassen. Bestandteil des ORB. Servant: Grob gesehen ein Wrapper für ein oder mehrere Objekte, Für unsere Zwecke Unterschied Servant/Objekt ignorieren, Weiterleitung von Anfragen transparent möglich. Aufgaben eines Objektadapters Generierung der IOR-Objektreferenzen Aktivierung und Deaktivierung von Servants Allgemeine Kommunikationsplattform bereitstellen, Authentisierung des Aufrufers (im Security-Service) OA-Instanz kennt die an ihm angemeldeten Objekte/Servants. Skeleton: Entgegennahme eingehender Methodenaufruf-Anfragen Weiterleitung von Methodenaufrufen an den entsprechenden Servant Server OA ORB Core Servant Skeleton Aufruf Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-9

10 Portable-Object-Adaptor (POA): definierte Funktionalität für die häufigsten Aufgaben, Obligatorischer Adapter für alle ORBs. Root-POA existiert in jedem ORB: voreingestellte Konfiguration, Anfrage am ORB mit: orb.get_initial_reference( RootPOA ), kann zur Aktivierung von Objekten und weiteren OAs verwendet werden. Weitere POAs mit unterschiedlichen Konfigurationen erzeugbar: Erzeugung am RootPOA bzw. an untergeordnetem POA (Vater-POA), Objektreferenz enthält POA-Name: POA kann ausgewählt werden, POA-Instanzen teilen sich den Kommunikationskanal, neuer POA bekommt eigenen Namen (String). Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-10

11 K.2.7 Policy-Objekte Enthalten Konfigurationsparameter, Vorgaben & evtl. auch Methoden. Umständlich aber konsequent objektorientiert. Policy-Objekte können am POA-Interface erzeugt werden: Angabe einer bestimmten Policy für eine Policy-Kategorie, bei Erzeugung eines POA werden vorab erzeugte Policy-Objekte als Konfiguration übergeben Beispiel: Policy für Implicit-Activation-Policy Erzeugung am POA mit Aufruf von create_implicit_activation_policy(... ) mögliche Policies (übergeben als Parameter) IMPLICIT_ACTIVATION für implizite Aktivierung NO_IMPLICIT_ACTIVATION für explizite Aktivierung Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-11

12 K.3 Dynamic-Invocation-Interface (DII) Der Typ eines Objekts ist zur Compilierungszeit evtl. nicht bekannt. Interface-Repository: wird über den ORB abgefragt. hier müssen Schnittstellendefinitionen hinterlegt werden, Abfrage der Objektschnittstelle beim Interface Repository, Methoden, Parameter und deren Typen können erfragt werden, get_interface() liefert Beschreibung der Schnittstelle eines Objekts, Dynamische Konstruktion des Aufrufobjekts generische Schnittstelle create_request() bei jedem CORBA-Objekt, Aufruf wird durch dynamisches Request-Objekt repräsentiert, Benennung der Methode als String, vgl. textueller Aufruf in Plurix. Übergabe der Parameter gekapselt im Request-Objekt: eigentlicher Aufruf wird durch invoke() am Request-Objekt ausgeführt CORBA::Object Create_request MyInterface CorbaRequest:: Invoke() Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-12

13 K.3.1 CORBA Kompatibilität OMA legt nur Funktionalität und Schnittstellen fest: die Implementierung ist Sache eines CORBA-Herstellers (Vendor). CORBA-Kompatibilität kann zertifiziert werden, wird jedoch meist (noch) nicht gemacht. Implementierung muss nur Grundfunktionen zwingend realisieren: Interoperabilität bei der Kommunikation mit ORBs anderer Hersteller, ORB-Core: ORB-Funktionen, Objektkommunikation, Sprachunterstützung für mindestens eine Sprache, keine Services oder Facilities vorgeschrieben, nicht die vollständige Spezifikation, mindestens IIOP. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-13

14 K.4 CORBA-Objekte Eigenschaften eines CORBA-Objekts Attribute (von außen zugreifbare Instanzvariablen), Operationen (von außen zugreifbare Methoden), Verteilt bzw. remote aufrufbar, Identität der Instanz, Zustand. Stub enthält GET- und SET-Routinen für exportierte Variablen. Zum Thema Objektorientierung : CORBA-Objekt muss nicht identisch mit einem Objekt in einer Programmiersprache sein, CORBA kann auch objektlose Programmiersprachen unterstützen, z.b. C. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-14

15 K.4.1 IOR Interoperable Object Reference Darstellung einer Objektreferenz als IDL-Datenstruktur: muss verwendet werden für GIOP, Repräsentation als String möglich (object_to_string). Profile in der IOR: für jede Protokollfamilie eigenes Profil möglich, Objekt kann theoretisch mehrere Protokolle unterstützen, z.b. IIOP neben herstellerspezifischem Protokoll. Typ. Implementierung in Standard-ORBs: IOR wird als eindeutiger Objektbezeichner benutzt, Nutzung von IIOP auch innerhalb des ORBs. POA Identifier Object Identifier Server spec. Info IIOP Version Host ID Port number Object Key Components IOR Repository ID Profile ID Profile Data... Next Profile Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-15

16 K.4.2 Objekterzeugung für den Server Beschreibung der Objekt-Schnittstelle in IDL. Implementierung des Servant Servant realisiert ein oder auch mehrere CORBA-Objekte, Entscheidung für eine Programmiersprache, Umsetzung der IDL-Schnittstelle in ein Skeleton, Skeleton wird in der Regel ausgefüllt mit Implementierungscode, Prä-Compiler wird häufig IDL-Compiler genannt. Instanzieren des CORBA-Objekts (Servant) Aktivierung des Servants am Object-Adaptor, Generierung einer entfernten Objektreferenz im OA, Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-16

17 POA Beispiel: mindestens eine POA-Instanz pro Adressraum (Server-Prozess), Aufruf von activate_object am POA, Rückgabe der Referenz auf Servant: Aufruf von servant_to_reference am POA, Realisierung der Objektreferenz ist sprachabhängig liefert Objektreferenz auf CORBA-Objekt (nicht Servant) z.b. in Java: Stellvertreterobjekt (lokaler Stellvertreter ist optimiert) implizite Aktivierung Übergabe des Servant als Aufrufsparameter aktiviert automatisch den Servant, eine mögliche Betriebsart des POA. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-17

18 K.4.3 Objektnutzung durch den Klienten Erzeugung eines Stubs Umsetzung der IDL-Schnittstelle in einen Stub, Auswahl einer Programmiersprache für die Client-Seite. Empfang eines Parameters mit Objekttyp Autom. Erzeugung einer neuen Objektreferenz mit Hilfe des Stub-Code: Objekttyp ist zur Compile-Zeit bekannt: Stub-Code kann erzeugt werden realisiert auch entfernte Objektreferenz Aufruf von Operationen gemäß Sprachanbindung z.b. Java: Aufruf von Methoden am Stellvertreterobjekt Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-18

19 K.4.4 Namensdienst. Woher bekommt man die Referenz auf den Namensdienst? Initiale entfernte Objektreferenz muss irgendwie beschafft werden, ORB-Interface: z.b. orb.resolve_initial_reference( NamingService ); Vorkonfiguration durch Systembetreiber. Alternative: Übergabe der Referenzen außerhalb des Systems ORB-Interface: Umwandlung in einen String: orb.object_to_string( objref ); Rückumwandlung: orb.string_to_object( str ); Referenz kann per String übermittelt werden, z.b. über Datei, TCP/IP, Standardeingabe, Kommandozeile... Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-19

20 K.4.5 Sprachabhängige Code-Generierung z.b. in Java wird aus IDL-Beschreibung neben Stub und Skeleton auch Holder- und Helper-Klasse generiert Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-20

21 K.4.6 Parameterübergabe Objekttypen: Übergabe der Objektreferenz Basistypen: Übergabe des abgebildeten Sprach-Datentyps komplexere Typen: Übergabe sprachabhängig Übergabe bei out und inout Parametern sprachabhängig. Typumwandlung / Cast: Objektreferenz kann einen Typ aus der Vererbungshierarchie der Schnittstellen besitzen, wahrer Objekttyp kann spezifischer in der Vererbungshierarchie sein, Erzeugung einer anderen Objektreferenz mit anderem Typ, Zusätzlicher Aufwand im Skeleton. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-21

22 K.4.7 Ergebnisrückgabe und Vererbung Problem 1: mehrfache Ergebnisse Manche Programmiersprachen können nur schwer mehrere Ergebnisse zurückzugeben: => Holder-Klassen in Java: z.b. kann AccountHolder eine Referenz auf ein Account-Objekt aufnehmen, Java-Referenz auf AccountHolder-Objekt wird als out- oder inout-parameter übergeben, Ergebnisparameter kann aus Holder-Objekt ausgelesen werden. Problem 2: Vererbung narrow- & cast-operation benötigt sprachabhängige Umsetzung: Umwandlung in spezifischeren Typ ist nur möglich, wenn tatsächlich vorliegend,. Umwandlung in weniger spezifischen Typ ist immer möglich, z.b. Java Helper-Klassen pro Objekttyp: AccountHelper, SavingsAccHelper, CheckingAccHelper, anyaccount = AccountHelper.narrow( savingsaccinstance); Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-22

23 K.5.1 Schnittstellenkonzept K.5 Interface-Definition-Language Schnittstelle wird unabhängig von der benutzten Programmiersprache in einer Interface-Definition-Language (IDL) beschrieben von außen zugreifbare Attribute und Operationen müssen in Schnittstellendefinition deklariert werden. Language-Mapping: Abbildung zwischen Programmiersprache und IDL-Syntax, Abbildung zwischen Sprachcompiler und CDR (Common Data Representation) Skalare, Arrays, Strukturen, Objekte, Vererbung, Parameterübergabe und rückgabe. von CORBA unterstützte Sprachen Ada, C, C++, Java, Lisp, PL/I, Python, Smalltalk weitere inoffizielle Language-Mappings existieren,z.b. für Perl Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-23

24 K.5.2 IDL angelehnt an C++ geringer Lernaufwand für C++ Programmierer. Module definieren hierarchischen Namensraum für Anwendungsschnittstellen und -typen, z.b. Verantwortlichkeit für ein Modul an Programmierer zuordnen. Schnittstellen: beschreiben einen von außen wahrnehmbaren Objekttyp eigene Datentypen Basistypen Aufzählungstyp zusammengesetzte Typen Exceptions beschreiben Ausnahmebedingungen Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-24

25 K.5.3 Parameterübergabesemantik für IDL Basistypen, komplexe Typen: Call-by-Value, Wert wird kopiert Call-by-Object-Reference für Objekttypen: Hauptsächlich sinnvoll für IOR Referenzen, Referenz auf das Objekt wird kopiert. Seit CORBA 2.3 auch Value-Types: ähnlich wie Objekttypen, aber mit Call-by-Value-Übergabe, Der Parameter wird serialisiert ähnlich Java, Z.B. für struct, record, Instanz Valuetype in IDL: Valuetype wäre in C++ schwierig, auch Vererbung möglich, auch abstrakte valuetype AccountVal{ public short accoutnnr; private double balance; double withdraw( in double amount ) ; double deposit( in double amount ); } factory init( in short accountnr ); Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-25

26 K.5.4 Beispiel: Umsetzung von IDL in C++ Sprachkonstrukte I D L C + + Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-26

27 Beispiel: Umsetzung von IDL in Sprachkonstrukte (z.b. Java) I D L J a v a C + + Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-27

28 Vorteile Schnittstellenbeschreibung unabhängig von Implementierungssprache, ermöglicht Unterstützung vieler Programmiersprachen, IDL ist sehr ausdrucksstark (z.b. sequence). Nachteile Objektschnittstelle muss in IDL und in der Implementierungssprache beschrieben werden (letzteres kann teilweise automatisiert werden), Sprachabbildung für IDL-Konstrukte, die in einer Programmiersprache nicht direkt vorhanden sind, ist kompliziert, Einige besondere Fähigkeiten einer Sprache, können nicht genutzt werden. Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-28

29 K.6 CORBA Perspektive Verknüpfung mit RMI: RMI kann mit IIOP betrieben werden standardisierte Abbildung von Remote-Schnittstellen auf IDL (und zurück) CORBA-Objekt erscheinen als RMI-Objekte RMI-IIOP-Objekte können als CORBA-Objekte auftreten Fault-Tolerant-CORBA: CORBA-Erweiterung für fehlertolerante Objekte seit CORBA 3.0 im Standard integriert Middleware-Erweiterung (holistischer Ansatz) für Objektgruppen-Referenzen Quellen: Hauck F., Vorlesung «Verteilte Betriebssysteme», Weber M., Verteilte Systeme, 2002, Tanenbaum A., van Steen M., Distributed Systems, Prentics Hall 2002, Bengel G., Verteilte Systeme, Vieweg 2000, Verteilte Betriebssysteme, 2008/09, P. Schulthess,VS, Universität Ulm 6-29

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

explizite, orthogonale Interaktion Verteilte Anwendungen und Middleware uniforme / nicht-uniforme Interaktion implizite, nicht-orthogonale Interaktion Verteilte Anwendungen und Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform nicht-uniform transparent nicht-transparent explizite, orthogonale Interaktion weit

Mehr

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

Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe eingebettete Dienstesysteme Titel CORBA Eine Middleware-Plattform für objektorientierte Technologien von Martin Villis 6. Mai 2004 Projektgruppe 453: Entwurf eines Managementwerkzeugs zur Verwaltung von Sicherheitsdiensten für komplexe

Mehr

Inhaltsverzeichnis. Zusammenfassung CORBA

Inhaltsverzeichnis. Zusammenfassung CORBA Inhaltsverzeichnis 1 Was und wofür ist CORBA?... 2 1.1 Problematik in Verteilten Systemen... 2 1.2 Entwurfszeile... 2 2 Zweck und Ziele von OMG?... 2 3 Was ist eine Schnittstellenarchitektur?... 2 3.1

Mehr

3.2 Der CORBA-Standard Common Object Request Broker Architecture

3.2 Der CORBA-Standard Common Object Request Broker Architecture 3.2 Der CORBA-Standard Common Object Request Broker Architecture (Bildquelle: OMG) Kapitel 3.2: Vorlesung CORBA 1 CORBA Middleware im Ueberblick G CORBA = Common Object Request Broker Architecture. Standard

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

E CORBA. 1 Standard. 2 Motivation. 3 Object Management Architecture, OMA. 1 Architekturen für verteilte Objekte. 3 Architekturen für verteilte Objekte

E CORBA. 1 Standard. 2 Motivation. 3 Object Management Architecture, OMA. 1 Architekturen für verteilte Objekte. 3 Architekturen für verteilte Objekte 1 Standard CORBA CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit etwa

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 3 Peter Sollberger Eine erste CORBA Anwendung Inhalt Dienstag, 4. November Object Request Broker CORBA Architektur und Komponenten (Teil 1) Übung:

Mehr

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

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Kommunikation. Björn und Georg

Kommunikation. Björn und Georg Kommunikation Björn und Georg CORBA CORBA (Common Object Request Broker Architecture) Entwicklung der OMG ( Object Management Group) Zusammenschluss von 800 Firmen Hardware- und Progammiersprachen-unabhängiges

Mehr

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

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu CORBA Common Object Request Broker Architecture Eine kurze Einführung Ying Lu Verlauf der Präsentation Was ist CORBA CORBA-Architektur Ein Beispiel CORBA im Einsatz CORBA im Vergleich Was ist CORBA Begriffe

Mehr

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Objektorientierte Systeme II. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme II Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

Grundlagen und Implementation. Jan Kraft

Grundlagen und Implementation. Jan Kraft Grundlagen und Implementation Jan Kraft Gliederung 1 die OMG 2 Was ist CORBA? 3 Funktionsweise 3.1 die Interface Definition Language 3.2 Objekt Adapter 3.3 weitere Komponenten des ORB 3.4 InterORB Protokolle

Mehr

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

CORBA. Beispiel einer Middleware-Plattform. Christian Fass WS 2013/14 Software Engineering: Basistechnologien CORBA Beispiel einer Middleware-Plattform Christian Fass WS 2013/14 Software Engineering: Basistechnologien Allgemeines Common Object Request Broker Architecture Middleware: Vermittelt zwischen Obekten/Prozessen

Mehr

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1

Corba. Systemprogrammierung WS 08 / 09. 21.01.09 Roginer - Fontana - Heinisch 1 Corba Systemprogrammierung WS 08 / 09 21.01.09 Roginer - Fontana - Heinisch 1 Gliederung Definition Historie RPC Eigenschaften Architektur IDL-Beispiel Anwendungen OMA Services Facilities Client-Server

Mehr

Komponentenmodelle II

Komponentenmodelle II Komponentenmodelle II DCOM / CORBA Detlef Streitferdt Technische Universität Ilmenau DCOM Architektur Client Proxy Stub Component CoCreateInstance Security Provider DCE RPC Protocol Stack Security Provider

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

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

Multiuser Client/Server Systeme

Multiuser Client/Server Systeme Multiuser /Server Systeme Christoph Nießner Seminar: 3D im Web Universität Paderborn Wintersemester 02/03 Übersicht Was sind /Server Systeme Wie sehen Architekturen aus Verteilung der Anwendung Protokolle

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

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2005 Teil 15 CORBA cs 1000 ww6 wgs 05-97 Wiederverwendbarkeit von Code Vorbild: Entwurf/Bau einer Brücke im Bauingenieurwesen Objekttechnologie ermöglicht

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

5.1 Middleware für verteiltes Programmieren. 5 Middleware und verteilte Anwendungen: CORBA. 5.2 CORBA-Überblick. 2 Literatur, URLs.

5.1 Middleware für verteiltes Programmieren. 5 Middleware und verteilte Anwendungen: CORBA. 5.2 CORBA-Überblick. 2 Literatur, URLs. 5 Middleware und verteilte Anwendungen: CORBA 5 Middleware und verteilte Anwendungen: CORBA 5 Middleware und verteilte Anwendungen: CORBA 5.1 Middleware für verteiltes Programmieren 5.1 Middleware für

Mehr

Kap. 3 Verteilte Objektverwaltung

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

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

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

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

CORBA & CCM. )bersicht <? > CORBA CCM. Abschluss. CORBA :: Motivation. von Malte B. Blanken. CORBA :: Was ist das? Open Source Produkte

CORBA & CCM. )bersicht <? > CORBA CCM. Abschluss. CORBA :: Motivation. von Malte B. Blanken. CORBA :: Was ist das? Open Source Produkte CA :: Motivation CA & CCM von Malte B. Blanken Mr. X hat einen Windows!Server. Auf diesem bietet er einen Dienst an, welcher auf Anfrage die Zeichenkette "Das Leben ist sch#n!!$ ausgibt. Dieser Dienst

Mehr

2 Literatur, URLs. 1 Überblick

2 Literatur, URLs. 1 Überblick G und verteilte Anwendungen: CORBA G und verteilte Anwendungen: CORBA 2 Literatur, URLs G und verteilte Anwendungen: CORBA 1 Überblick Motivation Object Management Architecture (OMA) Anwendungsobjekte

Mehr

Verteilte objektorientierte Programmierung am Beispiel CORBA

Verteilte objektorientierte Programmierung am Beispiel CORBA Verteilte objektorientierte Programmierung am Beispiel CORBA Karsten Morisse km@kmorisse.de Vortrag FH Bielefeld 18. Juni 2002 Überblick 1. Verteilte Systeme 2. CORBA - Common Object Request Broker Architecture

Mehr

Der Einsatz von CORBA in verteilten EDA-Tools

Der Einsatz von CORBA in verteilten EDA-Tools Der Einsatz von CORBA in verteilten EDA-Tools Frank Grützmacher Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Fachgebiet Mikroelektronische Schaltungen und Systeme

Mehr

Verteilte objektorientierte Programmierung am Beispiel CORBA. Dr. Christian Schröder Telelogic Deutschland GmbH

Verteilte objektorientierte Programmierung am Beispiel CORBA. Dr. Christian Schröder Telelogic Deutschland GmbH Verteilte objektorientierte Programmierung am Beispiel CORBA Dr. Christian Schröder Telelogic Deutschland GmbH Agenda 1. Was versteht man unter einem verteilten System? 2. Was ist CORBA? 3. Wie funktioniert

Mehr

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

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group

CORBA: Common Object Request Broker Architecture. Interoperabilität? CORBA die Idee. Die Object Management Group CORBA: Common Request Broker Architecture Interoperabilität? Middleware-Architektur-Spezifikation der Management Group (OMG) Überblick: Die Management Group (OMG) Das Objektmodell der OMG Die Management

Mehr

Common Object Request Broker Architecture (CORBA)

Common Object Request Broker Architecture (CORBA) 6. CORBA und CCM Peter Sturm Universität Trier Common Object Request Broker Architecture (CORBA) Standard der Object Management Group (OMG) 1991 CORBA 1.1 1994 CORBA 2.0 seit ca. 2001 CORBA 3.0 OMG Herstellerübergreifendes

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Corba. Common Object Request Broker Architecture. Von: Oliver Spiegel SoSem 2004. Seminar: Komponentenorientierte Softwareentwicklung

Corba. Common Object Request Broker Architecture. Von: Oliver Spiegel SoSem 2004. Seminar: Komponentenorientierte Softwareentwicklung Corba Common Object Request Broker Architecture Von: Oliver Spiegel SoSem 2004 Überblick Client/Server Technik Integration von bestehenden Softwaresystemen und Anwendungen Java-Unterstützung, um mobile,

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

CORBA Implementierung von Client und Server

CORBA Implementierung von Client und Server CORBA Implementierung von Client und Server J. Heinzelreiter WS 2003/04 Implementierung des Clients Initialisierung und Freigabe des ORBs. Mapping von Interfaces. Behandlung von Objektreferenzen. Verwaltung

Mehr

Remote Methode Invocation (RMI) ETIS SS05

Remote Methode Invocation (RMI) ETIS SS05 Remote Methode Invocation (RMI) ETIS SS05 Motivation Ablauf der Kommunikation Erstellung Remote-Service Zusammenfassung Gliederung 2 Motivation I RMI: Remote Method Invokation Möglichkeit verteilte Java-Anwendungen

Mehr

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de

Innovator 11 classix. Erweiterter XMI-Export aus Innovator Business und Object classix. HowTo. www.mid.de Innovator 11 classix Erweiterter XMI-Export aus Innovator Business und Object classix HowTo www.mid.de Erweiterter XMI-Export aus Innovator Business und Object classix Inhaltsverzeichnis Zweck... 2 Modellinhalte

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

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

Client/Server-Programmierung. CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Client/Server-Programmierung WS 2007/08 CORBA: Schritt-für-Schritt Anleitung (Mini HOWTO) Version 1.2, 28.11.07 Schritt 1: Erstellung der IDL Zuerst muß eine IDL (Interface Definition Language)-Datei erstellt

Mehr

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

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Verteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase

Verteilte Systeme. Verteilte Objektorientierte Systeme I. Prof. Dr. Oliver Haase Verteilte Systeme Verteilte Objektorientierte Systeme I Prof. Dr. Oliver Haase 1 Überblick Verteilte Objektorientierte Systeme 1 RPC verteilte objektorientierte Architekturen Java RMI Verteilte Objektorientierte

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Client-Server-Praktikum: Aufgabe 1 CORBA

Client-Server-Praktikum: Aufgabe 1 CORBA Client-Server-Praktikum: Aufgabe 1 CORBA In diesem Tutorial werden Sie die CORBA-Spezifikation kennenlernen und grundlegendes Wissen darüber sammeln. Am Ende des Tutorials sollten Sie in der Lage sein,

Mehr

CORBA (Überblick, IDL)

CORBA (Überblick, IDL) Friedrich-Alexander-Universität Erlangen-Nürnberg Konzepte von Betriebssystemkomponenten CORBA (Überblick, IDL) Radu Vatav 1. Geschichte Die Object Management Group (OMG), 1989 gegründet, hatte das Ziel

Mehr

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Client-Server-Praktikum: Aufgabe 1 CORBA Naming Service

Client-Server-Praktikum: Aufgabe 1 CORBA Naming Service Client-Server-Praktikum: Aufgabe 1 CORBA Naming Service CORBAservices sind eine Sammlung von Diensten auf Systemebene, die CORBA-Objekte um mehrere nützliche Eigenschaften ergänzen bzw. den Umgang mit

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

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

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

Mehr

Middleware. Einführung in CORBA. Middlewareplattform CORBA. CORBA: Eigenschaften

Middleware. Einführung in CORBA. Middlewareplattform CORBA. CORBA: Eigenschaften Middleware Einführung in CORBA Kay Römer Institut für Pervasive Computing ETH Zürich Infrastruktur für verteilte Systeme Unterstützt Enwickler bei Behandlung der Probleme verteilter Systeme Erleichtert

Mehr

Java RMI, CORBA und Firewalls

Java RMI, CORBA und Firewalls Java RMI, CORBA und s Lehrstuhl für Datenverarbeitung falk@ei.tum.de Verteilte Objekte s Probleme Lösungsmöglichkeiten Konkrete Lösungen Verteilte Objekte Client mehrere Objekte Methoden-Aufruf Antwort

Mehr

Übungsgruppe: Ueb18 Datum: 25.05.2003 Erarbeitet von: Marcel Meder, Fan Zhang, Rolf Sabsch

Übungsgruppe: Ueb18 Datum: 25.05.2003 Erarbeitet von: Marcel Meder, Fan Zhang, Rolf Sabsch 1. Allgemeines: Bei WebAssign handelt es sich um ein Übungssystem, das auf einer Web-Architektur basiert. Es unterstützt sowohl Studierende als auch Lehrende. Insbesondere werden Aufgabenerstellung, Entgegennahme

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Remote Method Invocation Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 1 Object Request Broker el0100 copyright Abt. Technische

Mehr

Client/Server-Programmierung

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

Mehr

Client/Server-Programmierung

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

Mehr

CORBA - Übersicht CORBA. - Common Object Request Broker Architecture

CORBA - Übersicht CORBA. - Common Object Request Broker Architecture CA - Common Object Request Broker Architecture - erste Version 1991: CA 1.1 eine Architektur, - CA 2.0 (1996, Interoperabilität: IIOP) kein Produkt! - CA 3.0 (2002, keine vollständig konforme Produkte)

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

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

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Part 4 - Schnittstellen-Konzept (interface) Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 2 05.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Das

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

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

Java Beans (22.02.2001)

Java Beans (22.02.2001) Component Based Software Development Java Beans (22.02.2001) Stefan Jäger Robert Kalcklösch Veranstalter: M. Bittner W. Koch Inhalt Einführung in Java Die Java Beans Einsatz und Entwicklung von Beans Enterprise

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

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

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

Mehr

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG Objekte und XML Bei der Arbeit mit objektorientierten Programmiersprachen und XML kommt schnell der Wunsch

Mehr

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2004 Teil 14 CORBA cs 1000 ww6 wgs 05-97 Wiederverwendbarkeit von Code Vorbild: Entwurf/Bau einer Brücke im Bauingenieurwesen Objekttechnologie ermöglicht

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

transportation SYMTES Testen mit System www.ics-ag.de

transportation SYMTES Testen mit System www.ics-ag.de transportation SYMTES Testen mit System 1 Motivation Seit mehreren Jahrzehnten ist die ICS AG in Sachen Test in verschiedensten Projekten und bei zahlreichen Kunden unterwegs. Bei eingebetteten Anwendungen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

9. Remote Method Invocation Grundlagen der Programmierung II (Java)

9. Remote Method Invocation Grundlagen der Programmierung II (Java) 9. Remote Method Invocation Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

D Verteilte Systeme und Verteilte Objekte. D.2 Verteilte Systeme. D.1 Überblick. Distributed System Definition nach Tanenbaum und van Renesse

D Verteilte Systeme und Verteilte Objekte. D.2 Verteilte Systeme. D.1 Überblick. Distributed System Definition nach Tanenbaum und van Renesse D Verteilte Systeme und Verteilte Objekte D Verteilte Systeme und Verteilte Objekte D.2 Verteilte Systeme D.2 Verteilte Systeme D.1 Überblick Verteilte Systeme OOP und Verteilung Java RMI Distributed System

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

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

7.4 Verteilungsabstraktion in heterogener Umgebung

7.4 Verteilungsabstraktion in heterogener Umgebung 7.4 Verteilungsabstraktion in heterogener Umgebung Szenario: reiner Maschinencode (native code) bei unterschiedlichen Rechnerarchitekturen, unterschiedlichen Betriebssystemen, unterschiedlichen Übersetzern,

Mehr

16. Remote Method Invocation

16. Remote Method Invocation 16. Remote Method Invocation 16.1 Object Request Broker 16.1.1 Remote Procedure Call Siehe hierzu auch Band 1, Abschnitt 10.1.1. Abb. 16.1.1 Server und Client Stubs Client und Server laufen als zwei getrennte

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 XMI & Java von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001 1. XMI XML Metadata Interchange - Ziele und Historie - Metamodellarchitektur der OMG und MOF - XMI Dokumente und XMI DTD Ziele und Historie

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr