Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Karczewski IT-Architekturen, Datenbanken und Connectivity1 Web-Services (WS) Ursprungsidee / Motivation Definition Web Service WS-Architektur / Service.

Ähnliche Präsentationen


Präsentation zum Thema: "Karczewski IT-Architekturen, Datenbanken und Connectivity1 Web-Services (WS) Ursprungsidee / Motivation Definition Web Service WS-Architektur / Service."—  Präsentation transkript:

1 Karczewski IT-Architekturen, Datenbanken und Connectivity1 Web-Services (WS) Ursprungsidee / Motivation Definition Web Service WS-Architektur / Service Oriented Architecture WSDL UDDI SOAP XML Fazit

2 Karczewski IT-Architekturen, Datenbanken und Connectivity2 Ursprungsidee / Motivation Wirtschaftliche Apekte in der modernen Arbeitswelt: Dezentralisierung: Verteilung/Auslagerung bestimmter Unternehmensteile Modularisierung: Wiederverwendbarkeit erhöht wirtschaftlichen Nutzen Standardisierung: schafft einheitliche Rahmenbedingungen Komposition: fasst bestehende Module zusammen

3 Karczewski IT-Architekturen, Datenbanken und Connectivity3 Ursprungsidee / Motivation Businessprozesse zwischen Unternehmen werden stärker standardisiert Business to Business (B2B): ermöglicht eine automatisierte Zusammenarbeit zwischen Unternehmen Beispiel: Kunde greift über Kataloge direkt in das Geschäftssystem des Lieferanten und löst durch die Bestellung automatisch Geschäftsprozesse an (z.B. Bestellung, Produktion) Beispiel: Online-Bewerber meldet sich auf eine Anzeige und gibt seine persönlichen Daten im Web ein, produziert einen Datensatz im Personal-/Bewerber-System des Personal suchenden Unternehmens

4 Karczewski IT-Architekturen, Datenbanken und Connectivity4 Ursprungsidee / Motivation Businessprozesse zwischen Unternehmen werden stärker standardisiert B2B ist dynamisch: Anpassung an Kundenwünsche sind möglich B2B bedeutet meist automatische Kommunikation zwischen zwei oder mehreren Softwaresystemen B2B funktioniert nur zwischen Partnern, die eine gemeinsame Kommunikation vereinbart haben B2B kann aufwändig sein, wenn beteiligte Unternehmen unterschiedliche (heterogene) Systeme besitzen

5 Karczewski IT-Architekturen, Datenbanken und Connectivity5 Back End R/3 IIS Web Server ITS Scenario BBP (without Business Connector) IIS Web Server CATALOG BBP SYSTEM HYPERLINK WITH RETURN ADRESS LOG-ON TO BBP HTMLSAP HTMLSAP REQUEST RESPONSE ORDER BOOKED INTO SYSTEM IDOC 10. URL 4. No direct communication between ITS and Catalog Order still carried out by FAX or EDI

6 Karczewski IT-Architekturen, Datenbanken und Connectivity6 Component System R/3SAPBusinessConnector Scenario Business Connector Supplier BBP SYSTEM IDOC ORDER SENT TO SAP BC IDOC CONVERT XML ORDER SENT TO SUPPLIER Integration into BBP scenario: any SAP or Non-SAP system Order carried out via internet ORDER BOOKED INTO SYSTEM

7 Karczewski IT-Architekturen, Datenbanken und Connectivity7 Comp. System R/3 IISITS Scenario Total Package BBP SYSTEM WORKPLACE SERVER IISITS IISCatalog SAP Business Connector

8 Karczewski IT-Architekturen, Datenbanken und Connectivity8 Ursprungsidee / Motivation Das World Wide Web (WWW) bietet eine große Möglichkeit, Kommunikation mit Geschäftspartnern über eine standardisierte Plattform zu führen Benötigt werden Services, die im Web angeboten werden und über das Web abrufbar sind. Diese Services müssen so konzipiert sein, dass sie jederzeit von Interessenten genutzt werden können. Die Services müssen sinnvoll kombinierbar sein, so dass komplexe Geschäftsabläufe darstellbar sind.

9 Karczewski IT-Architekturen, Datenbanken und Connectivity9 Definition Web-Services A Web service is a software system identified by a URL, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols. W3C

10 Karczewski IT-Architekturen, Datenbanken und Connectivity10 Definition Web-Services Bedeutung der Definition: Web Services kapseln Funktionalität einer Anwendung und bringen diese standardisiert ins Internet Web Services hüllen somit existierende Geschäftssysteme so ein, dass aus bilateralen B2B Funktionen standardisierte Funktionen zwischen beliebigen Geschäftspartnern werden Web Services sind plattform-, protokoll- und sprachen- unabhängig Web Services sind kombinierbar und können auf diese Weise auch komplexe Geschäftsprozesse abbilden

