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

Slides:



Advertisements
Ähnliche Präsentationen
C ommon O bject R equest B roker A rchitecture
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
DI Christian Donner cd (at) donners.com
Basis-Architekturen für Web-Anwendungen
© 2003 Patrick Brunner Spontane Vernetzung – Jini 9. Januar 2004 Spontane Vernetzung Patrick Brunner.
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
MD 4/02 Hello World from CORBA ein erster Überblick.
1 NetWork File System © April 2002, G. Hellberg Network File System Konfiguration und Einsatz.
Kommunikation in verteilten Systemen (Middleware)
7 Verteilungsabstraktion
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Rechnernetze und verteilte Systeme (BSRvS II)
„Extended Services“ von Betriebssystemen
UML Begleitdokumentation des Projekts
Entwicklung verteilter eingebetteter Systeme - Einführung
Workshop: Active Directory
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Kap. 4 Der Corba-Standard zur verteilten Objektverwaltung
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Beschreiben Sie eine Web Interaktion mittels Java Applets.
CGI (Common Gateway Interface)
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Management- und Web Services- Architekturen
7.1.5 Java RMI – Remote Method Invocation
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Untersuchungen zur Erstellung eines
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
Vs Grundzüge der Fernaufruf-Implementierung = tatsächliche Aufrufbeziehungen Netz Fernaufrufdienst Transportdienst Hardware BS aus Bibl. Vertreter.
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
Vortrag - Diplomarbeiten (HS I)
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Schutzvermerk nach DIN 34 beachten Was ist DCOM ?.
Datenbanken im Web 1.
8.4 Microsoft.NET Framework =  CLR – Common Language Runtime ist objektorientierte virtuelle Maschine für Ausführung.
7.5.5 Namensdienste (bereits erwähnte Beispiele: Rmiregistry, Portmapper)  dienen der Abbildung von „Namen“ auf Verweise, Nummern,...  sollten ihre Information.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
Vs Verteilte Verzeichnisse können ein verteiltes Betriebssystem unterstützen dienen der Abbildung von „Namen“ auf „Daten“ aller Art sollten ihre.
Vs31 3 Netzdienste im Internet. vs32 Netzdienste = über Ports ansprechbare Dienste, die hauptsächlich (aber nicht nur) für die Fernnutzung gedacht sind.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Max Haustein, Karsten Otto
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
MD 4/02 CORBA Static/Dynamic Invocation Interface (SII/DII), Interface Repository.
Biological Information System (BIS) Technologien für wissenschaftlichen Datenaustausch Barbara Kohlroser Ortwin Probst Florian Strasser Peter Strobl.
9.3 COM und DCOM (Microsoft ) COM – Component Object Model
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Aufbau Integrierter Informationssysteme Verteilte Objektsysteme am Beispiel von CORBA Falk Ritschel, Stefan Springer, Falko Steponat Martin-Luther-Universität.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.
Vs9 1 9 Middleware. vs9 2 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme,
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
LINUX II Unit 9 Network File Server NFS. NFS Überblick ● Zugriff von lokalen Rechner über Netzwerk auf Dateien oder Ordnern auf entfernten Servern ● Entwickelt.
9.5 Microsoft .NET Architektur: objektorientiert/Fernaufrufe (8.1.6 )
Systeme II 6. Die Anwendungsschicht
 Präsentation transkript:

vs91 9 Middleware

vs92 Middleware, Verteilte Plattform (auch Verteilungsplattform*) bietet Verteilungsabstraktion für verteilte Anwendungsprogramme, bietet Standarddienste (Transaktionen, Sicherheit,...), unabhängig von unterliegenden Betriebssystemen und Hardware, meist unabhängig von den verwendeten Programmiersprachen (oft mit Schnittstellen-Beschreibungssprache, „IDL“) aber orientiert an einem bestimmten Modell für Interaktion, Architektur, Komponenten * ältere Bezeichnung: network operating system (vs. distributed operating system)

