250 likes | 458 Views
Station. Server Komponente. Middleware Komponente. lokales BS. TCP IP . Rechnernetze und verteilte Systeme (BSRvS II). Prof. Dr. Heiko Krumm FB Informatik, LS IV, AG RvS Universität Dortmund. Computernetze und das Internet Anwendung Transport Vermittlung Verbindung Multimedia
E N D
Station ServerKomponente MiddlewareKomponente lokalesBS TCPIP ... Rechnernetze und verteilte Systeme (BSRvS II) Prof. Dr. Heiko Krumm FB Informatik, LS IV, AG RvSUniversität Dortmund • Computernetze und das Internet • Anwendung • Transport • Vermittlung • Verbindung • Multimedia • Sicherheit • Netzmanagement • Middleware • Verteilte Algorithmen • Trends • Übersicht • Plattformtypen • CORBA
Middleware – Zwischen BS und Anwendung Station Station Anwendung ClientKomponente ServerKomponente Middleware MiddlewareKomponente MiddlewareKomponente lokalesBS lokalesBS NetzfähigeStationen,Netz-BS TCPIP ... TCPIP ... Netz
Trends: Veränderte Anwenderanforderungen Wachsende und vernetzte Problembereiche –––>Menschen & rechnergestützte Services Service - Verfügbarkeit: Immer und Überall Service - Vielfalt: – Speziell zugeschnittene Services – Einheitliche Oberflächen – Bedienung und Ergebnisverknüpfung Internet - Einbindung Hypermediale Browser - Oberflächen
Trends: Strukturierung der Anwendungen „1-Tier-Monolith“ –––> „2-Tier-Systeme“ –––> „3-Tier-Systeme“ –––> kommunizierende, kooperierende Komponenten Presentation and MMI Application (Client) Application (Service) Database and Resources „Entzauberte Geheimnisse“, offene Schnittstellen, mündige Anwender Modularität, Abstraktionen, Kapselung, Trennung von Belangen, Anpassbarkeit Verschiedene Quellen zur freizügigen Integration von Expertise Verschiedene Quellen zur verbesserten Marktsituation
Middleware-Plattformen: Übersicht • MOM (Message oriented Middleware) • RPC (Remote Procedure Call) • ORB (Object Request Broker) • Componentware • SOA – Service Bus – Webservices • DBMS (Data Base Management Systems) • Multi-DBMS • TP (Transaction Processing) • DTP (Distributed Transaction Processing) • Workflow-Systeme • Groupware-Systeme
Plattformen: Message oriented Middleware „Prozesse und Nachrichten“z.B. netzfähige Unix-Stationen mit Socket-Schnittstellezu TCP / UDP-Transportdiensten • Adressierung • Nachrichtenkonstruktion undAnalyse • Nachrichtenversandund Empfang • Nachrichten-interpretation • Schnittstellen-definition:Anwendungsprotokoll Prozess Prozess Prozess
Plattformen: Remote Procedure Call „Clients und Server“, z.B. Sun-RPC, Java-RMI • Adressierung • ProzeduraufrufundAusführung • generierte Stubs • IDL-Dokument:Schnittstellen-Definition(Prozedurköpfe) Client main Aufruf Server Rückkehr function
Client: main () {x = F(a,b,c) ;} Server: int F (A, B, C) {…} Client Stub: int F (A, B, C) {send Invoke receive Reply return to Client} Server Stub: loop {receive Invoke F()send Reply} Sun RPC Schnittstellen- und Kommunikations- Implementierung per automatisch mittelsXDL-Compiler rpcgenaus XDL-Datei generierten Stubs XDLInterface DefinitionLanguage
Plattformen: Object Request Broker „Clients und gekapselte Objekte“, z.B. CORBA-ORB • Broking von Diensten • Operationsaufruf undAusführung:Objektmethoden • generierte Stubs(statisch / dynamisch) • IDL-Dokument(Operationsköpfe) Request Objekt Client Methode Response Server- Prozess Client- Prozess Stub Skeleton ORB
Plattformen: Service-Systems, SOA „Dienstleister und Dienstleistungsbeziehungen“, z.B. Web-Services • Broking und Vermittlung • Temporäre Dienstleistungsbeziehungen • Dienstanforderung und Ausführung • Maschinen- und Menschen-Schnittstellen Applikation Dienste- Anbieter Nutzer WWWaufInternet Dienste- Anbieter Dienste- Anbieter Dienste- Anbieter
Plattformen: Database Management Systems „Datenbasis und Transaktionen“ • Zustandsraum: Datenmodell • Transitionen: Aktionen • Konsistenzbedingungen • Transaktionen: ACID – Logik: AC – Modularer Entwurf: I – Zuverlässigkeit: D • SQL-Schnittstellen • Interface-Builder Prozess Prozess … Trans- aktionen ExternesModell 1 ExternesModell 2 … Konzeptuelles Modell: 1 Zustandsspeicher
Plattformen: Common Object Request Broker (CORBA) „Vermittlung des Zugangs zuund Zugriff auf entfernte Objekte sowie spezielle Services und Hilfsdienste“ • Spezialitäten • Erblast – Integration • Interoperabilität mit anderen Plattformen • problemlose Netzeinbindung (IIOP) • vereinfachtes Management Request Objekt Client Methode Response Server- Prozess Client- Prozess Stub Skeleton ORB
CORBA: Dienstevermittlung • Dienst:Objekt-Implementierung • Anfor-derungen /Dienst-leistungen:Methoden-Aufrufe • Schnittstellen-Verzeichnis:Typen • Implementierungs-Verzeichnis:Konkrete Dienstleister 4. Aufruf Importeur Exporteur 5. Antwort 1. Export eines Angebots 2. Suche 3. Vermittlung Trader
Präsentation Funktionen Kundendaten Produktdaten CORBA: Struktur einer Anwendung • Anwendungen erscheinen als Objektmengen Anwendung Objekt Request Broker ORB
Präsentation Funktionen Kundendaten Produktdaten Objekt Request Broker ORB CORBA: Elemente • Object Services:Unterstützung des verteilten Objektsystems • Sicherheitsdienste • Ereignisaustausch • Messages • Abrechnung • Persistenz • Objekt-Lifecycle • … • Common Facilities:Sammlung allgemein nützlicher Objekte • Drucken • Fehlerbehandlung • Oberfläche • … Object Services Common Facilities Verzeich- nisse
CORBA: SW-Architektur Client Prozess • Software-System besteht aus: • Client-Prozessen • Server-Prozessen • ORB • Verzeichnissen • Adapter (generiert) zur Anbindung der Prozesse und Objekt-Implemen-tierungen an ORB Server Prozess Objekt Adapter Client Stub ServerSkeleton Objekt Request Broker ORB Schnitt- stellen- verzeich- nis Imple- mentie- rungsver- zeichnis
CORBA: SW-Architektur • Software-System besteht aus: • Client-Prozessen • Server-Prozessen • ORB • Verzeichnissen • Adapter (generiert) zur Anbindung der Prozesse und Objekt-Implemen-tierungen an ORB