www.wikidata.de-de.nina.az
Die Web Services Description Language WSDL ist eine plattform programmiersprachen und protokollunabhangige Beschreibungssprache fur Netzwerkdienste Webservices zum Austausch von Nachrichten auf Basis von XML WSDL ist ein industrieller Standard des World Wide Web Consortiums W3C Web Services Description LanguageDateiendung wsdlMIME Type application wsdl xmlEntwickelt von World Wide Web ConsortiumContainer fur XMLStandard s W3C WSDL 1 1W3C WSDL 2 0 Inhaltsverzeichnis 1 Inhalte 1 1 Beschreibungselemente 2 Anwendung 3 Anwendungsbeispiel 4 Entwicklungsstand 5 Erweiterungen und Abgrenzung zu anderen Entwicklungen 6 Siehe auch 7 WeblinksInhalte BearbeitenWSDL ist eine Metasprache mit deren Hilfe die angebotenen Funktionen Daten Datentypen und Austauschprotokolle eines Webservice beschrieben werden konnen Es werden im Wesentlichen die Operationen definiert die von aussen zuganglich sind sowie die Parameter und Ruckgabewerte dieser Operationen Im Einzelnen beinhaltet ein WSDL Dokument funktionelle Angaben zu der Schnittstelle Zugangsprotokoll und Details zum Deployment Alle notwendigen Informationen zum Zugriff auf den Service in maschinenlesbarem FormatNicht enthalten sind hingegen Quality of Service Informationen Taxonomien Ontologien zur semantischen Einordnung des ServicesBeschreibungselemente Bearbeiten nbsp Aufbau einer WSDL DateiServices werden durch sechs XML Hauptelemente definiert types Datentypen Definition der Datentypen die zum Austausch der messages benutzt werden message Nachricht Abstrakte Definitionen der ubertragenen Daten bestehend aus mehreren logischen Teilen von denen jeder mit einer Definition innerhalb eines Datentypsystems verknupft ist portType Schnittstellentypen Eine Menge von abstrakten Operationen vier Typen von ausgetauschten Nachrichten One way Der Service bekommt eine Input Message vom Client Request response Der Service bekommt einen Request Input Message vom Client und sendet eine Antwort Output Message Solicit response Der Service sendet eine Message und erwartet eine Antwort vom Client Notification Der Service sendet eine Output Message In WSDL 2 0 wurde die Bezeichnung zu Interface geandert binding Bindung Bestimmt das konkrete Protokoll und Datenformat fur die Arbeitsschritte und Nachrichten die durch einen bestimmten Port Typ gegeben sind port Port Spezifiziert eine Adresse fur eine Bindung also eine Kommunikationsschnittstelle ublicherweise ein URI In WSDL 2 0 wurde die Bezeichnung zu Endpoint geandert service Service Fasst die Menge von Ports eines Port Typs zusammen Zudem werden diese sechs Hauptelemente in die Gruppe der abstrakten und konkreten Definitionen eingeteilt Abstrakte Definitionen Types Messages PortTypes ab WSDL 2 0 Interfaces Konkrete Definitionen Bindings Ports ab WSDL 2 0 Endpoints ServicesDie Definition von konkreten Inhalten unterscheidet WSDL von den bestehenden Schnittstellenbeschreibungssprachen wie IDL Diese hatten die Schnittstellen bisher nur abstrakt beschrieben Anwendung BearbeitenWSDL wird haufig in Kombination mit SOAP und dem XML Schema verwendet um Webservices im Internet anzubieten Ein Client der einen Webservice aufruft kann WSDL lesen um zu bestimmen welche Funktionen auf dem Server verfugbar sind Alle verwendeten speziellen Datentypen sind in der WSDL Datei in XML Form eingebunden Der Quellcode der zum Zusammensetzen der gesendeten Objekte auf der Client Seite notwendig ist kann automatisiert aus der WSDL Datei generiert werden Der Client kann nun SOAP verwenden um eine in WSDL gelistete Funktion letztlich aufzurufen Anwendungsbeispiel BearbeitenAnhand eines Beispiels soll verdeutlicht werden wie die einzelnen Abschnitte eines WSDL Dokuments miteinander verknupft sind In diesem Beispiel wird ein Dienst service implementiert der nach Erhalt eines Aktiennamens den aktuellen Handelswert dieser Aktie zuruckgibt lt 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 gt lt types gt lt schema targetNamespace http example com stockquote xsd xmlns http www w3 org 2001 XMLSchema gt lt element name TradePriceRequest gt lt complexType gt lt all gt lt element name tickerSymbol type string gt lt all gt lt complexType gt lt element gt lt element name TradePrice gt lt complexType gt lt all gt lt element name price type float gt lt all gt lt complexType gt lt element gt lt schema gt lt types gt lt message name GetLastTradePriceInput gt lt part name body element xsd1 TradePriceRequest gt lt message gt lt message name GetLastTradePriceOutput gt lt part name body element xsd1 TradePrice gt lt message gt lt portType name StockQuotePortType gt lt operation name GetLastTradePrice gt lt input message tns GetLastTradePriceInput gt lt output message tns GetLastTradePriceOutput gt lt operation gt lt portType gt lt binding name StockQuoteSoapBinding type tns StockQuotePortType gt lt soap binding style document transport http schemas xmlsoap org soap http gt lt operation name GetLastTradePrice gt lt soap operation soapAction http example com GetLastTradePrice gt lt input gt lt soap body use literal gt lt input gt lt output gt lt soap body use literal gt lt output gt lt operation gt lt binding gt lt service name StockQuoteService gt lt documentation gt My first service lt documentation gt lt port name StockQuotePort binding tns StockQuoteSoapBinding gt lt soap address location http example com stockquote gt lt port gt lt service gt lt definitions gt ErlauterungDurch das Element lt operation gt innerhalb lt portType gt wird eine Funktion GetLastTradePrice definiert die Eingabedaten erhalt input und Ausgabedaten output zuruckgibt Eingabedaten sind der Name der Aktie Ausgabedaten sind der Wert der Aktie Die Reihenfolge der lt input gt und lt output gt Elemente legt fest dass diese Operation eine Anforderung Antwort Operation request response operation werden soll Andert man die Reihenfolge z B Zuerst lt output gt dann lt input gt oder lasst man eines der beiden Elemente ganz weg dann andert sich auch das Message Exchange Pattern MEP Dies ermoglicht z B auch Operationen zu definieren die nur eine Anforderung abgeben und nicht auf eine Antwort warten Als Programmierer muss man noch festlegen welche Parameter die Eingabe und die Ausgabe erwarten Dies geschieht durch das lt message gt Element In unserem Beispiel wird bei der Operation GetLastTradePrice im lt input gt Tag auf die Message GetLastTradePriceInput verwiesen Im lt message gt Element werden einzelne Parameter zu einer Gruppe zusammengefasst so dass diese fur mehrere Operationen zur Verfugung stehen In unserem Beispiel hat das Message Element GetLastTradePriceInput nur einen Parameter lt part gt der vom Typ TradePriceRequest ist Die Operation GetLastTradePrice braucht deshalb nur einen Parameter Ware innerhalb von Message GetLastTradePriceInput z B ein weiterer Parameter fur Borse definiert wurde unsere Operation dementsprechend 2 Parameter benotigen Wie bei einer Funktion kann man auch den Eintrag dieser Parameter mit use required erzwingen oder mit use optional optional handhaben Nun mussen die Typen String Integer eigener Typ fur die Parameter definiert werden Die Typen werden gesondert innerhalb der lt types gt lt types gt Tags definiert Dabei konnen gemass XSD komplexe und einfache Datentypen definiert werden TradePriceRequest ist hier ein komplexer Datentyp der eine Zeichenkette character string erwartet Vermutlich hat man hier aus Erweiterungsaspekten einen komplexen Typ definiert obwohl auch ein einfacher Datentyp Zeichenkette genugt hatte Zwischen lt binding gt lt binding gt wird das Nachrichtenformat und das Protokoll definiert Das Protokoll wird im Attribut transport festgelegt was in unserem Beispiel SOAP ist Ausserdem kann noch festgelegt werden ob die Nachricht im rpc style oder document style verschickt werden soll und wie die Eingabe und Ausgabe zu kodieren ist Beim document style werden nur Daten an den zustandigen Dienst service gesendet wahrend beim rpc style eine bestimmte Methode samt ihren Parametern gesendet wird die am Endpunkt aufgerufen werden soll Im Element lt service gt wird ein Endpunkt Port mittels eines bindings an unsere Operationen gebunden und die Adresse festgelegt mit der man diesen port erreichen kann Entwicklungsstand BearbeitenAm 15 Marz 2001 veroffentlichte das World Wide Web Consortium die Web Service Description Language WSDL Note Version 1 1 Am 26 Juni 2007 wurde die Version 2 0 veroffentlicht die sich in zwei Teile zur Sprachdefinition Core Language und Zusatze Adjuncts gliedert Erweiterungen und Abgrenzung zu anderen Entwicklungen BearbeitenWSDL spezifiziert lediglich die syntaktischen Elemente eines Webservices d h die Art und Weise wie ein Client auf den entsprechenden Webservice zugreifen kann Daruber hinausgehende semantische Spezifikationen eines Webservices sind allerdings oft wunschenswert Informationen uber die Antwortzeit Kosten eines Services Sicherheitsbestimmungen sowie genauere Spezifikationen der Effekte einer Operation werden insbesondere zur automatischen Auffindung Discovery und Orchestrierung von Diensten benotigt Zur Beschreibung dieser Parameter gibt es zum einen Erweiterungen von WSDL wie WSDL S oder WSLA zum anderen Entwicklungen wie OWL S oder WSMO die Ontologien zur semantischen Beschreibung von Webservices definieren Diese Ontologien sind wesentlich machtiger bei der Beschreibung von Webservices bringen aber eine dementsprechende Komplexitat mit sich In der OGSA Open Grid Services Architecture einer Standardbeschreibung fur Grid Services ist mit GWSDL Grid extended WSDL eine Erweiterung definiert die es gestattet formalisierte Service Status also Status von Service Instanzen zu der Interfacedefinition hinzuzufugen Siehe auch BearbeitenWS Sammlung von Standards die SOAP WSDL modular erweitern WS Business Process Execution Language WS BPEL XML basierte Sprache zur Beschreibung von Geschaftsprozessen Business Process Modeling Language XML basierte plattformunabhangige Metasprache zur Beschreibung von Geschaftsprozessmodellen semantisches Web Erweiterung des World Wide Web WWW um maschinenlesbare Daten Universal Description Discovery and Integration UDDI standardisierten Verzeichnisdienst im Umfeld von dynamischen Webservices Web Application Description Language WADL eine einfache Alternative zu WSDL fur XML HTTP AnwendungenWeblinks BearbeitenW3C Beschreibung zu WSDL 1 1 Memento vom 24 Dezember 2006 im Internet Archive W3C Beschreibung zu WSDL 1 2 W3C Beschreibung zu WSDL 2 0 W3C WSDL Validator WSDL Lesen fur Einsteiger Eine EinfuhrungV DStandards des World Wide Web Consortiums W3C Empfehlungen ActivityPub ARIA Canonical XML CDF CSS DOM Geolocation API HTML HTML5 InkML ITS JSON LD MathML OWL P3P PLS PNG RDF RDF Schema RIF SCXML SISR SKOS SMIL SOAP SRGS SSML SVG SPARQL Timed Text Turtle VoiceXML WSDL XForms XHTML XHTML RDFa XInclude XLink XML XML Base XML Encryption XML Events XML Information Set XML Namespace XML Schema XML Signature XPath XPointer XProc XQuery XSL XSL FO XSLT Elemente nbsp Arbeitsentwurfeund Kandidaten CCXML CURIE SMIL Timesheets sXBL WICD XFrames XBL XHTML MathML SVG XMLHttpRequestAnmerkungen XAdES XFDL XHTML SMIL XUPRichtlinien Web Content Accessibility Guidelines Multimodal Interaction Activity Markup Validation ServiceInitiativen Web Accessibility InitiativeWebserver SchnittstellenProtokolle CGI SCGI FastCGI AJPAPIs C NSAPI C ASAPI C ISAPI Java Servlet ASP NET Python WSGI Ruby Rack JavaScript JSGI Perl PSGI Lua WSAPI Apache Module mod jk mod lisp mod parrot mod perl mod php mod python mod wsgi mod ruby Phusion Passenger Web APIs WSDL XML RPC SOAP REST Abgerufen von https de wikipedia org w index php title Web Services Description Language amp oldid 202106609