vs93 Prominente Beispiele: PVM, MPI (2.5  )2.5 Architektur: kommunizierende (schwergewichtige) Prozesse Keine IDL:(weil einfache Standard-Schnittstelle) Dienste:Prozessfernerzeugung Anwendungen:Parallelrechnen ONC – SUN Open Network Computing (SUN 1987/88) (  9.1) 9.1 Architektur:Client/Server mit Fernaufrufen IDL:C-ähnlich Dienste:einfacher Namensdienst Anwendungen:Dienste

vs94 COMANDOS - Construction and Management of Distr. Open Systems (EU-Projekt ) (  9.2) 9.2 Architektur:objektorientiert mit Fernaufrufen IDL:C++ -ähnlich Dienste:minimal Anwendungen:universell (verteiltes Rechnen und Dienste) DCE –Distributed Computing Environment (Open Group [OSF] 1992) Architektur:Client/Server mit Fernaufrufen IDL:C-ähnlich Dienste:Directory Service, Security Service,... Distributed File System ( ≈ AFS,  )8.2.4 Anwendungen:Dienste

vs95 (COM/OLE  ) DCOM (Microsoft ) COM: Binärcode-“Standard“ für Schnittstelle („vtable“)  Interoperabilität zwischen Programmiersprachen OLE:für heterogene Verbunddokumente (z.B. Excel Chart in Word Document) („lokale Fernaufrufe“) DCOMArchitektur:Client/Server mit Fernaufrufen IDL:MIDL, Erweiterung der DCE IDL Dienste:Microsoft-spezifisch Anwendungen:Dienste (Implementierung: fast nur auf Windows)

vs96 CORBA – Common Object Request Broker Architecture (Open Management Group [OMG] ) Management Group ist Standard, nicht Produkt Architektur: objektorientiert/Fernaufrufe + Komponenten IDL:C++ -ähnlich Dienste:sehr reichhaltig Anwendungen:Dienste, insbesondere Einbinden von Altsoftware EJB – Enterprise Java Beans (Sun 1998 …) Architektur: objektorientiert/Fernaufrufe (RMI) + Komponenten + Nachrichten IDL:(Java) Dienste:reichhaltig Anwendungen:vielseitig, auch Datenbank-Anwendungen

vs97.NET (Microsoft 2000 …) Architektur: objektorientiert/Fernaufrufe (7.1.6  )7.1.6 IDL:(unsichtbare Metadaten, vom Übersetzer erzeugt) Dienste:in Entwicklung Anwendungen:universell Standardisierung durch ECMA und ISO: Implementierung nicht nur auf Windows, auch Unix/Linux: MonoMono (Open Source, Novell/Ximian) „Rotor“ (Shared Source, Microsoft)Rotor

vs SUN Remote Procedure Call SUN RPC = modulorientierte Fernaufrufe für C-Programme C-Programm-Module haben zwar Schnittstellen, aber C kennt kein Sprachkonzept „Schnittstelle“ !  Schnittstellenbeschreibung („protocol description“) in C-ähnlicher Sprache ONC – SUN Open Network Computing (Sun 1987/88) Architektur:Client/Server mit Fernaufrufen: RPC IDL:C-ähnlich Dienste:einfacher Namensdienst Anwendungen:Dienste

vs99 Terminologie: Service = Bündel von „Programmen“, eventuell in jeweils mehreren Versionen, bestehend aus jeweils mehreren „Prozeduren“ Server =Prozess, der als Träger eines Service fungiert Prozedur 0 Prozedur 1 Version Prozedur 0 Prozedur 1 Version Programm Prozedur 0 Prozedur 1 Version Prozedur 0 Prozedur 1 Version Programm

vs910 Beispiel für Schnittstellenbeschreibung: /* file rusers.x */ /* protocol description for */ /* remote users program */ /* interface of version 1 */ program RUSERSPROG { version RUSERSVERSOLD { /* void NULL() = 0; */ /* automatically generated */ int RNUSERS() = 1; /* number of users */ string RUSERS() = 2; /* info about users */ } = 1; } = ; Erzeugung von Stub Code

