Konzepte von Web Services

Ähnliche Dokumente
Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Online-Publishing mit HTML und CSS für Einsteigerinnen

Wiederholung: Beginn

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Workflow, Business Process Management, 4.Teil

Java und XML 2. Java und XML

Verteilte Systeme: Übung 4

STARFACE SugarCRM Connector

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Ursprung des Internets und WWW

Datenempfang von crossinx

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Online-Publishing mit HTML und CSS für Einsteigerinnen

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Thema: Web Services. Was ist ein Web Service?

Implementierung von Web Services: Teil I: Einleitung / SOAP

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

Klaus Schild, XML Clearinghouse Namensräume

Entwicklung eines interoperablen, multimedialen Teaching-File-Service: Web-Service unterstützter Wissenstransfer in der Radiologie

IT- und Medientechnik

Grundlagen der Web-Entwicklung INF3172

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Informatik für Ökonomen II HS 09

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Woher kommt die Idee Internet?

Zustandsgebundene Webservices

Standards und Standardisierungsgremien

Multimedia und Datenkommunikation

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

Kontrollfragen: Internet

... MathML XHTML RDF

Containerformat Spezifikation

0. Inhaltsverzeichnis

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Einführung. Internet vs. WWW

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang,

Client-Server mit Socket und API von Berkeley

Gefahren aus dem Internet 1 Grundwissen April 2010

Containerformat Spezifikation

VVA Webservice Online Lieferbarkeits-Abfrage

Barrierefreie Webseiten erstellen mit TYPO3

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

COMPUTER MULTIMEDIA SERVICE

SOA Serviceorientierte Architektur Definition, Marktpotenzial und Perspektiven

Aufgabe 12.1b: Mobilfunknetzwerke

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

FTP-Leitfaden RZ. Benutzerleitfaden

SANDBOXIE konfigurieren

Übungen zur Softwaretechnik

Java Enterprise Architekturen Willkommen in der Realität

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

SharePoint Demonstration

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Leichte-Sprache-Bilder

TK-Schnittstelleneinrichtung. Redundante Softswitches

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Content Management System mit INTREXX 2002.

Man unterscheidet zwischen LAN (Local Area Network) und WAN (Wide Area Network), auch Internet genannt.

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Übung - Konfigurieren einer Windows-XP-Firewall

OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98

Step by Step Webserver unter Windows Server von Christian Bartl

A361 Web-Server. IKT-Standard. Ausgabedatum: Version: Ersetzt: Genehmigt durch: Informatiksteuerungsorgan Bund, am

Endpoint Web Control Übersichtsanleitung. Sophos Web Appliance Sophos Enterprise Console Sophos Endpoint Security and Control

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Firewalls für Lexware Info Service konfigurieren

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Techniken der Projektentwicklungen

Anleitung auf SEITE 2

Anwendungsprotokolle: HTTP, POP, SMTP

Grundlagen verteilter Systeme

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

KN Das Internet

1 Mathematische Grundlagen

Netzwerkeinstellungen unter Mac OS X

Proxyeinstellungen für Agenda-Anwendungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Einbindung des Web Map Service für Gemeinden Anleitung

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

RESTful Web. Representational State Transfer

Kurzanleitung So geht s

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Installation der SAS Foundation Software auf Windows

Technische Grundlagen von Internetzugängen

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Lizenzierung von Windows Server 2012

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Swisscom TV Medien Assistent

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Transkript:

Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/s Vortrag 1 am 07.06.2006 1 Betreuer: Dipl.-Inform. Andreas Both Lehrstuhl Softwaretechnik und Programmiersprachen, Institut für Informatik Martin-Luther-Universität Halle-Wittenberg http://swt.informatik.uni-halle.de/ A

Inhaltsverzeichnis Grundlagen 1 Grundlagen Prorokolle XML 2 3 Vorteile Nachteile Fazit

OSI-Schichtmodell Grundlagen Protokolle XML Schichten Jede Schicht ist für die Lösung eines trivialen Problems(zentral, dezentral,..) verantwortlich und bietet diese der darüberliegenden Schicht als Dienstleistung an Anwendungsschicht (entspricht OSI-Layer 5-7) HTTP, SMTP, TELNET,... Transportschicht (entspricht OSI-Layer 4) TCP, UDP,... Internetschicht (entspricht OSI-Layer 3) IP, ICMP,... Netzwerk Zugangsschicht(entspricht OSI-Layer 1-2) WLAN, PPP,...

