
Towards Semantic Service-Oriented Systems on the Web Tutorial at the 2006 IEEE/WIC/ACM International Conference on Web Intelligence (WI-06) Hong Kong, China, December 19, 2006 Sung-Kook Han Dumitru Roman Won Kwang University, Korea DERI Innsbruck, Austria [email protected] [email protected] Agenda Review of Web Services Technologies Overview of Web Services Service-oriented Architectures (SOA) Review of Semantic Web Motivation of Semantic Web Ontology Semantic Web Layers Introduction to Semantic Web Services Concepts of Semantic Web Services Existing Approaches and Future Trends Dec 19, 2006 WI’2006 page 2 Review of Web Services 11/21/2006 [email protected] / [email protected] page 3 Evolution of Web Technologies Web Applications Web Pages Applet XML Servlet SOAP Web Services JSP/ASP WSDL JDBC/ODBC UDDI HTTP HTML AJAX Services URL Folksonomy Web 2.0 Semantic Web StyleSheet RSS / ATOM XML RDF/S Semantic Web Content OWL Information Knowledge Dec 19, 2006 WI’2006 page 4 Web Services Services Description Location Communication WebWeb ServicesServices UDDIUDDI,WSDL,SOAP, WSDL, SOAP Dynamic SemanticWeb Services Web UDDI,WSDL,SOAPServices Semantic Integration SemanticWeb Services Web Static UDDI,WSDL,SOAP Resource ontology CurrentWeb Services Web URLUDDI,WSDL,SOAP, HTML, HTTP Information Knowledge Dec 19, 2006 WI’2006 page 5 Web Services LooselyLoosely coupled, coupled, reusable reusable software software components components that that semantically semantically encapsulateencapsulate discrete discrete functionality functionality a andnd are are distributed distributed and and programmatically programmatically accessiaccessibleble over over standard standard Internet Internet protocols. protocols. Loosely coupled Loosely coupled systems require a much simpler level of coordination and allow for more flexible reconfiguration. Reusable software components Web services are service components that allows developers to reuse the building blocks of a system created by others to assemble and extend them in new ways. Semantically encapsulate discrete functionality Web services are self-contained, self-describing modular applications. Accessed programmatically Web services certainly will be incorporated into other Web services and applications. Distributed over the Internet Web services make use of existing, ubiquitous transport protocols like HTTP. Dec 19, 2006 WI’2006 page 6 Advantages of Web Services Cross-platform, cross-language support Java, .NET, PHP, Perl, Python Based on industry standards (W3C) Catches the XML wave XML, SOAP, WS이, UDDI Supported by many vendors Unlike CORBA Relatively easy to implement Simpler plumbing Service publication and lookup Conduct business without prior relationship “Zero latency” enterprise Loosely coupled Low demands on network quality Based on stateless request/response model Dec 19, 2006 WI’2006 page 7 Web Services Architecture ServiceService Broker Broker Service Registration: UDDI Web Services Repository d Find c Publish Service Description: WSDL ServiceService ServiceService Requester Provider Requester e Bind Provider Service Messaging: SOAP Dec 19, 2006 WI’2006 page 8 Web Services Architecture Service Location http://uddi.microsoft.org Service Interface b c Publish Services Search Service Return URL Service Requester d Request WSDL Service Provider Application Application Return WSDL A Web Service-B B Proxy C e Request Service WSDL Return Service Result SOAP Engine SOAP Engine Dec 19, 2006 WI’2006 page 9 Example: On-Line Bookstore Customer Amazon.com Amazon-Korea Enterprise Bank Dec 19, 2006 WI’2006 page 10 Example: Virtual Travel Agency Customer Virtual Travel Hotel Agency Airline Ticket Enterprise Rent a Car Dec 19, 2006 WI’2006 page 11 W3C Web Services Architecture Source: W3C Web Services Architecture Working Draft, August 2003 Dec 19, 2006 WI’2006 page 12 Web Services Enabling Technologies XML http://www.w3.org Web services messages are formatted using XML SOAP http://www.w3.org/2000/xp/Group Simple Object Access Protocol Defines the standard format for XML messages Functionally similar to RPC, CORBA, RMI WSDL http://www.w3.org/2002/ws/desc Web Services Description Language Describes a web services as a collection of ports and operations XML interface document similar to CORBA IDL or RMI/EJB remote interface UDDI http://www.uddi.org Universal Description, Discovery and Integration Provides a searchable registry of web services Similar, but broader in scope compared with CORBA or JNDI registry Dec 19, 2006 WI’2006 page 13 SOAP Message SOAP Message The complete SOAP Message HTTP Headers Standard HTTP and SOAP HTTP Headers SOAP Envelope <Envelope> encloses payload SOAP Header <Header> encloses headers Headers Individual headers <Body> contains SOAP SOAP Body Message Name & Data Message Name & Data XML Encoded SOAP Message Name & Data Dec 19, 2006 WI’2006 page 14 Example: SOAP Message <?xml version='1.0' ?> <env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope" > envelope <env:Header> <t:transactionID xmlns:t="http://intermediary.example.com/procurement" header env:role="http://www.w3.org/2002/06/soap-envelope/role/next" env:mustUnderstand="true" > 57539 </t:transactionID> </env:Header> blocks <env:Body> <m:orderGoods env:encodingStyle="http://www.w3.org/2002/06/soap-encoding" xmlns:m="http://example.com/procurement"> <m:productItem> body <name>ACME Softener</name> </m:productItem> <m:quantity> 35 </m:quantity> </m:orderGoods> </env:Body> </env:Envelope> Dec 19, 2006 WI’2006 page 15 Example: SOAP Message SOAP Request message SOAP Response message Dec 19, 2006 WI’2006 page 16 SOAP Message Style SOAP envelope SOAP envelope SOAP body SOAP body Document-style PurchaseOrder interaction Acknowledgement document document -product item -order id -quantity SOAP envelope SOAP envelope SOAP body SOAP body RPC-style method name method return interaction orderGoods input parameter 1 return value product item order id input parameter 2 quantity Dec 19, 2006 WI’2006 page 17 Message Exchange (1) message One-way Client Webservice (1) request Request-Response Client Webservice (2) response (1) message Solicit-Response Client Webservice (2) correlated message (1) message Notification Client Webservice Dec 19, 2006 WI’2006 page 18 WSDL XML document for describing Web Services WSDL specification Input and output data structures • Includes or refers to XML Schema type information Method signatures abstract part Protocol bindings (HTTP, SMTP etc.) types Location of the service messages Document can be stored in UDDI registry operations or served from the provider server port types Typically generated by a tool xrpcc in Java Web Services Developer Pack concrete part bindings services and ports Dec 19, 2006 WI’2006 page 19 WSDL Elements Message : an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation Operation : the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message Port type : an abstract set of operations mapped to one or more end points, defining the collection of operations for a binding; the collection of operations, because it is abstract, can be mapped to multiple transports through various bindings Binding : the concrete protocol and data formats for the operations and messages defined for a particular port type Port : a combination of a binding and a network address, providing the target address of the service communication Service : a collection of related end points encompassing the service definitions in the file; the services map the binding to the port and include any extensibility definitions Dec 19, 2006 WI’2006 page 20 WSDL Interface : What Support PortType Operation Format and How to Input/Output protocol invoke Access How to Binding encode Message specification implement provide Port Service Endpoint : Where Dec 19, 2006 WI’2006 page 21 WSDL Element Relationships Dec 19, 2006 WI’2006 page 22 WSDL Service Specification <message name="OrderMsg"> abstract <part name="productName" type="xs:string"/> <part name="quantity" type="xs:integer"/> part </message> messages <portType name="procurementPortType"> <operation name="orderGoods"> <input message = "OrderMsg"/> operation and </operation> port type </portType> <binding name="ProcurementSoapBinding" type="tns:procurementPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="orderGoods"> concrete <soap:operation soapAction="http://example.com/orderGoods"/> part <input> <soap:body use="literal"/> </input> <output> binding <soap:body use="literal"/> </output> </operation> </binding> <service name="ProcurementService"> <port name="ProcurementPort" binding="tns:ProcurementSoapBinding"> <soap:address location="http://example.com/procurement"/> </port> port and </service> service </definitions> Dec 19, 2006 WI’2006 page 23 UDDI Universal Description, Discovery, and Integration Specification to Publish & Discover Web Services Shared Distributed Registry on the Web Analogy: Universal Phone Book UDDI enables three basic functions: Publish function – how a Web Service registers Find function – how a client finds a Web Service Bind function – how the client connects and interacts with a Web Service Name of Business White Page Contact Information Description of the Company Business Classification Information Based on
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages96 Page
-
File Size-