11 Karczewski IT-Architekturen, Datenbanken und Connectivity11 Web Service-Architektur Aufbau: Web Service besteht aus mehreren XML-Dokumenten Ein standardisiertes Web- Interface kaschiert die darunter liegende Geschäftslogik Ein WS-Modul wartet auf eine XML-Anfrage, um darauf zu reagieren Business Logic Listener Business Fascade XML- Request XML- Response

12 Karczewski IT-Architekturen, Datenbanken und Connectivity12 Service Orientierte Architektur (SOA) Bei der Web Service-Integration kann man drei Partner identifizieren: 1. Anbieter (Service Provider) 2. Verwalter (Service Broker) 3. Benutzer (Service Requester)

13 Karczewski IT-Architekturen, Datenbanken und Connectivity13 Service Orientierte Architektur (SOA) Der Service Provider will einen Dienst im Web anbieten und meldet diesen an. Der Service Broker stellt in einer großen Datenbank verschiedene Web Services vor (z.B. Nutzen eines WS). Der Service Requester will einen Service nutzen und informiert sich darüber bei dem Service Broker.

14 Karczewski IT-Architekturen, Datenbanken und Connectivity14 Service Orientierte Architektur (SOA) Technisch unterstützt werden diese Prozesse zwischen Provider, Broker und Requeser durch WSDL = Web Service Description Language UDDI = Universal Description Discovery and Integration Protocol SOAP = Simple Object Access Protocoll

15 Karczewski IT-Architekturen, Datenbanken und Connectivity15 Beschreibung von Web-Services WSDL – Grundlagen WSDL definiert ein einheitliches Format für Beschreibung und Veröffentlichung von Web-Services - WSDL Elemente beschreiben Daten und Operationen (Methoden für diese Daten). * Beschreibung der Daten typischerweise in XML. * Beschreibung, wie diese Daten manipuliert werden können. * WSDL beschreibt Web Services als Sammlung von Kommunikations- punkten, die Nachrichten austauschen können. * Typischerweise verwendet WSDL SOAP als Übertragungsprotokoll. Die Spezifikation von WSDL enthält die SOAP Bindung.

16 Karczewski IT-Architekturen, Datenbanken und Connectivity16 Beschreibung von Web-Services WSDL – Grundlagen WSDL Dateien können in drei separate, wiederverwenbare Bereiche aufgeteilt werden. 1. Was ein Service macht (abstrakte Definition). - Operationen auf Messages 2. Wo sich ein Service befindet (konkrete Definition). - Protokoll-spezifische Netzwerk-Adressen 3. Wie ein Service genutzt wird (Konkretisierung der Abstraktion). - Inhalt und Datentypen der Messages - Protokolle für den Zugriff auf die Methoden des Dienstes

17 Karczewski IT-Architekturen, Datenbanken und Connectivity17 Beschreibung von Web-Services WSDL – Elemente Elemente einer WSDL Beschreibung werden in der Regel automatisch generiert. - Types - definieren neue Datentypen für die Kommunikation. Standardmäßig werden einfache Typen aus der XML Schema Definition verwendet. - Message - Eine abstrakte Definition der Daten, entweder in Form einer Message als ganzes Dokument, oder als Argument eines Methodenaufrufs. - Operation - Die abstrakte Definition der Operationen (auf Messages).

18 Karczewski IT-Architekturen, Datenbanken und Connectivity18 Beschreibung von Web-Services WSDL – Elemente - PortType - Ein abstraktes Set von Operationen, welche einem oder mehreren Endpunkten zugeordnet werden. Die Bindung an das Protokoll wird separat beschrieben, damit unterschiedliche Protokoll-Bindungen verwendet werden können. - Binding - Ein konkretes Protokoll und dessen Datenformate für die Operationen und Messages, die für diesen Port-Typ definiert sind. - Port - Eine Kombination einer Bindung und einer Netzwerk-Adresse. (Die Target-Adresse der Service-Kommunikation). - Services - Eine Kollektion von zusammengehörigen Endpunkten. Services bilden die Bindungen auf Ports ab.

19 Karczewski IT-Architekturen, Datenbanken und Connectivity19 Beschreibung von Web-Services WSDL – Framework Dokumentstruktur Eine WSDL Spezifikation besteht aus mehreren Elementen.

