Wright State University CORE Scholar

The Ohio Center of Excellence in Knowledge- Kno.e.sis Publications Enabled Computing (Kno.e.sis)

2004

Service Oriented Architectures and Processes

Francisco Cubera

Kunal Verma

Amit P. Sheth Wright State University - Main Campus, [email protected]

Follow this and additional works at: https://corescholar.libraries.wright.edu/knoesis

Part of the Commons, Communication Technology and New Media Commons, and Information Systems Commons, OS and Networks Commons, and the Science and Technology Studies Commons

Repository Citation Cubera, F., Verma, K., & Sheth, A. P. (2004). Service Oriented Architectures and Semantic Web Processes. . https://corescholar.libraries.wright.edu/knoesis/62

This Tutorial is brought to you for free and open access by the The Ohio Center of Excellence in Knowledge-Enabled Computing (Kno.e.sis) at CORE Scholar. It has been accepted for inclusion in Kno.e.sis Publications by an authorized administrator of CORE Scholar. For more information, please contact [email protected]. Service Oriented Architectures and Semantic Web Processes

Jorge Cardoso1, Francisco Curbera2, Amit Sheth3

1University of Madeira (Portugal) 2IBM T.J. Watson Research Center (USA) 3 LSDIS Lab, University of Georgia and Semagix, Inc (USA) 2

Service Oriented Architectures and Web Services

Semantic Web Processes

2 3

Semantic Web Processes

Part

3 Service Oriented Architectures and Web Services 5 Overview

z IT for a new business model z Service Oriented Architectures (SOAs). z Web services as an XML based instantiation of SOA. z Protocols. z . z Discovery. z Composition. z Summary. 5 6 A New Business Environment

z Business outsource every non-essential function. z Concentrate on core function and values. z Vertically integrated enterprises are being broken apart z Replaced by heavily networked ones. z Applications that used to be internal are now provided by outside parties. z Corporate boundaries become fuzzier. z Does today’s IT models support the new business environment? z IT is too centered on IT! z When enterprises where islands this was sort of OK. z Today it is vital to adapt the computing model to the business interaction model.

6 7 Enterprises as IT Islands

Value added networks and proprietary protocols support most B2B interactions Ad-hoc bridges support interorganizational interactions. Most application interactions take place inside the enterprise.

Most applications belong to a single administrative domain. 7 8 Fully Networked Enterprises

Web based interactions become pervasive, based on standard protocols

The frequency of external interactions and their reach inside the Internal applications enterprise increases seamlessly reach out of dramatically. the enterprise.

Interacting applications naturally belong to multiple administrative domains. 8 Fully Networked Business 9 Interactions

The distinction between internal and external applications and providers looses importance

Many potential providers can be found for each required function.

9 10 IT for the New Enterprise: Business Components

z Need to raise the level of IT abstractions. z Concentrate on business function and requirements. z Need to encapsulate business function to make it available to partners: service components. z Different level granularity – coarse grained business services vs. fine grained objects. z Services must be defined by explicit contracts to allow independent party access. z Consequence is automatic binding. z Core concern of business is to integrate business processes and functions. z Business components are integrated creating service compositions. z New value is created through integration/composition. z New components are recursively created.

10 11 Business Interactions

z Business interact over standard protocols. z Businesses interact as peers: z Interactions are not client-server. z They are “conversational” in nature: asynchronous, stateful, bidirectional. z Business interactions are often multi-party interactions z Business process integration model is intrinsically multi-party. z Distributed multi-party interactions are a cornerstone of advanced enterprise integration: z Making distributed computing truly distributed.

11 12 What About The SOA Triangle?

z Standard protocols augment the pool of technically compatible services.

z Explicit contracts allow automatic discovery.

z Central registries build on registered contracts extend the reach of the enterprise both as provider and consumer of business services.

12 13 Traditional Middleware

z Distributed object systems z Based on client-server paradigm. z Heavily asymmetric Client interaction model. JNDI z Biased towards synchronous protocols. z Assigns public interfaces to Server network accessible objects. Name=A? A z Supports “name-oriented” object discovery. Client Client

13 14 Service Oriented Middleware

z Service interactions z Peer to peer by nature. z Symmetric interaction Service model. Registry D z Mixes synchronous and asynchronous protocols. Server z Assigns public contracts QoS=A/B? to network accessible Iface=I A etc… objects. Service Service B C z Supports capability based service discovery.

14 Coupling Between 15 Applications

z Interacting applications are bound by the set of assumptions each one Explicit contract makes about the other: z What message formats can be sent/received z Constraints on how content of these messages z Sequencing information. z Required QoS characteristics of the Implicit contract interaction.

15 16 Tight and loose binding

z Tight coupling leads to monolithic and brittle distributed applications. Explicit contract z Even trivial changes in one component lead to catastrophic breaks in function. z Small changes in one application require matching changes in partner applications. z Lack of componentization and explicit contracts. Broken implicit contract

16 17 A Plan for Building a SOA

z Requirement #1: Interaction protocols must be standardized. z Need to ensure the widest interoperability among unrelated institutions. z Requirement #2: Make all contracts explicit. z Explicit contracts define what may be changed in an application without breaking the interaction. z It is hard or impossible to make all assumptions explicit, but the more the better. z Requirement #2 : Standardize contract language(s) and formats. z Standard metadata is the basis of interoperable contract selection and execution. z Requirement #3: Allow for points of variability in the contract. z Dynamic adaptation on variability points. z Increases the number of possible interactions supported. z Requirement #4: Provide native composition models and runtimes.

17 Web Services As a SOA

SOA and Web Services Where Are We on Web 19 Services?

BPEL4WS Composition

WSDL, WS-Policy, UDDI, Inspection Description

Reliable Security Transactions Quality Messaging of Service

SOAP (Logical Messaging) Other protocols Interaction Other services Interaction XML, Encoding

19 Protocols

SOA and Web services 21 Protocols

z Provides a common set of universally supported interaction protocols.

z A basic messaging layer z SOAP z Easily extensible, allows QoS protocols to be defined on top.

z Some basic QoS protocols: z Basic requirements of business interactions. z Provide guarantees z Message Reliability, WS-ReliableMessaging z Coordination and transactional interactions. z Message integrity, confidentiality 21 22 SOAP (v1.1)

z A lightweight XML-based mechanism for exchanging structured information between peers in a distributed environment. z A transport-independent messaging model. z Transport bindings for HTTP z An encoding model for a type system, and an RPC convention: a link to “legacy middleware”. z Built around a standard message format: z Envelope z Headers z Body z Possibly attachments.

22 23 SOAP Messaging

Service Requestor Service Provider

Application Application 1 4 3 2

SOAP Middleware SOAP Middleware

Network Protocol Network Protocol Response

Request (service invocation)

23 24 SOAP over HTTP

POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI"

02/06/01 24 25 SOAP Headers

z Headers are managed and consumed by the Web services middleware infrastructure. z Headers support middleware protocols such as security, transactions, reliability, provisioning, etc. z Extensible nature allows message to endowed with be an extensible set of QoS protocols. z Header attributes z actor z Indicates the intended recipient of the header z http://schemas.xmlsoap.org/soap/actor/next z mustUnderstand z encodingStyle z Identifies serialization rules

25 26 SOAP Body and Attachments

z Body: belongs and is processed by the application level. z Is the only part that should be visible by the application logic. z Business modeling is the modeling deals with what goes in the body and how it is processed and exchanges. z A separation that shows up in WSDL, BPEL4WS as well. z Attachments: Not all data can be conveniently placed within an XML document z SOAP Messages with Attachments: How to carry a SOAP envelope within a MIME Multipart/Related structure z SOAP envelope must be the root part 26 z Type is text/ z Uses href attribute to reference parts 27 SOAP Status

z SOAP 1.2/XML Protocol is now a W3C Recommendation. http://www.w3.org/TR/soap/ z SOAP 1.1 is still (and will be for a while) what is being deployed. http://www.w3.org/TR/2000/NOTE-SOAP- 20000508/

27 28 WS-Security

for: Zoe z authentication, z confidentiality, „ Built on top of W-Security: … z Protocols for exchanging DJbchm5gK... security tokens and establishing trust relationships built on top. and identity propagation / mapping in multi-party communication 28 29 WS Protocols - Summary

z SOAP defines a standard messaging model in which transport, service middleware and business concerns are clearly separated. z Standardized QoS protocols ensure universal “on- the-wire” interoperability among businesses, applications. z QoS Protocols build on SOAP header extensibility to augment business exchanges with QoS properties.

29 Metadata

SOA and Web services 31 Metadata

z WSDL: Functional descriptions. z WS-Policy: QoS z Points of variability: dynamic infrastructure.

31 32 What is WSDL

z An extensible, platform independent XML language for “describing” services. z Provides functional description of Web services: z IDL description z Access protocol and deployment details z All of the functional information needed to programmatically access a service, contained within a machine-readable format z Does not include z QoS z Taxonomies z Business information z WSDL is a component definition language for Web service

component 32 33 WSDL Description Structure

… Abstract/ … Business Deployment

33 34 WSDL Parts At a Glance

part types

abstract interface portType

(concrete) (abstract) message(abstract) operation message

concrete implementation binding

(concrete) (concrete) message(concrete) operation message

made concrete by service concrete endpoint 34 contains one or more port 35 WSDL in SOA

1. Allow industries to define standardized service interfaces. ƒ Functional contract definition.

2. As an extended IDL: base for tools generating compliant client proxy and server stub ƒ Tool level interoperability.

3. Allowing advertisement of service descriptions, ƒ enables dynamic discovery of compatible services and dynamic binding to the actual service provider ƒ Works within registries and with discovery protocols.

4. As a normalized description of internally heterogeneous services 35 36 WSDL Status

