Follow-up on work from:
Is about:
Principles:
Benefits
Vendors:
IBM, BEA, webMethods, IONA, TIBCO, SAP, CA, Oracle, Microsoft, Sun, etc.
Users:
Citigroup, BT, Canon, Xerox, NACS, HL7, etc.
SOAP 1.2:
W3C Recommendation since June 2003. Slow but steady transition.
<soap:Envelope> <soap:Headers> <wsa:To>http://www.example.org/MyService</wsa:To> <wsa:Action>http://www.example.org/Update</wsa:Action> </soap:Headers> <soap:Body> … </soap:Body> </soap:Envelope>
Web Services Addressing 1.0:
W3C Recommendation (Core and SOAP Binding)
WSDL Binding interoperability ongoing
Client/Server | Axis | IBM | JBoss | Microsoft | Sun | WSO2 |
---|---|---|---|---|---|---|
IBM | 100% | 100% | 100% | 100% | 100% | 100% |
JBoss | 100% | 100% | 100% | 100% | 100% | 100% |
Microsoft | 79% | 100% | 100% | 100% | 100% | 100% |
Sun | 100% | 100% | 100% | 100% | 100% | 100% |
WSO2 | 100% | 100% | 100% | 100% | 100% | 100% |
Next is Addressing 1.0 Policy assertion.
SOAP Message Transmission Optimization Mechanism (MTOM):
W3C Recommendation since January 2005.
WSDL 2.0: Define a basic description of a Web Service
Candidate Recommendation
Second Interoperability event in November (Dinard, France)
Removed recently: feature/properties, 6 MEPs
(see also dashboard)
<description …> <types> <xs:schema …> <xs:element name="checkAvailability" type="tCheckAvailability"/> <xs:complexType name="tCheckAvailability"> <xs:sequence> <xs:element name="checkInDate" type="xs:date"/> <xs:element name="checkOutDate" type="xs:date"/> <xs:element name="roomType" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="checkAvailabilityResponse" type="xs:double"/> <xs:element name="invalidDataError" type="xs:string"/> </xs:schema> </types> <interface name="reservationInterface" > <fault name="invalidDataFault" element="ghns:invalidDataError"/> <operation name="opCheckAvailability" pattern="http://www.w3.org/2006/01/wsdl/in-out" style="http://www.w3.org/2006/01/wsdl/style/iri" wsdlx:safe="true"> <input messageLabel="In" element="ghns:checkAvailability" /> <output messageLabel="Out" element="ghns:checkAvailabilityResponse" /> <outfault ref="tns:invalidDataFault" messageLabel="Out"/> </operation> </interface> <binding name="reservationSOAPBinding" interface="tns:reservationInterface" type="http://www.w3.org/2006/01/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"> <fault ref="tns:invalidDataFault" wsoap:code="soap:Sender"/> <operation ref="tns:opCheckAvailability" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/> </binding> <service name="reservationService" interface="tns:reservationInterface"> <endpoint name="reservationEndpoint" binding="tns:reservationSOAPBinding" address ="http://greath.example.com/2004/reservation"/> </service> </description>
All,
ExactlyOne
(see also Web Services Policy 101)
<wsp:Policy> <wsap:AddressingRequired /> <mtom:OptimizedMimeSerialization wsp:Optional="true"/> <wsp:ExactlyOne> <sp:TransportBinding>…</sp:TransportBinding> <sp:AsymmetricBinding>…</sp:AsymmetricBinding> </wsp:ExactlyOne> </wsp:Policy>
WS-CDL 1.0: Describe interaction among atomic Web Services
Candidate Recommendation
First Working Draft for XML Schema Patterns for Databinding published on May 12.
First Working Draft for XML Schema Patterns for Databinding published on May 12.
<xs:complexType name="Collection"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="shade" type="xs:string"/> <xs:element name="length" type="xs:int"/> </xs:sequence> <xs:attribute name="id" type="xs:string"/> <xs:attribute name="inStock" type="xs:int"/> </xs:complexType>
Generic Semantic Annotation mechanism for WSDL
<interface name="CheckItemAvailability">
sawsdl:modelReference="PurchaseOrderServices/ItemAvailability"
<operation name="InStock"
pattern="http://www.w3.org/2006/01/wsdl/in-out">
<input messageLabel="In"
element="tns:ItemDescription"/>
<output messageLabel="Out"
element="tnsItemDescriptionAvaibility"/>
</operation>
</interface>
urn:Electronics rdf:type categorization:Category; categorization:haveValue "443112"; categorization:usesTaxonomy <http://naics.com> .
<wsdl:interface name="CheckItemAvailability"> <wsdl:operation name="CheckItemAvailabilityOperation" sawsdl:modelReference="categorization#Electronics" ... </wsdl:operation> </wsdl:interface>
<xs:exlement name="CheckInventoryServiceRequest"> <xs:complexType> <xs:sequence> <xs:element name="UPC" type="xsd:string" sawsdl:modelReference="SampleRetailOntology#UPCCode"/> <wsdl:element name="DeliveryDate" type="xs:string" sawsdl:modelReference="SampleRetailOntology#DeliveryDate"/> <wsdl:element name="numBundles" type="xs:float" sawsdl:modelReference="SampleRetailOntology#NumBundles/> </xs:sequence> </xs:complexType> </xs:element>
<SampleRetailOntology.owl#> rdf:type owl:Ontology . :PartNumber rdf:type owl:Class; rdfs:subClassOf owl:Thing; owl:equivalentClass :UPC . :UPC rdf:type owl:Class; owl:equivalentClass :PartNumber . :NumBundles rdf:type owl:Class; owl:equivalentClass :Quantity . :Quantity rdf:type owl:Class; rdfs:subClassOf owl:Thing; owl:equivalentClass :NumBundles; . :DeliveryDate rdf:type owl:Class; rdfs:subClassOf owl:Thing; owl:equivalentClass owl:DueDate . :DueDate rdf:type owl:Class; owl:equivalentClass :DeliveryDate .
Adding WSDL annotations for SPARQL Queries
SELECT ?tile WHERE { ?response tnss:doctitle ?title }
aws:ItemSearchResponse/aws:Items/aws:Item/aws:Title
<definitions><types><element name="ItemSearchResponse"></element></types>... <message name="ItemSearchResponseMsg"/></definitions>
Ties RDF data to locations in a Web Services message.:
<xs:element name="Item" spat:SPAT='?book tns:doctitle xpath("aws:Title")'/>
PREFIX tnss: <http://webservices.amazon.com/AWSECommerceService/2004-11-10> SELECT ?asin ?title WHERE { ?X tnss:id "0FWYBWB91M5S26YBE382" ; tnss:keywords "cola" ; tnss:index "Books" ; tnss:asin ?asin ; tnss:doctitle ?title }
asin | title |
---|---|
"0896584542" | "The Sparkling Story of Coca-Cola" |
"0953984028" | "The World Stormrider Guide (Stormrider Guides)" |
"0887307515" | "Secret Formula" |
"0873493818" | "The Encyclopedia of Pepsi-Cola Collectibles (Encyclopedia of Pepsi-Cola Collectibles)" |
"0896960528" | "The Cola Wars: The story of the global battle between the Coca-Cola Company and PepsiCo, Inc." |
"1887432930" | "Coca-Cola Collectible Santas (Collector's Guide to Coca Cola Items Series)" |
"0977184307" | "Splenda® Is It Safe Or Not?" |
"0873492412" | "Petretti's Coca-Cola Collectibles Price Guide (Petretti's Coca-Cola Collectibles Price Guide)" |
"0553568914" | "Elvis, Jesus and Coca-Cola (Kinky Friedman Novels (Paperback))" |
"0465054684" | "For God, Country, and Coca-Cola: The Definitive History of the Great American Soft Drink and the Company That Makes It" |
Principles:
Benefits
Going beyond SOAP/WSDL 1.1…
facilitate the processing of business transactions and interactions with systems and address the need to interconnect intranet and/or extranet services using Web technologies.
W3C Workshop on Web of Services for Enterprise Computing (end of February 2007)
human-legible and reasonably clear, and emphasize conciseness/terseness
…, Military (ASMTF, JTLM), Broadcast (CBMS), Storage (DataStore), Sensor (LocationSightings)
From Analysis of EXI Measurement Results, by Jaakko Kangasharju
More information at:
http://www.w3.org/2002/ws/