| |
- 12 -
<%@ WebService Language="C#"
Class="MyName.MyWebService,MyAssembly" %>
Eine weitere Gemeinsamkeit der Web Services zu den Enterprise Java Beans besteht
darin, dass Web Services ebenfalls den Zustand einer Sitzung speichern können, ähnlich
zustandsbehafteten Session Beans. Um einen zustandsbehafteten Web Service zu erzeu-
gen, muß man zwei Fälle unterscheiden. Es stellt sich die Frage, ob der Zustand eines
Clients gespeichert werden soll oder der Zustand des Dienstes an sich.
In ersterem Fall wird der Web Service Methode mitgeteilt, dass sie ihren Zustand spei-
chern kann. Dazu wird das Web-Method Attribut entsprechend erweitert:
[WebMethod(EnableSession=true)]
public int PerSessionServiceUsage()
Um auf eine Session-Variable zuzugreifen, wird das Attribut Session verwendet:
Session["MyServiceUsage"] = 1;
Diese Art der Zustandsspeicherung lässt sich mit der Zustandsspeicherung zustandsbe-
hafteter Session Beans bei EJB vergleichen. Auch dort wird der Zustand einer Client-
Sitzung gespeichert, jedoch erfolgt die Speicherung nur solange, wie die Sitzung andau-
ert. Danach werden die Informationen über den Zustand verworfen und nicht in einer
Datenbank gespeichert.
Im zweiten Fall, dass der Zustand, gespeichert werden soll, in dem sich die Applikation
gerade befindet, erfolgt die Speicherung und der Zugriff über das Attribut Applica-
tion. Hierbei müssen die Methoden nicht entsprechend gekennzeichnet werden.
Application["appMyServiceUsage"] = 1;
Diese Art der Zustandsspeicherung ist vergleichbar mit dem sog. Context bei EJBs, wo
einer Bean der Zustand des Systems beim Erzeugen mitgeteilt wird und die Bean ent-
sprechend der Informationen über den Zustand der Applikation reagieren kann.
Nachdem nun der eigentliche Web Service erzeugt wurde, muß noch eine entsprechende
Beschreibung des Service erstellt werden. Die Beschreibung erfolgt mit Hilfe eines in
WSDL verfassten XML-Dokumentes. Damit dieses Dokument jedoch nicht manuell
erstellt werden muß, gibt es dafür entsprechende Tools. Alternativ lässt sich auch über
die URL eines .asmx-Dokumentes automatisch eine Beschreibungen generieren. Dazu
wird die URL um die Zeichenfolge ?WSDL ergänzt. Dies ist insofern von Vorteil, da
sich Entwickler voll und ganz der Entwicklung des eigentlichen Web Service widmen
können, und nicht zusätzlich noch die Beschreibungen dazu erstellen müssen.
|  |
|
| |
|
|