z WSDL 1.1 was submitted to the W3C on February 2001. http://www.w3.org/TR/WSDL

z WSDL 2.0 is now being defined by the WS Descriptions working group at W3C. z Last draft (June 2002) available at http://www.w3.org/2002/ws/desc/

36 37 WS-PolicyFramework

z Complements functional description of services with QoS behaviors. z General framework for declaratively asserting how a service may be accessed: z Requirements z Constraints z Capabilities z WS-Policy provides a general framework in which arbitrary domain specific “assertions” are used. z Security z Transactions z Reliable messaging 37 38 Policy Expressions

001 002 003 004 005 wsse:Kerberosv5TGT 006 007 008 017 018 019 020 38 39 Policy Expressions

z Three generic policy operators allow combining assertions into groups, options: z z z z Usage attribute allows modification of standard meaning of assertion: z Usage=“Rejected” prevents requesters from following certain behaviors (“do not log messages!”). z Policies can be names so they can be referenced from other documents and reused. z Id attribute assigns a URI to the policy. 39 z QName naming is also allowed. 40 Attaching Policies

WSDL Document references Policy

wsdl:service

references describes

Policy Attachment identifies

40 41 WSDL and WS-Policy

z Abstract and deployment policies

What is PortType PortType required Abstract policy operation(s) operation(s)

Input Message Out Message Input Message Out Message

Abstract Interface

Binding Binding (e.g. SOAP/HTTP) (e.g. IIOP) Deployment QoS QoS policy What is Port Port supported

Service

41 42 WS-Policy and SOAP

z Policies define what QoS protocols are followed. z Are reflected on what wsse:X509v3 headers appear in the SOAP envelope. z QoS policies attached to a service of service endpoint represent protocols. z QoS protocols are

z WS-PolicyFramework z WS-PolicyAttachments

z To be submitted for standardization. 46 47 Service Metadata - Summary

z Explicit metadata is the central characteristic of SOA z Metadata must completely define the service contract, including both functional and non- functional aspects. z WSDL z Policies z Metadata can support service discovery as well as tooling. z Advanced runtimes can derive greater flexibility from contract variability points.

47 Discovery

SOA and Web services 49 Discovery Infrastructure

z Registries z Requesters search for providers in third party central directory. z Provider policies are retrieved from registry. z Requester interacts according to discovered policies. z Will not deal with here. z Metadata exchange z Requesters and providers can exchange policies directly, no third party involved. 49 50 WS-Metadata Exchange

z Goal: Allow providers to customize their policies to individual requesters and interactions. z Requesters send: z Requester’s policies can be 1 Identity,Identity, explicitly communicated. contextcontext z Requester’s execution context may be implicitly transmitted. Policy z Providers return set of 2 Policy policies to apply to oror fault fault interaction. z “Faults” should be thrown if any party finds it cannot deal with the other’s policies.

50 51 More on Metadata Exchange

z Takes place at the beginning of an interaction. z MDE model is a request-response interaction for retrieving custom policies. z Policies are set from then on. z Both parties’ middleware must be able to deal with dynamically discovered policies. z Start-time (re) configuration of component characteristics. z Component is reconfigured to deal with discovered policies that apply to the interaction. z In flight metadata exchange? z Any party can send unsolicited policies at any point in the interaction. z Applies in particular to long running transactions where changes in policies are not unlikely. z The scope of the new policies will need to be clearly defined.

51 Metadata and Channel 52 Configuration

52 53 Cooperative Middleware

z Joint work with Nirmal Mukhi and Ravi Konuru z Requesters and providers cooperate to optimize the interaction channel. z Through “cooperative” reconfiguration of their middleware. z Follows a dynamic exchange of policies and negotiation. z Distributes roles and function between the two endpoints to optimize overall interaction. z Optimal configuration is negotiated. z Must assume a trusted relationship between the parties.

53 Cooperative Specialization Use 54 cases

z Mobile clients and servers negotiate downloading of server function to clients. z Known approach, NOT metadata based. z Hardwired protocol essentially fixes the what function can be offloaded. z Metadata allows flexible reuse of a common protocol for negotiating different functions. z Example: z Schema validation offloading to client app. z Control of the application flow can be offloaded to allow disconnected operation. z Offloading takes place selectively based on client and server declared capabilities (policies).

54 55 Discovery - Summary

z Metadata-based discovery of services is a basic SOA capability. z The discovery of metadata itself, however, does not necessarily need to follow the registry pattern. z A dynamic middleware infrastructure is required to take full advantage of dynamic discovery (of both services and metadata).

55 Composition

SOA and Web services 57 Service Composition

z Service composition is the core sw. development task in SOA. z Applications are created by combining the basic building blocks provided by other services. z Service compositions may themselves become services, following a model of recursive service composition. z Composition assumes an interaction model between components: z P2P conversational interactions. z Interactions are naturally multi-party interactions. z Many composition models are possible. We know about two: z Process oriented composition – BPEL4WS z Distributed composition – WSFL Global models.

57 58 BPEL Concepts

z A BPEL process defines the structure of the interaction in terms of

z participant services (partners) z Characterize partners z Provide support partner conversation z business logic. z Data z Control flow z Error handling and recovery mechanism 58 Structure of a BPEL4WS 59 Process

... Partner ... information ... ... Business ... logic (activities)*

59 60 BPEL Partners

z Partners: z A composition defines a new service(s) which interacts with one or more partners. z Partners are characterized by a pair of abstract WSDL interfaces: z How the composition uses and is used by the partner. z Interactions between partners are thus bidirectional, conversational in nature. z May combine synchronous and asynchronous interactions z Stateful. z How is state maintained? z BPEL correlation mechanism uses business data to maintain the state of the interaction. z Other middleware mechanism are possible as well. 60 61 BPEL4WS Partners

Bidirectional, asynchronous, conversation

Multiple simultaneous Web service conversations Many partners partner Characterized by WSDL interfaces

?

61 62 What is Correlation?

z Correlation sets provide support for stateful interactions. z CSs represent the data that is used to maintain the state of the interaction (a “conversation”). z At the process end of the interaction, CSs allow incoming messages to reach the right process instance. z What is a correlation set? z A set of application fields that capture the state of the interaction (“correlating business data”). For example: a “purchase order number”, a “customer id”, etc. z Each set is initialized once

z Its values do not change in the course of the interaction. 62 63 Defining Correlation Sets

63 64 Business Logic in BPEL

z Workflow-like business logic is used to specify the sequencing of the interactions with partners. z Activities representing service interactions and data manipulation. z Control constructs that combine activities: links, sequences, conditionals, etc. z The asynchronous nature of interactions is supported by event handlers. z Failure conditions and recovery are supported through by fault handlers and compensatable scopes.

64 65 BPEL Basic Activities

+

65 66 BPEL Structured Activities

66 Nesting Structured Activities. 67 Example

Seq Flow Seq Seq ...

While

67 68 BPEL Handlers and Scopes

Scope A scope is a set of (basic or Fault Handler structured) activities.

Each scope can have two types of handlers associated: • Fault handlers. Many can be attached, for different fault types. Compensation • Compensation Handler handlers. A single compensation handler per scope.

68 69 How Handlers Work

z A compensation handler is used to reverse the work performed by an already completed scope z A compensation handler can only be invoked by the fault handler or compensation handler of its immediate enclosing scope

z A fault handler defines alternate execution paths when a fault occurs within the scope.

z Typical scenario: 1. Fault is thrown (retuned by invoke or explicitly by process) 2. Execution of scope is terminated 3. Appropriate fault handler located (with usual propagation ) 4. Main execution is compensated to “undo” business effects of unfinished work.

69 70 Global Models

z BPEL processes capture multi-party interactions from a single party perspective. z There isn’t a well accepted format for capturing these interactions. z Complex interactions are naturally multi-party. z Single party view does not capture the global sequence of interactions z Each party may not be involved in every relevant interaction. z Where are global models? z WSFL (a BPEL precursor) introduced global models. z WS-Choreography WG in W3C has been working on this

concept as well. 70 71 Global Models, an Example

1-send notice Customer Cable Co. 2-pay in full

Cable Co. Cable Co.

1-send notice 1-send notice

4-pay in full

Customer 5-stop collection 2-collect from Customer 5-notify&pay 2-collect from & pay customer customer 6-notify: done 6-pay in full

3-send 3-send Collections ultimatum Collections ultimatum Agency Agency 71 72 Composition - Summary

z Business integration becomes service composition in SOA. z An interaction model needs to be assumed for composition, and supported by the corresponding composition models. z BPEL composition natively supports a multi-party, conversational model. z To support the full array of distributed compositions needs a global model formalism in addition to process centric compositions (BPEL).

72 Summary

SOA and Web services Web Services as an Instantiation 74 of SOA

z SOA is more than “publish/find/bind”. z Implies a completely business re-orientation of computing. z SOA builds on: z Standard interaction protocols. z A component model, as defined by service contracts. z A conversational interaction model. z A set of service composition model. z Web services provide an XML based instantiation of SOA.

74 Service Oriented Architectures 75 and Web Services

End

75 76

Part

76 77 Semantic Web Processes Overview

z Introduction z Semantic Web Processes Life cycle z Web services Semantic Annotation z z Semantic Process Composition z Web service QoS z Ontologies, Ontology Languages and Editors z Projects/approaches: OWL-S, METEOR-S z Conclusions

77 78 Our Focus (1)

z Supporting Web Processes on multi-enterprise and Web scale require addressing heterogeneity/integration, scalability, dynamic change and performance challenges

z Semantics is seen as the key enabler to address these challenges; Semantic Web Processes build upon Web Services and Semantic Web technologies

