<<

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 ƒ 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 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 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 encloses payload SOAP Header

encloses headers Headers Individual headers

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

envelope

57539 blocks body ACME Softener 35

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

abstract part messages operation and port type

concrete part binding

port and service

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 „ Correlation ƒ figuring out which instance an incoming message is meant for

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 !

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 „ 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 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 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

ƒ ƒ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 , John Wiley & Sons, LTD, 2002. „ J. Hjelm, Creating the Semantic Web with RDF, John Wiley & Sons, Inc., 2001. „ W3C Recommendation, OWL , 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, , 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). 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. 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