20 Karczewski IT-Architekturen, Datenbanken und Connectivity20 Beschreibung von Web-Services WSDL – Framework Definition von Operationen auf Messages definiert Nachrichten die bei der Kommunikation verwendet werden können. stellt abstrakt eine Methode des Web-Services dar. - Beschreibung, was gemäß Inhalt der Message ausgeführt werden soll. - Operationen beinhalten mehrere Messages - Beschreiben Patterns (input, output, fault) - vier Kommunikationsformen: One-WayFire-and-Forget, es wird keine Antwort erwartet. Request/ResponseClient sendet Message, Server sendet Antwort. Solicit/ResponseServer sendet Message, Client antwortet. NotificationMehrere Empfänger einer Message (broadcast ähnlich).

21 Karczewski IT-Architekturen, Datenbanken und Connectivity21 Beschreibung von Web-Services WSDL – Framework Abbildung auf Endpunkte beschreibt die Schnittstelle des Web-Services. - Gruppierung zusammengehörender Operationen. - Wiederverwendbar - Nach der Definition der Operationen und Nachrichten müssen diese auf konkrete 'Endpoints' Protokolle/Adressen abgebildet werden. - Das Mapping geschieht Protokoll-abhängig

22 Karczewski IT-Architekturen, Datenbanken und Connectivity22 Beschreibung von Web-Services WSDL – Framework Erweiterungselemente Erweiterung der WSDL-Elemente um technologiespezifische Details. - Werden üblicherweise in den und Elementen eingesetzt. - Jedes Protokoll hat seinen eigenen Satz an Erweiterungselementen. - Müssen einem von WSDL verschiedenen Namespace zugeordnet werden. beschreibt die Bindung einer abstrakten Einheit (message, operation, portType) an ein Protokoll. - Erhält als Attribut ein portType-Element. Bindet jede Operation an Protokoll. - Teilt dem Client, welches protokoll-spezifische Format seine Anfragen haben müssen. - Legt Formatierung für Nachrichten fest.

23 Karczewski IT-Architekturen, Datenbanken und Connectivity23 Beschreibung von Web-Services WSDL – Framework Ports und Services Gruppe zusammengehörender Ports. - Mit Hilfe der Services kann ein Endpoint unterschiedliche Kategorien von Operationen darstellen und anbieten. definiert Kommunikationsendpunkt durch Adresse und Protokollbindung. - sind Transport spezifisch. - Kommunizieren nicht untereinander. - identifizieren eine/mehrere Transport- Bindung(en) für einen bestimmten Port-Typus.

24 Karczewski IT-Architekturen, Datenbanken und Connectivity24 Beschreibung von Web-Services WSDL – Framework Schematische Darstellung

25 Karczewski IT-Architekturen, Datenbanken und Connectivity25 Beschreibung von Web-Services WSDL – Framework Beispiel

26 Karczewski IT-Architekturen, Datenbanken und Connectivity26 WSDL - Fazit Beschreibt nur Syntax, nicht die Semantik eines WS Kann nicht mehrere WS zusammenfassen Kann keine komplexeren Interaktionen außer Request/Response beschreiben Ist sowohl programmiersprachen- als auch plattform-unabhängig Ist in guten Tools bereits integriert

27 Karczewski IT-Architekturen, Datenbanken und Connectivity27 Beschreibung von Web-Services UDDI – Registry (Universal Description, Discovery and Integration) Zentrales Repository für die Verwaltung der Informationen über Web Services - UDDI offeriert White PagesAdressen und Kontaktinformationen Yellow Pages Zuordnung zu bestimmten Industriebereichen Green PagesTechnische Beschreibung der Web Services APImit dessen Hilfe die UDDI Services genutzt werden können

28 Karczewski IT-Architekturen, Datenbanken und Connectivity28 Beschreibung von Web-Services UDDI - Registry Organization Mehr als 300 UDDI Firmen sind Mitglieder der UDDI.ORG. - UDDI wurde von Microsoft, IBM und Ariba gestartet. - Die Working Group Members haben das Sagen. - Ab UDDI V.3 wird die Spezifikation bei einem unabhängigen Standardisierungs- Gremium eingereicht (W3C oder OASIS). - Die Operators können, sowohl produktive, als auch Test-UDDI Sites anbieten.