z This part of tutorial is about adding semantics to Web Services, and exploiting them in Web Process Lifecycle (Specification, Discovery, Composition, Execution)

z Functional perspective takes form of process composition involving Web Service Discovery, handling semantic heterogeneity [modeling data i/o, state (pre/post condition) and function]

z Operational perspective takes form of the research on QoS Specification for Web Services and Processes [modeling QoS and execution behavior]

78 79 Our Focus (2)

Semantics Web Processes

Web Process Composition Execution Web Process QoS

Web Services

Web Service Annotation Web Service Discovery Web Service QoS

79 80 The Basics

WhatWhat areare WebWeb Services,Services, WebWeb Processes,Processes, andand Semantics?Semantics?

80 81 Web Services: Definition Web Services

“Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. … Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.”

IBM web service tutorial 81 82 Why Web Services? Web Services

UDDI SOAP WebWeb services services Jini Enterprise Java Beans WSDL RMI (Remote Method Invocation) Microsoft DCOM CORBA (Common Object Request Broker Architecture)

Open Software Foundation DCE (Distributed Computing Environment)

Sun ONC/RPC (Open Network Computing)

IP,IP, UDP, UDP, TCP TCP 82 83 Web Process An Example Web Processes

Organization B Organization A + Organization C

t1 + t t t5 t6 7 8 Setup Test Quality Get Sequences Sequence Process t2 t3 t4 Processing Report

Prepare Prepare Clones Assembly Sample and Sequence

83 84 What are Web Processes (1)? Web Processes

z Web Processes are next generation workflow technology to facilitate the interaction of organizations with markets, competitors, suppliers, customers etc. supporting enterprise-level and core business activities

z encompass the ideas of both intra and inter organizational workflow. z created from the composition of Web services z can use BPEL4WS to represent composition, but how to get there?

84 85 What are Web Processes ? (2) Web Processes

z Web processes describe how Web services are connected to create reliable and dependable business solutions

z Web processes allow businesses to describe sophisticated processes that can both consume and provide Web services

z The role of Web processes within the enterprise is to simplify the integration of business and application processes across technological and corporate domains

85 86 Web Process An Example Web Processes

z Graphical example of a web process

ISBN, Email Id., ID

isbn price price, id

86 The BarnesBookPurchase process 87 Web Processes Composition Web Processes

WS WS1 9

WS2 WS3 Web Process Design

WS4 WS5

WS7 WS 8 WS6

Web services

87 88 Globalization of Processes

B2B E-Services

Workflows Distributed Web Processes Workflows

Enterprise Inter-Enterprise Global 88

Processes driving the Networked Economy 89 BIG Challenges

z Heterogeneity and Autonomy z Syntactic, semantic and pragmatic z Complex rules/regulations related to B2B and e- commerce interactions z Solution: Machine processable descriptions

z Dynamic nature of business interactions z Demands: Efficient Discovery, Composition, etc.

z Scalability (Enterprises → Web) z Needs: Automated service discovery/selection and composition Proposition: Semantics is the most important enabler to address these challenges. 89 90 Semantics, Ontologies, Semantic Web Processes

Temporal-Entity

Time-Point{absolute_time} Time Domain

{year, month, day} Date Time {hour, minute, second}

Calendar-Date Event {dayOftheWeek, monthOftheYear} Scientific-Event {millisecond} z When Web services and other descriptions that define a Web process are semantically described, we may call such process as Semantic Web Processes. z An ontology provides semantic grounding. It includes a vocabulary of terms, and some specification of their meaning. z The goal is to create an agreed-upon vocabulary and semantic structure for exchanging information about that domain. 90 91 Broad Scope of Semantic (Web) Technology Formal Degree ofAgreement Current Semantic Web Focus

Se Semi-Formal ma Lots of ntic Proc We Useful es b ses Semantic Technology (interoperability, t Integration) ou Ab how agreements are reached,

t Other dimensions: …

Informal n e Qos em re Execution Ag Scope of Agreement Function Task/ Domain Gen. Common Data/ App Industry Purpose, Sense Info. Cf: Guarino,91 Gruber Broad Based Knowledge 92 Representation and Ontologies TAMBIS KEGG BioPAX Thesauri “narrower Disjointness, Frames term” Formal Inverse, (properties) relation is-a part of… Catalog/ID DB SchemaUMLS RDF RDFS DAML CYC Wordnet OO OWL IEEE SUO Terms/ Informal Formal Value General glossary is-a instance Restriction Logical constraints GO GlycO EcoCyc Simple Expressive Taxonomies Ontologies

92 Ontology Dimensions After McGuinness and Finin 93

z Approximately 95 000 different word forms z English nouns, verbs, adjectives and adverbs are organized into synonym sets, each representing one underlying lexical concept. z Different relations link the synonym sets. z Create a lexical thesaurus (not a dictionary) which models the lexical organization used by humans. z http://www.cogsci.princeton.edu/~wn/

93 94 Using WordNet

4 senses of eagle

Sense 1 eagle, bird of Jove -- (any of various large keen-sighted diurnal birds of prey noted for their broad wings and strong soaring flight) => bird of prey, raptor, raptorial bird -- (any of numerous carnivorous birds that hunt and kill other animals) => bird -- (warm-blooded egg-laying vertebrates characterized by feathers and forelimbs modified as wings) => vertebrate, craniate -- (animals having a bony or cartilaginous skeleton with a segmented spinal column and a large brain enclosed in a skull or cranium) => chordate -- (any animal of the phylum Chordata having a notochord or spinal column) => animal, animate being, beast, brute, creature, fauna -- (a living organism characterized by voluntary movement) => organism, being -- (a living thing that has (or can develop) the ability to act or function independently) => living thing, animate thing -- (a living (or once living) entity) => object, physical object -- (a tangible and visible entity; an entity that can cast a shadow; "it was full of rackets, balls and other objects") => entity, physical thing -- (that which is perceived or known or inferred to have its own physical existence (living or nonliving))

94 95 Using WordNet

Sense 2 eagle -- ((in golf) a score of two strokes under par on a golf hole) => score -- (a number that expresses the accomplishment of a team or an individual in a game or contest; "the score was 7 to 0") => number -- (a concept of quantity derived from zero and units; "every number has a unique position in the sequence") => definite quantity -- (a specific measure of amount) => measure, quantity, amount, quantum -- (how much there is of something that you can measure) => abstraction -- (a general concept formed by extracting common features from specific examples)

95 Semantic Web Process Life Cycle 97 Semantics for Web Processes

z Data/Information Semantics z What: Formal definition of data in input and output messages of a web service z Why: for discovery and interoperability z How: by annotating input/output data of web services using ontologies

z Functional/Operational Semantics z Formally representing capabilities of web service z for discovery and composition of Web Services z by annotating operations of Web Services as well as provide preconditions and effects; Annotating TPA/SLA (future work)

z Execution Semantics z Formally representing the execution or flow of a services in a process or operations in a service z for analysis (verification), validation (simulation) and execution (exception handling) of the process models z using State Machines, Petri nets, activity diagrams etc.

z QoS Semantics z Formally describing operational metrics of a web service/process z To select the most suitable service to carry out an activity in a process z using QoS model [Cardoso and Sheth, 2002] for web services 97 98 Data and Functional Ontology an example based on Rosettanet

Functions

Data

98 99

QoS Ontology in METEOR-S

99 100 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation WSDL, WSEL BPWS4J, Commercial BPEL OWL-S Execution Engines, Data WSDL-S Intalio n3, HP / Information eFlow METEOR-S Semantics (MWSAF)

BPEL, BPML, UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (MWSCF) (Choreography?) / Discovery (MWSDI)

100 101 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation BPWS4J, WSDL, Commercial BPEL WSEL Execution Engines, Data Intalio n3, HP / Information OWL-S eFlow Semantics WSDL-S METEOR- S (MWSAF) BPEL, BPML, UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (P2P (SCET,SPTB) (Choreography?) / Discovery model of registries)

101 102 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation WSDL, WSEL BPWS4J, Commercial BPEL OWL-S Execution Engines, WSDL-S Intalio n3, HP eFlow

Functional / Operational BPEL, BPML, Semantics UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (P2P (SCET,SPTB) (Choreography?) / Discovery model of registries)

102 103 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation WSDL, WSEL BPWS4J, Commercial BPEL OWL-S Execution Engines, WSDL-S Intalio n3, HP eFlow

QoS Semantics BPEL, BPML, UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (P2P (SCET,SPTB) (Choreography?) / Discovery model of registries)

103 104 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation WSDL, WSEL BPWS4J, Commercial BPEL OWL-S Execution Engines, WSDL-S Intalio n3, HP Execution eFlow Semantics

BPEL, BPML, UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (P2P (SCET,SPTB) (Choreography?) / Discovery model of registries)

104 105 Semantics for Web Process Life- Cycle

Development Execution / Description (Orchestration?) / Annotation WSDL, WSEL BPWS4J, Commercial BPEL OWL-S Execution Engines, Data Execution WSDL-S Intalio n3, HP / Information Semantics eFlow Semantics Semantics Required for Web Processes Functional QoS / Operational Semantics BPEL, BPML, Semantics UDDI WSCI, WSCL, WSIL, OWL-S OWL-S, METEOR-S Composition Publication METEOR-S (P2P (SCET, SPTB) (Choreography?) / Discovery model of registries)

105 106 Semantics at Different Layers

Description Layer: Why: Flow • Unambiguously understand the functionality of the services and the semantics of the operational data

Discovery How: • Using Ontologies to semantically annotate WSDL Publication constructs (conforming to extensibility allowed in WSDL specification version 1.2/2.0) – WSDL-S : Incorporate all types of semantics in the service Description description

Messaging Present scenario: • WSDL descriptions are mainly syntactic (provides Network operational information and not functional information) • Semantic matchmaking is not possible