URI Grundlagen Protokolle XML Uniform Resource Identifier,engl. einheitlicher Bezeichner für Ressourcen Ist eine Zeichenfolge, die zur Identifizierung einer abstrakten oder physikalischen Ressource dient

Protokolle XML URL Uniform Resource Locator, engl. einheitlicher Ortsangeber für Ressourcen Unterart von Uniform Resource Identifiern (URIs) Identifizieren eine Ressource über ihren primären Zugriffsmechanismus (häufig http oder ftp) und den Ort (engl. location) der Ressource in Computernetzwerken Der Name des URI-Schemas ist daher in der Regel vom hierfür verwendeten Netzwerkprotokoll abgeleitet Sind erste und häufigste Art von URIs deshalb, werden die Begriffe häufig synonym verwendet

Protokolle XML HTTP HyperText Transfer Protocol HTTP ein zustandsloses Protokoll zur Übertragung von Daten über ein Netzwerk, nach erfolgreicher Datenübertragung wird Verbindung zwischen den beiden Kommunikationspartnern nicht aufrecht erhalten Eingesetzt, um Webseiten und andere Daten aus dem World Wide Web (WWW) in einen Webbrowser zu laden Sollen dann weitere Daten übertragen werden, muss zunächst eine weitere Verbindung aufgebaut werden ein zuverlässiges Mitführen von Sitzungsdaten kann erst auf der Anwendungsschicht, z. B. durch Cookies, implementiert werden Durch Erweiterung seiner Anfragemethoden, Header-Informationen und Statuscodes ist das HTTP allerdings nicht auf Hypertext beschränkt, sondern wird zunehmend zum Austausch beliebiger Daten verwendet. Zur Kommunikation ist HTTP auf ein zuverlässiges Transportprotokoll angewiesen, meist TCP

Protokolle XML TCP Transmission Control Protocol Ist eine Vereinbarung (Protokoll) darüber, auf welche Art und Weise Daten zwischen Computern ausgetauscht werden sollen Alle am Datenaustausch beteiligten Computer kennen diese Vereinbarungen und befolgen sie TCP stellt einen virtuellen Kanal zwischen zwei Endpunkten einer Netzwerkverbindung (Sockets) her, dort können in beide Richtungen Daten übertragen werden TCP setzt in den meisten Fällen auf das IP (Internet-Protokoll) auf, weshalb häufig (und oft nicht ganz korrekt) auch vom TCP/IP-Protokoll die Rede ist Vorteile : Datenverluste werden erkannt und automatisch behoben Datenübertragung ist in beiden Richtungenmöglich Netzwerküberlastung wird verhindert, und viele andere mehr TCP als (fast) ausschliesliches Transportmedium für das WWW, E-Mail, Daten in Peer-to-Peer-Netzwerken und viele andere popuälre Netzwerkdienste verwendet

Protokolle XML IP Internet Protocol Weit verbreitetes Netzwerkprotokoll Mittels IP-Adresse und Subnetzmaske werden Computer innerhalb eines Netzwerkes in Subnetze gruppiert Dadurch möglich Computer in größeren Netzwerken zu adressieren und Verbindungen aufzubauen Stellt die Grundlage des Internets dar

Protokolle XML XML 1/4 Extensible Markup Language,engl. für erweiterbare Auszeichnungs-Sprache Ist ein Standard zur Erstellung maschinen- und menschenlesbarer Dokumente in Form einer Baumstruktur XML definiert dabei die Regeln für den Aufbau solcher Dokumente Details der jeweiligen Dokumente werden individuell spezifiziert Nur zwei Regeln müssen beachtet werden Elemete treten immer paarweise auf, ein öffnendes und ein korrespondierendes schließendes Elementpaare dürfen sich nicht überlappen Soll XML für den Datenaustausch verwendet werden, ist es von Vorteil, wenn das Format mittels einer Grammatik (z. B. einer Dokumenttypdefinition (DTD) oder eines XML-Schemas) definiert ist

XML 2/4 Grundlagen Protokolle XML Begriffe Wohlgeformtheit Fals die zwei Regeln beachtet werden Gültigkeit Fals das XML-Dokument die durch die Grammatik beschriebenes Format besitzt Parser Programme oder Programmteile, die XML-Daten auslesen, interpretieren und ggf. auf Gültigkeit prüfen