29 Karczewski IT-Architekturen, Datenbanken und Connectivity29 Beschreibung von Web-Services UDDI - Registry Konzept UDDI ermöglicht Publizieren und Finden von Services. - Die öffentliche UDDI Registry funktioniert analog zu DNS. Anbieter können sich bei einem beliebigen Anbieter registrieren. Regelmässige synchronisation und Austausch der Datenbestände. - Sicherheitsaspekte sind ein zentrales Thema: Infos über Anbieter nur auf Original-Site vorhanden. Die Autorisierung für den Ersteintrag muss beantragt werden. - Die Datenqualität ist ein zentrales Thema: Ist der Anbieter echt ? Wie heisst er ? Besitz er eine ID ? Welche Art von Services werden angeboten ?

30 Karczewski IT-Architekturen, Datenbanken und Connectivity30 Beschreibung von Web-Services UDDI - Registry Das UDDI Datenmodell UDDI identifiziert fünf grundlegende Datenstrukturen. 1. businessEntity Top-level Struktur, das Unternehmen beschreibend und die von ihm angebotene Services, s.B. BusinessKey, name, contact..... Andere Informationen werden mit diesem Wurzelobjekt verkettet. 2. businessServices alle Informationen über einzelne Web-Services, z.B. BusinessKey, name bindingTemplate Technische Beschreibung von Service, z.B. BindingKey, serviceKey, accesPoint...

31 Karczewski IT-Architekturen, Datenbanken und Connectivity31 Beschreibung von Web-Services UDDI - Registry Das UDDI Datenmodell UDDI identifiziert fünf grundlegende Datenstrukturen (Forts.) 4. tModel Technische Spezifikation von Service, abstrakte Klasse, z.B. TmodellKey, overviewDoc, identifierBag... Kann mit Queries abgefragt werden. 5. publisherAssertion Beziehungs-Entität, beschreibt die Beziehung zwischen mehreren businessEntity Strukturen.

32 Karczewski IT-Architekturen, Datenbanken und Connectivity32 Beschreibung von Web-Services UDDI - Registry Das UDDI Datenmodell

33 Karczewski IT-Architekturen, Datenbanken und Connectivity33 Beschreibung von Web-Services UDDI - Registry Publizieren WSDL in UDDI

34 Karczewski IT-Architekturen, Datenbanken und Connectivity34 Beschreibung von Web-Services UDDI - Registry UDDI Application Programming Interfaces (API) lassen sich in zwei Kategorien einteilen, zum Publizieren und zum Konsumieren. - Publizieren: Eintragen, Ändern, Löschen der UDDI Informationen. Diese Aktivitäten müssen autorisiert werden. - Konsumieren: Suchen von Business Informationen, Queries,... - Falls SOAP eingesetzt wird, muss das mittels HTTP POST geschehen. - Verschiedene UDDI Versionen werden über unterschiedliche Namensräume erkennbar.

35 Karczewski IT-Architekturen, Datenbanken und Connectivity35 Beschreibung von Web-Services UDDI - Registry UDDI für den privaten Gebrauch UDDI kann auch innerhalb eines Unternehmens eingesetzt werden. - In einem privaten UDDI können Applikationen registriert und gefunden werden. In einer UDDI Registry können Metadaten über Applikationen gespeichert werden. - UDDI könnte somit als zentrale Drehscheibe eines Unternehmens eingesetzt werden, für Informationen über intern verfügbare Services, auch Integrations-Services.

36 Karczewski IT-Architekturen, Datenbanken und Connectivity36 SOAP Definition: SOAP ist ein einfacher […] Mechanismus für den Austausch strukturierter und typisierter Informationen zwischen Rechnern in einer dezentralen, verteilten Umgebung auf Basis von XML W3C

37 Karczewski IT-Architekturen, Datenbanken und Connectivity37 SOAP Geschichte: 1998: Entwicklung von SOAP durch Microsoft u.a. 1999: erste Version von SOAP wird durch Microsoft über die Internet Engineering Task Force (IETF) veröffentlicht 2000: SOAP Spezifikation in der Version 1.1 beim W3C eingereicht (noch kein Standard) 2000: Beim W3C formiert sich eine Arbeitsgruppe, die ein XML-basiertes Protokoll zur Kopplung von Applikationen über das Web definieren soll (SOAP 1.2) 2003: SOAP 1.2 wird Empfehlung des W3C (Standard)

38 Karczewski IT-Architekturen, Datenbanken und Connectivity38 SOAP Aufbau: Eine SOAP-Spezifikation definiert eine XML-Grammatik, mit der strukturierte und typisierte Informationen zu einer Nachricht zusammengefasst werden können. Eine SOAP-Nachricht ist ein XML-Dokument, auch Umschlag (Envelope) genannt, das einen optionalen Kopfteil (Header) und den Inhaltsteil (Body) enthält.