106 107 WSDL-S

Function from Rosetta Net Ontology

Data from

  Rosetta Net  Ontology   107    108 Semantics at Different Layers (contd..)

Publication and Discovery Layers: Why: • Enable scalable, efficient and dynamic publication and Flow discovery (machine processable / automation)

Discovery How: • Use of ontology to categorize registries based on domains Publication and characterize them by maintaining the 1. properties of each registry 2. relationships between the registries Description • Capturing the WSDL annotations in UDDI

Messaging Present scenario: Network • Suitable for simple searches ( like services offered by a provider, services that implement an interface, services that have a common technical fingerprint etc.) • Categories are too broad • Automated service discovery (based on functionality) and selecting the best suited service is not possible 108 109 MWSDI

Registry Federation belongsTo Federation belongsTo Registry supports Ontology Domain

consistsOf subDomainOf

109 110 Semantics at Different Layers (contd..) Flow Layer: Why: •Design(composition), analysis (verification), validation (simulation) and execution (exception handling) of the Flow process models • To employ mediator architectures for automated composition, control flow and data flow based on Discovery requirements • To employ user interface to capture template requirements Publication and generate template based on that How: •Using Description – Functionality/preconditions/effects of the participating services Messaging – Knowledge of conversation patterns supported by the service – Formal mathematical models like process algebra, Network concurrency formalisms like State Machines, Petri nets etc. – Simulation techniques Present Scenario: • Composition of Web services is static.

• Dynamic service discovery, run-time binding, analysis and110 simulation are not supported directly 111 Using Colored Petri nets

111 112

Semantics in WS stack and METEOR-S

MWSCF: Semantic Web Process Composition Flow Framework Discovery MWSDI: Scalable Infrastructure of Registries for Semantic publication and discovery of Web Publication Services

Description MWSDI: Semantic Annotation of WSDL (WSDL-S) Messaging Network

112 113

Annotation of Web Services

Web Process Composition Semantic Web Service Web Discovery Web Processes Quality of Service

113 Web Service Semantic Annotation 115 Web Service

WSDL WSDL

SOAP

XML z WSDL stands for Web Services Description Language z WSDL is an XML document z WSDL is used to describe Web services z WSDL is also used to locate Web services

115 116 Web Service

WSDL WSDL

SOAP

XML

Abstract Description

Concrete Description

116

From S. Chandrasekaran’s Talk 117 Semantic Annotation of Web Services Annotation of Web Services

z To enhance the discovery, composition, and orchestration of Web services, it is necessary to increase the description of their interfaces.

z One solution is to annotate WSDL interfaces with semantic metadata based on relevant ontologies.

An ontology is a specification of a representational vocabulary for a shared domain of discourse.

117 118 How to Annotate ?

z Map Web service’s input & output data as well as functional description using relevant data and function/operation ontologies, respectively

z How ? z Borrow from schema matching z Semantic disambiguation between terms in XML messages represented in WSDL and concepts in ontology

118 Semantic Annotation of Web Services 119 Web Services Interfaces

z A Web service (WS) invocation specifies: z The number of input parameters that must be supplied for a proper WS realization and z The number of outputs parameters to hold and transfer the results of the WS realization to other tasks. z A function to invoke

Inputs Outputs Receipt Client Itinerary Local Tourism

function_foo(x..y)

119 120 Types of Annotation

Functional Data QoS Semantics Semantics Semantics

QoS Security Inputs Outputs Price Time Receipt Duration Client Cost Itinerary Fidelity Local Tourism Reliability Repudiation Availability function_foo(x..y)

120 Adding Semantics to Web 121 Services

WSDL Ontologies Data = Time - Ontology Semantics Temporal-Entity XML Schema Web Service Data type hierarchy Time Time Time-Point {absolute_time} Interfaces Interval Domain

{year, month, day} Date Time {hour, minute, second} Inputs Outputs

Date Calendar-Date Event Name {dayOftheWeek, monthOftheYear} Duration Year City = Local ontology Scientific-Event {millisecond} Coordinates {x, y}

Get Conference Area {name} Information QoS City Forrest QoSQoS OntologyOntology Functional Semantics Semantics Quality WSDL Information Function Min Conference Information Functions 121 Get Information Get Date 122 OWL-S

z OWL-S z Formerly OWL-S z Set of markup language constructs for describing the properties and capabilities of their Web services in unambiguous, computer-intepretable form

122 123 OWL-S Introduction OWL-S

z OWL-S z DAML (DARPA Agent Markup Language) z OWL-S: Upper ontology of web services

z OWL-S provides support for the following elements: z Process description. z Advertisement and discovery of services. z Selection, composition & interoperation. z Invocation. z Execution and monitoring.

123 OWL-S project home page 124 OWL-S Ontologies

z OWL-S defines ontologies for the construction of service models: z Service Profiles z Process Models z Service Grounding provides ResourceResource ServiceService

presents supports described by

ServiceService ServiceProfileServiceProfile ServiceModelServiceModel GroundingGrounding

what the how the how to access service does service works the service 124 125 OWL-S Service Profile

The Service Profile provides details about a service.

Inputs.Inputs.InputsInputs that that Outputs.Outputs.OutputsOutputs expected expected after after shouldshould be be provided provided to to thethe interaction interaction with with the the service. service. invokeinvoke the the service. service. Receipt Client Itinerary Local Tourism

Preconditions. Set of Web Service Effects. Set of statements that conditions that should hold prior should hold true if the service is to the service being invoked. invoked successfully.

125 126 Service Profile An example of Inputs and Outputs

... ...

Addr Inputs Outputs When Addr ... ,,, ... ... When < output > ...

126 Semantic Web Service Discovery 128 UDDI Brokering Discovery

UDDI

z UDDI stands for Universal Description, Discovery and Integration

z UDDI serves as a “Business and services” registry and directory and are essential for dynamic usage of Web services

z A UDDI registry is similar to a CORBA trader, or it can be thought of as a DNS for business applications.

z Is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the .

128 129 How UDDI Works ?

4. 1. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services Marketplaces, search engines, and business apps query the registry to 2. discover services at other UDDI Business Registry companies

Business Service Type 5. Businesses Registrations Registrations populate the registry UBR assigns a programmatically unique with 3. identifier to each service and business Business uses this descriptions of registration data to facilitate the services easier integration they support with each other over the Web 129 Source : http://www.uddi.org/pubs/UDDI_Overview_Presentation.ppt 130 UDDI and Semantics

Marketplaces, search engines, and business apps query

Semantic UDDI Registry entry Functional Data QoS Semantics Semantics Semantics

Internet WS9 InputsQoS Outputs Security WS Price 4 Receipt Time Duration Client Cost Itinerary Local Fidelity Tourism Reliability Repudiation

Availability WS8:function_foo(x..y) WS 130 2 WS7 131 Semantic Discovery of Web Services Web Service Discovery

Web Services must be located (Discovery) that might contain the desired Brokering functionality, operational Discovery

metrics, and interfaces UDDI needed to carry out the realization of a given task.

131 Discovery 132 New Requirements Web Service Discovery Before Now

QoS B3 A1 B3 A1 B3 A1 B3 A1 A1 A1 A1 Tasks B8 A4 A1 A4 A2 A1 A4 A2 A4 A1 A2 A4 A2 A1 A2 A1 Web ServicesB3A1 A1 B3 A1 A4 A2 B3 B3 A5A1 A1 A1 B3A1 A1 A1 A1 A4 A1 A4A1 B3A1 A4 A1A1 A2 A1 A4A1 B3 A1 A1 A1 A1 A4 A1 A2 A1 A4 A6 A4 B3 A4A1 A2 B3 A1 A2 A4 A2 A2 A1 A4 A2 A1 A1 A1 A1A2 A1 A1A1A1 A1 A2 A1B3 A4 A2 A1 A1 A2 A4A4 A2A2 A1 A4 A2A4 A1B3A4 A1A1A2 A1A1 A4 A2 A4 B3 A4A1A2 A1A4 A1 A1A1 A1 A1 A4 A2 A1 A1A1 B3 A2 B3 B3A2 A1 A4A1A1A1 A4 A2 B3 A4 A1A1 A1A1A1 A1 A4A4 A2A2 A1 B3 A1B3 B3 A1 A4 A1 A1 A1 A1 A4A2 A2A4A1 A1 A1A2 A1A1 A4A1 A4A1A4A1A1A1A1A2A2 A4 B3 A1 B3 A1 B3 A1 B3 A1A1 QoS

Workflow Web Process A N1 E N2 F A N1 E N2 F

C D C D 132 133 State of the art in discovery

UDDI Business Registry Results

Search

Keyword and attribute-based Provides non-semantic match Search retrieves lot of search services (irrelevant Selection results included)

Which service to select ? How to select? 133 134 Present Discovery Mechanism Keyword and attribute-based search Web Service Discovery z UDDI :Keyword and attribute-based search z Example: “Quote” z Microsoft UBR returned 12 services z Human reading of description (Natural Language) help me understand: z 6 Entries are to get Famous Quotes z 1 Entry for personal auto and homeowners quoting z 1 Entry for multiple supplier quotes on all building materials

z Categorization suggested for UDDI is useful but inadequate (what does the WS do?) : z 1 Entry for Automobile Manufacturing z 1 Entry for Insurance agents, brokers, & service

z Alternatively read and try to understand WSDL z 1 Entry related to security details (Human Understanding) z 1 Test Web service for Quotes (which quote?) 134 Present Discovery Mechanism 135 Search for services to book an air ticket (using categories)*

z unspsc-org: unspsc:3-1

z Travel, Food, Lodging and Entertainment Services

z Travel facilitation ƒ Travel agents ƒ Travel agencies

