Reinhold Rumberger Web Services.

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

SOAP, nur ein neuer XML- Dialekt?
Kapitel 8: Nachrichtenbasierte Kommunikation mit JMS
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Cross-Search in Renardus Göttingen State and University Library, Germany (SUB) Dr. Heike Neuroth The Academic Subject.
1 Web Services (SOAP, REST, WSDL). © Prof. T. Kudraß, HTWK Leipzig 2 Web Service – Definitionen? Gartner Group: Web services are software technologies,
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
DVG Klassen und Objekte
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
Seminar Praktische Informatik Web Services
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Einsatzgebiete und Anwendungen
Systemaufbau / Komponenten
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
VU Semistrukturierte Daten 1
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
Kurzpräsentation von Herbert Schlechta
Diplomverteidigung Ulrich Dinger Thema: Untersuchung und Entwicklung von Ansätzen und Techniken zur Realisierung einer (Web) Service Language.
Einführung in Web Services Web Services in der Praxis
David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL.
SharePoint 2013 Web Services
SOAP.
Datenbanken und Internet
Web Services (Axis) ETIS SS05.
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
WSDL Web Services Definition Language Von Nikos Vormwald.
Betriebs- systeme und Verteilte Systeme Namens- und Verzeichnisdienste Projektgruppe Peer2Peer Suche nach Webservices WS 2004/SS 2005 Maher Al-Bunni.
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.
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
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
Schnittstellen für Verteilte System mit J2EE Frank Schwichtenberg SourceTalk 2008 Göttingen,
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Was sind Web Services? Marko Harasic
WSDL Web Services Definition Language
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
 Präsentation transkript:

Reinhold Rumberger Web Services

2 Inhalt Theoretischer Teil SOA Web Services Grundlagen SOAP WSDL UDDI Java und Web Services JAX-WS 2.0 (JSR-224)‏ WS-Metadata 2.0 (JSR-181)‏ JAXB 2.0 (JSR-222)‏ Praktischer Teil

Theoretischer Teil

4 SOA Architekturstil Lose gekoppelte Dienste Kommunikation Flexibilität SOA definiert Kommunikationsmethoden  SOA kann durch Web Services implementiert werden.

5 Web Services Grundlagen Plattformunabhängig RESTful WS Nicht wohldefiniert Verwendet HTTP direkt Kennt nur Operationen wie GET, PUT, DELETE ⇒ für uns eher uninteressant Message-oriented WS Auch bekannt als „Big Web Services“ Verwenden XML + SOAP (+ WSDL)‏ Kontraktbasierte Kommunikation ⇒ Lose Kopplung

6 Web Services Grundlagen WS-I Profiles: Bestimmte Spezifikationen & Versionen + zusätzliche Einschränkungen WS-I Basic Profile (SOAP 1.1, HTTP/1.1, WS-Addressing 1.0 (Core, SOAP-Binding, WSDL- Binding), XML-Binary Optimized Packaging...)‏ Zusätzliche WS-Spezifikationen WS-Security WS-Reliability WS-Metadata

7 SOAP Protokoll zum Austausch strukturierter Daten XML-basiert Leichter lesbar für Menschen Hoher Aufwand beim Parsen Andere Protokolle zum Transport (HTTP, SMTP, FTP,...)‏ Manche Protokolle werden von den meisten Firewalls geblockt Basis der Kommunikation zwischen Web Services Beispiel:

8 WSDL Beschreibt die öffentliche Schnittstelle von Web Services Basiert auf XML

9 WSDL - Aufbau Root-Element Definitions Imports Dokumentation documentation Abstraktes Interface types XML-Schema portType operation input output message Part Zugriffsdetails binding operation input output Endpoints service port

10 UDDI Service zum Auffinden von Web Services Hält WSDL & Metadaten bereit Mittlerweile nur noch unternehmensintern Jedes Unternehmen hat eigene Standards Hat in der Industrie kaum noch Relevanz

