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
Dec 19, 2006 WI’2006 page 14 Example: SOAP Message
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
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 NAICS, UNSPSC, or Yellow Page Geographical Index List of Products (multiple entries)
Technical Information about services Green Page Example: business processes, binding info, etc.
Dec 19, 2006 WI’2006 page 24 UDDI Pages
White Page Service provider name General description: Any number of languages Contact information: Names, phone numbers, fax numbers, Web sites, etc. White Known identifiers • List of unique identifiers for a service provider or business Pages – e.g., D-U-N-S Numbers, Thomas Supplier ID – e.g., Domain name, stock ticker symbol, tax ID, others Identifiers can be ‘validated’ or ‘invalidated’ in version 2 implementations Yellow Page Yellow Service provider categories • 3 standard taxonomies in Version 1 Pages – Industry: NAICS (Industry codes – US Govt.) – Product/Services: UN/SPSC (ECCMA) – Location: Geographical taxonomy (ISO 3166) • Version 2 enhancements Green – Freely extensible to support local or industry requirements Pages – Taxonomies can be hosted within the UDDI sites or through external services – Categorization assertions can be ‘validated’ or ‘invalidated’ Green Page New set of information businesses use to describe how to “do e-commerce” with them • Nested model – Business processes Service Type – Service descriptions – Binding information Registrations • Programming/platform/implementation agnostic • Services can also be categorized
Dec 19, 2006 WI’2006 page 25 UDDI Data Structure
businessEntity: Information about the party who publishes information about a family of services tModel: Descriptions of specifications for services or taxonomies. Basis for technical fingerprints businessService: Descriptive information about a particular service
bindingTemplate: Technical information about a service entry point and construction specs
publisherAssertion: Information about a relationship between two parties, asserted by one of both
Dec 19, 2006 WI’2006 page 26 UDDI Registry Entry
businessEntity tModeltModel name keytModel keykey contacts namename description descriptionname descriptiondescription identifiers overviewDocoverviewDoc categories identifiersoverviewDoc identifiersidentifiers categoriescategories businessService categories service key name description categories tModeltModel key bindingTemplate key name Specs stored binding key name description at the description description overviewDoc provider’s address overviewDoc identifiersidentifiers site detailed info categories references to tModels categories
Stored in the UDDI registry Dec 19, 2006 WI’2006 page 27 UDDI Registry
Dec 19, 2006 WI’2006 page 28 Web Service Composition
Workflow = Automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedure rules (WfMC)
B
A N1 E N2 F
Organization A Organization B Organization C + C D 10101011 t1 + t t t5 t6 7 8
t2 t3 t4
Set_Data DB_Access Manager Lab Tech GET_ Seq
DB_Access Lab Tech II
Dec 19, 2006 WI’2006 page 29 Workflow Composition
Application Architecture C
o Process nsumer
Services and Messages
Service Architecture Provider
Component Architecture Component Architecture
Dec 19, 2006 WI’2006 page 30 Web Services Choreography & Orchestration
Web Services orchestration implies the presence of a single agent that controls and coordinates interactions between and among multiple Web Services Web Services choreography involves non-executable descriptions of observable behavior of Web Services through the definition of observable message exchanges between a collection of services
Web Web Service Service
Collaboration Web Web Process flow Web Web Service Service Service Service
Web Services orchestration Web services choreography
Dec 19, 2006 WI’2006 page 31 WSBPEL
Business Process Execution Language for Web Services WSBPEL replaces WSFL and XLANG by combining and extending the functions of both Describe business process involving many WS XML-based workflow definition language Standard for Web Service composition language
Dec 19, 2006 WI’2006 page 32 WSBPEL Elements
Partner the different parties that interact with the business process Container WSDL messages that are received from or sent to partner faultHandlers the ways to handle and recover from errors in businesses. Compensation allowing the process designer to implement compensation actions for certain irreversible errors in business Activities the actions that are being carried out within a business process
Dec 19, 2006 WI’2006 page 33 WSBPEL Core Concepts
Dec 19, 2006 WI’2006 page 34 Web Services and Security
When Web Services-based exchanges branch out beyond an organization’s firewall and span across organizations, security becomes a much larger factor than it is for exchanges that are behind the firewall
Security involves multiple requirements, such as: Integrity: Ensuring that messages have not been tampered with en route or otherwise Non-Repudiation: Ensuring that a party to a contract or communication cannot deny the authenticity of their signature or the fact that they originated a message Authentication/Identity Management: Requiring proof of identity in a Web-based transaction Authorization: Controlling access privileges to resources Confidentiality: Protecting information from interception during transmission, and potentially afterward
Dec 19, 2006 WI’2006 page 35 Web Services and Security
Specification Satisfies Security Requirement OASIS Web Services Security Integrity (message-level) Non-Repudiation (message-level) Confidentiality (message-level) OASIS SAML (Security Assertion Authentication Markup Language) Identity Management (Version 2.0) The Liberty Alliance Identity Management WS-Federation (Web Services Identity Management Federation Language)
WS-Trust (Web Services Trust Managing trust relationships Language)
WS-SecureConversation (Web Services Integrity (session-level) Secure Conversation Language) Non-Repudiation (session-level) Confidentiality (session-level) XACML (Extensible Access Control Authorization/Access Control Markup Language)
Dec 19, 2006 WI’2006 page 36 Service Orientation…
Approach Timeframe Programming Model Business Motivations Mainframe timesharing 1960s –1980s Procedural (COBOL) Automated business
Database (SQL) and fat client (PowerBuilder, Computing power on Client/server 1980s-1990s Visual Basic) the desktop
Object-oriented (Java, n-Tier/Web 1990s-2000s COM) Internet / e-Business
Service orientation Service-oriented (SOAP, 2000s Business agility WSDL, UDDI)
Source: ZapThink Roadmap for SOA Adoption
Dec 19, 2006 WI’2006 page 37 Architectural Layers
Business Process Layer
Service Layer Account Employee Order Customer
Lotus Finance Application Notes Layer ERP CRM Directory HR
IBM Technology J2EE Linux Microsoft Layer CICS .NET
Source: 2005 CBDI Forum Ltd
Dec 19, 2006 WI’2006 page 38 Provider and Consumer Architectures Consumer
Composite Application Architecture
Service Architecture Provider
Component Component Architecture
Architecture Source: 2005 CBDI Forum Ltd
Dec 19, 2006 WI’2006 page 39 SOA Layers: Enterprise Service Bus
Composite Business Service Service Services
Composite Application Enterprise Service Bus
Business Service Bus
Implementation-Based Service Service Service Service Service Service and Utility Services
Other Service Enablement Service Providers Providing Resources Internal and External Resources and Implementations Source: 2005 CBDI Forum Ltd
Dec 19, 2006 WI’2006 page 40 Service Lifecycle
Solution Implementation
Service Consumption
Discover Request Analysis Design Deploy Certify Publish Execute Version
Service Provisioning
Service Implementation Source: 2005 CBDI Forum Ltd
Dec 19, 2006 WI’2006 page 41 Web Services and SOA
SOA can be implemented without Web services, and Web services can be used for non- SOA (e.g. RPC) interactions. However, Web services delivers key standards for implementing SOA. The WS-* family scales to meet integration challenges intra-enterprise (enterprise application integration [EAI]) and inter-enterprise (business to business [B2B]). XML is an ideal candidate for loosely coupled inter-application data sharing. XML is not self-describing, but XML Schema can be be used to constrain message layout and content.
SOA “The architecture”
Services architecture Web services specs RPC interactions Service contract WSDL Binary XML Message based SOAP & XML Service directory UDDI Web services Protocol independent HTTP Coarse grained & document Doc literal binding “The plumbing” centric Process orchestration (BPEL)
You don't have SOA until you build/buy Web Services is the stack of standard web technologies services and compose them to implement required at both consumer and provider ends to implement the business functionality. pipe for shipping XML messages between them. Source: Peter Campbell, ANZ Banking Group Australia Dec 19, 2006 WI’2006 page 42 Web Services Products and Tools
BEA WebLogic Platform
Dec 19, 2006 WI’2006 page 43 Web Services Stack
WSFL Service Flow
Service Discovery UDDI Management Security Service Publication
WSDL Service Description
SOAP XML Based Messaging
http, ftp, MQ, Network IIOP, etc.
Dec 19, 2006 WI’2006 page 44 Standards Stack for Web Services
Dec 19, 2006 WI’2006 page 45 Trend in Web Services
Dec 19, 2006 WI’2006 page 46 WS standards: Lack of semantics!
Syntax only!
Problem: Enable interoperability by using the same format, but still discovery, combinability only syntax based, no way to describe functionality.
Dec 19, 2006 WI’2006 page 47 Review of Semantic Web
11/21/2006 [email protected] / [email protected] page 48 The Current Web
Global information space for human consumption Information structures and its presentations are mixed up. Accessible by merely keywords: high recall, low precision Difficult for machines to automatically comprehend, process, communicate and interoperate. Problems in information : Finding and Searching Extracting Representing Interpreting Maintaining
Dec 19, 2006 WI’2006 page 49 Semantic Web
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 50 Motivating the Semantic Web
Semantic Interoperability Matured Technologies
Machine-Processible Semantics RDF/S, OWL : Semantic Web Languages Semantic Interoperability Rule languages and Inference languages between Computers (Agents) Web Services, Agents, …
Knowledge Web Human-readable, Computer-Interpretable Syntactic and Semantic Interoperability Enable Inference Create New Opportunities
Semantic Web : W3C Standard Vision of Next Generation Web
Vision and Standards
Dec 19, 2006 WI’2006 page 51 Semantic Web = Knowledge Web
“The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation” T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web”, Scientific American, May 2001
The Semantic Web is a vision : the idea of having data on the Web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various application. http://www.w3.org/2001/sw/
New & Next generation of the Web: Providing automated services based on machine-processable semantics of data, reasoning techniques and heuristics that make use of these data; Interweaving computers and human beings;
Dec 19, 2006 WI’2006 page 52 Semantic Web - Definition
…well-defining meaning…
(Machine-processible semantics) Ontology • Interoperability • Extensibility …computers and people to work in better cooperation… Internet Intelligent Agents Inference/Proof/Trust Self-describing documents (Annotated document) Agents Human
Annotated Web Page
…extension of the current Web… Distributed Unregulated
Dec 19, 2006 WI’2006 page 53 Semantic Web: The Layer Cake
Dec 19, 2006 WI’2006 page 54 What is an Ontology?
An ontology is an explicit specification of a conceptualization.[Gruber 1993] An ontology is a formal, explicit specification of a shared conceptualization. [Borst 1997] An ontology defines a common vocabulary for researchers who need to share information in a domain [Noy & McGuinness 2001]
‘Conceptualization’ refers to an abstract model of some phenomenon in the world by having identified the relevant concepts of that phenomenon. ‘Explicit’ means that the type of concepts used, and the constraints on their use are explicitly defined. (For example, in medical domains, the concepts are diseases and symptoms, the relations between them are causal and a constraint is that a disease cannot cause itself.) ‘Formal’ refers to the fact that the ontology should be machine readable, which excludes natural language. ‘Shared’ reflects the notion that an ontology captures consensual knowledge, that is, it is not private to some individual, but accepted by a group."
Dec 19, 2006 WI’2006 page 55 Ontology in a nutshell
Domain model: a formal, explicit specification of a shared conceptual model Shared formal conceptualizations of particular domains. Provide a common interpretation of topics that can be communicated between people and applications. A formal vocabulary for information exchange. Typically contain hierarchies of concepts and their relations within the domains and describe each concept’s crucial properties through an attribute-value mechanism. Also allow definition of axioms and constraints on particular concepts and properties. Ontological Commitment: General agreement between Ontologies Ontologies are social contracts. • Agreed, explicit semantics • Understandable to outsiders • (Often) derived in a community process
Dec 19, 2006 WI’2006 page 56 Ontology
Concepts concepts of the domain or tasks, which are usually organized in taxonomies Example: Person, Car, University,… Relations a type of interaction between concepts of the domain Example: subclass-of, is-a, …, Functions a special case of relations in which the n-the element of the relationship is unique for the n-1 preceding elements Example : Father_of, Sum_of_Price,… Axioms model sentences that are always true Concept Example: a+0 = a, if x > y, then x+a > y+a,… Instances Instance Relation to represent specific elements Example : Student called Peter,…
Function Axiom
Dec 19, 2006 WI’2006 page 57 Standard Ontology Language : OWL
a semantic markup language for publishing and sharing ontologies on the World Wide Web a vocabulary extension of RDF (the Resource Description Framework) and is derived from the DAML+OIL
Web Ontology Language (OWL)
Machine-interpretable Syntax Machine-understandable Semantics RDF/S DAML+OIL XML DAML OIL
(DARPA) (EU IST)
Dec 19, 2006 WI’2006 page 58 Species of OWL
designed for easy implementation and to provide users with a functional OWL-Lite subset that will get them started in the use of OWL. designed to extend the modeling capabilities of RDFS by adding some common features used in extending vocabularies and thesauri into ontologies . particularly targeted at tool builders.
designed to support the existing Description Logic business segment and to provide a language subset that has desirable computational properties OWL-DL for reasoning systems can have developed powerful reasoning systems which support ontologies constrained by the restrictions required for OWL DL.
relaxes some of the constraints on OWL DL so as to make available features which may be of use to many database and knowledge OWL-Full representation systems violate the constraints of description logic reasoners
Dec 19, 2006 WI’2006 page 59 Typical Tools for Semantic Web
● Apollo ● OpenKnoME ● LinkFactory® ● Protégé-2000 Ontology ● OILEd ● SymOntoX building tools ● OntoEdit Free and Professional versions ● WebODE ● Ontolingua Server ● WebOnto ● OntoSaurus Ontology merge and ● Chimaera ● PROMPT integration tools ● FCA-Merge ● ODEMerge ● OntoClean in WebODE Ontology evaluation ● OntoAnalyser ● ONE-T tools ● OntoGenerator
● AeroDAML Ontology based ● OntoAnnotate ● COHSE annotation tools ● OntoMat-AnnotizeAnnotator ● MnM ● ICS-FORTH RQL ● TRIPLE ● ILRT SquishQL Ontology Query ● DAML+OIL Query Language ● Intellidimension RDFQL Languages ● TopicMaps Query-Language ● RDFPath ● Ontopia Tolog ● VERSA RDF Query Language ● ICS-FORTH RDFSuite ● Jena ● Sesame ● RDF Gateway ● Inkling ● TRIPLE Ontology Storing ● rdfDB ● KAON Tool Suite and Querying Tools ● RDFStore ● Cerebra ® ● Extensible Open RDF(EOR) ● Empolis K42 ● Redland ● Ontopia Knowledge Suite
Dec 19, 2006 WI’2006 page 60 The Current Status of Semantic Web
Standards Semantic Enablers
Metadata Ontology Tools Ontology Languages Inference Engines Rule Languages Semantic Web Agents
Intelligent Search Semantic Portal e-Gov., e-Leaning,…
Semantic Web Applications
Dec 19, 2006 WI’2006 page 61 Semantic Web Services
11/21/2006 [email protected] / [email protected] page 62 Semantic Web Services
Semantic Web Services = Semantic Web Technology + Web Service Technology
Semantic Web Web Services
SemanticSemantic WebWeb ServicesServices
Semantic Web Services combine Semantic Web and Web Service Technology. Automatization of Web Service Discovery, Combination, and Invocation makes the technology scalable. This combination is a pre-requisite to make web service technology scalable and mature. This technology is a pre-requisite to enable fully open, flexible, and dynamic eWork and eCommerce a reality.
Dec 19, 2006 WI’2006 page 63 Semantic Web Services
Ontology Semantic Knowledge Information Model Semantic Resources Based Web System
Semantic Web Services Distributed Processing Distributed Model Web EAI Services Services
Service
Dec 19, 2006 WI’2006 page 64 Semantic Web Services
Services Description Location Communication Semantic Web WebWeb ServicesServices Web Services UDDIUDDI,WSDL,SOAP, WSDL, SOAP UDDI,WSDL,SOAPServices Dynamic
Semantic Integration
Static Resource
SemanticWeb Services Web UDDI,WSDL,SOAP CurrentWeb Services Web URL, HTML, HTTP UDDI,WSDL,SOAP Ontology Information Knowledge
Dec 19, 2006 WI’2006 page 65 Semantic Enabled Web Services
Dec 19, 2006 WI’2006 page 66 Tackling Semantic Interoperability…
Publication Make available the description of the capability of a service
Discovery Locate different services suitable for a given task Choose the most appropriate services among Selection the available ones Composition Combine services to achieve a goal Solve mismatches (data, protocol, process) among Mediation the combined Web services Execution Invoke services following programmatic conventions
Monitoring Control the execution process Provide transactional support and undo or mitigate Compensation unwanted effects Replacement Facilitate the substitution of services by equivalent ones
Dec 19, 2006 WI’2006 page 67 Semantic Web Services Lifecycle
Qos Description
Security
Publication
Enactment Discovery
Negotiation
Dec 19, 2006 WI’2006 page 68 OWL-based Web service ontology (OWL-S)
Conceptual Model A set of ontologies used to describe different aspects SWS
Language: OWL
Some OWL-S drawbacks OWL not sufficiently expressive for all aspects of a service • more expressive languages have been syntactically integrated: SWRL, KIF, DRS, and PDDL – how do these languages interoperate? Inherits some of the drawbacks of OWL (e.g. lack of proper layering, improper use of OWL for describing and reasoning about processes) No explicit support for Mediation in the language
Dec 19, 2006 WI’2006 page 69 Semantic Web Services Framework (SWSF)
Two major components: an ontology and a language used to axiomatize it
Semantic Web Services Ontology (SWSO) – an extension of OWL-S conceptual model, e.g. a rich behavioural process model based on PSL FLOWS – First-Order Logic Ontology for Web Services ROWS - Rule Ontology for Web Services
The Semantic Web Services Language (SWSL) SWSL-FOL - based on First Order Logic; includes features from HiLog and F-Logic SWSL-Rules - a logic programming language; includes features from Courteous logic programs, HiLog, and F-Logic
Some SWSF drawbacks unclear how all the paradigms part of this approach work together first-order logic ontology for Web services, but not a Web language
Dec 19, 2006 WI’2006 page 70 Internet Reasoning Service (IRS-III)
A platform which acts as a broker mediating between the goals of a user or client and available deployed web services Not a SWS framework on its own but uses WSMO as its ontology and follows the WSMO design principles IRS Architecture:
Dec 19, 2006 WI’2006 page 71 Web Service Semantics - WSDL-S
A mechanism to augment WSDL descriptions with semantics a set of annotations can be created to semantically describe the inputs, outputs and operations of a Web service. keeps the semantic model outside WSDL, making the approach agnostic to any ontology representation language
WSDL-S doesn’t provide a conceptual model and language for SWS a bottom up approach to SWS (annotating existing standards with metadata) Could be used as a grounding mechanism for SWS
Dec 19, 2006 WI’2006 page 72 The WSMO Approach
Dec 19, 2006 WI’2006 page 73 The Web Service Modeling Ontology (WSMO) Design Principles
Web Compliance Ontology-Based
Strict Decoupling WSMO Ontological Role Separation
Centrality of Mediation Execution Semantics
Description versus Implementation
Dec 19, 2006 WI’2006 page 74 Top-level elements defined by WSMO
(http://www.wsmo.org)
Objectives that a client may have when consulting a Web Service
Provide the formally Semantic description of Web specified terminology Services: of the information used - Capability (functional) by all other components - Interfaces (usage)
Connectors between components with mediation facilities for handling heterogeneities
Dec 19, 2006 WI’2006 page 75 WSMO – the Ontology element
Ontology elements: Concepts - set of concepts that belong to the ontology • Attributes - set of attributes that belong to a concept Relations - define interrelations between several concepts Instances - set of instances that belong to the represented ontology Axioms - axiomatic expressions in ontology (logical statements) Non-functional properties Imported ontologies - importing existing ontologies where no heterogeneities arise Used mediators - ontology import with terminology mismatch handling
Ontologies - used as the ‘data model’ throughout WSMO all WSMO element descriptions rely on ontologies all data interchanged in Web Service usage are ontologies Semantic information processing & ontology reasoning
Dec 19, 2006 WI’2006 page 76 WSMO – the Web service element
Dec 19, 2006 WI’2006 page 77 The big challenges of defining a WSMO service
Capabilities What is a service able to do? What are the requirements on the input and output? Î Preconditions, Assumptions, Postconditions and Effects need to be defined.
Interfaces How can a service be accessed? How does a service solve its task? Î Choreography and Orchestration of services need to be defined.
Dec 19, 2006 WI’2006 page 78 WSMO – Goals, Mediators
Goals Defined in a similar way as WSMO Web services
Mediation Data Level - mediate heterogeneous Data Sources Protocol Level - mediate heterogeneous Communication Patterns Process Level - mediate heterogeneous Business Processes
WSMO Mediators: OO Mediators - terminology import with data level mediation WW Mediators - enable interoperability of heterogeneous Web Services WG Mediators - link a Web Service to a Goal and resolve occurring mismatches GG Mediators – Support specs of goals by reusing exiting goals
Dec 19, 2006 WI’2006 page 79 The Web Service Modelling Language (WSML)
Ontology / Rule Languages WSML WSML Core: efficiency and compatibility WSML DL: decidability, open world semantics Static Dynamic WSML Rule: efficient existing rule engines Aspects Aspects WSML Full: unifying language, theorem proving
Languages for dynamics Transaction Logic over ASMs WSML Full
Mapping languages WSML Rule WSML DL for dynamics (process mediation) WSML Core for data (data mediation) RDF (S) XML Unicode URI
Dec 19, 2006 WI’2006 page 80 WSMO/WSML – Some Modelling Examples
Concept example Relation example concept phoneNumber relation hasRoute(ofType routeDescription, ofType route) nonFunctionalProperties nonFunctionalProperties dc#description hasValue "concept of a dc#description hasValue "Relation that holds between phone number" a route description and a route" endNonFunctionalProperties endNonFunctionalProperties countryCode ofType _string areaCode ofType _string number ofType _string Instance example instance myPhoneNumber memberOf phoneNumber countryCode hasValue “43“ areaCode hasValue “664“ Sub-concept example number hasValue “49322607“ concept mobilePhoneNumber subConceptOf phoneNumber nonFunctionalProperties Axiom example dc#description hasValue "concept of a axiom ValidInformationQuality mobile phone number" definedBy endNonFunctionalProperties forall {?x} ( mobileProvider ofType Provider ?x memberOf informationQualityType implies ?x[value hasValue “low“] or ?x[value hasValue “high“]).
Dec 19, 2006 WI’2006 page 81 WSMO/WSML – Some Modelling Examples (cont’)
webService _"https://asg-platform.org/AttractionBooking/MobtelPhoneLocationService" nfp dc#title hasValue "MobtelPhoneLocationService" dc#publisher hasValue "Mobtel“ dO#informQualityType hasValue "high" endnfp importsOntology _"https://asg-platform.org/AttractionBooking/domainOntology.wsml" capability MobtelPhoneLocationServiceCapability sharedVariables {?P} precondition definedBy ?P memberOf dO#phoneNumber. postcondition definedBy ?L memberOf dO#location and dO#hasLocation(?P,?L). interface MobtelPhoneLocationServiceInterface choreography MobtelPhoneLocationServiceChoreography stateSignature in dO#phoneNumber withGrounding ssWSDL#wsdl.interfaceMessageReference(MobtelPhoneLocationServicePortType/doIt/In) out dO#location withGrounding ssWSDL#wsdl.interfaceMessageReference(MobtelPhoneLocationServicePortType/doIt/Out) transitionRules forAll{?P} with (?P memberOf dO#phoneNumber) do add(?L memberOf dO#location and dO#hasLocation(?P,?L)) endForall
Dec 19, 2006 WI’2006 page 82 The Web Service Execution Environment (WSMX)
A software framework for runtime binding of service requesters and service providers
WSMX interprets service requester’s goal to discover matching services select (if desired) the service that fits best provide mediation (if required) make the service invocation
Is based on the conceptual model provided by WSMO
Has a formal execution semantics
SO and event-based architecture based on microkernel design using technologies as J2EE, Hibernate, JMX, etc.
Dec 19, 2006 WI’2006 page 83 WSMX Motivation
Provide middleware ‘glue’ for Semantic Web Services Allow service providers focus on their business
Provide a reference implementation for WSMO
Provide an environment for goal based service discovery and invocation Run-time binding of service requester and provider
Provide a flexible Service Oriented Architecture Add, update, remove components at run-time as needed
Keep open-source to encourage participation Developers are free to use in their own code
Define formal execution semantics Unambiguous model of system behaviour
Dec 19, 2006 WI’2006 page 84 WSMX – Components
Dec 19, 2006 WI’2006 page 85 Core Standardization Initiatives in the Area of SWS
OASIS Semantic Execution Environment TC Developing guidelines, justifications, and implementation directions for deploying Semantic Web services in SOA www.oasis-open.org/committees/semantic-ex/
W3C Semantic Annotations for Web Services Description Language Working Group Develop a mechanism to enable annotation of Web services descriptions http://www.w3.org/2002/ws/sawsdl/
Dec 19, 2006 WI’2006 page 86 Outlook
11/21/2006 [email protected] / [email protected] page 87 What about the predicted impact of semantic technologies? (Gartner, Oct. 2005)
Dec 19, 2006 WI’2006 page 88 Conclusions
Semantic Web Services Although lots of progress in the last couple of years, still immature technologies; not too many use cases But high potential in B2B, EAI, eCommerce, etc.
The WSMO Approach to SWS looks promising Covers many aspects of SWS; unifying approach Large-scale ongoing initiative supported by both industry and academia
Standardization activities are emerging in this area OWL-S, SWSF, WSDL-S, WSMO – submitted to W3C OASIS SEE technical committee formed (based on WSMX) W3C SAWSDL Working Group formed
More collaboration is needed between research community and the industrial community
The biggest challenge for the future: the movement to service-orientation and the semantic enablement of industrial scale infrastructures and applications
Dec 19, 2006 WI’2006 page 89 Proposed Challenge for Measuring Success of SWS
An industrial-scale application that has run successfully in a production environ ment for at least six months; the application must: Support some form of collaboration substantially involving at least five internal or external, but separate, organizations Consist of at least 1,000 entity types and 1,000 service types with at least 2 subscribers per service type. Have an average daily service transaction rate of 10 million service executions. Comply with at least three industrial standard ontologies and the majority of relevant SOA and Web service standards. Support at least 20 concurrent domain-specific problem solvers. Support problem solving in at least two distinct aspects (e.g., ordering and billing) of standard problem domain, e.g., manufacturing, financial services, health care, inventory, and tourism. This requires at least: • 10 industry-specific tools of which 5 must be standard industry practice • 10 industry-specific problem solving capabilities supported by the tools • Automatic workspace configuration: The application must automatically configure the workplace for each user with the tools and capabilities required by each user as defined in their profile which defines their roles, responsibilities, and user-specified or system-deduced configuration preferences.
Dec 19, 2006 WI’2006 page 90 Proposed Challenge for Measuring Success of SWS (cont’)
At least 50% of service discovery, selection, negotiation, adaptation, composition, invocation, and monitoring, as well as service interaction requiring data, protocol, and process mediation -- are fully automated, with no human intervention. At a minimum, this must dynamically and automatically address and resolve the conflicting non-functional business aspects that arise when a consumer discovers a service offered by a producer with whom there is no business agreement for the discovered service. Normal business: All normal business conventions must apply. There must be significant, e.g., legal and financial, consequences should there be a failure in any of the above automated service operations. All service offerings and requests are expressed in terms of service descriptions that contain: a functional and behavioural specification expressed in semantic terms consistent with one or more industrial standard ontologies, and a non-functional specification consisting of at least 5 non-functional terms such as price, promised service levels (SLAs), and performance characteristics.
Dec 19, 2006 WI’2006 page 91 Thank You!
Q &A
Dec 19, 2006 WI’2006 page 92 References:
Semantic Web Challenge, IEEE Intelligent Systems, May/June, 2004. J. Davis et al, Towards the Semantic Web: Ontology-driven Knowledge Management, John Wiley & Sons, LTD, 2002. J. Hjelm, Creating the Semantic Web with RDF, John Wiley & Sons, Inc., 2001. W3C Recommendation, OWL Web Ontology Language, Feb., 2004. http://www.w3.org/2001/sw/ Tim Berners-Lee, “Semantic Web Road map,” “http://www.w3.org/DesignIssues/ Semantic.html,” 1998. Asuncion Gomez-Perez, Mariano Fernandez-Lopez and Oscar Corcho, “Ontological Engineering,” Springer, 2004. Mills Davis, “Semantic Wave 2006,” A Project 10X Special Report, Semantic Technology Conference, 2006 Rob McCool, ‘Rethinking the Semantic Web, Part 1’, IEEE Internet Computing, November/December 2005, pp.86-87 Stefan Decker,‘ Semantic Web 2.0 Tutorial’, WWW 2006, May 2006 Jena URL: http://www.hpl.hp.com/semweb/jena-top.html Semantic Web Advanced Development for Europe (SWAD-E) http://www.w3.org/2001/sw/Europe/ Protégé2000 http://protege.stanford.edu / Conference: International Semantic Web Conference (ISWC)
Dec 19, 2006 WI’2006 page 93 References:
Preist, Chris, “A Conceptual Architecture for Semantic Web Services” International Semantic Web Conference, Hiroshima, Japan, 2004. B.Grosof, M. Gruninger, et al, editors. “Semantic Web Services Language Requirements”, White paper of the Semantic Web Services Language Committee. J. de Bruijn, C. Bussler, J. Domingue, D. Fensel, M. Hepp, M. Kifer, B. Konig-Ries, J. Kopecky, R. Lara, E. Oren, A. Polleres, J. Scicluna, M. Stollberg, “Web Service Modeling Ontology(WSMO)”, DERI Technical Report. W. Chen, M. Kifer, D.S. Warren, “HiLog : A Foundation for Higher-Order Logic Programming”, Journal of Logic Programming, 15:3, February 1993, 187-230. B.N. Grosof, I. Horrocks, R. Volz, and S. Decker, “Description Logic Programs:Combinning Logic Programs with Description Logic”, Proceeding of the 12th International Conference on the World Wide Web(WWW-2003). Also available at : http://ebusiness.mit.edu/bgrosof/#dip- www2003. David Martin, Mark Burstein, Grit Denker, Jerry Hobbs, Lalana Kagal, Ora Lassila, Drew McDermott, Sheila McIlraith, Massimo Paolucci, Bijan Parsia, Terry Payne, Marta Sabou, Evren Sirin, Monika Solanki, Naveen Srinivasan, Katia Sycara. OWL-S: Semantic Markup for Web Services. http://www.daml-s.org/owl-s/1.0/. D. Fensel, C. Bussler, and A. Maedche. Semantic web enabled web services. In Proceedings of the International Semantic Web Conference ~002, LNCS, Springer, pages 1-2, 2002. McIlraith, S.A., Son, T.C., & Zeng, H. (2002). Semantic Web services. IEEE Intelligent Systems, Special Issue on The Semantic Web, 16, 46–53. Paolucci, M., Kawamura, T., Payne, T., & Sycara, K. (2002, June 9-12). Semantic matching of Web services capabilities. Proc. of Int. Semantic Web Conference (ISWC’2002), Sardinia, Italy.
Dec 19, 2006 WI’2006 page 94 References:
Sycara, K., Widoff, S., Klusch, M., & Lu, J. (2002). LARKS: Dynamic matchmaking among heterogeneous software agents in cyberspace. Autonomous Agents and Multi-Agent Systems, 5, 173–203. Terziyan, V., & Kononenko, O. (2003). Semantic Web enabled Web services: State-of-art and industrial challenges. In M. Jeckle & L.-J. Zhang (Eds.), Web Services - ICWS-Europe 2003, Lecture Notes in Computer Science, 2853, 183-197. Springer-Verlag. Architecture Committee. Semantic web services architecture requirements. Working draft, Version 1.0, June 2004. available at http://www.daml.org/services/swsa/swsa- requirements.html, last accessed in April 2005. T. Sollazzo, S. Handschuh, S. Staab, and M. Frank. Semantic web service architecture - evolving web service standards toward the semantic web. In Proc. of the 15th International FLAIRS Conference, Pensacola, Florida, May 2002. Fensel, D. and Bussler, C.: The Web Service Modeling Framework WSMF. Electronic Commerce: Research and Applications, 1 (2002) 113-117 D. Martin et al., “Bringing Semantics to Web Services: The OWL-S Approach,” Proc. 1st Int’l Workshop Semantic Web Services and Web Process Composition (SWSWPC 04), 2004; http://www- 2.cs.cmu.edu/~softagents/papers/OWL-S-SWSWPC2004-final.pdf. A. Eberhart, “Ad-Hoc Invocation of Semantic Web Services,”Proc. IEEE Int’l Conf. Web Services, IEEE CS Press, 2004; www.aifb.uni-karlsruhe.de/WBS/aeb/pubs/icws2004.pdf. M.H. Burstein, “Dynamic Invocation of Semantic Web Services that Use Unfamiliar Ontologies,” IEEE Intelligent Systems, vol. 19, no. 4, 2004, pp. 67–73.
Dec 19, 2006 WI’2006 page 95 References:
D. Roman, U. Keller, H. Lausen, J. de Bruijn, R. Lara, M. Stollberg, A. Polleres, C. Feier, C. Bussler, and D. Fensel. Web Service Modeling Ontology. Applied Ontology, 1(1): 77-106, 2005. M. L. Brodie, C. Bussler, J. de Bruijn, T. Fahringer, D. Fensel, M. Hepp, H. Lausen, D. Roman, T. Strang, H. Werthner, and M. Zaremba. Semantically Enabled Service-Oriented Architectures: A Manifesto and a Paradigm Shift in Computer Science. Technical Report TR- 2005-12-26, 2005. Available from http://www.deri.at/fileadmin/documents/DERI-TR-2005-12-26.pdf. D. Roman, J. de Bruijn, A. Mocan, I. Toma, H. Lausen, J. Kopecky, D. Fensel, J. Domingue, S. Galizia, and L. Cabral. Semantic Web Services – Approaches and Perspectives. In P. Warren J. Davies and R. Studer, editors, Semantic Web Technologies: Trends and Research in Ontology-based Systems. John Wiley & Sons, 2006. The OWL Services Coalition. OWL-S 1.1. Available at http://www.daml.org/ services/owl- s/1.1/, 2004. Semantic Web Services Framework. SWSF Version 1.0. Available from http://www.daml.org/services/swsf/1.0/, 2005. The Web Service Modeling Ontology. Available from http://www.wsmo.org The Web Service Modeling Language. Available from http://www.wsmo.org/wsml The Web Service Modeling Execution Environment. Available from http://www.wsmx.org The Web Service Modeling Toolkit (WSMT). Available from sourceforge.net/projects/wsmt/ OASIS Semantic Execution Environment TC: www.oasis-open.org/committees/semantic-ex/ W3C Semantic Annotations for Web Services Description Language Working Group: http://www.w3.org/2002/ws/sawsdl/
Dec 19, 2006 WI’2006 page 96