Seite 1. 6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme. Offene verteilte Systeme

Größe: px
Ab Seite anzeigen:

Download "Seite 1. 6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme. Offene verteilte Systeme"

Transkript

1 6 Implementierung komplexer Systeme 6.1 Verteilte objektorientierte Systeme Analyse Entwurf Implementierung Test, Integration Wartung.KVGTCVWTÂ $CN\GTVÂ$CPFÂÂ.'Â Offene verteilte Systeme Situation: Heterogene, vernetzte Computersysteme: heterogene Hardware, Betriebssysteme, Programmiersprachen, Formate, Netztechnologien Anwendungen im Normalfall verteilt» Client/Server-Architekturen Ziele: Portabilität (Objektcode, Quellcode, Entwurf) Interoperabilität Lokations- und Netzwerk-Transparenz Hilfsmittel: Standards für offene Systeme Eindeutige Definition von Schnittstellen Flexible Erweiterung um neue Schnittstellen Realisierung von Client/Server-Systemen Sockets ("Peer-to-Peer"-Kommunikation über den TCP/IP Stack) Niedriges Abstraktionsniveau Plattform-Transparenz (z.b. Java Package java.net) Remote Procedure Call (RPC) Höheres Abstraktionsniveau als Sockets (Prozedurebene) Einbettung in prozedurale Programmiersprachen (z.b. C) Realisierung von synchronen entfernten Prozeduraufrufen "Middleware" für verteilte Objekte (CORBA, Microsoft DCOM) Hohes Abstraktionsniveau (Objektebene) Transparenz von Ort und Programmiersprache Bei CORBA: auch Plattform-Transparenz Java Remote Methode Invocation (RMI) Hohes Abstraktionsniveau (Objektebene) Java-spezifischer Mechanismus (Java Package java.rmi) Ab Java-Version 1.3 "RMI-IIOP": Kompatibel zu CORBA (Java Package javax.rmi) Ort- und Plattform-Transparenz Seite 1

2 Standards der Object Management Group Object Management Group (OMG): Zusammenschluß von Anbietern und Anwendern objektorientierter Softwaretechnologie Gegründet 1989, mehr als 600 Mitglieder Standards und Spezifikationen, aber mit Verpflichtung zur kommerziellen Implementierung Middleware für verteilte objektorientierte Anwendungen (CORBA) Interoperabilität verschiedenener CORBA-Implementierungen ist Realität Arten von Standards Offizielle Gremien, z.b. ISO, ITU (relativ schwerfällig) Firmen- Standards, z.b. Microsoft OLE/DCOM (proprietär) Industriekonsortien, z.b. OMG (Mittelweg) CORBA-Standard der OMG wird ISO-Standard ISO (IDL), ISO (Interoperability) Object Management Architecture (OMA) Finanzen Finanzen Telekommunikation Electronic Electronic Commerce Nicht standardisiert: Anwendungsspezifische Objekte Nutzerschnittstelle Informationsmanagement Systemmanagement Vertikale CORBAfacilities Objekte der Anwendung Horizontale CORBAfacilities Object Request Broker (ORB) - Objektbus Lifecycle Lifecycle Event Event Naming Naming Persistence Transactions Objektdienste (CORBAservices) Externalization Security Security Time Time Properties Properties Licensing Licensing Dienstanforderungen (object requests) Client-Objekte senden Anforderungen (requests) an abstrakte Referenzen, über die sie an Objektimplementierungen (servants) zugestellt werden. Bestandteile einer Anforderung: Angabe des angesprochenen Server-Objekts (Objekt-Referenz) Name der angeforderten Operation Kommunikationsart» synchron, asynchron oder abgesetzt synchron Ein- und Ausgabeparameter (optional) Ausnahmebedingungen (optional) Kontextangaben (z.b. Ort des Clients) Schnittstellen: Beschreibung von Anforderungstypen Zusammenfassung in Schnittstellen Interface Definition Language (IDL) Seite 2

