6 Implementierung komplexer Systeme. 6.1 Verteilte objektorientierte Systeme
|
|
- Jobst Beyer
- vor 6 Jahren
- Abrufe
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 Seite 1
2 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 Java Remote Methode Invocation (RMI) Hohes Abstraktionsniveau (Objektebene) Java-spezifischer Mechanismus (Java Package java.rmi) Ort- und Plattform-Transparenz "Middleware" für verteilte Objekte (CORBA, Microsoft DCOM) Hohes Abstraktionsniveau (Objektebene) Transparenz von Ort und Programmiersprache Bei CORBA: auch Plattform-Transparenz 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 De-facto-Standards Offizielle Standardisierungsgremien, z.b. ISO:» vergleichsweise schwerfällig Firmen- Standards, z.b. Microsoft OLE/DCOM:» nicht wirklich offen, d.h. plattformunabhängig Seite 2
3 Object Management Architecture (OMA) Finanzen Finanzen Telekommunikation Electronic Electronic Commerce 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 Persistence Transactions 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 3
4 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 Seite 4
5 Proxy-Entwurfsmuster in CORBA Proxy Original Client- Objekt Servant- Objekt Original Stub Proxy Skeleton Proxy Proxy Object Request Broker (ORB) 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) DII = Dynamic Invocation Interface Skeletons Static Skeleton Interface (=SSI) DSI = Dynamic Skeleton Interface Seite 5
6 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 6
7 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 class (umfaßt ö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 Seite 7
8 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 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, 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 Seite 8
9 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 { public void name(java.lang.string name); public java.lang.string name(); public java.lang.string vorname(); public int geburtsjahr(); public void anschrift (BeispielModul.Adresse anschrift); public BeispielModul.Adresse anschrift(); public void Bekannte (BeispielModul.Person[] Bekannte); public BeispielModul.Person[] Bekannte(); public int berechnelebensjahre(int aktjahr); public void berechnelebensjahrep (int aktjahr, org.omg.corba.intholder lebensjahre); } Seite 9
10 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>Helper.java <IDL-Schnittstelle>Holder.java Java-Interface Nützliche Hilfsoperationen Hilfsklasse für Parameter _st_<idl-schnittstelle>.java _<IDL-Schnittstelle>ImplBase.java Stub-Code Skeleton-Code Seite 10
11 Zähler: Java-Schnittstelle und "Helper" // Counter.java public interface Counter extends org.omg.corba.object { public void count(); public void countn( int n ); public int getcount(); public void getcountp( org.omg.corba.intholder count ); } // CounterHelper.java abstract public class CounterHelper { public static Counter narrow (org.omg.corba.object object) {//...} public static Counter bind (org.omg.corba.orb orb, java.lang.string name) { //... } // weitere Methoden } Zähler: "Holder"-Klasse // CounterHolder final public class CounterHolder implements org.omg.corba.portable.streamable { public Counter value; public CounterHolder() { }; public CounterHolder(Counter value) { this.value = value; } public void _read (org.omg.corba.portable.inputstream input) { value = CounterHelper.read(input); } public void _write (org.omg.corba.portable.outputstream output) { CounterHelper.write(output, value);} public org.omg.corba.typecode _type() { return CounterHelper.type(); } } Seite 11
12 Zähler-Beispiel: Stub und Skeleton // _st_counter.java public class _st_counter extends org.omg.corba.portable.objectimpl implements Counter { //... // Stub-Implementierung public void count() {//...} //... } // _CounterImplBase.java abstract public class _CounterImplBase extends org.omg.corba.portable.skeleton implements Counter { // Skeleton-Implementierung } Zähler: Servant-Implementierung // CounterImpl.java public class CounterImpl extends _CounterImplBase { private int counter=0; } /** Construct a persistently named object. */ public CounterImpl(java.lang.String name) {super(name);} /** Construct a transient object. */ 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 12
13 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) Selbstbeschreibende Profile Internet Inter-ORB Protocol (IIOP) Environment-Specific Inter-ORB Protocols (ESIOPs) Derzeit nur DCE/ESIOP ORB/ORB-Brücken mit DSI und DII 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) Seite 13
14 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). 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: : Servant-Objekt cf : Counter : ORB MyNameSpace : Factory NamingContext MyFactories : NamingContext MyNameSpace=resolve_initial_references ("NameService") n=erzeuge_namen MyFactories=bind_new_context(n:Name) bind(n:name,cf) Seite 14
15 CORBA Service: Naming Service (3) Beispiel für Interaktion Client-Objekt und Name Server: : Client-Object : ORB MyNameSpace : NamingContext cf : Counter Factory MyNameSpace=resolve_initial_references ("NameService") n=erzeuge_namen resolve(n:name) cf anforderung() Evolution der OMA 1991: CORBA Core 1.0 Architektur, Kommunikation Interoperabilität 1995: CORBA : CORBA : CORBAservices Grunddienste für objektorientierte Anwendungen seit 1995: CORBAfacilities Dienste für spezielle Anwendungsbereiche Allgemeine übergreifende Systemdienste Seite 15
16 Neuere CORBA-Versionen (2.4 und 3.0) Neuigkeiten in CORBA (1999): Portable Object Adapter» bessere Portierbarkeit von Applikationen zwischen ORBs verschiedener Anbieter Weitere Kommunikationsarten» Callback» Polling "Objects by Value"» Mobile Objekte "Quality of Service"» Beeinflussung von Transport und Weiterleitung von Anforderungen 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 16
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
MehrModul 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:
Mehr3.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
MehrCORBA. 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
MehrCORBA. 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
MehrCORBA-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
Mehrexplizite, 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
MehrCOMMON 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
MehrVerteilte 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
MehrGrundlagen 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
MehrCORBA. 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
MehrSOAP 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
MehrKomponentenmodelle 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
MehrCORBA (Ü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
MehrCorba. 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
MehrCommon 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
MehrCORBA: 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
MehrMiddleware. 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
MehrVerteilte 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
MehrModul 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
MehrKap. 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
MehrClient-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
MehrCORBA & 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
MehrClient/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
MehrClient/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
MehrClient/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
MehrMobile 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
MehrCORBA 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
MehrPraktikum 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-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
MehrE 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
MehrMultiuser 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
MehrCorba. 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,
MehrWeb-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
MehrJava-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
MehrSzenario 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
MehrVerteilte 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
MehrClient-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,
MehrClient/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
MehrJava 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
MehrClient/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
MehrVerteilte 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Übungen zu Softwaretechnik
Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte
MehrAnmerkung: Teile aus Quellen der OMG. Verkauf Engineering Rechnungswesen
13.5 CORBA Anmerkung: Teile aus Quellen der OMG Das Geschäftsmodell Verkauf Engineering Rechnungswesen Versand Registratur Herstellung Finanzen Jedes Programm ist ein Modell eines Teils des Gesamtunternehmens
MehrThemen. 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
MehrJava 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
MehrCORBA - Ü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)
Mehr9. 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Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrEclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007
Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit
MehrMainframe 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
MehrClient/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
MehrObjectBridge 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
MehrJava 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
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrWiederholung: 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
MehrProgrammierung mit Komponenten
Programmierung mit Komponenten Andreas Zeller Lehrstuhl für Softwaretechnik Universität des Saarlandes, Saarbrücken 2006-01-16 Grundidee: Teile und Herrsche Das Aufteilen eines Ganzen in wohldefinierte
Mehr7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files
7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung
Mehr7.1.1 Grundzüge der Fernaufruf-Implementierung
7.1.1 Grundzüge der Fernaufruf-Implementierung = Aufrufbeziehung Aufrufer Vertreter (proxy, client stub) Fernaufrufdienst A d a p t e r Treiber (skeleton, server stub) Fernaufrufdienst Aufgerufener (Modul,
MehrCORBA - Hetereogene Verteilte Systeme
In diesem Kapitel: Konzepte: Verteilte Systeme und CORBA Die OMG CORBA Spezifikation Ein einfaches Beispiel Der Client Das verteilte Objekt; der Server Objekt Adapter Literaturhinweise Java 2 ORB VisiBroker
MehrC#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.
C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache
MehrHauptseminar 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
MehrKapitel 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
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
MehrKapitel 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
MehrWebServices -reloaded-
WebServices -reloaded- Jan Krüger Bielefeld Bioinformatics Service Institute of Bioinformatics CeBiTec Bielefeld University jkrueger@techfak.uni-bielefeld.de 3 Juli 2007 Übersicht Motivation Was sind WebServices?
MehrSoftwareschnittstellen
P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung
MehrDesign Patterns und CORBA
Design Patterns und CORBA Heiko Abraham abraham@informatik.uni-freiburg.de 21. Januar 2001 Seminarvortrag Softwarearchitekturen Universität Freiburg 1 Seminar Softwarearchitekturen Inhalt 1. Einleitung
MehrKapitel 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
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrClient/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
MehrEinsatz 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
MehrDer 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
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrMobile und Verteilte Datenbanken
Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung
MehrAuszug aus JAX-WS Folien
Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen
MehrJava für Computerlinguisten
Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009
Mehr3. Die CORBA Dienste. Seite 2 von 11
Vortrag: CORBA CORBA Common Object Request Broker Architecture 1. Einleitung Moderne Programmiersprachen haben den objektorientierten Ansatz in die strukturierte Berechnung in einem einzigen Betriebssystemprozess
MehrJava 2, Enterprise Edition Einführung und Überblick
Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte
MehrÜ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
MehrWarum EJB Technologie (1)?
Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
Mehr8.1.5 Java RMI Remote Method Invocation
8.1.5 Java RMI Remote Method Invocation (http://java.sun.com/products/jdk/rmi ) (http://java.sun.com/j2se/1.5/docs/guide/rmi ) (http://java.sun.com/docs/books/tutorial/rmi ) (http://java.sun.com/developer/onlinetraining/rmi/rmi.html
MehrVorbereitungen 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
MehrDesign von Schnittstellen mit CORBA-IDL. Andres Koch
Design von Schnittstellen mit CORBA-IDL Andres Koch El. Ing. HTL, M. Math Object Engineering GmbH Birmensdorferstr. 32 8142 Uitikon-Waldegg EMail: akoch@objeng.ch Copyright 1997-2000 by Object Engineering
MehrKomponentenarchitekturen
Hochschule Luzern Technik & Architektur Prof. Dr. Christina Class Für HS2008 überarbeitet durch Peter Sollberger. Modul Softwarekomponenten Studienelement Komponentenarchitekturen Semester HS 2008 Komponentenarchitekturen
MehrMusterlösung Übungsblatt 2 Netzprogrammierung WS 05/06
Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person
Mehr3-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
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
Mehr39 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
Mehr5A Kooperation: Lösungen
5A Kooperation: Lösungen 5A.1 Wissens- und Verständnisfragen 1.a.) dass nicht auf jedem Computer alle Programme und Daten vorgehalten werden müssen / dass damit auch Geräte auf anderen Rechnerknoten angesprochen
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrJDO 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:
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrTheorie 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
Mehr1 Einführung in CORBA
1 Einführung in CORBA 1 Einführung in CORBA 1 1.1 Grundlagen.. 2 1.1.1 Die CORBA-ORB-Architektur 2 1.1.2 Die Services von CORBA.. 5 1.1.3 Die Facilities von CORBA. 6 1.1.4 Die Geschäftsobjekte von CORBA
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrKlausurvorbereitung 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Überblick. Netzprogrammierung 4. CORBA OMG CORBA
Überblick 1. OMG/CORBA 2. 3. Java Mapping Netzprogrammierung 4. CORBA Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme mailto: tolk@inf.fu-berlin.de
Mehr