Protokolle XML Example <?xml version=" 1.0" encoding=" UTF-8"?> <firma> <abteilung name=" einkauf" > <mitarbeiter geschlecht=" m" > <name>raff</name> <telefon>1234</telefon> </mitarbeiter> <abteilung name=" vertrieb" > <mitarbeiter geschlecht=" w" > <name>forsch</name> <telefon>3145</telefon> </mitarbeiter> </abteilung> </firma> Aufbau Kopf (Informationen für Parser: Version, Zeichensatz) <?xml version=" 1.0" encoding=" UTF-8"?> Rumpf (eigentlichen Daten)

Protokolle XML DTD (Document Type ) Beschreibung wie XML-Dokument aussehen soll wichtig bei Datenaustausch Example <!ELEMENT firma (abteilung*)> <!ELEMENT abteilung (mitarbeiter*)> <!ELEMENT mitarbeiter (name, telefon)> <!ELEMENT name (PCDATA)> <!ELEMENT telefon (PCDATA)> <!ATTLIST abteilung name CDATA REQUIRED> <!ATTLIST mitarbeiter geschlecht (m w) REQUIRED> Example <?xml version=" 1.0" encoding=" UTF-8" standalone=" no"?> <!DOCTYPE firma SYSTEM " DTD/firma.dtd" >

Protokolle XML XML-RPC XML-Remote Procedure Call. Ist eine Spezifikation, die es Software auf verschiedenen Systemen und unter verschiedenen Umgebungen erlaubt, miteinander über ein TCP/IP-basiertes Netzwerk zu kommunizieren Es werden beinahe alle heute bekannten Programmiersprachen unterstützt Kommuniziert wird, wie der Name bereits sagt mit einem Remote Prozeduren-Aufruf über HTTP, oder in der objektorientierten Welt: ein Aufruf einer Remote Methode Der Unterschied zum herkömlichen RPC ist, dass bei XML-RPC die Parameter der Methode und das Ergebnis, also der Rückgabewert der Methode, intern über XML übertragen werden Übertragener Wert nicht fest (z.b. int, double) kann auch nach oben offenes abstraktes Array sein

XML-Signature Grundlagen Protokolle XML Service-orientierte Architekturen mit s / Dostal, Jeckle, Melzer und Zengler

XML-Encryption Grundlagen Protokolle XML Die XML Encryption-Spezifikation definiert eine Reihe von Möglichkeiten, wie XML-Dokumente ver- und entschlüsselt werden Was verschlüsselt wird : gesamtes XML-Dokument einzelne Elemente und seine Unterelemente Inhalte eines XML-Elementes

Grundlagen Es gibt keine konkrete

Die Antwort für Theoretiker WebServices sind Serviceleistungen bei denen eine Integration stattfindet. Dabei wirken Standard-Technologien zusammen und ermöglichen die Zusammenarbeit zwischen heterogenen Systemen. Die Antwort für IT-Fachleute Mit s kann man Anwendungen Web-fähig machen, so dass sie mit anderen Anwendungen dynamisch kommunizieren, die wiederum entsprechend den Web Service-Standards webfähig sind. Per arbeiten s nach denselben Standards wie SOAP und XML für die Funktionalität, Publikation, Lokalisierung und den Datenaustausch. Die Antwort für Ökonomen Computerleistungen und Ressourcen lassen sich mittels der s unabhängig von Anwendungen und Plattformen auf (weit) verteilten Systemen nutzen und zwar effizient, kostengünstig und flexibel. Produktivitätssteigerungen für bestehende IT-Lösungen werden erst durch s in beachtlichem Umfang ermöglicht, da sie eine einfache und schnelle Integration der einzelnen Systeme ermöglichen. Dies gilt gleichermaßen für Inter-, Intra- oder Extranets sowie für deren vertikale Integration.

