Download - IT-Designers GmbH
Download - IT-Designers GmbH
Download - IT-Designers GmbH
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
S TEINBEIS-TRANSFERZENTRUM<br />
- 8. Web Services -<br />
Web Services haben also die folgenden Eigenschaften:<br />
• Selbstbeschreibend (mit WSDL)<br />
• Plattform-unabhängig (durch SOAP als Datenprotokoll)<br />
• Lokalisierbar (mit UDDI)<br />
Auf diese 3 Technologien wird nun im Folgenden eingegangen.<br />
Eine gute Übersicht über Web Services mit praktischen Anwendungen ist in<br />
[Schu2003] zu finden. Die folgenden Auschnitte und insbesondere die Beispiele sind<br />
daraus entnommen.<br />
8.1 Web Service Description Language – WSDL<br />
Ein wichtiges Prinzip in der Softwareentwicklung, speziell bei verteilten<br />
Anwendungen, ist der Interface-getriebene Entwurf. Dabei werden Schnittstellen<br />
vereinbart, gegen die implementiert wird. Um diese Schnittstellen zu beschreiben,<br />
wird bei Web Services eine auf XML basierende Sprache eingeführt – WSDL. Bei<br />
anderen Technologien gibt es ähnliche Ansätze, etwa IDL bei CORBA. Die WSDL<br />
Spezifikation ist erreichbar im Internet [WSDL].<br />
WSDL kann automatisch ausgewertet werden, damit können zum einen<br />
Überprüfungen durchgeführt werden, zum anderen kann Code generiert werden.<br />
Dies geschieht in der Regel zur Entwicklungszeit eines Web Services oder eines<br />
Web Services Clienten, es gibt aber auch Ansätze für sog. dynamische oder stubless<br />
Web Services, bei denen WSDL zur Laufzeit ausgewertet wird. Das WSIF (Web<br />
Service Invocation Framework) Toolkit bietet zum Beispiel die Möglichkeit Web<br />
Services Clients zu entwickeln, die dynamisch auf Schnittstellenänderungen<br />
reagieren. Weitere Informationen zu WSIF gibt es unter [WSIF].<br />
8.1.1 Aufbau eines WSDL Dokuments<br />
Ein WSDL Dokument enthält die folgenden Elemente:<br />
• Typen<br />
• Nachrichten<br />
• Operationen<br />
• Port Typen<br />
• Bindings<br />
• Ports<br />
• Services<br />
Diese Elemente referenzieren sich gegenseitig. Ein Service kann z.B. auf Basis<br />
mehrerer Binding-Elemente definiert werden. Komplexe Datentypen können<br />
geschachtelt werden, dabei wird auf den inneren Typ verwiesen, ohne dass dieser<br />
nochmals beschrieben wird. Die einzelnen Elemente werden nachfolgend an einem<br />
Beispiel beschrieben.<br />
S OFTWARETECHNIK Einführung in XML © Prof. J. Goll<br />
- 105 -