vs911 Vertreter-Erzeuger rpcgen generiert daraus neben den Stubs /* file rusers.h */ #define RUSERSPROG ((u_long) ) #define RUSERSVERSOLD ((u_long) 1) #define RNUSERS ((u_long) 1) extern int *rnusers_1(); #define RUSERS ((u_long) 2) extern char **rusers_1(); Prozedur und Vertreter tragen den gleichen Namen, haben aber unterschiedliche Signaturen (  9.1.2) ! Parameter/Ergebnisse müssen grundsätzlich Verweise sein !

vs912 … leider mit wenig Verteilungsabstraktion. So sieht der Anbieter aus: /* file rusers.c */ /* remote users server */ #include "rusers.h" int *rnusers_1() { static int result;..... result =...; return(&result); } char **rusers_1() {..... } RPC-Programmierung

vs und so sieht der Klient aus: #include #include "rusers.h" int rnusers(host) char *host; int *result; CLIENT *s; /* "client handle" */ s = clnt_create(host, /* remote linking */ RUSERSPROG, /*  */ RUSERSVERSOLD, "tcp"); if (s!=NULL) { result = rnusers_1(s); /* call stub routine */ if (result!=NULL) return(*result); else..... /*... failed */ } else..... /* server not found */ }

vs RPC-Namensdienst: Portmapper clnt_create(host,...) realisiert Fernbinden, d.h. stellt Verbindung des Klienten mit einem Anbieter her: 1. Auf host existiert (hoffentlich) ein Namensdienst: Portmapper, stets über Port 111 ansprechbar. 2. Fernaufruf (!) an Portmapper übermittelt den „Namen“ (program, version, protocol) und liefert als Antwort die Portnummer des entsprechenden Anbieters. 3. Internetadresse von host sowie gelieferte Portnummer werden im Client Handle eingetragen (und dieses wird beim Fernaufruf als zusätzliches Argument (!) dem Vertreter übergeben)

vs915 Installation des Anbieters: Wenn ein Anbieter hochgefahren wird, beinhaltet die vom Server Stub (!) vorgenommene Initialisierung die Erzeugung geeigneter Ports sowie deren Registrierung beim lokalen Portmapper (durch „lokalen Fernaufruf“). Alternative: Ad-hoc-Installation eines Anbieters (on demand): Initialisierung des Internet Daemon (3.2.1  ) beinhaltet Erzeugung und Registrierung der Ports (gemäß der Konfigurationsdatei). Anfrage bei einem Port bewirkt Installation des Anbieters. Eventuell Deaktivierung nach Timeout – mit Rettung und späterer Wiederherstellung des Zustands (sofern vorhanden).

vs RPC-Protokoll verwendet entweder TCP oder UDP, je nach Dienst Fehlersemantik: at-most-once für TCP, at-least-once für UDP Externe Datendarstellung: XDR Zugriffsschutz: entweder keiner oder Unix-Autorisierung oder … (Information über Standarddienste: ypcat rpc.bynumber )

vs COMANDOS Construction and Management of Distributed Open Systems Forschungsprojekt der EU ( ) Ziele: Verteilungsabstraktion und persistente Objekte Vorteile gegenüber SUN RPC: - hochgradige Verteilungsabstraktion - Interoperabilität verschiedener Programmiersprachen - IDL nur bei Sprachheterogenität erforderlich

vs918 C** = C++ mit zusätzlichen Schlüsselwörtern für Persistenz und Verteilung Eiffel** = Eiffel-2, lediglich mit modifiziertem Laufzeitsystem Guide = nichtsequentielle objektorientierte Sprache Sprachen in COMANDOS Beispiel Eiffel**: Alle Eiffel-Objekte sind potentiell persistent: sie überdauern ihren Erzeuger-Prozeß, sofern sie über den COMANDOS Name Service (direkt oder indirekt) erreichbar sind.

vs Verbergen der IDL  Ziel – in COMANDOS nur partiell erreicht:  Automatische Generierung von IDL-Text aus Schnittstelle einer Klasse (Eiffel, C++,...)  noch konsequenter: interne, nicht lesbare „IDL“ genügt für Stub-Erzeugung!  Ziel erreicht in Projekt HERON (FU Berlin, )  für Eiffel und (objektorientiertes) Turbo-Pascal