1 / 43

Kommunikation in verteilten Systemen (Middleware)

Kommunikation in verteilten Systemen (Middleware). Agenda. Einleitung Begriff, Zielsetzung, Produkte Kommunikation in verteilten Systemen Oracle - Messaging und Integration Oracle Streams AQ Oracle InterConnect („Hub and Spoke“) Orchestrierung von Web-Services: BPEL.

nydia
Download Presentation

Kommunikation in verteilten Systemen (Middleware)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kommunikation in verteilten Systemen (Middleware) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  2. Agenda • Einleitung • Begriff, Zielsetzung, Produkte • Kommunikation in verteilten Systemen • Oracle - Messaging und Integration • Oracle Streams AQ • Oracle InterConnect („Hub and Spoke“) • Orchestrierung von Web-Services: BPEL Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  3. anwendungsunabhängige Technologie • Dienstleistung zur Vermittlung zwischen Anwendungen an • Ermöglicht Softwarekomponenten die Kommunikation untereinander Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  4. Aufgaben von Middleware (1) • Kommunikation einer Softwarekomponente über Netzwerke wird für diese transparent gemacht • Organisiert Transport komplexer Daten (Messaging) • Stellt Software –Schnittstellen und – Dienste bereit • Stellt die Transaktionssicherheit über unabhängige Teilsysteme dar (Transaktions-Monitor) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  5. Aufgaben von Middleware (2) • Stellt Dienste für Identifikation, Authentifizierung, Zugriffe oder Sicherheit zur Verfügung • Verbirgt Unterschiede zwischen Hardwareplattformen, Programmiersprachen, Betriebssystemen und Übertragungsprotokollen • Verschafft eine einheitliche Sicht • Verbirgt Komplexität der zugrunde liegenden Anwendungen und Infrastruktur Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  6. Vereinfachter Ablauf • Softwarekomponente A nutzt Schnittstellen der Middleware um mit SK B zu Informationen auszutauschen • Middleware reicht Aufruf über ein Netzwerk weiter (Einsatz von TCP/IP, darauf HTTP, SOAP) • Auf der Empfängerseite setzt die Middleware die Anforderung in einen Funktionsaufruf an die Software B um Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  7. Middleware • Nachteile: • Größe und Schwerfälligkeit • Wenig Optimierungsmöglichkeiten in der Leistungsfähigkeit • Produkte: • CICS von IBM • NetWeaver von SAP • Websphere von IBM Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  8. Kommunikation in verteilten Systemen • Nachrichten-basiert • Remote Procedure Calls (RPC) • Objekt-basiert • Web-basiert • Komponenten-basiert Man unterscheidet: synchrone und asynchrone Kommunikation Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  9. 1. Nachrichten-basiert • Einfachste Übertragungsart • Asynchron: Zwischenspeicherung (Pufferung) der Nachricht zwischen Sender und Empfänger • Verwendung von Pipes oder Queues ... ein Beispiel hierfür ist das Java Messaging Service (JMS) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  10. JMS (1) • Asynchrone Kommunikation • Basis bildet ein Message Server (JMS Provider), der Nachrichten empfängt •  zentrale Speicherung der Daten • Aufbau JMS-Architektur: • JMS-Client: Java Applikation, Versendet und Empfängt Nachrichten • JMS-Provider: Führt Nachrichtenversand durch, Persistenz durch Datenbankunterstützung (Java Application Server oder andere) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  11. JMS (2) • Nachrichtenmodelle von JMS: • Point to Point • 1:1 Kommunikation • Verwendung einer Queue (Warteschlange) • Über einen Queue-Browser kann Empfänger Nachricht prüfen und anschließend konsumieren • publish/subscribe • 1:m Kommunikation • Verwendung eines Topic (virtueller Kanal) • Mehrere Empfänger bilden einen Topic und erhalten eine Kopie der Nachricht Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  12. 2. Remote Procedure Calls (1) • Voraussetzung: • Programm (Prozedur) kann entfernte Prozedur aufrufen • Verschiedene Server stellen Schnittstellenprozeduren zur Verfügung • Ablauf: • Prozess auf Maschine A ruft Prozess auf Maschine B auf • Aufrufender Prozess wird angehalten • Abarbeitung der aufgerufenen Prozedur findet auf B statt • Informationen werden durch Parameter bzw. Ergebnis der Prozedur übertragen (analog lokale Prozesse) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  13. 2. Remote Procedure Calls (2) • Aufgaben eines RPC-Systems: • Kodierung und Übertragung • Übertragung komplexer Datenstrukturen • Behandlung von Übertragungsfehlern und Rechnerausfällen • Ziel: • Aufruf von nicht lokalen Prozeduren Transparent machen • Beispiel: Open Network Computing (ONC) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  14. Open Network Computing • RPC-System der Firma SUN • Besteht aus Routinen für RPC • Verwendet neben TCP auch UDP als Transportprotokoll • Blockierende, asynchrone oder nicht blockierende RPC möglich • Auch Broadcast-RPC möglich: Client sendet Broadcast und wartet auf mehrere Antworten Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  15. 3. Objekt-basierte Kommunikation • Kommunikation und Koordination von Objekten auf verschiedenen Rechnern • Jedes ‚entfernte‘ Objekt spezifiziert ein Interface (Angabe von Methoden, welche durch Clients aufgerufen werden können) • Nutzung von dynamisch zugewiesenen Ports (Firewall-freundlicher) • Beispiele: • RMI (Remote Method Invocation) • CORBA • DCOM (Microsoft) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  16. Remote Method Invocation (RMI) • Aufruf einer Methode eines ‚entfernten‘ Java-Ojektes • ‚Entfernt‘: Objekt befindet sich auf einer anderen VM • Aufrufe werden wie lokale Aufrufe abgebildet • Ausnahmebehandlung (z.b. bei Verbindungsabbruch) notwendig Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  17. DCOM • Vorgänger: COM (Component Object Model) und OLE (Object Linking and Embedding) • DCOM-Objekte sind Softwarekomponenten mit ein oder mehreren Schnittstellen • Nachteile: • Bindung an Betriebssysteme von Microsoft • Keine Mehrfachvererbung von Schnittstellen: Objekte untereinander können keine Schnittstellen erben Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  18. 4. Web-basierte Kommunikation • Nutzung vorhandener Internet-Technologien • Transfer via HTTP • Basis bildet XML • Einsatz von Web-Services Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  19. Web-Services (1) • WS sind über das Internet zugängliche Schnittstellen zu Anwendungsfunktionen • Nutzung von Standardtechniken des Internets • Basieren auf XML („XML-Web-Services“) ... die Übertragung der XML-Daten erfolgt durch SOAP Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  20. WS (2) - SOAP • Simple Object Access Protokoll • Kommunikationsprotokoll zum Austausch strukturierter und typisierter Daten • XML-basierter RPC • Auch unabhängig von Web-Services, WSDL, ... einsetzbar • Nutzt HTTP, SMTP, FTP, ... Als Übertragungsprotokolle • Ziel: Interaktion mit externen Anwendungen über das Internet Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  21. WS (3) – Architektur nach W3C • Dienstanbieter (Service Provider) • Stellt Dienst bereit • Publiziert Dienst bei der Service Registry • Service Registry • Stellt Beschreibungen für Dienste bereit • Nutzung von WSDL (Web Service Description Language) • UDDI (Universal Description Discovery and Integration) – Verzeichnisdienst: Spezifikation für eine weltweit-basierte Registrierungsstelle Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  22. WS (4) – UDDI (1) • Spezifikation für verteilte, web-basierte Registrierungsstellen für Web-Services • Beschreibt Vorgehensweise, um Informationen über Web-Services zu publizieren und aufzufinden • UDDI-Server: Datenbank, welche Beschreibungen der Web-Services als Einträge enthält • Enthält Meta-Daten der WS: • White Pages (Adresse, Ansprechpartner, ...) • Yellow Pages (Branchenbuch, kategorisiert) • Green Pages (technische Spezifikation der WS) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  23. WS (4) – UDDI (2) • UDDI-Registrierungsstellen: • public • regelmäßige Synchronisation notwendig • private • liegt hinter einer Firewall für eine Intranet-Applikation • semi-private • Registrierungsstelle zwischen vertrauenswürdigen Partnern Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  24. WS (5) - WSDL • Beschreibungssprache der Schnittstelle für einen Web-Service • Gebunden an das Protokoll SOAP • XML-basiert • Übersicht WSDL-Dokument: • Was für ein Service? (Welche Funktionen werden angeboten?) • Welche Protokolle werden verwendet? • Wo befindet sich der Service? (URL, bei mehreren Funktionen mehrere URL) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  25. WS (6) - Ablauf • Services Requestor (Client) sucht gewünschten Dienst bei der UDDI-Service Registry • Registry sendet URL des registrierten Dienstes • Client ruft Schnittstelle des Web Service mit Hilfe der URL bei der Registry ab (SOAP-Request) • Schnittstelle des Web-Services wird als WSDL-Datei an Client übermittelt (SOAP-Response) • Client ruft Web-Service beim Dienstanbieter auf (SOAP-Request) • Ausführung des Web-Services beim Dienstanbieter • Übermittlung des Ergebnisses an Client (SOAP-Response) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  26. Web-Services unter .Net (1) • Remoting-Services: • Verteile Kommunikation durch .Net Remoting • Kommunikation nur unter .Net Anwendungen • Enterprise Services: • Zusammenspiel von COM+ -Diensten und .Net Komponenten • Vorhandene Web-Services: • .Net Alerts • .Net Passport Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  27. Web-Services unter .Net (2) • .Net Alerts • sind geräte- und anwendungsunabhängige, zeitgesteuerte Benachrichtigungsservices, die von Providern an ihre Kunden ausgesandt werden. (Unabhängig vom Endgerät - Empfang auf Microsoft Messenger, PDA, Mobiltelefon, ...) • .Net Passport • ist ein Service, über den der Anwender mit einer Benutzerkennung (einer registrierten E-Mail-Adresse) und einem einzigen Kennwort problemlos mit nur einer Anmeldung auf alle Passport-geschützten Services zugreifen kann Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  28. 5. Komponenten-basierte Kommunikation • Komponenten enthalten mehrere Objekte • Funktionalitäten werden über Schnittstelle bereit gestellt • Beispiel: EJB • Standardisierte Komponenten innerhalb eines J2EE-Servers • Entwicklung komplexer und mehrschichtiger Anwendungen mittels Java • Message Driven Beans: asynchrone Verarbeitung von JMS-Nachrichten, Serverseitige Nachrichtenverarbeitung Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  29. Oracle – Messaging und Integration in verteilten Systemen Oracle Streams AQ (Advanced Queuing) Oracle InterConnect („Hub and Spoke“ Topologie) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  30. Warum XML als Austauschformat ? (WH) • Lesbares Format • Standardisiert  Akzeptanz am Markt • Transformation in andere Formate • Über HTTP Zugriffe und Transformationen durch XSLT abrufbar und Darstellung in HTML o.a. • Erzeugen einer einheitlichen Sicht durch XML-Views: • Zugriff per HTTP • Einfach Datenaustausch • Einfach Abruf • Einstellen in Message Queue Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  31. Beispiel einer XML-View Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  32. Oracle Streams AQ (1) • AQ = Advanced Queuing • Asynchrones, Datenbankinternes Message Queuing • Nutzung der Oracle-Datenbank zur Persistenzsicherung • Kommunikation per Point to Point, publish/subscribe Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  33. Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  34. Oracle Streams AQ (2) • Point to Point und publish/subscribe auch über Rechnergrenzen hinweg möglich Wichtige Bestandteile einer Nachricht: • Eindeutige MESSAGE_ID • Automatische Zuweisung • Message Properties • Lebensdauer • Empfänger • Exception Queue einer Nachricht Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  35. Oracle Streams AQ (3) Nachrichten vom Client werden durch den Server verarbeitet AQ-Servlet stellt Kommunikation mit den Queues zur Verfügung Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  36. Bisher: BUS-Struktur mit Anbindung an eine Datenbank: Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  37. publish/subscribe-Prinzip: Informationen, die in einer Anwendung entstehen, werden auf einem zentralen Bus (Message Queue) abgelegt (publish) • Applikationen entscheiden, ob die jeweilige Information für sie relevant ist, und nehmen sie ggf. auf (subscribe) • zentraler Ansatz  InterConnect von Oracle (basiert auf „Hub and Spoke“-Topologie) Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  38. „Hub and Spoke“ (1) Verwendung eines Data Hub: • zentraler Daten-Sammelpunkt • Anwendungen und Systeme sind mit diesem gleichberechtigt verbunden • gesamte Kommunikation der einzelnen Anwendungen findet über diesen Punkt (Hub) statt • dieser steuert und überwacht den gesamten Datenverkehr zwischen den einzelnen Systemen • Integration von Fremdanwendungen, z.B. SAP, Siebel, Peoplesoft, ... Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  39. „Hub and Spoke“ (2) Zielsetzung: ‚Vermeidung‘ unnötiger Dienste von EAI-Firmen • Vorteile: • Data Hub enthält alle Entscheidungsrelevanten Daten nur einmal  höhere Datenqualität • zentrale und redundanzfreie Prozessverwaltung Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  40. Orchestrierung von WS - BPEL • Orchestrierung: Zusammenführung von WS zu einem komplexen System • BPEL (Business Process Execution Language): • Standard zur Durchführung von Geschäftsprozessen mittels Internet-Technologien • XML-basiertes Format • ermöglicht die Kombination von (in WSDL modellierten) Web-Services Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  41. BPEL - Struktur Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  42. Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

  43. Open Source Engine: ActiveBPEL Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05

More Related