Die Antwort für Theoretiker WebServices sind Serviceleistungen bei denen eine Integration stattfindet. Dabei wirken Standard-Technologien zusammen und ermöglichen die Zusammenarbeit zwischen heterogenen Systemen. Die Antwort für IT-Fachleute Mit s kann man Anwendungen Web-fähig machen, so dass sie mit anderen Anwendungen dynamisch kommunizieren, die wiederum entsprechend den Web Service-Standards webfähig sind. Per arbeiten s nach denselben Standards wie SOAP und XML für die Funktionalität, Publikation, Lokalisierung und den Datenaustausch. Die Antwort für Ökonomen Computerleistungen und Ressourcen lassen sich mittels der s unabhängig von Anwendungen und Plattformen auf (weit) verteilten Systemen nutzen und zwar effizient, kostengünstig und flexibel. Produktivitätssteigerungen für bestehende IT-Lösungen werden erst durch s in beachtlichem Umfang ermöglicht, da sie eine einfache und schnelle Integration der einzelnen Systeme ermöglichen. Dies gilt gleichermaßen für Inter-, Intra- oder Extranets sowie für deren vertikale Integration.

Die Antwort für Theoretiker WebServices sind Serviceleistungen bei denen eine Integration stattfindet. Dabei wirken Standard-Technologien zusammen und ermöglichen die Zusammenarbeit zwischen heterogenen Systemen. Die Antwort für IT-Fachleute Mit s kann man Anwendungen Web-fähig machen, so dass sie mit anderen Anwendungen dynamisch kommunizieren, die wiederum entsprechend den Web Service-Standards webfähig sind. Per arbeiten s nach denselben Standards wie SOAP und XML für die Funktionalität, Publikation, Lokalisierung und den Datenaustausch. Die Antwort für Ökonomen Computerleistungen und Ressourcen lassen sich mittels der s unabhängig von Anwendungen und Plattformen auf (weit) verteilten Systemen nutzen und zwar effizient, kostengünstig und flexibel. Produktivitätssteigerungen für bestehende IT-Lösungen werden erst durch s in beachtlichem Umfang ermöglicht, da sie eine einfache und schnelle Integration der einzelnen Systeme ermöglichen. Dies gilt gleichermaßen für Inter-, Intra- oder Extranets sowie für deren vertikale Integration.

Software-Anwendung, die mit einem URI eindeutig identifizierbar ist Schnittstellen sind als XML-Artefakte definiert, können beschrieben und gefunden werden Unterstützt die direkte Interaktion mit anderen Software-Agenten unter Verwendung XML-basierter Nachrichten Ein ist keine : Middleware - es fehlt die Vermittlungskomponente und (die Gewährleistung von Transaktionssicherheit) Enterprise Application Integration - jedoch können s bei EAI Verwendung finden

Software-Anwendung, die mit einem URI eindeutig identifizierbar ist Schnittstellen sind als XML-Artefakte definiert, können beschrieben und gefunden werden Unterstützt die direkte Interaktion mit anderen Software-Agenten unter Verwendung XML-basierter Nachrichten Ein ist keine : Middleware - es fehlt die Vermittlungskomponente und (die Gewährleistung von Transaktionssicherheit) Enterprise Application Integration - jedoch können s bei EAI Verwendung finden

Motivation Grundlagen B2B (Buisnes to Buisnes) CORBA brauch zentrale Strucktur, in B2B werden aber meist unterschiedliche Platform genutzt und jeder will sich selbst verwalten Man brauchte also Platformunabhängigkeit, Dezentralesierung Also Entwickelte man s unter diesen Kreterien

Architektur hat sehr hohen Komplexitätsgrad erreicht Deshalb wird WS aus verschiedenen Perspektieven beschrieben Jede Perspektive hat ein Modell, die miteinander in Beziehung stehen Service-orientierte Architekturen mit s / Dostal, Jeckle, Melzer und Zengler

Nachichten-Modell Definiert Aufbau einer Web-Service-Nachicht Beschreibt Beziehung zwischen Agent und Nachicht Z.B. SOAP muss nicht kann aber Nachichtenformat sein Service-Modell Defeniert Konzepte, welche ein Service ausmacht Beschreibung des Service mithilfe von Service-Interfaces (wird z.b. in WSDL zur Verfügung gestellt) Service wird mittels eines Agenten realesiert und gehöhrt einer Person oder Organisation

Ressourcen-Modell Definiert eine Ressource in einer Web-Service-Architektur Typische Ressource in W-S-A ist ein Festlegung das jede Ressource eindeutig über URI identifizirt ist ( über HTTP ist dann URL) Richtlinien-Modell Defeniert Aufbau einer Richlinie Richtlinien sind alles was Einschränkungen und Bedingungen definieren Sind z.b. Sicherheitsaspekte oder Qualitätsmerkmale Richtlinien werden meist als XML-Erweiterung(DTD) hinzugefügt