11 Java und Web Services Handlers Modifizieren Nachrichten vor und nach Bearbeitung durch Web Service Service Endpoint Interface (SEI) Ein Java-Interface das Definitionen zum abstrakten WSDL- Interface enthält Java-spezifische Standards JAX-WS (JSR-224) WS-Metadata (JSR-181) JAXB (JSR-222)

12 JAX-WS 2.0 (JSR-224)‏ Nachfolger von JAX-RPC (JSR-101)‏ JAX-RPC war für RPC-basierte Web Services ausgelegt JAX-WS definiert: Standard WSDL 1.1 ⇔ Java Mappings Standard SOAP-Binding Standard HTTP-Binding Standard Handler Framework Client- und Server-APIs...

Einfacheres WS-Entwicklungsmodell Ersetzt die meisten deployment descriptors Unabhängig von der Laufzeitumgebung Nicht jeder WS kann implementiert werden Auf den folgenden Folien: Die wichtigsten Annotationen Deren wichtigste Attribute Gekürzte Beschreibungen der Parameter 13 WS-Metadata 2.0 (JSR-181)‏

Markiert Web Services, die SEIs implementieren Attribute name: Name im wsdl:portType serviceName: Name im wsdl:service portName: Name im wsdl:port targetNamespace: Gibt den targetNamespace im WSDL- Dokument an wsdlLocation: vordefiniertes WSDL-Dokument endpointInterface: spezifiziert das implementierte SEI ⇒ Wird vom JAX-WS Runtime Environment geprüft Anwendbar auf Klassen und Interfaces

Attribute operationName: Name im wsdl:operation exclude: Gibt an, dass die Methode nicht veröffentlicht werden soll Anwendbar auf Methoden

16 Anwendbar auf Methoden Kein Return-Wert Keine definierten Exceptions Keine OUT - bzw. INOUT -Parameter Fehlermeldung, falls diese Bedingungen nicht eingehalten

17 Gibt an, wie ein Parameter im WSDL-Dokument aussieht Attribute name: Name des Parameters im WSDL-Dokument partName: Name im wsdl:part, bei RPC-Stil targetNamespace: Namespace des Parameters mode: IN, OUT oder INOUT header: Ob der Parameter im Nachrichtenkopf abgelegt ist Anwendbar auf

18 Gibt an, wie ein Rückgabewert im WSDL-Dokument aussieht Attribute name: Name der Ausgabe im WSDL-Dokument partName: Name im wsdl:part, bei RPC-Stil targetNamespace: Namespace der Ausgabe header: Ob die Ausgabe im Nachrichtenkopf abgelegt ist Anwendbar auf

19 Erlaubt es, eine Folge von Handlern für Web Services anzugeben Attribute File: Referenziert eine Datei, die eine HandlerChain definiert Anwendbar auf Klassen, Methoden und

Modifiziert das SOAP-Binding Default: Document – Literal – Wrapped Attribute Style: Kodierungsstil; DOCUMENT oder RPC Use: Formatierungsstil; LITERAL oder ENCODED parameterStyle: Ob der Nachrichtenkörper nur die Parameter enthält ( BARE ) oder ein Element, das nach der Methode benannt ist und die Parameter enthält ( WRAPPED ) Anwendbar auf Klassen und Methoden

21 JAXB 2.0 (JSR-222)‏ Binding von Java-Klassen an XML-Schemas Java-Typen ⇔ XML-Elemente Marshalling: XML → Java Unmarshalling: Java → XML Generiertes XML kann validiert werden (→ JAXP 1.3) In JEE 5 enthalten Package: javax.xml.bind Wird benötigt wenn ein WS Typen benutzt, für die kein (sinnvolles) Standard-Binding existiert.

Markiert Web Services die javax.xml.ws.Provider implementieren Direkter Zugriff auf XML-Nachricht  Weniger Overhead (un-/marshalling entfällt) Für weniger komplizierte WS

Praktischer Teil

End Of Document