39 Karczewski IT-Architekturen, Datenbanken und Connectivity39 SOAP Aufbau: Eine SOAP-Nachricht ist eine unidirektionale Übermittlung von einem Sender zu einem Empfänger (auch über mehrere Instanzen). Mehrere Nachrichten können über mehrere Instanzen zu komplexen Interaktionsmustern komponiert werden. Das Ergebnis, das eine Instanz liefert, wird als Eingabe für den Funktionsschritt bei der nächsten Instanz verwendet (Pipelining)

40 Karczewski IT-Architekturen, Datenbanken und Connectivity40 SOAP Aufbau: Der Envelope kapselt die Informationsblöcke für die Aufgabenbeschreibung und die Nachrichten-Daten. Der Header ist optional und enthält z.B. die Verarbeitungs- informationen, die von eventuellenZwischenstationen bearbeitet werden müssen. Der Body enthält die zu übermittelnde Information, die vom letzten Empfänger verwertet werden soll. SOAP-Envelope SOAP-Header SOAP-Body SOAP-Block

41 Karczewski IT-Architekturen, Datenbanken und Connectivity41 SOAP SOAP-Paket: HTTP-Header--+ | POST /realtimequotes/ncrouter HTTP/1.1| | Host: mysoapserver| | Content-Type: text/xml; charset=utf-8| | Content-Length = 426| SOAP-Envelope--+ |

42 Karczewski IT-Architekturen, Datenbanken und Connectivity42 Player bei den Web Services Global Player: Microsoft, IBM, SUN, Oracle, Intel, HP, Bea … Weitere Standards: ebXML, bizTalk, BPEL4WS … Systeme:.NET, WebSphere, Sun ONE … Organsiationen: W3C, OASIS, MS+IBM+BEASystems Allgemeiner Standard: XML, SOAP, WSDL, UDDI Neu: Web Service Interoperability Organization

43 Karczewski IT-Architekturen, Datenbanken und Connectivity43 Fazit: Web Services Stärken der Web Services als eine moderne Middleware: Alle eingesetzten Techniken basieren auf Internet-Standards (HTTP, XML, …) WS passen gut in das allgemein angebrochene Internet-Zeitalter Zwischen den Anwendungen existieren nur lose Kopplungen und keine Transaktionen, deshalb einfache Verwendbarkeit Komplexität wird durch Kapselung verringert

44 Karczewski IT-Architekturen, Datenbanken und Connectivity44 Fazit: Web Services Stärken der Web Services als eine moderne Middleware (Forts.): Zugriff über Standards erleichtert die Nutzung vorhandener Internet-Infrastruktur (z.B. Firewalls, Lastverteiler) Skalierbarkeit ist gegeben durch den Einsatz der Internet- Techniken

45 Karczewski IT-Architekturen, Datenbanken und Connectivity45 Fazit: Web Services Schwächen der Web Services: Standardisierungsprozess der einzelnen Komponenten ist nicht abgeschlossen Vollständigkeit und Verlässlichkeit der UDDI-Informationen ist nicht gegeben Automatisches, exaktes Finden, Interoperieren und Komponieren von WS ist unmöglich. Genaues Matchen der Anforderungen kann nur durch Menschen realisiert werden.

46 Karczewski IT-Architekturen, Datenbanken und Connectivity46 Fazit: Web Services Schwächen der Web Services (Forts.): Unternehmen müssen entscheiden, ob die vorhandene Internet- Sicherheit ausreichend ist für den Informationsaustausch zu ihren Geschäftspartnern Aufgrund des Einsatzes besteht die Gefahr, dass Geschäfts- partner auf interne Informationen Zugriff erhalten.

47 Karczewski IT-Architekturen, Datenbanken und Connectivity47 Quellen: Web Services J. Snell, D. Tidwell, P.Kulchenko: Programming Web Services with SOAP, O´Reilly 2002 SOAP, Spezifikation des W3C (www.w3.org/TR/SOAP/)www.w3.org/TR/SOAP/ WSDL, Spezifikation des W3C (www.w3.org/TR/wsdl/)www.w3.org/TR/wsdl/ UDDI Data Structure Reference (www.uddi.org/pubs/DataStructure-V1.0-Open html)www.uddi.org/pubs/DataStructure-V1.0-Open html Weiterführend: -> Electronic Business mit XML


Herunterladen ppt "Karczewski IT-Architekturen, Datenbanken und Connectivity1 Web-Services (WS) Ursprungsidee / Motivation Definition Web Service WS-Architektur / Service."

Ähnliche Präsentationen


Google-Anzeigen