z Services: 3 records found. z AirFares Returns air fares from netviagens.com travel agent z Hotel reservations Reservations for hotels in Asia, Australia and New Zealand z Your Vacation Specialists Web enabled vacation information

z Providers: 2 records found.

135 * Search carried out in one of the Universal Business Registries Present Discovery Mechanism 136 Search for services to book an air ticket (using Keywords)*

z air ticket z 1 record with name air tickets booking

z airticket, ticketbooking, airtravel, air travel, travel agent, airticketbooking, air ticket booking, travel agency, travelagency z 0 records were returned

z travelagent z 1 record with name travelagent test z 4 services: BookFlight, cancelFlightBooking etc. z Descriptions say that both these services are “XML based Web services” z No URL for WSDL

z Travel z 15 records. Purpose/functionality understood from descriptions z 2 services : TravelBooks z 4 services : TravelInformation z 2 services : Reservation and cancallation of travel tickets z 1 service : Emergency Services for travellers z 1 service : Travel documentation and itinerary 136 z 5 services : Description is ambiguous/not present* Search carried out in one of the Universal Business Registries 137 The use of semantics Benefits Web Service Discovery z Search engines can better “understand” the contents of a particular page z More accurate searches z Additional information aids precision z Makes it possible to automate searches because less manual “weeding” is needed to process the search results z Facilitates the integration of several Web services

137 138 Semantic Discovery: Overview

z Annotation and Publication z WSDL file is annotated using ontologies and the annotations are captured in UDDI

z Discovery z Requirements are captured as templates that are constructed using ontologies and is done against UDDI entries z Functionality of the template, its inputs, outputs, preconditions and effects are represented using ontologies

z Use of ontologies z brings service provider and service requestor to a common conceptual space z helps in semantic matching of requirements and specifications 138 139 Semantic Publication and Discovery

Use of ontologies enables shared understanding between the service provider and service requestor

For simplicity of depicting, the ontology is shown with classes for both operation and data 139 Adding Semantics to Web Services Standards 140 Discovery The Match Function z The Web service discovery and integration process is carried out by a key operation:

z The match function. z The matching step is dedicated to finding correspondences between a service template (ST, i.e., a query) and a service object (SO).

140 141

The Match Function

SO 0.76 SO2 SO 0.14 SOSO1 2 SO3 0.31 0.68 1 3 Match Function 0.98 0.43 0.34 0.74 0.99 Conference Registry Hotel Reservation Service f(ST, SO ) f(ST, SO ) f(ST, SO ) Service 1 ?2 3

DateDate DurationDuration CityCity Conference

Get ItineraryItinerary Conference ST B End Start A Information Travel Hotel User Name Reservation Reservation Employee ID User Name AddressAddress Get User Information Web Process 141 142 Discovery in Semantic Web Using Semantics Web Service Discovery z Functionality: What capabilities the distributor expects from the service (Functional semantics) (Functional semantics) z Inputs: What the distributor can give (Data semantics) to the to the Manufacturer’s service (QoS semantics) (Data semantics) (Syntactic description) z Outputs: What the distributor expects as outputs from the service (Data semantics) z Description: Natural z QoS: Quality of Service the language distributor expects from the service description of the (QoS semantics) service functionality (Syntactic description) 142 143 Syntactic, QoS, and Semantic (Functional & Data) Similarity Web Service Discovery Similarity ? SyntacticSyntactic Name, A Name, Name, X Name, Similarity ω Description, Description, Similarity ω Description, B Description, Y …. … ω1SynNS(ST.sn, SO.sn) +ω2SynDS(ST.sd, SO.sd) … C …. SynSimilarty(ST, SO) = ∈[0..1], 1 + 2 and ω ,ω ∈[0..1] Web Service Web Service 1 2 Similarity ? QoS QoS QoSQoS A Similarity X OpSimilarity(ST, SO) = Similarity Buy B Purchase Buy Y Purchase 3 QoSdimD(ST, SO,time) * QoSdimD(ST, SO,cost) * QoSdimD(ST, SO,reliability) C

Web Service Web Service FunctionalFunctional & & DataData Similarity ? Calendar-Date Similarity Event Similarity A1 … A2 A1 … A2 Coordinates{x, y} … Information Function Area {name} 143 Web Service Web Service Forrest Get Information Get Date 144 The Match Function Semantic Similarity z Purely syntactical methods that treat terms in isolation from their contexts.

z It is insufficient since they deal with syntactic but not with semantic correspondences

z Users may express the same concept in different ways. z Therefore, we rely on semantic information to evaluate the similarity of concepts that define ST and SO interfaces. z This evaluation will be used to calculate their degree of integration.

144 145 The Match Function Semantic Similarity z When comparing concepts two main cases can occur:

¾ The concepts are defined with the same Ontology (Ω(O) = Ω(I)) ¾ The concepts are defined in different Ontologies (Ω(O) ≠Ω(I))

145 146 The Match Function Semantic Similarity (Ω(O) = Ω(I)) z When comparing concepts defined with the same ontology four distinct scenarios need to be considered: z a) the concepts are the same (O=I) z b) the concept I subsumes concept O (O>I) z c) the concept O subsumes concept I (O

146 147 The Match Function Semantic Similarity (Ω(O) = Ω(I))

Similarity ? Calendar-Date Event … A2 A1A1 … A2 …

Web Service Web Service

ST1,2 (output) SO1,2,3,4 (input)

Time ontology b) Time ontology

Temporal-Entity Temporal-Entity

2 Time Time Time-Point {absolute_time} a) Time Time Time-Point {absolute_time} Interval Domain Interval Domain 1 1 {year, month, day} Date Time {hour, minute, second} {year, month, day} Date Time {hour, minute, second}

2 3 4 Calendar-Date Event Calendar-Date Event {dayOftheWeek, monthOftheYear} c) {dayOftheWeek, monthOftheYear}

Scientific-Event {millisecond} Scientific-Event {millisecond}

d)

147 148 The Match Function Semantic Similarity (Ω(O) = Ω(I)) New Date Date … Similarity ? A? A1A1 … A? … Web Service Web Service

Temporal-Entity 100100 % % Temporal-Entity

2 Time Time-Point Time Time-Point Domain { absolute_time} Domain { absolute_time} 1 1 {year, month, day} Date Time {year, month, day} Date Time {hour, minute, second} {hour, minute, second} 2 3 4 Calendar-Date Event Calendar-Date Event { dayOftheWeek, monthOftheYear} dayOftheWeek, monthOftheYear}

Scientific-Event Scientific-Event {millisecond} {millisecond}

 1, O = I   1, O > I SemS'(O, I) = | p(O) |  , O < I  | p(I) | 148  Similarity'(O, I), O ≠ I 149 The Match Function Semantic Similarity (Ω(O) = Ω(I)) New CalendarDate Date … Similarity ? A? A1A1 … A? … Web Service Web Service

Temporal-Entity 100100 % % Temporal-Entity

2 Time Time-Point Time Time-Point Domain { absolute_time} Domain { absolute_time} 1 1 {year, month, day} Date Time {year, month, day} Date Time {hour, minute, second} {hour, minute, second} 2 3 4 Calendar-Date Event Calendar-Date Event { dayOftheWeek, monthOftheYear} dayOftheWeek, monthOftheYear}

Scientific-Event Scientific-Event {millisecond} {millisecond}

 1, O = I   1, O > I SemS'(O, I) = | p(O) |  , O < I  | p(I) | 149  Similarity'(O, I), O ≠ I 150 The Match Function Semantic Similarity (Ω(O) = Ω(I)) New Date CalendarDate … Similarity ? A? A1A1 … A? … Web Service Web Service

Temporal-Entity 4/6=0,67=>4/6=0,67=> 67% 67% Temporal-Entity

2 Time Time-Point Time Time-Point Domain { absolute_time} Domain { absolute_time} 1 1 {year, month, day} Date Time {year, month, day} Date Time {hour, minute, second} {hour, minute, second} 2 3 4 Calendar-Date Event Calendar-Date Event { dayOftheWeek, monthOftheYear} dayOftheWeek, monthOftheYear}

Scientific-Event Scientific-Event {millisecond} {millisecond}

 1, O = I   1, O > I SemS'(O, I) = | p(O) |  , O < I  | p(I) | 150  Similarity'(O, I), O ≠ I 151 The Match Function Semantic Similarity (Ω(O) = Ω(I)) New Date Event … Similarity ? A? A1A1 … A? … Web Service Web Service

4/9*4/7=0.5044/9*4/7=0.504 => => 50% 50% Temporal-Entity Temporal-Entity

2 Time Time-Point Time Time-Point Domain { absolute_time} Domain { absolute_time} 1 1 {year, month, day} Date Time {year, month, day} Date Time {hour, minute, second} {hour, minute, second} 2 3 4 Calendar-Date Event Calendar-Date Event { dayOftheWeek, monthOftheYear} dayOftheWeek, monthOftheYear}

Scientific-Event Scientific-Event {millisecond} {millisecond}

 1, O = I   1, O > I SemS'(O, I) = | p(O) |  , O < I  | p(I) | | p(O) ∩ p(I) | | p(O) ∩151p(I) |  similarity'(O, I) = * Similarity'(O, I), O ≠ I | p(O) ∪ p(I) | | p(I) | 152 The Match Function Semantic Similarity (Ω(O) ≠Ω(I))

z When comparing concepts defined with different ontologies three distinct scenarios can occur:

z The ontological properties involved are associated with a primitive data type

z The properties are associated with concept classes, and

z One property is associated with a primitive data type, while the other is associated with a concept class.

152 153 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Date … Similarity ? A? A1A1 … A? … Web Service Web Service

2.58

DateTime Temporal-Entity {TheDate, TheTime}

