Web Services

Transcrição

Web Services
Web Services
●
Gliederung
–
–
–
–
–
Einführung
XML als grundlegende Technologie
Was sind Webservices?
Web Services und Java
Web Services und .Net
Einführung
●
●
●
●
Erste Idee 1998 von Dave Winter [RPC over HTTP
via XML]
Standardisiert durch das W3C
Die Transportsprache ist XML
Ein Service wird über seine URL aufgerufen
XML als grundlegende
Technologie I
●
●
●
●
●
XML ist Extensible Markup Language
XML ist Case Sensitive
Attribute werden in spitzen Klammern
eingefasst
Können über DOM in eine Vielzahl von
Objekten umgewandelt werden
Plain Text
XML als grundlegende
Technologie II
●
●
●
●
●
Es existiert eine Vielzahl von Parsern
XML ist sehr strikt
Laufzeitfehler nur durch Fehler im Programm
oder in Strukturdefinition
Document Type Description beschreibt die
Syntax (optional)
XML-Schema ist der Beschreibungsstandard
der W3C
XML als grundlegende
Technologie - Beispiel
<mail sendedatum='01.01.2001' sendezeit='10:00'>
<absender>[email protected]</absender>
<empfaenger>[email protected]</empfänger>
<Betreff>Testmail</Betreff>
<nachricht>Hier könnte dein Text stehen!
Oder auch nicht..</nachricht>
</mail>
Was sind Web Services?
●
●
●
●
XML-RPC ist die erste Web Service
Implementierung
Übertragungsprotokoll ist HTTP
Der Aufruf findet über HTTP-Post statt
Wird nicht durch Firewalls geblockt
Was sind Web Services?
Aufruf:
<?xml version="1.0"?>
<methodCall>
<methodName>sayHello</ methodName>
<params>
<param>
<value><string>"Dein Name"</string><value>
</param>
</params>
</methodCall>
Rückgabe:
<?xml version="1.0"?>
<methodResponse>
<methodName>sayHello</ methodName>
<params>
<param>
<value><string>Hallo "Dein Name"</string><value>
</param>
</params>
</methodResponse >
Was sind Web Services?
●
●
●
●
●
XML-RPC wurde durch W3C standardisierung
erweitert
WSDL beschreibt welche Funktionen wie
aufgerufen werden
UDDI diehnt zur Veröffentlichung und Findung
von Web Services
SOAP verallgemeinert den Datenaustausch
SOAP kann zur Sicherheit die Nachrichten
direkt verschlüsseln
Web Services und Java
●
Eclipse + Plugins
–
–
–
–
Tomcat
Lomboz
Axis
XDoclet
Web Services und Java
Public class WebServiceClient{
private String TARGET_URL=“http://'deine URL'/”
+”servlet/WebServiceServlet”;
private String URI=”urn:'Dein Webservice'”;
public Message sendMessage(){
System.out.println(“Anfrage senden...”);
Envelope env = new Envelope();
Body body = new Body();
env.setBody(body);
Message msg = new Message();
msg.send(new URL(TARGET_URL),URI,env);
return msg;
}
Web Services und Java
public void receiveMessage(Message msg){
System.out.println(“Warten auf Antwort...”);
SOAPTransport st = msg.getSOAPTransport();
BufferedReader br = st.receive();
String line = br.readline();
while(line != NULL){
System.out.println(line);
line = br.readline();
}
}
Web Services und .NET
<%@ WebService Language=”C#”Class=”MyMath” %>
using System.Web.Services;
[WebService(Namespace=”http://'Deine URL'.de”,
Name=”Small Web Service in C#” ,
Description=”WebService with basic Math−functions.”)]
public class MyMath
{
[WebMethod(Description=”Adds two ints....” ) ]
public int Add(int a ,int b)
{ return a+b ;}
[ WebMethod(Description=”Returns...”)]
public int Sub(int a ,int b)
{ return a−b ;}
}