Kommunikation in verteilten Systemen (Middleware)

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

SOAP, nur ein neuer XML- Dialekt?
Be.as WEB Technologie
Einer der Dienste im Internet
Technischer Systemüberblick
Basis-Architekturen für Web-Anwendungen
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
SOAP Simple Object Access Protocol
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
XML in Client-Server und GRID Architektur
JAVA RMI.
Treffen mit Siemens Siemens: Werner Ahrens Volkmar Morisse Projektgruppe: Ludger Lecke Christian Platta Florian Pepping Themen:
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Remote Methode Invocation (RMI)
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
von Julia Pfander und Katja Holzapfel E 12/2
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
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)
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
EJB-Applikationsserver
Übersicht Definition Netzwerk
Einsatzgebiete und Anwendungen
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Grundlagen: Client-Server-Modell
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
XML (Extensible Markup Language)
Einführung in Web Services Web Services in der Praxis
Untersuchungen zur Erstellung eines
Client-Server-Modell
Telefonie Geräte und Dienste, die eine direkte Sprachkommunikation ermöglichen. Basisgerät: das Telefon.
VPN – Virtual Private Network
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Vortrag - Diplomarbeiten (HS I)
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
Oracle Portal think fast. think simple. think smart. Dieter Lorenz, Christian Witt.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Welcome to Web Services & Grid Computing Jens Mache
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Biological Information System (BIS) Technologien für wissenschaftlichen Datenaustausch Barbara Kohlroser Ortwin Probst Florian Strasser Peter Strobl.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Lisa Huber DHBW Mannheim
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
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.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
 Präsentation transkript:

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

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

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

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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

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

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

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

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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 „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

Ch. Thiele, 01IN, Oberseminar "Datenmanagement" SS05 „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

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

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

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

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