Definition Web Service



Ähnliche Dokumente
Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Mobile und Verteilte Datenbanken

Workflow, Business Process Management, 4.Teil

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Themen. Web Service - Clients. Kommunikation zw. Web Services

VVA Webservice Online Lieferbarkeits-Abfrage

E-Services mit der Web-Service-Architektur

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Auszug aus JAX-WS Folien

Remote Method Invocation

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

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Delegatesund Ereignisse

Implementierung von Web Services: Teil I: Einleitung / SOAP

Wiederholung: Beginn

Java und XML 2. Java und XML

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

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

3-schichtige Informationssystem-Architektur

Übungen zu Softwaretechnik

Java: Vererbung. Teil 3: super()

Java RMI Remote Method Invocation

WebServices Zwischen Buzzword und Nutzen

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

Java Einführung Collections

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Applet Firewall und Freigabe der Objekte

Grundlagen von Python

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Vorkurs Informatik WiSe 15/16

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Typumwandlungen bei Referenztypen

Vertiefte Grundlagen Graphentheorie

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Spezifikation DPD und primetime WebService Shopfinder Gültig für Paketversender in Österreich. Version 3.3.0

Java Web Services Metadata JSR-181

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Verteilte Systeme: Übung 4

SDK zur CRM-Word-Schnittstelle

Einführung in die Programmierung

Einführung in die Informatik Tools

Einführung in die Java- Programmierung

Zustandsgebundene Webservices

3 Objektorientierte Konzepte in Java

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

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Schneller, höher, weiter Die erweiterten Amt24-Schnittstellen. Klaus-Peter Geyer (T-Systems)

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Grundlagen der Web-Entwicklung INF3172

Prinzipien Objektorientierter Programmierung

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

Objektorientierte Programmierung

Objektorientierte Programmierung. Kapitel 12: Interfaces

GI-Services erstellen und bereitstellen

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Programmierkurs Java

Der lokale und verteilte Fall

Anleitung zur Webservice Entwicklung unter Eclipse

Algorithmen und Datenstrukturen

Geschütztes FTP-Verzeichnis erstellen

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Eine Anwendung mit InstantRails 1.7

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Tagesprogramm

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Besonderheiten von C#

WebService in Java SE und EE

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Installation Hardlockserver-Dongle

Die Nutzung von Webservices in der Oracle Datenbank. 11 März 2010

Standards und Standardisierungsgremien

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

ISAP Kundencenter. Alles. Einfach. Online. Das Handbuch zum neuen ISAP Kundencenter ISAP AG. All rights reserved.

Unsere Webapplikation erweitern

Webservicetest mit soapui

Containerformat Spezifikation

JDBC. Allgemeines ODBC. java.sql. Beispiele

Service Engineering. Übung 2a Spezifikation und Nutzung von Web-APIs (Services) Prof. Dr. Andreas Schmietendorf 1

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Service Engineering. Einbindung von Web Services in eine Java-Anwendung. Prof. Dr. Andreas Schmietendorf 1. SoSe Service Engineering

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

Test-Driven Design: Ein einfaches Beispiel

Praktikum Software Engineering

OP-LOG

Übungsblatt 3: Algorithmen in Java & Grammatiken

Transkript:

Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web Services Entwickeln eigener Web Services Publizieren und Finden von Web Services über UDDI Erstellung eines kleinen Web Services mit Hilfe von Java

Definition Web Service Web Services sind in sich geschlossene Einheiten, die auf Wunsch Dienste durch wohl definierte Schnittstellen zur Verfügung stellen.

Das Dreischichtenmodell

System Model Einheitliche Schnittstelle SOAP

Architectural Model

SOAP (Simple Object Access Protocol) - Encodierung von beliebigen Daten (Normalerweise in XML) - Programmiersprachen-unabhängige Version von RPC - Funktionsparameter werden kodiert Web Service geschickt - Ermöglicht Verbindungsnachfragen

Request: <?xml version='1.0' encoding='utf-8'> <SOAP-ENV:Envelope xmlns:ns:soap-env= http://schemas.xmlsoap. org/soap/envelope/ xmlns:xsi = http://www.w3.org/2001/xmlschemainstance xmlns:xsd = http://www.w3.org/2001/xmlschema > <SOAP-ENV:Body> <ns1:searchhandy xmlns:ns1= http://localhost:8080/handysuche SOAP-ENV:encoding Style= http://schemas.xmlsoap. org/soap/encoding/ > <marke xsi:type= xsd:string >Nokia</marke> <modell xsi:type= xsd:string >6310</modell> </ns1:searchhandy> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

WSDL (Web Services Description Language) - Programmiersprachen-unabhängige XML-Version einer IDL - Beschreibt die Operationen, welche Web Services ausführen WSDL erlaubt Programmiersprachen-spezifischen Code zu erzeugen Methode in der Programmiersprache seiner Wahl aufrufen WSDL übersetzt in SOAP-basierte Aufrufe

WSDL Example: Types <definitions name="stockquote" targetnamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/ > <types> <schema targetnamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/xmlschema"> <element name="tradepricerequest"> <complextype> <all> <element name= tickersymbol" type="string"/> </all> </complextype> </element> <element name="tradeprice"> <complextype> <all> <element name="price" type="float"/> </all> </complextype> </element> </schema> </types>