3 Statischer Aufruf: Stubs und Skeletons stub und skeleton vermitteln zwischen der universellen IDL und der konkreten Programmiersprache. stub: wird vom Client-Code aufgerufen skeleton: ruft den Servant-Code auf Objekt in "Client"-Rolle Objekt in "Servant"-Rolle stub skeleton Object Request Broker (ORB) "Suggestion" einer einheitlichen Schnittstelle über IDL Generierung von Stubs und Skeletons (statisch) Schnittstellen- Definition in IDL Client-Code IDL-Compiler Servant-Code IDL stub (Code) IDL skeleton (Code) Übersetzen und Binden Übersetzen und Binden Client stub ORB Servant skeleton Proxy-Entwurfsmuster in CORBA Proxy Original Client- Objekt Servant- Objekt Original Stub Proxy Skeleton Proxy Proxy Object Request Broker (ORB) Seite 3

4 ORB-Architektur in CORBA Client- Objekt Servant- Objekt dynamisch statisch IDL Stub (statisch) DII ORB interface IDL Skeleton (statisch) object adapter DSI Object request Broker (ORB) core Interface Repository Implementation Repository Stubs: Static Invocation Interface (=SII) Skeletons: Static Skeleton Interface (=SSI) DII = Dynamic Invocation Interface DSI = Dynamic Skeleton Interface Objekt-Adapter Aufgaben eines Objektadapters: Zustellung von Requests an registrierte Objekte Erzeugung von Objekten und Referenzen Aktivierung/Deaktivierung von Objekten Beispiele: Basic Object Adapter (BOA)» bis CORBA 2.1» proprietäre Realisierungen Portable Object Adapter (POA)» ab CORBA 2.2 andere, z.b. Adapter für DBMS Statische und Dynamische Schnittstellen Statische Aufrufschnittstelle (Static Invocation Interface, SII) Festlegung der Operation (und Typinformation) zur Übersetzungszeit (aber dynamische Bindung an Objektinstanzen) Generierung von stubs Dynamische Aufrufschnittstelle(Dynamic Invocation Interface, DII): Festlegung der Operation und Typinformation zur Laufzeit Flexibler in der Kommunikationsart (auch "abgesetzt synchron") Statische Skeleton-Schnittstelle (Static Skeleton Interface, SSI) Festlegung der Operation (und Typinformation) zur Übersetzungszeit Generierung von skeletons Dynamische Skeleton-Schnittstelle (Dynamic Skeleton Interface, DSI) Bereitstellung eines flexiblen Skeletons Analyse von Operation, Parametern, Typinformation zur Laufzeit Unabhängige Wahl: SII/DII (Client), SSI/DSI (Servant) Seite 4

