Web Services for Enterprise Application Integration Liana Razmerita Project Acacia, INRIA, Sophia-Antipolis
Outline Web Services (WS)-Introduction What is the technology associated with WS? How to deliver and operate WS? Why Web Services? What are Semantic Web services? Service-oriented architectures (SOA) Conclusions
What are Web Services? A new generation of distributed, web-based technology Web services are software applications that can be discovered, described and accessed based on XML and standard Web protocols over intranets, extranets and the Internet. [Daconta et al., 2003] WS independent agents that produce and consume information, enabling automated business transactions. [Paolucci and Sycara, 2003]
How to deliver and operate WS? A basic business transaction using web services consists of four stages: Search Select Provide Pay?
Generic use case scenario Service Registry Find Publish Service Requester Bind Service Provider
Layers of Web services UDDI-Universal Discover Description (UDDI, ebxml, Discovery registries) Integration an application registry, similar to a telephone book Describe (WSDL) WSDL Web Service Description Language Access (SOAP) SOAP Simple Object Access Protocol XML XML-eXtended Markup Language Communication Layer (protocols: HTTP, SMTP,..)
XML-eXtended Markup Language HTML (Hypetext Markup Language) most common language on the Web XML is derived from SGML (Standard Generalized Markup Language) XML is a meta language for markup XML allows users to define their own tags <h2>out of the box</h2> <i>by John Hagel</i> <book> <title>out of the box</title> <author>john Hagel</author> </book>
XML-eXtended Markup Language XML standard recommended by W3C XML organize data in a hierarchy Tag names can be chosen XML is an interoperable data format
SOAP a lightweight protocol for exchange of information in a decentralized, distributed environment W3C (http://www.w3.org/tr/soap/) WS communicate using SOAP, usually used with HTTP SOAP Header SOAP Envelope HTTP Header SOAP Body
SOAP messages <SOAP_ENV: Envelope xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ <SOAP-ENV:Body> <m:getlasttradeprice xmlns:m= some URI > <symbol>dis</symbol> </m:getlasttradeprice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> <SOAP_ENV: Envelope xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/ SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ <SOAP-ENV:Body> <m:getlasttradeprice Response xmlns:m= some URI > <price>34</price> </m:getlasttradeprice Response> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
How to describe Web services? WSDL Web Service Description Language WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. W3C (http://www.w3.org/tr/wsdl) WSDL specification resulted from collaboration of IBM, Microsoft and Ariba.
How to discover Web Services? UDDI-Universal Description Discovery Integration-not yet a standard, embraced by major vendors (http://www.uddi.org/) register public information about web services Service description includes servicename: textdescription of the service: provider: contactinformation: FOAF, VCard IOPE (Input Output Preconditions and Effects ).
Service-oriented architecture principles Simplicity simplicity at the end-points of the connections deliver functionality as a shared service Loose coupling modules connected through standard communication protocols connections across modules are loosely coupled Heterogeneity a diversity of computing platforms and applications can communicate Openness ubiquitous standards and protocols reduce concerns about lock-ins and maximize the returns on investments of the participants
WS major development directions definition/granularity of a service discovery and invocation aspects composition and interoperation of services (manual, automatic and semi-automatic?) quality of services (trust, security)
Some companies working on SOA Sun Microsystems Sun Labs (Java WSDP Developer Pack) IBM (BPEL4WS Business Processes Execution Language, WSDL toolkit) Microfot (.Net) Salesforce RightNow Oblix Siebel Systems (SEBL) Ellison&Co (at Oracle)
Semantic Web Services Web is evolving from a repository of Web resources towards a provider of services [McIlraith et al., 2001] W3C Semantic Web Interest Group: service description, choreography and specification of WS using OWL_S OWL_S a semantic markup language formerly called DARPA Agent Markup Language for Services (DAML_S): the service profile, the service model, the service grounding
Semantic Web layered architecture Semantic Web design and vision (Tim Berners-Lee,2001) Logic layer OWL (Ontology languages) RDF/RDFS XML Proof layer
Alternatives to OWL_S Web Service Modeling Framework (WSML)- Web Service Modeling Ontology (WSMO) Internet Reasoning Service (IRS-II) and (IRS-III) are Semantic Web Services Framework, developed by KMI,
Top level service ontology of OWL_S what it does Service Profile Service how to access it Service Grounding how it works Service Model
A Web-service enabled architecture service provider service requester Tomcat Server Web Services service requester service query Server UDDI, registry Servlet Agents
WS for Enterprise Application Integration(EAI) Ontologging project A next generation of KMSs: ontologies, web services, user modeling and agents. What are Knowledge Management Systems? Information systems dedicated to manage organizational knowledge. [Leidner and Alavi, 2001] create capitalize/ store share KMSs aim to integrate complex knowledge processes: Collaboration between employees; Learning processes; Management of tacit knowledge;
WS for EAI Ontologging architecture End Users Multiple Ontology - & Metadata Management User Profile Editor MS Office... Connector Query & Browsing Interface Document Upload Interface Ontologging Presentation Layer Multiple Ontology and Metadata Management Ontologging Core Integration Layer ( Includes intelligent services, agents,...) User Management (Profiling, Tracking) Document Management & Indexer... Admininstration Ontologging Middleware Layer Ontologging Storage Layer
Conclusions A new generation of distributed, web-based technology A new way to establish more flexible and low-cost connections across applications WS architectures focus on connecting applications and data. Authorized entities access data or applications regardless of location and technology platform. WS enable to connect existing applications with the applications of their business partners.
References Daconta, M, C., Obrst, L, J., Smith, K, T., 2003, The Semantic Web: A guide to the future of XML, Web Services and Knowledge Management, Wiley Publishing Inc. Indiana Make it simple-a survey of Information Technology, appeared in the Economist, October 30th, 2004. Curbera, F.; Duftler, M.; Khalaf, R.; Nagy, W.; Mukhi, N.; Weerawarana, S, Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI, Internet Computing, IEEE, Volume: 6, Issue: 2, March-April 2002, Pages:86 93 Hagel, J., Out of the Box: Strategies for Achieving Profits Today and Growth Tomorrow through Web Services, 2002
Discussion Questions and answers Work group session