Resourcen-Modell Grafik Service-orientierte Architekturen mit s / Dostal, Jeckle, Melzer und Zengler

Grundlagen Client-Server Architektur Standardisierte Schnittstellen und Protokolle verinfachene die Technik s - Kompakt / Kuschke, Wölfel

UDDI Grundlagen Universal Description, Discovery and Integration Bezeichnet einen Verzeichnisdienst, der die zentrale Rolle in einem Umfeld von dynamischen s spielen soll Besitzt eine SOAP-Schnittstelle. Enthält Unternehmen, ihre Daten und ihre Services. Drei Arten der Informationen zu unterscheiden: den White Pages, einer Art Telefonbuch den Yellow Pages, also die elektronische Entsprechung der gelben Seiten den Green Pages

WSDL - Description Language Ist eine Metasprache Angebotenen Funktionen, Daten, Datentypen und Austauschprotokolle werden beschrieben Es werden im Wesentlichen die Operationen definiert, die von außen zugänglich sind, sowie die Parameter und Rückgabewerte dieser Operationen Im einzelnen beinhaltet ein WSDL-Dokument funktionelle Angaben zu: der Schnittstelle Zugangsprotokoll und Details zum Deployment alle notwendigen Informationen zum Zugriff auf den Service, in maschinenlesbarem Format

Transport Grundlagen Übertragen wird der XML-Code als ASCII Dokument Der Text wird dann an ein bestimmtes Transportprotokoll gebunden und versendet Im Internet ist das Protokoll HTTP, welches ja über TCP/IP sendet Im Intranet ist es direkt TCP/IP

Bsp für Grundlagen Script Turtorial: von Bad Honnef

Kompatibilität durch Schnittstellen Perspectives on s /Zimmermann, Tomlinson, Peuser

Anwendung s stellen neue Ansätze im Rahmen von Enterprise Application Integration (EAI) und Grid-Computing dar. Das geplante Haupteinsatzgebiet liegt im Business-to-Business-Bereich (B2B). Geschäftsprozesse sollen problemlos über Unternehmensgrenzen hinweg abgewickelt werden. aber auch im alltäglichen Leben z.b. Suchmaschienen

Vorteile Nachteile Fazit Vorteile Offenen Standards vermeiden jegliche Lizenzkosten Wegen HTTP-Protokoll zur Datenübertragung treten nur selten Probleme mit Firewalls auf, im Gegensatz zu vergleichbaren Technologien (CORBA, DCOM, Java RMI) Durch die Verwendung von bereits bestehenden und weit verbreiteten Internet-Standards (HTTP, XML etc.) entsteht eine offene und flexible Architektur, die unabhängig von den verwendeten Plattformen, Programmiersprachen und Protokollen ist.

Vorteile Nachteile Fazit Nachteile Sicherheitsaspekte, es gibt Ansätze (XML Signature, XML-Encryption oder SAML) Der Verwaltungsaufwand nimmt bei stark verteilten Systemen zu. Der Overhead ist teilweise erheblich. Es ist mehr Know-How erforderlich als z. B. mit Remote Procedure Call (RPC). Programmiersprachen, mit denen man s einbinden will, brauchen spezielle Bibliotheken (z. B. DOM). Schnittstellen müssen genau definiert werden - das ist viel Arbeit.(Lösungsansatz: Schreiben eines eigenen Compiler)

Vorteile Nachteile Fazit Fazit Platformunabhängig, dezentral, vielseitig, flexibel Es ist ein weitere Schritt die Service Orientierte Programmierung zu Implementieren - aber noch nicht das Optimum

Quellen Quellen Studienarbeit von KarstenHarstedt Turtorial: von Bad Honnef s - Kompakt / Kuschke, Wölfel Service-orientierte Architekturen mit s / Dostal, Jeckle, Melzer und Zengler Understanding web services : XML, WSDL, SOAP, and UDDI / Newcomer Perspectives on s /Zimmermann, Tomlinson, Peuser Understanding SOA with Web services / Newcomer, Lomow www.wikipedia.org www.service-architecture.com/web-services/articles/webservices_ explained.html