Semantic Web Services:Challenges and Research Trend
July, 2009
Prof. Sung-Kook HanSemantic Technology Research Group
Won Kwang Universuty
Agenda
page 22010-01-28 [email protected]
Static
Information Resources
Web Documents
Semantic Web
Services / Agents
Dynamic
Active Resources
Semantic Services
Ontology
Semantic Technology
page 32010-01-28 [email protected]
Agenda
Review of Semantic Web Services Technologies
Web Services
Semantic Web Services
Approaches towards Semantic Web Services
OWL-S Coalition
Semantic Web Service Initiative
WSMO / WSML / WSMX
Discussion on Semantic Web Services
Future Trend
Cloud Computing
Review of Web Services
Evolution of Web Technologies
Web PagesWeb Applications
Web Services
HTTP
HTML
URL
StyleSheet
Applet
Servlet
JSP/ASP
JDBC/ODBC
XML
SOAP
WSDL
UDDI
Content
Information
Services
XML
RDF/S
OWL
Semantic Web
Knowledge
Semantic Web
Web 2.0AJAX
Folksonomy
RSS / ATOM
2010-01-28 page [email protected]
page 62010-01-28 [email protected]
Web Services
Web Services
UDDI,WSDL,SOAP
Semantic Web
Services
Web Services
UDDI,WSDL,SOAPSemantic Web
Dynamic
Static
Knowledge
LocationDescription
Communication
Web Services
UDDI,WSDL,SOAP
Web Services
UDDI, WSDL, SOAP
Information
Reso
urce
Services
Semantic
Integration
Web Services
UDDI,WSDL,SOAP
Current Web
URL, HTML, HTTP
ontology
page 72010-01-28 [email protected]
Web Services
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.
Loosely coupled, reusable software components that semantically encapsulate discrete functionality and are distributed and programmatically accessible over standard Internet protocols.
Loosely coupled, reusable software components that semantically encapsulate discrete functionality and are distributed and programmatically accessible over standard Internet protocols.
page 82010-01-28 [email protected]
Web Services Architecture
ServiceRequester
ServiceProvider
Publish Find
Bind
Service Description:WSDL
Service Registration:UDDI
Service Messaging:SOAP
Service Broker
Web ServicesRepository
page 92010-01-28 [email protected]
Web Services Architecture
Service Provider
Application
AB
C
WSDL
SOAP Engine
Service Requester
Application
SOAP Engine
Web Service-B
Proxy
Request WSDL
Return WSDL
Request Service
Return Service Result
Publish Services
Search Service
Return URL
Service Location
Service Interface
http://uddi.microsoft.org
page 102010-01-28 [email protected]
Example: On-Line Bookstore
Amazon.comAmazon-Korea
EnterpriseBank
Customer
page 112010-01-28 [email protected]
Example: Virtual Travel Agency
Airline Ticket
Virtual
Travel
Agency
Enterprise
Hotel
Customer
Rent a Car
Core Technologies for Web Services
XML (Extensible Markup Language): the basic foundation on which Web services are built provides a language for defining data and how to process it. XML represents a family of related specifications published and maintained by the World Wide Web Consortium(W3C)and others.
WSDL (Web Services Description Language): an XML-based technology, defines Web services interfaces, data and message types, interaction patterns, and protocol mappings.
SOAP (Simple Object Access Protocol): a collection of XML-based technologies, defines an envelope for Web services communication ─ mappable to HTTP and other transportsㅡand provides a serialization format for transmitting XML documents over a network and a convention for representing RPC interactions.
UDDI (Universal Description, Discovery, and Integration): a Web services registry and discovery mechanism, is used for storing and categorizing business information and for retrieving pointers to Web services interfaces
krPage 12
page 132010-01-28 [email protected]
SOAP Message
SOAP Message
SOAP Envelope
SOAP Header
SOAP Body
Message Name & Data
Headers
HTTP Headers
XML Encoded SOAP
Message Name & Data
<Body> contains SOAP
Message Name & Data
Individual headers
<Header> encloses headers
<Envelope> encloses payload
Standard HTTP and SOAP HTTP Headers
The complete SOAP Message
page 142010-01-28 [email protected]
Message Exchange
Client Webservice
(1) message
Client Webservice
(1) request
(2) response
Client Webservice
(2) correlated message
(1) message
WebserviceClient(1) message
One-way
Request-Response
Solicit-Response
Notification
page 152010-01-28 [email protected]
WSDL
XML document for describing Web Services
Input and output data structures
• Includes or refers to XML Schema type information
Method signatures
Protocol bindings (HTTP, SMTP etc.)
Location of the service
Document can be stored in UDDI registry
or served from the provider server
Typically generated by a tool
xrpcc in Java Web Services Developer Pack
WSDL specification
abstract part
types
messages
operations
port types
concrete part
bindings
services andports
page 162010-01-28 [email protected]
WSDL
Input/OutputHow to invoke
Format and protocol
PortType Operation
MessageBinding
Port Service
Support
Interface : What
How to encode
provide
implement
Access specification
Endpoint : Where
page 172010-01-28 [email protected]
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 BusinessContact InformationDescription of the Company
Business Classification InformationBusiness Classification InformationBased on NAICS, UNSPSC, or Geographical IndexList of Products (multiple entries)
Technical Information about servicesTechnical Information about servicesExample: business processes, binding info, etc.
White Page
Yellow Page
Green Page
page 182010-01-28 [email protected]
UDDI Registry
page 202010-01-28 [email protected]
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 (W
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)
A
B
C D
N1 N2 FE
t3
t6t5
t4t2
t7
+
t1 t8+
Organization A Organization B Organization C
Manager
DB_Access
DB_AccessGET_ Seq
Lab Tech II
Lab TechSet_Data
10101011
page 212010-01-28 [email protected]
Workflow
Application Architecture
Process
Service Architecture
Services and Messages
Component Architecture
Component Architecture
Consumer
Provider
page 222010-01-28 [email protected]
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
Service
Web
Service
Web
ServiceProcess flow
Web Services orchestration
Web
Service
Web
Service
Web
Service
Collaboration
Web services choreography
Choreography & Orchestration
Travel Agency example
Choreography = how to interact with the service to
consume its functionality
Orchestration = how service functionality is achieved
by aggregating other Web services
23
Travel Agenc
y
Service
Date
Time
Flight, Hotel
Error
Confirmation
Hotel Service
Flight Service
Date, Time
Hotel
Error
Date, Time
Flight
Error
When the service is
requestedWhen the service
requests
page 242010-01-28 [email protected]
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
page 252010-01-28 [email protected]
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
<receive> <reply> <invoke> <assign> <throw> <terminate> <wait> <empty>
<sequence> <switch> <while> <pick>
<flow> <scope> <compensate>
Correlation
figuring out which instance an incoming message is meant for
page 262010-01-28 [email protected]
WSBPEL Core Concepts
Sequencing and Flow
Control
<sequence>, <flow>,
<while>, <switch>,
<link>
Web Service invocation
<invoke>
Variable Definition and
Assignment
<variable>, <assign>
Non deterministic
support
<pick>, <onMessage>,
<onAlarm>
Fault Handling
<catch>, <compensate>,
<throw>
Web Service
Implementation
<receive>, <reply>
Partner (Service) Linking
<partnerLink>,
<partnerLinkType>
Correlations
<correlationSet>,
<correlationSets>,
<property>,
<propertyAlias>
Process Definition
<process>
uses
comprise
implementsdefined
defined
defined
Iden-
tified
Contained
in
uses
uses
uses
Scopes
<scope>, <faulthandler>,
<compensationhandler>,
<eventhandler>
page 272010-01-28 [email protected]
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
page 282010-01-28 [email protected]
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 Markup Language)
Authentication
Identity Management (Version 2.0)
The Liberty Alliance Identity Management
WS-Federation (Web Services Federation Language)
Identity Management
WS-Trust (Web Services Trust Language)
Managing trust relationships
WS-SecureConversation (Web Services Secure Conversation Language)
Integrity (session-level)
Non-Repudiation (session-level)
Confidentiality (session-level)
XACML (Extensible Access Control Markup Language)
Authorization/Access Control
Service implementation - logical
292010-01-28 [email protected]
A service is a software component designed and built in order to be reused
by another software component in different execution contexts.
Service content provides business logic
such as a stateless computation
Provides service identification, definition of
parameters, and conventions concerning
passing the service results back to the consumer
Service
Content
Service Interface
Author: Peter Campbell, ANZ Banking Group Australia
Source: Applying EA Roadmapping: An SOA Roadmap, Cutter Consortium
Services might need to be able to distinguish
messages from individual consumers and also
be able to correlate those messages
into meaningful conversations.
Service-oriented Architecture (SOA)
1. Point to point systems
App A
(J2EE)
Legacy
ApplicationLegacy
Application
App B
(.Net)
App D
(J2EE)
Warehouse
Finance
SalesApp C
(.Net)
Partner
2. Message-based middleware with integration broker
Service Bus / MOM
App AApp B
Legacy
System
Shared
System
Adapter
Adapter
App C
App D
Sales
PartnerWarehouse
Finance
Service Oriented Architecture & Enterprise Service Bus
Enterprise Service Bus
RoutingServices
Consum
er
Pro
vid
er
TransformationAdapter
Shared
System
Adapter
Legacy
System
Service
(Process)
orchestration
“Above the bus”
“Below the bus”
HTTP
Internet
Custom
applications
Package
applications
Business
Process
Orchestration
Business Rules
Engine
Author: Peter Campbell, ANZ Banking Group Australia
kr
page 312010-01-28 [email protected]
SOA Layers
Providing Resources
and Implementations
Service Enablement
Implementation-Based
and Utility Services
Business Service Bus
Composite Application
Other
Service
Providers
Composite Business
Services
En
terp
rise S
erv
ice B
us
Internal and External Resources
Service Service
Service ServiceServiceService ServiceService
Service / Business Process
Business Process
Orchestration
Business
Services
Technical
Services
Get
customer
details
“Open account for customer”“Open account for customer”
Locate
account
type
Add
account to
customer
Locate
customer
record
Check
customer
status
Presentation – user interface
Create Create
Customer-
Account
record
LookupLookup
account
type
table
Retrieve
account
details
Business Process
Coarse Grained
Fine
Grained
Service Orchestration
(Process Orchestration)
kr
page 352010-01-28 [email protected]
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.
RPC interactions
Binary XML
Services architecture
Service contract
Message based
Service directory
Protocol independent
Coarse grained & document centric
Web services specs
WSDL
SOAP & XML
UDDI
HTTP
Doc literal binding
Process orchestration (BPEL)
Web services
“The plumbing”
SOA“The architecture”
Web Services is the stack of standard web technologies
required at both consumer and provider ends to implement the
pipe for shipping XML messages between them.
You don't have SOA until you build/buy
services and compose them to implement
business functionality.
Author: Peter Campbell, ANZ Banking Group Australia
page 362010-01-28 [email protected]
Standards Stack for Web Services
page 372010-01-28 [email protected]
Trend in Web Services
page 382010-01-28 [email protected]
WS standards: Lack of Semantics!
Problem: Enable interoperability by using the same format, but still discovery,
combinability only syntax based, no way to describe functionality.
Syntax only!
Semantic Web Services
page 402010-01-28 [email protected]
Semantic Web Services
Semantic
Web
Web
ServicesEAI
KnowledgeKnowledge
Based
System
Information
Resources
Distributed
Services
Distributed
Processing
Model
Semantic
Model
SemanticSemanticWeb
Services
Ontology
Service
Semantic Web Services (SWS)
Three characteristics of SWS:
1. Enhance Web Service usage by adding semantics for automationWeb service aspect
2. Use an ontology as the underlying model for the Web Service description Ontology aspect
3. Support ontology reuse to build a Web of Links Semantic Web aspect
page 432010-01-28 [email protected]
Tackling Semantic Interoperability…
PublicationPublication
DiscoveryDiscovery
SelectionSelection
CompositionComposition
MediationMediation
ExecutionExecution
MonitoringMonitoring
CompensationCompensation
ReplacementReplacement
Make available the description of the capability of a serviceMake available the description of the capability of a service
Locate different services suitable for a given taskLocate different services suitable for a given task
Choose the most appropriate services among Choose the most appropriate services among
the available onesthe available ones
Combine services to achieve a goalCombine services to achieve a goal
Solve mismatches (data, protocol, process) among Solve mismatches (data, protocol, process) among
the combined Web servicesthe combined Web services
Invoke services following programmatic conventionsInvoke services following programmatic conventions
Control the execution processControl the execution process
Provide transactional support and undo or mitigate Provide transactional support and undo or mitigate
unwanted effectsunwanted effects
Facilitate the substitution of services by equivalent onesFacilitate the substitution of services by equivalent ones
page 442010-01-28 [email protected]
Semantic Web Services Lifecycle
Description
Publication
Discovery
Engagement
Enactment
Security
Qos
page 452010-01-28 [email protected]
Building on Existing Web Services Standards
XML
SOAP
HTTP
OWL-S(Grounding)
WSDL
OWL-SServiceMatching
UDDI
page 462010-01-28 [email protected]
OWL-S Objectives
Provide:
An upper ontology for describing properties & capabilities of agents & (Web) services in an unambiguous, computer interpretable markup language.
Supporting ontologies for describing service types, security definitions, execution parameters, access and invocation characteristics.
Guidelines for advertising, modeling and requesting services.
Infrastructure to support the location and invocation of services.
Model services using DAML syntax and description-logics
Achieve semantic interoperability through tight coupling with Semantic Web standards.
Automate:
WS Discovery
WS Invocation
WS Selection, Composition & Interoperation
WS Execution Monitoring
page 472010-01-28 [email protected]
OWL-S Upper Ontology
• Mapping to WSDL
• communication protocol (RPC, HTTP, …)
• marshalling/serialization
• transformation to and from XSD to OWL
• Control flow of the service
• Black/Grey/Glass Box view
• Protocol Specification
• Abstract Messages
• Capability specification
• General features of the Service
• Quality of Service
• Classification in Service
taxonomies
page 482010-01-28 [email protected]
Service Profiles
Service Profile
Presented by a service.
Represents
• what the service provides
Two main uses:
• Advertisements of Web Services capabilities (non-functional properties, QoS, Description, classification, etc.)
• Request of Web services with a given set of capabilities
page 492010-01-28 [email protected]
OWL-S Service Profile
Non Functional PropertiesNon Functional Properties
Functionality Functionality
DescriptionDescription
page 502010-01-28 [email protected]
Service Model
Process Model
Describes how a service works: internal processes of the service
Specifies service interaction protocol
Specifies abstract messages: ontological type of information transmitted
Facilitates
Web service invocation
Composition of Web services
Monitoring of interaction
page 512010-01-28 [email protected]
OWL-S Service Model (Overview)
page 522010-01-28 [email protected]
Process Model Control Constructs
Four types of control construct
Sequential, concurrent, conditional, and iteration
Test and conditional constructs used to control workflow
page 532010-01-28 [email protected]
Composite Process Example (Sequence)
<rdfs:Class rdf:ID="BookFlight"><rdfs:subClassOf rdf:resource="#CompositeProcess" /><rdfs:subClassOf rdf:resource="http://www.daml.org/Process#Sequence" /><daml:subClassOf>
<daml:Restriction><daml:onProperty rdf:resource="http://www.daml.org/Process#components" /><daml:toClass>
<daml:subClassOf><daml:unionOf rdf:parseType="daml:collection">
<rdfs:Class rdfs:about="#GetFlightDetails" /><rdfs:Class rdfs:about="#GetContactDetails" /><rdfs:Class rdfs:about="#ReserveFlight" /><rdfs:Class rdfs:about="#ConfirmReservation" />
</daml:unionOf></daml:subClassOf>
</daml:toClass></daml:Restriction>
</daml:subClassOf></rdfs:Class>
Composite Process
Confirm Confirm
Reservation
BookFlightBookFlight
Get Contact Get Contact
Details
Sequence
Get Flight Get Flight
DetailsReserve FlightReserve Flight
SequenceSequence
page 542010-01-28 [email protected]
Service Grounding
Service Grounding
Provides a specification of service access information.
Service Model + Grounding give everything needed for using the service
Builds upon WSDL to define message structure and physical binding layer
Specifies:
communication protocols, transport mechanisms, agent communication languages, etc.
page 552010-01-28 [email protected]
Mapping OWL-S / WSDL 1.1
Operations correspond to Atomic Processes
Input/Output messages correspond to Inputs/Outputs of processes
DL-based Types
WSDL
OWL-S
Process Model
Atomic Process
Operation Message
Inputs / Outputs
Binding to SOAP, HTTP, etc.
page 562010-01-28 [email protected]
Web Services vs. Semantic Web Services
Items Web Services Semantic Web Services
Service Requestor Human Agents
Service PublicationUDDI May not be necessary
Description Language WSDL( Service taxanomy) Ontology-based language
Service Descriptions Operations, messages and bindingOntology-based
Goals and Capabilities
Message Exchange Syntactic-based Semantic-based
Core technologies UDDI/WSDL/SOAP Ontology and Reasoning
Service Composition Passive using WSBPEL Goal-driven approach by agents
choreography /
orchestrationPassive using WSBPEL Automatic generation by BPM
Heterogeneity Passive Semantic mediation
Service Discovery/Selection Search repository by human Automatic discovery by agents
Transportation Protocols SOAP SOAP, and other XML protocols
page 572010-01-28 [email protected]
Overview: Semantic Web Services Research
OWLOWL-S
CoalitionSWSI
WSMFWSMF WSMO
W3C(USA)
STI2(EU)
Web Services
Ontology
page 582010-01-28 [email protected]
Semantic Web Services Framework
Semantic Web Services Language
(SWSL)
Semantic Web Services Ontology
(SWSO)
Semantic Web Services Architecture (SWSA)
Dynamic Service
Discovery
Service Process
Enactment and
Management
Semantic Web Services
Lifecycle and Resource
Management Services
Semantic Web
Community
Support Services
Cross-Cutting Issues
Service Engagement
SWSL-FOL SWRL-Rules
FLOWS ROWS
page 592010-01-28 [email protected]
Semantic Web Services Framework (SWSF)
Semantic Web Service Language (SWSL)general purpose language designed to
address the needs of Semantic Web Services
SWSL–FOL
SWSL–Rules
• based on FOL
• used to express the formal characterization
(ontology) of Web Service concepts
• based on logic programming
• used to support the use of the Service
ontology in reasoning and execution
environments
Semantic Web Service Ontology (SWSO) conceptual model and axiomatization
FLOWS (First-Order Logic Ontology for Web Services)
• axiomatized ontology of service ontology learned from OWL-S, PSL
ROWS (Rules Ontology for Web Services)
a (partial) translation of FLOWS into SWSL-Rules
page 602010-01-28 [email protected]
The Layered Structure of SWSL-Rules
a rule-based language with non-monotonic semantics.
to provide support for a variety of tasks that range from service profile specification to service discovery, contracting, policy specification, and so on.
NAF
Nonmon LTCourteous
Horn
Equality Mon LT
HiLog
Reification
Frames
page 612010-01-28 [email protected]
The Layered Structure of SWSL-Rules
Core language: pure Horn subset of SWSL-Rules.
Monotonic Lloyd-Topor (Mon LT) extension
permits disjunctions in the rule body and conjunction and implication in the rule head.
NAF extension
allows negation in the rule body, which is interpreted as negation-as-failure.
Non-Nonotonic Lloyd-Topor extension (Non-Non LT)
permits quantifiers and implication in the rule body.
Courteous rules extension
introduces two new features: restricted classical negation and prioritized rules.
HiLog extension
allowing variables to range over predicate symbols, function symbols, and even formulas.
Despite second-order features, the semantics of HiLog remains first-order and tractable.
Frames extension
introduces the most common object-oriented features, such as the frame syntax, types, and inheritance.
Reification extension
provides a mechanism for making objects out of a large class of SWSL-Rules formulas, which puts such formulas into the domain of discourse and allows reasoning about them.
page 622010-01-28 [email protected]
SWSL-FOL
is used to specify the dynamic properties of services, namely, the processes that they are intended to carry out
a specification language for SWSO, and specialized reasoners will be used to reason with the service ontology
a common platform to support semantic interoperability among the different first-order based service ontologies, such as OWL-S
All of the above layers have been implemented in one system or another.
FLORA-2: all layers except Courteous rules and Non-Monotonic Lloyd-Topor.
SweetRules: Courteous extensions
Ontobroker: Non-Monotonic Lloyd-Topor and frames.
page 632010-01-28 [email protected]
The Layers of SWSL-FOL
SWSL-FOL+Equality
SWSL-FOL+HiLog
SWSL-FOL+Frames
SWSL-FOL
Horn
EqualityMon LT
HiLog
Frames
page 642010-01-28 [email protected]
Semantic Web Services Ontology (SWSO)
SWSO: Two ontologies
FLOWS
First-order Logic Ontology for Web Services. FLOWS
also known as SWSO-FOL
First-order logic version of the Semantic Web Services Ontology.
An extension of the PSL-OuterCore ontology, to incorporate the fundamental aspects of (web and other electronic) services, including service descriptors, the service activity, and the service grounding.
ROWS
Rules Ontology for Web Services.
ROWS, also known as SWSO-Rules
Rules-based version of the Semantic Web Services Ontology.
created by a relatively straight-forward, almost faithful, transformation of fundamental aspects of (web and other electronic) services, including service descriptors, the service activity, and the service grounding.
Enables a rules-based specification of a family of services, including both the underlying ontology and the domain-specific aspects.
page 652010-01-28 [email protected]
SWSO: FLOWS
First-order Logic Ontology for Web Services
Representational Desiderata
Model-theoretic semantics
Primitive and complex processes are first-class objects
Taxonomic representation
Leverages existing service ontologies (OWL-S)
Embraces and integrates with existing and emerging standards and research (BPEL, W3C choreography, etc.)
Explicit representation of messages and dataflow (cf. W3C choreography, behavioral message-based signatures, etc.)
Captures activities, process preconditions and effects on world.
Captures process execution history.
FLOWS comprises:
Service Descriptors
Process Model
Grounding
page 662010-01-28 [email protected]
SWSO: FLOWS
FLOWS
Service
Descriptors
Process
ModelGrounding
FLOWS-CoreControl
Constraints
Ordering
Constraints
Occurrence
Constraints
State
Constraints
Exception
Constraints
page 672010-01-28 [email protected]
Service Descriptors
Service Name: name(service,service_name)
Service Author: author(service,service_author)
Service Contact Information: contact(service,contact_info)
Service Contributor: contributor(service,service_contributor)
Service Description: description(service,service_description)
Service URL: url(service,service_URL)
Service Identifier: identifier(service,service_identifier)
Service Version: version(service,service_version)
Service Release Date: releaseDate(service,service_release_date)
Service Language: language(service,service_language)
Service Trust: trust(service,service_trust)
Service Subject: subject(service,service_subject)
Service Reliability: reliability(service,service_reliability)
Service Cost: cost(service,service_cost)
page 682010-01-28 [email protected]
Process Model
Extension of PSL, a generic ontology for processes
the structured notion of atomic process as found in OWL-S
infrastructure for specifying various forms of data flow
Module Major Concepts
FLOWS-Core
ServiceAtomicProcess composedOf message channel
Control Constraints
Split Sequence Unordered Choice IfThenElse Iterate RepeatUntil
Ordering Constraints OrderedActivity
Occurrence Constraints OccActivity
State Constraints TriggeredActivity
Exception Constraints Exception
page 692010-01-28 [email protected]
Process Modeling Constructs
page 702010-01-28 [email protected]
SWSO: ROWS
Rules Ontology of Web Services
Partial translation of FLOWS into SWSL- Rules
Features of ROWS
Since SWSL-Rules is inherently less expressive than SWSL-FOL, some axioms in ROWS are weakened with respect to the corresponding axiom in SWSL-FOL.
Top-level Classes of ROWS
Correspond to similar to classes of FLOWS
Service, Process, AutomicProcess, Message, Channel
prefix xsd = "http://www.w3.org/2001/XMLSchema".
Service[
name *=> xsd#string,
author *=> xsd#string,
contactInformation *=> xsd#string,
contributor *=> xsd#string,
………………………….
identifier *=> xsd#string,
subject *=> xsd#string,
trust *=> xsd#string,
reliability *=> xsd#string,
cost *=> xsd#string
].
page 712010-01-28 [email protected]
Semantic Web Service Architecture (SWSA)
Mission of the Semantic Web Services Initiative Architecture committee (SWSA): Development of architectural and protocol abstractions forming a reference architecture to support Semantic Web Service technologies on the World Wide Web
extends the Web Services Architecture developed by the Web Services Architecture Working Group of W3C
make use of terms and concepts in a conceptual architecture for semantic web services that extends the Web Services WG Architecture.
is based in part on the layered Semantic Web Architecture as proposed by Tim Berners-Lee
is taken from the OWL-S Coalition, WSMO Working Group, the open grid services architecture and the METEOR-S project
abstract protocols for interactions between clients and Semantic Web Services and other support services that may be needed in some contexts to fulfill the basic requirements of the proposed architecture
support functions to be accomplished by Semantic Web agents (service providers, requestors, and middle agents).
page 722010-01-28 [email protected]
SWSA Architectural Considerations
Dynamic Service Discovery: The capability of a software agent, through interaction with other agents, to identify candidate services for
particular objectives.
Service Engagement - Negotiation and Contracting: The capability of two agents to mutually formulate, by offline or online interaction, a shared agreement
on the terms of performance of a service to be provided by one agent for the other.
Service Process Enactment and Management: The capability to dynamically select and invoke or interact with services to achieve some defined
objective.
Semantic Web Community Support Services: Capabilities associated with sharing semantic descriptions, ontologies and ontology mappings, and
service catalogs within and across communities.
Semantic Web Service Lifecycle and Resource Management Services: The capability to spawn, allocate, manage and report on the life status of services, computational host
platforms and storage facilities for Semantic Web Services.
Cross-cutting Issues: Semantic representations of two kinds of service quality meta-properties may be important during
discovery of appropriate services, may appear in service agreements, and may be monitored during execution.
page 732010-01-28 [email protected]
Service Interaction Process of SWSA
• 서비스 발견 (Service Discovery) 단계• 서비스 약속 (Service Engagement) 단계• 서비스 처리 규약 및 관리 (Service Process Enactment and Management)• 시맨틱 웹 지원 관련 서비스 (Semantic Web Community Support Services)• 시맨틱 웹 서비스 생명주기 및 자원관리 서비스 (Semantic Web Service Lifecycle
and Resource Management Services)• 부가적 요구사항 (Cross-cutting Requirement)
page 742010-01-28 [email protected]
Negotiation-Commitment Process
page 752010-01-28 [email protected]
Main Principles of WSMF
Machine-Processible
Semantics
Ontology
TechnologyMediation
Two complementary principles
Automatic finding and
comparing
Diverse heterogeneous
data format
Diverse heterogeneous
business logic
Strong de-coupling
- information hiding : private process and public process
- scalable interaction for coupling process
Strong mediation
- mediate different terminologies / different interaction styles
page 762010-01-28 [email protected]
WSMO Framework
∙ WSMO Working Group : 시맨틱 웹서비스 모델 연구∙ WSML Working Group : 시맨틱 웹서비스 언어 연구∙ WSMX Working Group : 시맨틱 웹서비스 실행 환경 연구
WSMO WG
WSML WG WSMX WG
Languages for WSMO
Conceptual Model of Web Services
Run-Time
Execution Environment
Rule-base LanguageFormal Language
for WSMO
page 772010-01-28 [email protected]
WSMO Design Principles
Web Compliance inherits the concept of URI (Universal Resource Identifier) for unique identification of resources
adopts the concept of Namespaces for denoting consistent information spaces, and supports XML and other W3C Web technology recommendations, as well as the decentralization of resources.
Ontology-Based used as the data model throughout WSMO, meaning that all resource descriptions as well as all data
interchanged during service usage are based on ontologies.
semantically enhanced information processing as well as support for interoperability
Strict Decoupling is specified independently without regard to possible usage or interactions with other resources.
Centrality of Mediation addresses the handling of heterogeneities that naturally arise in open environments.
Ontological Role Separation differentiates between the desires of users or clients and available Web services.
Description versus Implementation differentiates between the descriptions of Semantic Web services elements (description) and executable
technologies (implementation).
Execution Semantics - verify the WSMO specification, the formal execution semantics of reference implementations like
WSMX as well as other WSMO-enabled systems provide the technical realization of WSMO.
Service versus Web service – A Web service is a computational entity which is able (by invocation) to achieve a goal. A service in
contrast is the actual value provided by this invocation.
page 782010-01-28 [email protected]
Core Components of WSMO
Ontologies consisted of concepts, relations, functions, axioms, instances, non-functional properties, imported
ontologies, and used mediators
Web Services describe the functional properties for service discovery, invocation, composition, mediation,
compensation and…
consisted of non-functional properties, imported ontologies, used mediators, capability and interfaces
should have more than one capability
Goals describe the required user’s goal of service.
consisted of non-functional properties, imported ontologies, used mediators, requested capability and requested interface
Mediators mediation of structural, semantic, conceptual mismatches
consisted of non-functional properties, imported ontologies, source comjponent, target comjponent and mediation service
4 types of mediators
page 792010-01-28 [email protected]
WSMO – the Web service element
page 802010-01-28 [email protected]
WSML
WSML provides a formal grounding for the conceptual elements of WSMO, based on:
Description Logics
Rule Languages
First-Order Logic
Many current Semantic Web languages have
undesirable computational properties
unintuitive conceptual modeling features
inappropriate language layering
• RDFS/OWL
• OWL Lite/DL/Full
• OWL/SWRL
WSML aims to:
Provide a Web Service Modeling Language based on the WSMO conceptual model
• Concrete syntax
• Semantics
Provide a Rule Language for the Semantic Web
page 812010-01-28 [email protected]
Web Service Modelling Language (WSML)
Ontology / Rule Languages
WSML Core: efficiency and compatibility
WSML DL: decidability, open world semantics
WSML Rule: efficient existing rule engines
WSML Full: unifying language, theorem proving
Languages for dynamics
Transaction Logic over ASMs
Mapping languages
for dynamics (process mediation)
for data (data mediation)
URIUnicode
XML
RDF (S)
WSML Core
WSML DLWSML Rule
WSML Full
Static
Aspects
Dynamic
Aspects
WSML
page 822010-01-28 [email protected]
Variants of WSML
WSML-Core
Based on the intersection of Description Logics and Datalog
Semantics defined through OWL Lite-
Has (frame-based) conceptual syntax and logical expression syntax
WSML-Flight
Based on OWL Flight
• Basic meta-class facility
• Constraints
• Non-monotonic features (default negation)
“Fixes” some of the mistakes in OWL, such as unintuitive modeling constructs
Preferred ontology modeling language
WSML-Rule
Based on Logic Programming with default negation and
F-Logic/HiLog syntactical extensions
Preferred goal/web service modeling language
WSML-DL
Based on species of OWL
WSML-Full
Combining FOL with minimal models and non-monotonicity
WSMO/WSML: Examples
Concept exampleconcept phoneNumber
nonFunctionalProperties
dc#description hasValue "concept of a
phone number"
endNonFunctionalProperties
countryCode ofType _string
areaCode ofType _string
number ofType _string
Relation example
relation hasRoute(ofType routeDescription, ofType route)
nonFunctionalPropertiesdc#description hasValue "Relation that holds between
a route description and a route"endNonFunctionalProperties
Axiom exampleaxiom ValidInformationQuality
definedBy
forall {?x} (
?x memberOf informationQualityType implies
?x[value hasValue “low“] or
?x[value hasValue “high“]).
Instance exampleinstance myPhoneNumber memberOf phoneNumber
countryCode hasValue “43“
areaCode hasValue “664“
number hasValue “49322607“ Sub-concept exampleconcept mobilePhoneNumber subConceptOf
phoneNumber
nonFunctionalProperties
dc#description hasValue "concept of a
mobile phone number"
endNonFunctionalProperties
mobileProvider ofType Provider
2010-01-28 page [email protected]
page 842010-01-28 [email protected]
WSMO/WSML: Examples
webService _"https://asg-platform.org/AttractionBooking/MobtelPhoneLocationService"nfp
dc#title hasValue "MobtelPhoneLocationService"dc#publisher hasValue "Mobtel“dO#informQualityType hasValue "high"
endnfpimportsOntology _"https://asg-platform.org/AttractionBooking/domainOntology.wsml"capability MobtelPhoneLocationServiceCapability
sharedVariables {?P}precondition
definedBy?P memberOf dO#phoneNumber.
postconditiondefinedBy
?L memberOf dO#locationanddO#hasLocation(?P,?L).
interface MobtelPhoneLocationServiceInterfacechoreography MobtelPhoneLocationServiceChoreography
stateSignaturein
dO#phoneNumber withGroundingssWSDL#wsdl.interfaceMessageReference(MobtelPhoneLocationServicePortType/doIt/In)out
dO#location withGroundingssWSDL#wsdl.interfaceMessageReference(MobtelPhoneLocationServicePortType/doIt/Out) transitionRules
forAll{?P} with (?P memberOf dO#phoneNumber) doadd(?L memberOf dO#location and dO#hasLocation(?P,?L))
endForall
page 862010-01-28 [email protected]
WSMX Architecture
page 872010-01-28 [email protected]
WSMX Functionality
Core Component: interactions between components (business logic of the system, events engine, internal worklow engine...)
Resource Manager: management of repositories to store definitions of any WSMO (Web Services, goals, ontologies and mediators) and non-WSMO related objects for WSMX.
Web Services Repository: Semantic Description of Web Services
Goals repository: semantic description of general goals
Ontology repository: ontologies to be stored in the registry describing semantics of particular domains.
Mediator repository: mediators to be stored in the registry.
Data repository :system data and any component specific data required for correct system execution.
Service Discovery: provide functionality on matching of usable SWS with the goals.
Goal-driven matching with the capability of Web Services and the user goal.
Service Selection: Selection of the appropriate Web Services among the candidate services discovered in Service Discovery
variant selection strategies: “best”, “optimal”, and “first”
Non-functional properties: cost, performance, geographical location, reliability, security, etc.
Data and Process Mediator: Mediator when two entities that cannot communicate directly need to interact.
Communication Manager
Choreography
mediate between the requester's and the provider's communication patterns.
provide the necessary means for a runtime analysis of two given choreography instances and to use Mediators to compensate the possible mismatches that may appear,
WSMT Web Service Modeling Toolkit (WSMT): framework for the rapid deployment of graphical administrative tools
page 882010-01-28 [email protected]
WSMX – Components
page 892010-01-28 [email protected]
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/
Semantic Web Services System
page 922010-01-28 [email protected]
IRS-III
UPML 기반의문제해결추론 시스템
WSMO 생성 지원
편리한서비스공표 기능
서비스발견과실행
OWL-S 지원
LispWeb Server
IRS-III Server
WS Publisher
Registry
OCML
WSMO Library
OWL(-S)
HandlerOWL(-S)
Browser
Invocation
Client
Publishing
Clients
SOAP
Handle
r
S
O
A
P
Web Application
SOAP
Publishing
Platforms
Web Service
Java Code
Browser
Handler
Publisher
Handler
Invocation
Handler
J
a
v
a
A
P
I
WSMX
page 932010-01-28 [email protected]
SWWS Studio
클라이언트용통합개발환경
WSMO 지원
Visual Service Composer와 Service Editor
로구성
서비스합성은 OWL-S만지원
page 952010-01-28 [email protected]
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
page 962010-01-28 [email protected]
METEOR-S
대규모 Workflow 관리 시스템을
시맨틱 웹서비스에 확장
서비스 라이프 사이클 관리 가능
서비스 기술에 WSDL-S 이용
서비스 저장고에 MWSDI 이용
본격적인 시맨틱 웹서비스 플랫폼
Policy
Handler
WSDL-S
Development
Deployment
Semantic
Publishing &
Discovery
Invoker &
Testing
Web Process
Designer
Publishing &
Discovery
Engine
WSDL-S
API
Process ManagerInvoker
Constraint
Analyzer Optimizer
UDDI
Registry
JWSDP
SOAP
Engine
Apache
Axis
Inference
Engine
Jena/
Snobase
BPEL
Engine
BPWS
4J
WSDL
Parser
WSDL4J
GUI
Core
ILP
Solver
Lindo
Infrastructure
Development Discovery Composition
SUPER Project
page 972010-01-28 [email protected]
SUPER Project
The major objective of Semantics Used for Process management
within and between EnteRprises (SUPER) is to raise
Business Process Management to the business level,
where it belongs, from the IT level where it mostly resides now.
SUPER aims to create the technological framework constituting BPM enriched with machine
readable semantics by employing Semantic Web and Semantic Web Services accompanied by
universal reference implementation for mechanized BPM.
SUPER Goals:
• To develop a comprehensive ontology stack that describes formal semantics for semantic
business processes
• To facilitate/support BPM tasks by semantic web service technology
• Semantic Business Process Composition
• Semantic Business Process Mediation
• To provide a holistic, semantically enriched modeling stack for BPM
• To provide “advanced” BPM functionality like semantic business process mining &
analysis
SUPER Modeling Stack
page 982010-01-28 [email protected]
SUPER Semantic Service Bus
page 992010-01-28 [email protected]
Summary & Research Trend
page 1012010-01-28 [email protected]
Different Approaches
STI2 approach
Web Services
UDDI,WSDL,SOAP
Current Web
URL, HTML, HTTP
Web Services
UDDI,WSDL,SOAP
Semantic Web
Services
Web Services
UDDI,WSDL,SOAP
Semantic Web
Ontology
Dynamic
Static
Knowledge
Location
Description
Communication
Web Services
UDDI,WSDL,SOAP
Web Services
UDDI, WSDL, SOAP
Information
Reso
urce
Services
Semantic Interoperability
Semantic
Integration
SWSI approach
page 1022010-01-28 [email protected]
Framework Comparison
WSMO WG
WSML WG WSMX WG
Languages for WSMO
Conceptual Model of Web Services
Run-Time
Execution Environment
Rule-base LanguageFormal Language
for WSMO Semantic Web Services Language
(SWSL)
Semantic Web Services Ontology
(SWSO)
Semantic Web Services Architecture (SWSA)
Dynamic Service
Discovery
Service Process
Enactment and
Management
Semantic Web Services
Lifecycle and Resource
Management Services
Semantic Web
Community
Support Services
Cross-Cutting IssuesService Engagement
SWSL-FOL SWRL-Rules
FLOWS ROWS
WSMO/WSML/WSMX
SWSI
page 1032010-01-28 [email protected]
Research Trend
Semantic
Web process
Semantic
Web serviceWeb service
Web process
Semantic Web Services Initiative (SWSI)Semantic Web Services Initiative (SWSI)
(WSMO/WSML/WSMX •••)
Industry Research Academic Research
Tim
e
Annotation
Advertisement
Discovery
Selection
Composition
Execution
OWL-S
OWL
DAML-S
DAML
••••••
SOAP
WSDL
UDDI
XML
•••
•••
BPEL4WS
WSCL
WSCI
XLANG
WSFL
•••
The Cloud is rising…
Definition by Wikipedia
Cloud computing literally means Internet ('Cloud') based development and use of computer technology ('Computing'). It is a style of computing where IT-related capabilities are provided “as a service” using Internet technologies to multiple external customers. It allows users to access technology-enabled services without knowledge of, expertise with, or control over the technology infrastructure that supports them.
Definition by Gartner
a style of computing where massively scalable IT related capabilities are provided 'as a service' using Internet technologies to multiple external customers.
Cloud computing is disruptive
IT-related capabilities provided “as a service”
Current economic downturn makes Cloud Computing more relevant than ever
Gartner reports that 25% of software will be delivered as SaaS 2011.
page 1042010-01-28 [email protected]
X-as-a-Service
page 1052010-01-28 [email protected]
http://blog.skytap.com/2008/10/the-cloud-wars-who-will-win/
as-a-Service Concept
page 1062010-01-28 [email protected]
SaaS PaaS IaaS
SaaS is a model of
software deployment
Managed from central
locations rather than at
costomer`s site
Provides the facilities to
support the end-to-end
life cycle of building
and delivering web
applications and
services
Provisioned on the fly,
on-demand model
Typically a virtualized
platform environment
Evolution towards
ubiquitous utility
computing
Cloud Computing
page 1072010-01-28 [email protected]
Examples
page 1082010-01-28 [email protected]
Core Players
page 1092010-01-28 [email protected]
Unified Ontology of Cloud Computing.
page 1102010-01-28 [email protected]
http://www.cs.ucsb.edu/~lyouseff/
Cloud Ontology
page 1112010-01-28 [email protected]
Thank you….Thank you…[email protected]@wku.ac.kr