5 Time Time Time-Point {absolute_time} TheTime TheDate Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 1 {year, month, day} Date Time {hour, minute, second}

2 3 Calendar-Date Event {dayOftheWeek, monthOftheYear} 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 153   f (o,i), otherwise 154 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Calendar-Date … Similarity ? A? A1A1 … A? … Web Service Web Service

2.25

DateTime Temporal-Entity {TheDate, TheTime}

5 Time Time Time-Point {absolute_time} TheTime TheDate Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 1 {year, month, day} Date Time {hour, minute, second}

2 3 Calendar-Date Event {dayOftheWeek, monthOftheYear} 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 154   f (o,i), otherwise 155 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Event … Similarity ? A? A1A1 … A? … Web Service Web Service

2.14

DateTime Temporal-Entity {TheDate, TheTime}

5 Time Time Time-Point {absolute_time} TheTime TheDate Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 1 {year, month, day} Date Time {hour, minute, second}

2 3 Calendar-Date Event {dayOftheWeek, monthOftheYear} 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 155   f (o,i), otherwise 156 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Scientific-Event … Similarity ? A? A1A1 … A? … Web Service Web Service

2.05

DateTime Temporal-Entity {TheDate, TheTime}

5 Time Time Time-Point {absolute_time} TheTime TheDate Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 1 {year, month, day} Date Time {hour, minute, second}

2 3 Calendar-Date Event {dayOftheWeek, monthOftheYear} 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 156   f (o,i), otherwise 157 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Time Point … Similarity ? A? A1A1 … A? … Web Service Web Service

0.00

DateTime Temporal-Entity {TheDate, TheTime}

5 Time Time Time-Point {absolute_time} TheTime TheDate Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 1 {year, month, day} Date Time {hour, minute, second}

2 3 Calendar-Date Event {dayOftheWeek, monthOftheYear} 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 157   f (o,i), otherwise 158 The Match Function Semantic Similarity (Ω(O) <> Ω(I)) New TheDate Event … Similarity ? A? A1A1 … A? … Web Service Web Service

2.582.58

DateTime Temporal-Entity {TheDate, TheTime} 2.252.25 5 Time Time Time-Point {absolute_time} TheTime TheDate 2.14Interval Domain {gHour, gMinute, gSecond} {gYear, gMonth, gDay} 2.14 1 {year, month, day} Date Time {hour, minute, second}