UDDI (Universal Description Discovery and Integration) Globale Verzeichnisstruktur Weiße Seiten Namensregister Gelbe Seiten Branchenverzeichnis Grüne Seiten Informationen über die Geschäftsmodelle <find_business generic="2.0" xmlns="urn:uddiorg: api_v2" > <findqualifiers> <findqualifier>casesensitivematch</findqualifier> <findqualifier>sortbynameasc</findqualifier> </findqualifiers> <name>siemens%</name> </find_business>

Muster für Anfragen: 1.Browse <find_xxx>-aufrufe Suche nach einer bestimmten Informationen Liefert meist eine Liste mit Resultaten zurück Beispiel: <find_business> 2.Drill-down <get_xxx>-aufrufe Details zu einem Element, vor allem Attribute/Members Liefert einen konkreten Wert, meist als Struktur, zurück Beispiel: <get_businessdetail> 3.Invocation <get_bindingdetail>-aufrufe Ein Client speichert die Ortsangaben über einen Web Service lokal Schlägt er Aufruf eines eigentlich bekannten Web Service fehl, müssen diese Angaben neu aus der UDDI-Registry geholt werden Dabei wird der ursprünglich mal ermittelte bindingkey als Argument übergeben

Programmatic Web Services (PWS) PWS - Funktionsaufrufe in C++, C#, VB oder Java single-step oder atomare Operationen Beispiel: Inventurprogramm

Interactive Web Services (IWS) - multi-step Webapplikationen - Basierend auf Datenbanken und Applikationsserver Beispiel: digitale Bibliothek

Erstellung eines kleinen Web Services mit Hilfe von Java Beispiel: Hello World mit GLUE import electric.registry.registry; import electric.server.http.http; public class HelloWorldService { /** Service function */ public String gethelloworldmessage (String YourName) { return "Hello World and "+YourName+"!"; } } /** Start Web service */ public static void main(string[] argl) throws Exception { HTTP.startup("http://localhost:8004/glue"); Registry.publish("urn:helloworld",new HelloWorldService()); }

Erstellung eines kleinen Web Services mit Hilfe von Java HTTP.startup("http://localhost:8004/glue"); Der GLUE Web Server wird gestartet Registry.publish("urn:helloworld",new HelloWorldService()); eine Instanz der HelloWorldService-Klasse wird publiziert URL urn:helloworld GLUE analysiert nun unser publiziertes Java-Objekt public deklarierten Methoden => SOAP-Methoden Test: GLUE-Console ruft via SOAP die gethelloworldmessage-methode

Finden von Web Services über UDDI Durchsuchung aller UDDI-Serviceregistrierungen ( TModels ) IUDDI uddi = new UDDIClient(inquireURL); TmodelInfos tmodelinfos = uddi.findtmodels( helloworld service, null); Mit Hilfe des TModel-Keys wird das Tmodel geholt: String tmodelkey = tmodelinfos.list[0].gettmodelkey(); Tmodel tmodel = uddi.gettmodel(tmodelkey); Mittels des TModels sucht man den erstbesten Anbieter des Dienstes: String[] tmodelkeys = new String[]{tModelKey}; BusinessInfos businessinfos = uddi.findbusiness(tmodelkeys,null); BusinessInfo businessinfo = businessinfos.list[0];

Finden von Web Services über UDDI Die erste Instanz des Dienstes wird geholt ServiceInfos serviceinfos = uddi.findservices(businessinfo.getbusinesskey(),tmodelkeys,null); String servicekey = serviceinfos.list[0].getservicekey(); Service service = uddi.getservice(servicekey); Adresse und WSDL-Definition der Web Service Schnittstelle: Binding binding = service.getbindings()[0]; String address = binding.getaccesspoint().getaddress(); String wsdlurl = tmodel.getoverview().getoverviewurl(); GLUE-Kontext wird erzeugt und mit Registry.bind() der Web Service angezeigt Context context = new Context() context.setproperty( endpoint,address); IHelloWorldService helloworld = (IhelloWorldService)Registry.bind( wsdlurl,ihelloworldservice.class,context); System.out.println(helloworld.getHelloWorldMessage( test );

Publizieren von Web Services über UDDI Ein Objekt zur registration in einem UDDI wird erstellt Public class UDDIPublish1 { public static void main( String[] args ) throws Exception { String inquireurl = "http://localhost:8004/glue/inquire/uddi"; String publishurl = "http://localhost:8005/glue/publish/uddi"; String user = "santa"; String password = "christmas"; Ein Clientund ein Business Objekt wird erzeugt IUDDI uddi = new UDDIClient( inquireurl, publishurl, user, password ); Business business = new Business( "Presents, Inc." ); [...] Addresse wird vervollständigt und anschließend in einem UDDI registriert. // Publish the Business to the UDDI server. Business savedbusiness = uddi.savebusiness( business ); System.out.println( "\nsaved\n" + savedbusiness ); } }

Fazit In Web Services steckt ein großes Potential bezüglich der Business-to-Business-Kommunikation. Web Services sind die Zukunft, die nächste Generation von Software. Die Architektur ist ein Guideline, um in der Vielfalt der inzwischen zu vielen XML Standards, Technologien und Zukunftsperspektiven die Orientierung nicht zu verlieren.