5 Schnittstellen-Spezifikation mit IDL Interface Definition Language (IDL): Spezifikation von Schnittstellen für CORBA Orientiert an C++, aber sprachunabhängig Streng getypt (sprachunabhängig) Grundeinheit: interface ähnlich Java-Interface (umfaßt aber auch öffentliche Attribute und Operationen) Vererbung Module zur Gruppierung von Interfaces Syntax von Operationen: Name, Typ und Art (in, out, inout) für alle Parameter Ergebnistyp Kommunikationsart (oneway) Ausnahmesituationen (raises exception) Kontextangaben IDL: Datentypen Einfache Datentypen Strukturierte Datentypen Ganzzahltypen» short, long, long long» signed und unsigned Gleitpunkttypen» float, double, long double, fixed char, wchar, boolean, octet Any CORBA Objektreferenz Value-Typ (Objekte als Werte) Verbunde (struct) Vereinigung Aufzählung Sequenzen Strings Felder IDL: Beispiel module BeispielModul { struct Adresse { string strasse; string plz; string ort;; interface Person { attribute string name; readonly attribute string vorname; readonly attribute long geburtsjahr; attribute Adresse anschrift; typedef sequence <Person> PersonListe; attribute PersonListe Bekannte; long berechnelebensjahre (in long aktjahr); void berechnelebensjahrep (in long aktjahr, out long lebensjahre); ; // Interface ; // Modul Seite 5

6 IDL-Sprachbindungen Standardisierte Sprachbindungen Abbildung der IDL-Konstrukte auf spezifische Konstrukte der Programmiersprache IDL-Sprachbindungen existieren u.a. für:» C, C++, Smalltalk, Ada, COBOL, PL/1, Lisp, Python, Java IDL Compiler: IDL Compiler generiert automatisch Stubs und Skeletons Optional: Generierung von "Templates" (Vorlagen für die Objektimplementierung) Übertragung von Schnittstellen in das Interface Repository CORBA-Implementierungen: JacORB (frei, im Balzert-Buch benutzt) Borland VisiBroker (für Vorlesungsbeispiele benutzt) IONA Orbix... und viele andere Abbildung IDL-Programmiersprache Abbildung von Schnittstellen und Operationen C:» Keine direkte Abbildung von Schnittstellen (Schnittstellenname wird in Funktionsname übernommen, Parameter vom Schnittstellentyp ist erster Parameter der Funktionen einer Schnittstelle)» Operationen werden Funktionen C++:» Module werden auf C++ Namespaces abgebildet» Schnittstellen auf Klassen» Operationen auf Methoden Java:» Module werden auf Java Packages abgebildet» Schnittstellen auf öffentliche Java Schnittstellen sowie Helperund Holder Klassen in Java» Operationen auf Methoden Java-Bindung: Beispiel // Person.java package BeispielModul; public interface Person extends org.omg.corba.object, BeispielModul.PersonOperations, org.omg.corba.portable.idlentity { // PersonOperation.java package BeispielModul; public interface PersonOperations { public java.lang.string name (); public void name (java.lang.string name); public java.lang.string vorname (); public int geburtsjahr (); public BeispielModul.Adresse anschrift (); public void anschrift (BeispielModul.Adresse anschrift); public BeispielModul.Person[] Bekannte (); public void Bekannte (BeispielModul.Person[] Bekannte); public int berechnelebensjahre (int aktjahr); public void berechnelebensjahrep (int aktjahr, org.omg.corba.intholder lebensjahre); Seite 6

7 Zähler-Beispiel: IDL-Schnittstelle // Counter.idl interface Counter { void count (); void countn (in long n); long getcount(); void getcountp(out long count); ; // CounterFactory.idl #include "Counter.idl" interface CounterFactory { Counter createcounter(); ; Zähler-Beispiel: Stubs/Skeletons erzeugen Kommandos: idl2java Counter.idl idl2java CounterFactory.idl Erzeugte Dateien (u.a.): <IDL-Schnittstelle>.java <IDL-Schnittstelle>Operations.java <IDL-Schnittstelle>Helper.java <IDL-Schnittstelle>Holder.java _<IDL-Schnittstelle>Stub.java <IDL-Schnittstelle>POA.java <IDL-Schnittstelle>POATie.java Java-Interface Signaturen d. Operationen Nützliche Hilfsoperationen Hilfsklasse für Parameter Stub-Code Skeleton-Code für POA Objektimpl. f. Tie-Ansatz Zähler: Java-Schnittstelle // Counter.java public interface Counter extends org.omg.corba.object, CounterOperations, org.omg.corba.portable.idlentity { // CounterOperations.java public interface CounterOperations { public void count (); public void countn (int n); public int getcount (); public void getcountp (org.omg.corba.intholder count); Seite 7

8 Zähler: "Holder"-Klasse // CounterHolder public final class CounterHolder implements org.omg.corba.portable.streamable { public Counter value; public CounterHolder () { public CounterHolder (final Counter _value) { this.value = _value; public void _read (final org.omg.corba.portable.inputstream input) { value = CounterHelper.read(input); public void _write (final org.omg.corba.portable.outputstream output) { CounterHelper.write(output, value); public org.omg.corba.typecode _type () { return CounterHelper.type(); Zähler: "Helper"-Klasse // CounterHelper.java public final class CounterHelper { // Typanpassung (Cast) - sprachunabhängig! public static Counter narrow (final org.omg.corba.object obj) { // proprietärer einfacher Namensdienst //(Beispiel gemäß VisiBroker, meist ähnlich in anderen // Implementierungen) public static Counter bind (org.omg.corba.orb orb, java.lang.string name) {... // weitere Methoden Zähler: Servant-Implementierung // CounterImpl.java public class CounterImpl extends CounterPOA { private int counter=0; public CounterImpl () { super(); public void count () { counter++; public void countn (int n) { counter=counter+n; public int getcount () { return counter; public void getcountp (org.omg.corba.intholder count) { count.value=counter; Seite 8

9 Zähler: Server-Implementierung (vereinfacht) // Server.java import org.omg.portableserver.*; import org.omg.corba.orb; import org.omg.corba.policy; public class Server { public static void main (String args[]) { ORB orb=orb.init(args,null); POA rootpoa=poahelper.narrow (orb.resolve_initial_references("rootpoa")); Policy[] policies={//policies spezifizieren; POA mypoa=rootpoa.create_poa ("counter_factory_poa",rootpoa.the_poamanager(),policies); CounterFactoryImpl cfimpl=new CounterFactoryImpl(myPOA); byte[] cfid="counterfactory".getbytes(); mypoa.activate_object_with_id(cfid,cfimpl); rootpoa.the_poamanager().activate(); System.out.println (mypoa.servant_to_reference(cfimpl)+" ist bereit."); orb.run(); Zähler: Client-Implementierung // Client.java import org.omg.corba.orb; public class Client { public static void main (String args[]) { ORB orb=orb.init(args,null); byte[] cfid="counterfactory".getbytes(); //proprietärer Namensdienst CounterFactory cf=counterfactoryhelper.bind (orb,"/counter_factory_poa",cfid); Counter c=cf.createcounter(); System.out.println(c+"\n"); System.out.println("\n"+c.getcount()); c.count(); System.out.println("\n"+c.getcount()); c.countn(5); System.out.println("\n"+c.getcount()); Interaktion von ORBs Client Servant ORB A Kommunikations- Netz ORB B General Inter-ORB Protocol (GIOP) Common Data Representation (CDR) für IDL-Datentypen Interoperable Object References (IOR) Internet Inter-ORB Protocol (IIOP) Weitere "IOPs" (z.b. mit der CORBA-Implementierung TAO geliefert):» z.b. SSLIOP (IOP über Secure Socket Layer)» z.b. SHMIOP (IOP über shared memory) ORB/ORB-Brücken mit DSI und DII Seite 9

10 Spezielle Objektdienste (CORBAservices) CORBAservices vervollständigen die Funktion des ORB Beispiele: Namensdienst (naming service) Such- und Vermittlungsdienst (object trading service) Objektverwaltung (life cycle service) Ereignisverwaltung (event service) Persistenzdienst (persistent object service) Transaktionsdienst (transaction service) Objektauslagerung (externalization service) Abfragedienst (query service) Lizenzdienst (licensing service) Eigenschaftsverwaltung (property service) Zeitdienst (time service) Sicherheitsdienst (security service) CORBA Service: Naming Service (1) Syntaxunabhängiger Namensdienst Zuordnen eines aussagekräftigen Namens zu einer Objektreferenz Anordnung und Verwaltung von Namen in Namensräumen (Schnittstelle: NamingContext), in denen jeder Name jeweils eindeutig ist (Bildung von Namenshierarchien). Zusätzliche Funktionen zur Unterstützung von E/A, z.b. für Namen als Strings und URLs (Schnittstelle: NamingContextExt) Durchsuchen von Namensräumen (Schnittstelle: BindingIterator) Notwendige Komponenten: Client- Objekt Servant- Objekt Object Request Broker (ORB) - Objektbus Name Server CORBA Service: Naming Service (2) Beispiel für Interaktion Servant-Objekt und Name Server: : Server cfimpl : Counter : ORB nc: FactoryImpl NamingContextExt resolve_initial_references ("NameService") bind_new_context(...) // falls Kontext nicht existiert name=to_name( de/tud/factories/counterfactory ) name : Name bind(name,mypoa.servant_to_reference(cfimpl)) Seite 10

11 CORBA Service: Naming Service (3) Beispiel für Interaktion Client-Objekt und Name Server: : Client : ORB nc : NamingContextExt cf : Counter Factory resolve_initial_references ("NameService") resolve_str( de/tud/factories/counterfactory ) cf createcounter() Evolution der OMA 1991: CORBA Core 1.0 Architektur, Kommunikation Interoperabilität 1995: CORBA (+): CORBA 3.0 (langfristigere "Vision") : CORBAservices Grunddienste für objektorientierte Anwendungen seit 1995: CORBAfacilities Dienste für spezielle Anwendungsbereiche Allgemeine übergreifende Systemdienste Neuere CORBA-Versionen (2.4 und 3.0) Neuigkeiten in CORBA 2.3 und 2.4 ( ): Portable Object Adapter» bessere Portierbarkeit von Applikationen zwischen ORBs verschiedener Anbieter Weitere Kommunikationsarten» Callback» Polling "Objects by Value"» Mobile Objekte (nicht Klassen...) "Quality of Service"» Beeinflussung von Transport und Weiterleitung von Anforderungen Seite 11

12 CORBA: Perspektiven Chancen: Flexible, plattformunabhängige, heterogene Systeme Steigerung des Abstraktionsniveaus (z.b. von Datenbankanbindung zur Objektverwaltung) Einbindung von Altsystemen möglich Probleme: Tempo der Standardisierung und Realisierung Performance bestehender Implementierungen Angriffe durch speziellere Systeme (weniger Eleganz, höhere Leistung) Bruch mit bewährten Konzepten (z.b. SQL) Völlige Transparenz nicht immer erwünscht Seite 12

6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme

6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme 6 Implementierung komplexer Systeme 6.1 Verteilte objektorientierte Systeme Analyse Entwurf Implementierung Test, Integration Wartung.KVGTCVWTÂ $CN\GTVÂ$CPFÂÂ.'Â Offene verteilte Systeme Situation: Heterogene,

Mehr

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte E CORBA E.1 1 Standard CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit

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

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

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

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

Überblick. Verteilte Anwendungen, Interaktionsformen. implizite, nicht-orthogonale Interaktion. explizite, orthogonale Interaktion

Überblick. Verteilte Anwendungen, Interaktionsformen. implizite, nicht-orthogonale Interaktion. explizite, orthogonale Interaktion Überblick Verteilte Anwendungen, Interaktionsformen 7 Verteilte Anwendungen und 7.1 Verteilte Anwendungen 7.2 Klassifikation von Interaktionsformen explizit implizit orthogonal nicht-orthogonal uniform

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AVO Übung 4. AspectIX. 18. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

AVO Übung 4. AspectIX. 18. Januar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX AVO Übung 4 AspectIX 18. Januar 2005 (WS 2004) Andreas I. Schmied (schmied@inf...) Quellcodes zur Übersichtlichkeit

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

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte

CORBA = Common Object Request Broker Architecture. plattformunabhängige Middleware-Architektur für verteilte Objekte D CORBA D.1 1 Standard CORBA = Common Object Request Broker Architecture plattformunabhängige Middleware-Architektur für verteilte Objekte OMG = Object Management Group Standardisierungsorganisation mit

Mehr

Modellierung CORBA-basierter Anwendungssysteme mit der UML

Modellierung CORBA-basierter Anwendungssysteme mit der UML Verteidigung der Diplomarbeit über das Thema: Modellierung CORBA-basierter Anwendungssysteme mit der UML Andreas Mucha Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl

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

Klassenhierarchie der Skeletons für eine Schnittstelle Foo. IDL und Java. Separierung von Klientenseite und Serverseite

Klassenhierarchie der Skeletons für eine Schnittstelle Foo. IDL und Java. Separierung von Klientenseite und Serverseite IDL und Java " Grober Aufbau eines IDL-Files: module package { interface RegisterServer { Handle register(inout Client cl); ; interface Handle { void publish (in string msg) raises(dirtymsgex); ;; " Abbildung

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

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

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

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

Kommunikation in verteilten Anwendungen

Kommunikation in verteilten Anwendungen Kommunikation in verteilten Anwendungen Einführung in Sockets, Java RMI,CORBA und Jini von Prof. Dr. Oliver Haase 2., überarbeitete und erweiterte Auflage Oldenbourg Verlag München 1 Einführung in das

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

ADDISON-WESLEY PUBLISHING COMPANY

ADDISON-WESLEY PUBLISHING COMPANY Jens-Peter Redlich CORBA 2.0 Praktische Einführung für C++ und Java Mit einem Geleitwort von Richard Mark Soley ADDISON-WESLEY PUBLISHING COMPANY Bonn Reading, Massachusetts Menlo Park, California New

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

CORBA Portable Object Adapter (POA) am Beispiel von Visibroker 4. Sven Harazim

CORBA Portable Object Adapter (POA) am Beispiel von Visibroker 4. Sven Harazim CORBA Portabe Object Adapter (POA) am Beispie von Visibroker 4 Sven Harazim Übersicht Einführung in CORBA Portabe Object Adapter (POA) Erzeugen und Aktivieren von Objekten Servant Manager und POA Manager

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

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

D.6 Java RMI. 1 Entfernte Objekte finden

D.6 Java RMI. 1 Entfernte Objekte finden D.6 Java RMI D.6 Java RMI 1 Entfernte Objekte finden D.6 Java RMI Infrastruktur zur Unterstützung von verteilten Java-Anwendungen Server-Anwendung erzeugt Objekte macht Objektreferenzen verfügbar wartet

Mehr

Einführung in CORBA. Kay Römer Institut für Pervasive Computing ETH Zürich. ETH Zürich 1

Einführung in CORBA. Kay Römer Institut für Pervasive Computing ETH Zürich. ETH Zürich 1 Einführung in CORBA Kay Römer Institut für Pervasive Computing ETH Zürich ETH Zürich 1 roemer@inf.ethz.ch Middleware Infrastruktur für verteilte Systeme Unterstützt Enwickler bei Behandlung der Probleme

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

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

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

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

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

3.3 Das Orbix CORBA-System

3.3 Das Orbix CORBA-System 3.3 Das Orbix CORBA-System G Kurzer Überblick zu der CORBA-Implementierung Orbix G Unser Fahrplan: IDL Verwendungsbeispiel Zoom-In: CORBA Kommunikationsmechanismus Orbix Systemübersicht Naming Service,

Mehr

7 Praktische Aspekte (Wie mache ich...)

7 Praktische Aspekte (Wie mache ich...) 7 Praktische Aspekte (Wie mache ich...) Im Praktikum verwendet: JacORB: Java-basierte ORB-implementierung GroupPac: FT-CORBA-Erweiterung zu JacORB JGroups: Java-Gruppenkommunikationsschicht APXGroup: Gruppenkommunikationsschicht

Mehr

Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators. BindingIterator. next_one next_n destroy

Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators. BindingIterator. next_one next_n destroy 10 Naming-Service (3) Schematische Schnittstelle eines Naming-Context-Objekts und des Binding-Iterators NamingContext resolve list destroy new_context unbind bind rebind bind_context rebind_context bind_new_context

Mehr

Verteilte Systeme. Verteilte

Verteilte Systeme. Verteilte Verteilte Systeme 18. Middleware II Verteiltes Programmieren leicht gemacht... Verteilte Middleware Vermittlerrolle zwischen verteilter Anwendung und Rechnernetz Teil moderner Systemsoftware Einfache Handhabbarkeit

Mehr

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

K. CORBA. K.1.1 Standardisierung. OMG = Object Management Group. Teilbereiche der Standardisierung 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

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

E.6 The Naming Service

E.6 The Naming Service E.6 The Naming Service E.6 The Naming Service Binding of object references to symbolic names (like the RMI registry) Hierarchical name space 1 IDL Interface module CosNaming { typedef string Istring; struct

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

9.4 CORBA = Common Object Request Broker Architecture

9.4 CORBA = Common Object Request Broker Architecture 9.4 CORBA = Common Object Request Broker Architecture http://www.corba.org Standard (nicht Produkt!) der OMG Object Management Group Architektur: IDL: Dienste: Anwendungen: objektorientiert/fernaufrufe

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

Repositories. AVO-Übung 4. Activation Wiederholung. Activation Änderungen an IOR. CORBA Activation, INS, PI. Welche Repositories kennen Sie?

Repositories. AVO-Übung 4. Activation Wiederholung. Activation Änderungen an IOR. CORBA Activation, INS, PI. Welche Repositories kennen Sie? Repositories AVO-Übung CORBA Activation, INS, PI Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Welche Repositories kennen Sie? Interface

Mehr

E.6 The Naming Service

E.6 The Naming Service E.6 The Naming Service E.6 The Naming Service Binding of object references to symbolic names (like the RMI registry) Hierarchical name space 1 IDL Interface module CosNaming { typedef string Istring; struct

Mehr

Programmierung mit Komponenten

Programmierung mit Komponenten 1/100 Programmierung mit Komponenten Andreas Zeller Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken Grundidee: Teile und Herrsche 2/100 Das Aufteilen eines Ganzen in wohldefinierte Teile

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

42 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors.

42 Reproduktion oder Verwendung dieser Unterlage bedarf in jedem Fall der Zustimmung des Autors. 5.3 Deaktivierung und Aktivierung mit POA 5.3 Deaktivierung und Aktivierung mit POA (2) Objekte können ihren Servant und ihre POA-Instanz überleben Servants können deaktiviert werden POA kann deaktiviert

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

Corba HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1)

Corba HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1) HTWM Hochschule für Technik und Wirtschaft Mittweida Technikumsplatz 17 09648 Mittweida Corba Erstellt von: Isabel Drost (if99wp1) SendMail@isabel-drost.de http://www.isabel-drost.de Ausdruckhinweis: Vorder-

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

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

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

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

Modul Software Komponenten 10 Komponentenarchitektur

Modul Software Komponenten 10 Komponentenarchitektur Modul Software Komponenten 10 Komponentenarchitektur Teil 2 Peter Sollberger Die verschiedenen Middleware - Ansätze Inhalt Montag, 3. November Remote Procedure Call (RPC) Fehlersemantiken Remote Message

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

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Partly based on material by Victor García Barrios and Paul Krzyzanowski

Mehr

AVO Übung 3. Lösung 2, CORBA. 30. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

AVO Übung 3. Lösung 2, CORBA. 30. November 2004 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX AVO Übung 3 Lösung 2, CORBA 30. November 2004 (WS 2004) Andreas I. Schmied (schmied@inf...) 1 Aufgaben 1. Bank-Applikation

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

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

Überblick. Middleware - Übung. ORB-Core. Client-Seite. CORBA CORBA-Überblick Interface Definition Language (IDL)

Überblick. Middleware - Übung. ORB-Core. Client-Seite. CORBA CORBA-Überblick Interface Definition Language (IDL) Überblick Middleware - Übung Tobias Distler, Michael Gernoth, Rüdiger Kapitza Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) www4.informatik.uni-erlangen.de

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-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

Corba 2.0 Eine Einführung in Architektur, Spezifikationen und Programmierung

Corba 2.0 Eine Einführung in Architektur, Spezifikationen und Programmierung Steinbeis-Transferzentrum Softwaretechnik Esslingen Corba 2.0 Eine Einführung in Architektur, Spezifikationen und Programmierung Adam, Hofer, Kaller, Kaul, Landwehr Version 1.1 2 Inhaltsverzeichnis 1 MOTIVATION

Mehr

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006 Aufkleber Name: Vorname: Matrikel: Studiengang: inkl. DPO4, B/M, Schwerp., Schreiben Sie zunächst Ihren

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

Middleware. im Schweinsgalopp

Middleware. im Schweinsgalopp Middleware im Schweinsgalopp 1 Szenario Unternehmen verwendet SAP als ERP-System wickelt Versand über Dienstleister, hier UPS ab UPS bietet Verfolgung der Lieferung über Web- Schnittstelle Daten im ERP

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Netzwerkprogrammierung unter Linux und UNIX

Netzwerkprogrammierung unter Linux und UNIX Netzwerkprogrammierung unter Linux und UNIX Bearbeitet von Stefan Fischer, Walter Müller 2. Auflage 1999. Buch. XII, 228 S. Hardcover ISBN 978 3 446 21093 6 Format (B x L): 14 x 20,9 cm Gewicht: 329 g

Mehr

3 Interface Repository (2)

3 Interface Repository (2) 3 Interface Repository (2) 3 Interface Repository (3) Gespeicherte Informationen / Aufbau von IDL Dateien Vererbungshierarchie der IDL Schnittstellen von IR Objekten Repository IRObject ConstantDef TypeDef

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

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

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

-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

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

Verteidigung. Diplomarbeit Thema: Evaluation des Projekts Quality Objects. Sven Harazim

Verteidigung. Diplomarbeit Thema: Evaluation des Projekts Quality Objects. Sven Harazim Verteidigung Diplomarbeit Thema: Evaluation des Projekts Quality Objects Sven Harazim sh17@inf.tu-dresden.de Gliederung Aufgabenstellung Vorgehensweise Aufbau und Anwendung des Frameworks Quality Objects

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

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

Grundlagen der Web-Entwicklung INF3172

Grundlagen der Web-Entwicklung INF3172 Grundlagen der Web-Entwicklung INF3172 Web-Services Thomas Walter 16.01.2014 Version 1.0 aktuelles 2 Webservice weitere grundlegende Architektur im Web: Webservice (Web-Dienst) Zusammenarbeit verschiedener

Mehr