2.052.05 2 3 Calendar-Date Event { 0.00 {dayOftheWeek, monthOftheYear} 0.00 4 Scientific-Event {millisecond}

S(o,i) = 3 SemDS(d(o),d(i))* SynS(n(o),n(i))* SemRS(r(o),r(i)), o and i are primitive types   SemDS(o,i), o and i are concept classes 158   f (o,i), otherwise 159 Web Services Integration

z The degree of integration of a Web service is evaluated using semantic information. z For each interface to integrate we construct a bipartite graph with a bipartition b(O, I). z Each edge has a weight (semantic similarity). z We then compute the optimal matching*.

B B

R b(O, I) b(O, I) A M S A X Y Z F A X B Y P Z F N T C U

C D C D

*Bondy and Murty 1976 159 160 Discovery Example of a Query

DAML

160 161 Discovery and Integration Query Results

161 Semantic Process Composition 163 Semantic Process Composition Web Process Composition Composition is the task of combining and linking existing Web Services and other components to create new processes.

Types of Composition z Static Composition - services to be composed are decided at design time z Dynamic Composition - services to be composed are decided at run-time

163 SCET, Semantic Web Process Composition 164 Composition of Web Processes Web Process Web Process Composition Composition

Web Service Discovery Web Service Integration

Once the desired Web This is because the Services have been heterogeneous Web found (Discovery), services found in the mechanisms are first step need to needed to facilitate the resolution of structural interoperate with and semantic other components differences present in a process (integration) host

164 Integration 165 New Requirements Web Process Composition

z When Web services are put together

z Their interfaces need to interoperate.

z Structural and semantic heterogeneity need to be resolved*.

z Structural heterogeneity exists because Web services use different data structures and class hierarchies to define the parameters of their interfaces.

z Semantic heterogeneity considers the intended meaning of the terms employed in labeling interface parameters. The data that is interchanged among Web services has to be understood.

* Kashyap and Sheth 1996 165 Integration 166 New Requirements Web Process Composition

How to establish data connections between Web Services interfaces?

Employee Receipt Client Receipt Address Itinerary Local Travel Info Conference Tourism

Web Service Web Service Web Service

How to establish data connections between the different data structures and class hierarchies of the interface parameters?

How to understand the intended meaning of the terms used in labeling interface parameters? 166 167 Web Services Interfaces Web Process Composition

z To enhance the integration, Web services need to have their inputs and outputs associated with ontological concepts (annotation). z This will facilitate the resolution of structural and semantic heterogeneities z Compute the optimal matching (Bondy and Murty, 1976) using semantic information (Cardoso and Sheth, 2002)

B B

R b(O, I) b(O, I) A M S A X Y Z F A X B Y P Z F N T C U

C D C D

167 Bipartite graph. Each edge has a weight (semantic similarity). Web Service QoS 169 Semantic QoS Web Processes Quality of Service

Organizations operating in modern markets, such as e-commerce activities, require QoS management.

QoS management is indispensable for organizations striving to achieve a higher degree of competitiveness.

169 Discovery 170 New Requirements

z The autonomy of Web services does not allow for designer to identify their operational metrics at design time.

z Nevertheless, when composing a process it is indispensable to inquire the Web services operational metrics.

z Operational metrics characterize the Quality of Service (QoS) that Web services exhibit when invoked.

170 171 QoS New Requirements Quality of Service

Before Now

Time: 17 Hours Cost? Time? Reliability? Cost? Fidelity? N1 E N2 Reliability? Fidelity? 1 Z1 B

2 N1 E N2 A N1 E N2 F

15 2 C C D 4

13 Z1 Z2

A N1 E N2 F N1 E N2

C D C D F

171 172 QoS Semantics QoS

‰ What ? Formally describes operational metrics of a web service/process

‰ Why ? To select the most suitable service to carry out an activity in a process

‰ How ? Using QoS model for web services

[Cardoso and Sheth, 2002] 172 QoS 173 Benefits QoS

z Composition of processes according to QoS objective and requirements.

z Selection and execution of processes based on QoS metrics.

z Monitoring of processes to assure compliance with initial QoS requirements.

z Evaluation of alternative strategies when QoS requirements are violated.

173 174 Semantic WP QoS Research Issues QoS

x Specification. What dimensions need to be part x of the QoS model for processes? yy zz Computation. What methods and algorithms can be used to compute, analyze, and predict QoS?

Monitoring. What king of QoS monitoring tools need to be developed?

Control. What mechanisms need to be developed to control processes, in response to unsatisfactory QoS metrics?

174 175 Web Services QoS Specification QoS

z Operational Metrics Specification z Operational metrics are described using a QoS model represented with a suitable ontology.

z The specification of Web services Web Process QoS operational metrics allows the analysis and computation processes QoS.

z Processes can be designed according to QoS objectives and requirements.

z This allows organizations to translate their strategies into their processes Web Service Annotation more efficiently.

175 176 QoS Management

z End-to-End process analysis z QoS management is indispensable for organizations striving to achieve a higher degree of competitiveness. z Based on previous studies* and our experience with business processes, we have constructed a QoS model composed of the following dimensions: z Time z Cost z Reliability z Fidelity

176 *Stalk and Hout,1990;Rommel et al.,1995;Garvin, 1988 177 QoS Models QoS

A QoS Model describes non-functional properties of a process

Which dimensions should be part of a QoS model?

Time

Cost Security Price Fidelity Duration Reliability Repudiation

Reliability

177 Availability 178 QoS Models and Semantics QoS Use Semantics

Security Z#$%&/ Time Cost Cost Price Price Fidelity Duration Security Reliability Reliability Repudiation Time Duration Availability Fidelity Repudiation

Availability 178 179 QoS in METEOR-S QoS

Design QoS Model

QoS Estimates for QoS Estimates Tasks/Web services for Transitions SWR algorithm Stochastic Process QoS Computation Enact

Simulation Log

179 180 QoS Creation of Estimates QoS

¾ To analyze a process QoS, it is necessary to: ‰ Create estimated for task QoS metrics and ‰ Create estimated for transition probabilities

Once tasks and transitions have their estimates set, algorithms and mechanisms, such as simulation, can be applied to compute the overall QoS of a process.

180 181 QoS Estimates for Web Services QoS

WS runtime behavior description can be composed of several classes. For example:

QoSQoS Model Model Basic class Distributional class Basic class Distributional class Min value Avg value Max value Dist. Function Time 0.291 0.674 0.895 Normal(0.674, 0.143) Cost 0 0 0 0.0 Reliability - 100% - 1.0 Fidelity.ai 0.63 0.81 0.92 Trapezoidal(0.7,1,1,4) Task QoS for an automatic task (SP FASTA task)

mathematical methods simulation systems 181 182 Web process QoS computation QoS

Design time| Runtime

LinearLinear programmingprogramming

Security Price SimulationSimulation Duration Petri-nets analysis Time Petri-nets analysis Repudiation Cost GraphGraph Reduction Reduction Reliability Fidelity TechniquesTechniques Availability Reliability CriticalCritical Path Path AlgorithmAlgorithm 182 183

QoS Computation QoS Graph Reduction Technique

QoS p4 Send Report QoS

t6 p 1 p3

xor xor xor xor p 2 p5 and and t1 t2 t3 t4 t5 t8

Prepare Prepare Sequencing Sequence Create Send Sample Clones Processing Report Bill

t7

Store Report QoSQoS QoS QoS QoS QoSQoS QoS QoS QoS QoSQoS QoSQoS 183 184

QoS Computation QoS Graph Reduction Technique

pj ti tj tij

(a) (b)

Reduction of a

Sequential System T(tij) = T(ti) + T(tj)

C(tij)= C(ti) + C(tj)

R(tij) = R(ti) * R(tj)

F(tij).ar = f(F(ti), F(tj))

184 185

QoS Computation QoS Graph Reduction Technique

t1 p1b pa1 p p * pa2 p2b * 1n b ta t2 tb ta t1n tb

p an pnb tn

(a) (b) Reduction of a Parallel System T(t1n) = MaxI∈{1..n} {T(ti)}

C(t1n) = ∑ C(ti) 1≤i≤.n

R(t1n) = ∏ R(ti) 1≤i≤.n

F(t1n).ar = f(F(t1), F(t2), …, F(tn)) 185 186

QoS Computation QoS Simulation

z While mathematical methods can be effectively used, another alternative is to utilize simulation analysis1.

z Simulation can play an important role in tuning the QoS metrics of processes by exploring “what-if” questions.

z In our project, these capabilities involve a loosely- coupled integration between the METEOR WfMS and the JSIM simulation system2.

1Miller, Cardoso et al. 2002, 2Nair, Miller et al. 1996; Miller, Nair et al. 1997; Miller, Seila et al. 2000. 186 187 QoS Computation QoS SCET Simulation

z SCET (Service Composition and Execution Tool) allows z to compose services statically by modeling the process as a digraph in a graphical designer z stores the process description as WSFL based specification z allows execution of the composed process using Perl z supports a simple execution monitoring feature z supports performance estimation using JSIM simulation

187 Senthilanand Chandrasekaran, M.Sc. Thesis presented at the Department of Computer Science of the University of Georgia. 188 QoS Computation QoS Simulation

z Simulation provides feedback on processes, allowing the composer to modify his process design by z Replacing services which do not satisfy the expected runtime behavior with more suitable Web services. z Modifying the process structure (control flow) based on the simulation runs.

Execution

SCET Process Composition WSFL JSIM Simulation Model JSIM Simulation Generator Model

Feedback from Simulation 188 Senthilanand Chandrasekaran, M.Sc. Thesis presented at the Department of Computer Science of the University of Georgia. Examples of Ontologies 190 Examples of Real Ontologies MGED Ontology

z The MGED Ontology z Provide standard terms for the annotation of microarray experiments. z Terms will enable unambiguous descriptions of how the experiment was performed. z 212 classes, 101 properties. z The MGED Ontology is being developed within the microarray community to provide consistent terminology for experiments. z This community effort has resulted in a list of multiple resources for many species. z Approximately 50 other ontologies for different species z The concepts are structured in DAML+OIL and available in other formats (rdfs)

190 191 The MGED Ontology is Structured in DAML+OIL using OILed 3.4

191

Source: "The MGED Ontology is an Experimental Ontology,“ 5th Annual Bio- Ontologies meeting (Edmonton, Canada Aug. 2002) 192 MGED Ontology consists of classes, properties, and individuals (instances)

192 Source: "OntologyEntry in MAGE," MGED 6 (Aix-en-Provence, France Sept., 2003) 193 MGED Ontology: BiomaterialDescription: BiosourceProperty: Age

193

Source: "The MGED Ontology is an Experimental Ontology,“ 5th Annual Bio- Ontologies meeting (Edmonton, Canada Aug. 2002) 194 Examples of Real Ontologies OBO

z OBO (Open Biological Ontologies) z Is an umbrella organization for structured shared controlled vocabularies and ontologies for use within the genomics and proteomics domains.

194 195 Examples of Real Ontologies GO Ontology

z Gene Ontology (GO) z Describes gene products in terms of their z Associated biological processes, z cellular components and z Molecular functions in a species-independent manner.

GOGO format format - - flat flat files, files, XML, XML, MySQL MySQL

Component ontology Process ontology Function ontology 1379 terms 8151 terms 7278 terms 212 KB 4.82 MB 1.16 MB 195 196

197 198 Examples of Toy Ontologies DAML library

z DAML Ontology Library z 282 ontologies z A few examples z http://cicho0.tripod.com/cs_Courses_ont z http://daml.umbc.edu/ontologies/calendar-ont.daml z http://mnemosyne.umd.edu/~aelkiss/weather-ont.daml z http://ontolingua.stanford.edu/doc/chimaera/ontologies/wines.daml z http://www.ai.sri.com/daml/ontologies/sri-basic/1-0/Person.daml z http://www.kestrel.edu/DAML/2000/12/TIME.daml z http://www.daml.org/2002/08/nasdaq/nasdaq-ont z http://www.daml.org/2001/10/html/airport-ont z http://www.daml.org/2001/10/html/nyse-ont z http://www.daml.ecs.soton.ac.uk/ont/currency.daml z http://horus.isx.com/markup/2002/01/countries2.rdf

z … 198 199 Examples of Toy Ontologies wine.daml

z Classes z ALSATIAN-WINE, AMERICAN-WINE, ANJOU, AUSTRALIAN-REGION, BEAUJOLAIS, BLAND- FISH, BORDEAUX, BORDEAUX-REGION, BOURGOGNE-REGION, BURGUNDY, CABERNET-FRANC, CALIFORNIA-WINE, … z Properties z BODY, COLOR, COURSE, DRINK, FLAVOR, FOOD, GRAPE-SLOT, MAKER, REGION, SUGAR

199 200 Ontologies Needed

200

Ron Schuldt, Co-Chair, AIA Electronic Enterprise Working Group, XML Standards Relevant to the Aerospace Industry 201 Ontologies Needed

HowHow dodo II knowknow thatthat youryour isis thethe samesame datadata elementelement conceptconcept asas mymy ??

HowHow doesdoes thethe doctor'sdoctor's medicalmedical recordrecord systemsystem knowsknows thatthat thethe datadata inin isis thethe samesame asas theirtheir systems'systems' elementelement labeledlabeled ?? 201 202

UDEF Ontologies Needed

z Though semantically equal, the following are 4 different XML tag names z 111-222-333 z 111-222-333 z 111-222-333 z 111-222-333 202

Ron Schuldt, Co-Chair, AIA Electronic Enterprise Working Group, XML Standards Relevant to the Aerospace Industry 203

UDEF z The Universal Data Element Framework (UDEF) z cross-industry metadata identification z designed to facilitate convergence and interoperability among e- business and other standards. z provide a means of real-time identification for semantic equivalency z seeks only be an attribute in the data element

203

Ron Schuldt, Co-Chair, AIA Electronic Enterprise Working Group, XML Standards Relevant to the Aerospace Industry 204 Ontology Domains

z Aerospace and defense, z Automotive, z Consumer products, z Travel, z Telecommunications z Engineering and construction, z Banking z Health care z … ++ 204 205 Ontologies-based approaches Shared Ontologies

z Autonomous systems are required to commit to a shared ontology, and compromises are difficult to maintain when new concepts are added*.

z Even though a shared ontology ensures total integration, constructing such an ontology is costly, if not impractical.

Data Exchange

Shared Ontologies

*Rodríguez and Egenhofer 2002 205 Ontologies-based approaches 206 Non-Shared Ontologies

z Since the Web is a distributed infrastructure with autonomous systems, it is not reasonable to expect that all the systems will commit to shared ontologies.

z Instead, autonomous systems will use non-shared ontologies.

z This will require the integration and mapping of ontologies.

Data Exchange

Integration/Mapping

Local Ontologies Local Ontologies 206 OWL Language 208 OWL

z OWL is a language for defining Web Ontologies z The OWL language is a revision of the DAML+OIL z DAML+OIL z Extension of RDFS z Allows machine understanding and automated reasoning.

208 209 OWL

z OWL facilitates greater machine interpretability of Web content than that supported by XML, RDF, and RDF Schema (RDF-S) by providing additional vocabulary along with a formal semantics.

209 210 OWL

z OWL has three increasingly-expressive sublanguages: OWL Lite, OWL DL, and OWL Full z OWL Lite z Classification hierarchy and simple constraints z OWL DL z Maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computed) and decidability (all computations will finish in finite time) z OWL Full z Maximum expressiveness and the syntactic freedom of RDF with no computational guarantees.

210 211 Stack of W3C recommendations

z XML z Syntax for structured documents z No semantic constraints on the meaning of these documents z XML Schema z Language for defining the structure of XML documents z RDF z Data model for objects and relations between them z Provides a simple semantics for this data model z Data models represented in an XML syntax. z RDF Schema z A vocabulary for describing properties and classes of RDF resources z OWL z Adds more vocabulary for describing properties and classes z For example: relations between classes (e.g. disjointness), cardinality (e.g. "exactly one"), equality, characteristics of properties (e.g. symmetry), and enumerated classes.

211

http://www.w3.org/TR/2003/PR-owl-features-20031215/ 212 OWL example

“A full SVG figure must have one chart type“

212 “A char type is a Bar, or a Pie, or a Radar, or a …” http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/ 213 OWL example

1

213 http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/ 214 OWL example

214 http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/ Ontology Editors 216 Tools: Ontology Editors

z More than 50 applications. A few examples, z Protégé 2000 z OILed z WebOnto z GKB-Editor z Chimaera z …

216 217 Protégé 2000

Supports OWL

217

http://protege.stanford.edu/ 218 OilEd DAML+OIL

218

http://oiled.man.ac.uk/ 219 Chimaera DAML+OIL

219

http://www.ksl.stanford.edu/software/chimaera/ 220 GKB-Editor (Generic Knowledge Base Editor)

220

http://www.ai.sri.com/~gkb/ 221 WebOnto Project Ontology browsing and editing tool

221 222 Semantic Web Processes

Questions?

NEXT: METEOR-S Project @ LSDIS222 lab 223 Systems and Applications

METEOR-S Project @ LSDIS lab

223 224 Semantics in METEOR-S

z Annotation, Discovery, Composition (in development), and QoS z Focuses on two issues: semantic Web services and process composition. z Process Composition:

z Functional perspective

z Web Service Discovery, handling semantic heterogeneity

z Operational perspective

z QoS specification for Web Services and Processes.

224 225 METEOR-S Project @ LSDIS lab

z METEOR-S exploits Workflow, Semantic Web, Web Services, and Simulation technologies to meet these challenges in a practical and standards based approach.

z Applying Semantics in Annotation, Quality of Service, Discovery, Composition, Execution of Web Services z Adding semantics to different layers of Web services conceptual stack z Use of ontologies to provide underpinning for information sharing and semantic interoperability

http://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htm 225 226 METEOR-S components for Semantic Web Services • Discovery Infrastructure (MWSDI) – Semantic Annotation and Discovery of Web Services 1 – Semantic Peer-to-Peer network of Web Services Registries 2 • Composer – SCET: Service Composition and Execution Tool 3 – Semantics Process Template Builder and Process Generator 4 – QoS Management • Specify, compute, monitor and control QoS (SWR algorithm) 5

• Orchestrator (Under development) – Analysis and Simulation 6 – Execution – Monitoring 6 226 1 [Sivashanmugam et al.-1], 2 [Verma et al.], 3 [Chandrasekaran et al.], 4 [Sivashanmugam et al.-2], 5 [Cardoso et al.], 6 [Silver et al.] METEOR-S Web Service Annotation Framework (MWSAF)

-annotates web services with semantics

Meteor-S Web Service Annotation Framework METEOR-S Web service 228 Annotation

z Map Web service’s input/output data as well as functional description using relevant data and function/operation ontologies, respectively

z Annotate WSDL with Ontologies

z How ?

z Borrow from Schema matching

z Semantic disambiguation between terms in XML messages represented in WSDL and concepts in ontology

z Match concepts from WSDL schema to ontological concepts

z Problems

z Solution – MWSAF

228 Why Matching is Difficult ? 229 (General)

z Aims to identify same real-world entity

z using names, structures, types, data values, etc

z Schemas represent same entity differently

z different names => same entity

z area & address => location

z same names => different entities

z area => location or square-feet

z Schema & data never fully capture semantics completely

z Semantics not documented in sufficient details

z Schemas not adequately expressive to capture semantics

z Intended semantics is typically subjective

z IBM Almaden Lab = IBM?

z Complete Automation not possible 229 230 MWSAF – Architecture User provided WSDL File

Ontology Store

SchemaGraph For WSDL

Ont2Schema WSDL2Schema SchemaGraph getBestMapping For Ontology Parser Library (Ranking algorithm)

NGram WSDL Ontology Match MatchSynonyms findMappings Concept Concept Score Annotated CheckAbbreviations WSDL file Phenomen WeatherEvent 0.51 on Matcher Library 230 windEvent Wind 0.79 231 MWSAF – Matching two concepts

z IOParametersMatch (w,o) = ElemMatch (w,o) + SchemaMatch (w,o) + ContextMatch (w,o)

z ElemMatch (w,o) => Element level match

z SchemaMatch (w,o) => Schema level match subTree(w) == subTree(o)

FUNCTION findMapping

INPUT wci Є W , oci Є O

OUTPUT mi = ( wci, oci, MS ) 231 232 MWSAF – Element level Match

Definition

# Element level match is the measure of the linguistic similarity between two concepts based on their names.

z Assumption – Concepts from XML schema and ontology have meaningful names

ElemMatch (w,o) => Element level match

z NameMatch with stemming

z Description Match (future work)

z SynonymsMatch : Snow and snowFall mean the same

z HypernymRelation (w is a kind of o) : prevailing_speed is a type of speed of a wind i.e. windSpeed

z HyponymRelation (o is a kind of w) 232 z Acronyms : Sea Level Pressure has acronym SLP 233 MWSAF – Schema level Match

Definition # The Schema level match is the measure of structural similarity between two concepts # It is based on sub-concept similarity (subConceptSim) and sub-concept match (subConceptMatch).

SchemaMatch = subConceptSim *subConceptMatch where,subConceptSim ∈ []0,1 subConceptMatch ∈ 0,1 [] 233 234 METEOR-S Web Service Discovery Infrastructure (MWSDI)

- uses Functional, Data and QoS semantics Service Discovery

234 METEOR-S Web Service 235 Discovery Infrastructure (MWSDI)

Service Selection - uses Functional, Data and QoS semantics

235 236 METEOR-S Web Service Composition Framework (MWSCF)

- needed for the world where business processes never stop changing

236 Framework for Semantic Web Process Composition 237 Scenario

z Client Application e.g. JSP z Process Client’s Purchase Order (PO) z Discover Suppliers z Request Quote z Analyze Quotes z Optimize on QoS z Inter Service Dependencies z Send PO to supplier(s) z Receive PO Confirmation from Supplier(s) z Confirm PO to Client 237 238 Supply Chain – QoS Based

238 239 Predefined flows

z Static binding (supported by BPEL4WS) z Choose service at design time

Supplier 2

Supplier 1 Manufacturer Client

Manufacturer tightly coupled with suppliers 239 240 Predefined flows

z Dynamic binding z Choose new services at runtime Dynamically choose best supplier at runtime

Preferred Cheaper Supplier Supplier

Faster Delivery

Manufacturer Client240 241 MWSCF Architecture UDDI UDDI UDDI

UDDI UDDI UDDI Execution Process Execution 1. Validation and deployment Discovery Infrastructure Engine 2. Executing the process using a client (MWSDI) Process Designer 1. Template Construction activity specification using Template Process - interfaces - services Builder Generator - semantic activity templates - other details Process Designer 2. Process Generation - Service discovery (automatic) and selection (semi-automatic) - Data flow Activity Process Ontologies Interfaces Templates Repositories are used to store 1. Web Service Interfaces 2. Ontologies Repositories 3. Process Templates 241 242 Web Process Life-Cycle

Design

Create Process WSDL Create Process Template and Add Activities Discovery Find Ontologies & Annotate Activity Requirements Find Matches Add Control Flow Rank Services

Select a Service

Composition Execution

Add to Process Generate Process

Data Transformation Validate Syntax

Data Flow Execute 242 243 Semantic Web Process Design

Template Construction

243 244 Semantic Web Process Design

Process Generation

244 245 Semantic Web Process Design

245 246 Semantic Web Process Design

246 247 Semantic Web Process Design

247 248 Semantic Web Process Design

248 249 Semantic Web Process Design

249 250 Ongoing Projects

z SWSI z SWSA Semantic Web Services Architecture z SWSL Semantic Web Services Language z WonderWeb: http://wonderweb.man.ac.uk/ z Development of a framework of techniques and methodologies that provide an engineering approach to the building and use of ontologies. z Development of a set of foundational ontologies covering a wide range of application domains. z Development of infrastructures and tool support that will be required by real world applications in the Semantic Web.

250 251 Ongoing Projects

z OWL-S: http://www.daml.org/services/ z Set of ontologies to describe functionalties of web services z OWL-S Matchmaker: http://www- 2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm z Match service requestors with service providers z Semantic Matchmaking for Web Services Discovery z Web Service Composer: http://www.mindswap.org/~evren/composer/ z Semi-automatic process for the dynamic composition of web services z Web Services: http://www- 106.ibm.com/developerworks/webservices/ z WSDL, UDDI, SOAP

z Business Process with BPEL4WS 251 252

Conclusions

252 253 Conclusions

z Semantic Web service Annotation and Discovery z Data semantics z Functional semantics z QoS Semantics z Web processes vs. Semantic Web processes z OWL-S (OWL-S) z Web process composition z Web services semantic degree of integration z Data, Functional, and QoS similarity z Web process QoS computation z QoS Models, techniques, and algorithms

253 254 Conclusions

z Present Problems in Process Composition z Static discovery of Web Services

z Design/deployment-time binding of Web services

z Process Composition is based on interfaces of participating services

z Proposition z Semantics is the enabler to address the problems of scalability, heterogeneity (syntactic and semantic), machine understandability faced by Web services

z Semantics for Web Services z Semantics can be applied to different layers of Web Services conceptual stack

z Semantics for Web Services can be categorized into at least 4 different dimensions namely Data, Functional, Execution and Quality (QoS).

254 255

255 256 Conclusions

z Semantics can help address big challenges related to scalability, dynamic environments. z But comprehensive approach to semantics will be needed: z Data/information, function/operation, execution, QoS z Semantic (Web) principles and technology bring new tools and capabilities that we did not have in EAI, workflow management of the past

More at: http://lsdis.cs.uga.edu/proj/meteor/SWP.htm 256 257 Semantic Web Processes

Questions?

257 258 References

Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)

z Resources: http://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial-resource.htm z [Kreger] http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf z [Sivashanmugam et al.-1] Adding Semantics to Web Services Standards z [Sivashanmugam et al.-2] Framework for Semantic Web Process Composition z [Verma et al.] MWSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services z [Chandrasekaran et al.] Performance Analysis and Simulation of Composite Web Services z [Cardoso et al.] Modeling Quality of Service for Workflows and Web Service Processes z [Silver et al.] Modeling and Simulation of Quality of Service for Composition of Web Services z [Paolucci et al.] Importing Semantic Web in UDDI z [UDDI-v3] http://uddi.org/pubs/uddi-v3.00-published-20020719.htm z http://www.daml.org/services/ z http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/

More at: http://lsdis.cs.uga.edu/SWP.htm 258 259

Semantic Web Processes

End

259