Semantics in Services - Wright State University

Download Report

Transcript Semantics in Services - Wright State University

Semantics in Services
Dr. Amit P. Sheth,
Lexis-Nexis Eminent Scholar,
kno.e.sis center,
Wright State University, Dayton, OH.
Knowledge Enabled Information and Services Science
Outline
• Motivation
• SAWSDL
• Dynamic Configuration
• Event Identification
Knowledge Enabled Information and Services Science
Motivation
•
Evolution of business needs drives IT innovation
•
Initial focus on automation led to workflow technology
•
In order to facilitate efficient inter-organizational processes distributed
computing paradigms were developed
– CORBA, JMS, Web Services
•
The current and future needs include:
– Creating highly adaptive process that react to changing conditions
• Focus on real time events and data – RFID and ubiquitous devices
– Have the ability to quickly collaborate with new partners
– Aligning business goals and IT processes
Knowledge Enabled Information and Services Science
Advantages of Semantics
• Reuse
– Semantic descriptions of services to help find relevant services
• Interoperability
– Beyond syntax to semantics (ontology based approach)
• Composition
– Enable dynamic binding of partners
• Some degree of automation across process lifecycle
– Process Configuration (Discovery and Constraint analysis)
– Process Execution (Addressing run time heterogeneities like data
heterogeneities.)
Knowledge Enabled Information and Services Science
4
Semantics for SOA Lifecycle
• Data Semantics: The semantics of the data that is either the input to
a service or that is the output of the service.
– Eg. Annotated service input and output specification.
• Functional Semantics: The semantics of what the service offers, the
interfaces and the operations in a service.
– Eg. Annotated interface and operation specifications of a service.
• Non-Functional Semantics: The qualitative and the quantitative
non-functional aspects of a service and its operations are modeled
using non-functional semantics.
– Adding semantics to policy specifications such as WS-Policy and WSAgreement.
• Execution Semantics: The semantics concerning the various
exceptions and the actions to adapt to these during service
execution.
– Modeling execution paths using task skeletons
Knowledge Enabled Information and Services Science
SAWSDL: Semantic Annotations for WSDL
Knowledge Enabled Information and Services Science
SAWSDL
• Semantic Annotations for WSDL
– Adds semantics to service descriptions via model references.
– W3C Candidate Recommendation
• Offer an evolutionary and compatible upgrade of existing
Web services standards
• Externalize the semantic domain models
– agnostic to ontology representation languages.
– reuse of existing domain models
– allows annotation using multiple ontologies (same or different domain)
Knowledge Enabled Information and Services Science
7
SAWSDL at a glance
Knowledge Enabled Information and Services Science
8
Ack: Jacek Kopecky
SAWSDL Example
…………
<xs:element name= "processPurchaseOrderResponse" type="xs:string
wssem:modelReference="POOntology#OrderConfirmation"/>
</xs:schema>
</types>
<interface name="PurchaseOrder">
<wssem:category name= “Electronics” taxonomyURI=http://www.naics.com/
taxonomyCode=”443112” />
<operation name="processPurchaseOrder” pattern=wsdl:in-out
modelReference = "rosetta:#RequestPurchaseOrder" >
<input messageLabel = ”processPurchaseOrderRequest"
element="tns:processPurchaseOrderRequest"/>
<output messageLabel ="processPurchaseOrderResponse"
element="processPurchaseOrderResponse"/>
<!—Precondition and effect are added as extensible elements on an operation>
<wssem:precondition name="ExistingAcctPrecond"
wssem:modelReference="POOntology#AccountExists">
<wssem:effect name="ItemReservedEffect"
wssem:modelReference="POOntology#ItemReserved"/>
</operation>
</interface>
Knowledge Enabled Information and Services Science
9
Using modelReference and
SchemaMapping
• modelReference at the complex type level
–
–
Typically used when specifying complex associations at leaf level is not possible
Allows for specification of a mapping function
semantic match
<complexType name="POAddress“
wssem:modelReference="POOntology#Address”
wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAdd
ress.xq#input-doc=doc(“POAddress.xml”)”>
<all>
<element name="streetAddr1" type="string" />
<element name="streetAdd2" type="string" />
<element name="poBox" type="string" />
<element name="city" type="string" />
<element name="zipCode" type="string" />
<element name="state" type="string" />
<element name="country" type="string" />
<element name="recipientInstName" type="string" />
</complexType>
WSDL complex type element
Address
has_StreetAddress
xsd:string
has_City
xsd:string
has_Zip
</all>
xsd:string
OWL ontology
Knowledge Enabled Information and Services Science
10
Using modelReference and
schemaMapping
• modelReference at the leaf levels
–
assumes a 1:1 correspondence between leaf elements and domain model concepts
<complexType name="POItem" >
Item
<all>
<element name="dueDate" nillable="true" type="dateTime"
wssem:modelReference=”POOntology#DueDate”/>
<element name="qty" type="float"
wssem:modelReference=”#POOntology#Quantity”/>
<element name="EANCode" nillable="true" type="string"
wssem:modelReference=”POOntology#ItemCode”/>
<element name="itemDesc" nillable="true" type="string"
wssem:modelReference=”POOntology#ItemDesc” />
hasDueDate
dueDate
hasIemDesc
ItemDesc
</all>
hasQuantity
</complexType>
Quantity
WSDL complex type element
OWL ontology
Knowledge Enabled Information and Services Science
11
Representing mappings
<complexType name="POAddress"
wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAdd
ress.xsl#input-doc=doc(“POAddress.xml”)”>
<all>
<element name="streetAddr1" type="string" />
<element name="streetAdd2" type="string" />
<element name="poBox" type="string" />
<element name="city" type="string" />
<element name="zipCode" type="string" />
<element name="state" type="string" />
<element name="country" type="string" />
<element name="recipientInstName" type="string" />
</all>
</complexType>
Address
has_StreetAddress
xsd:string
has_City
xsd:string
has_Zip
xsd:string
OWL ontology
WSDL complex type element
Mapping using XSLT
....
<xsl:template match="/">
<POOntology:Address rdf:ID="Address1">
<POOntology:has_StreetAddress rdf:datatype="xs:string">
<xsl:value-of select="concat(POAddress/streetAddr1,POAddress/streetAddr2)"/>
</POOntology:has_StreetAddress >
<POOntology:has_City rdf:datatype="xs:string">
<xsl:value-of select="POAddress/city"/>
</POOntology:has_City>
<POOntology:has_State rdf:datatype="xs:string">
<xsl:value-of select="POAddress/state"/>
</POOntology:has_State>....
Knowledge Enabled Information and Services Science
12
Knowledge Enabled Information and Services Science
Configuration and Adaptation – Roadmap
Existing WS
Standards/
Infrastructure
WSDL
UDDI
BPEL
WS-Policy,
WS-Agreement
BPEL Engines
(BPWS4J,
ActiveBPEL)
Semantic Web Enablers
Ontologies:
Specification of
conceptualization. Mode of
capturing concepts and
their relationships, etc.
OWL: Ontology Web
Language
SWRL: Semantic Web Rule
Language
Annotation/
Representation
WSDL-S/SAWSDL (02-06)
Discovery (MWSDI / SSR)
Mapping WSDL-S into UDDI
Dynamic Process
Configuration
Composition
Planning and patterns
Process Adaptation
Constraint Analysis
Semantically Enhanced Policies/
SWAPS
Dynamic Execution
Extenstions to SOA Middleware
and Runtime
Knowledge Enabled Information and Services Science
Linking the different layers in a business
process
Knowledge Enabled Information and Services Science
Semantic Templates
• SAWSDL + Enhanced policy descriptions to model the
data, functional and non-functional semantics at the
various tiers
– Business Process Tier: Capture process level requirements
– Implementation Tier: Capture partner level requirements
• Non-functional semantics captured at template and
operation levels.
• XML representation for interoperability.
Knowledge Enabled Information and Services Science
Semantic Templates
• SAWSDL for data and functional semantics
• Semantic Policy Descriptions for non-functional
semantics
Knowledge Enabled Information and Services Science
Example of a semantic template in the supply
chain domain
Knowledge Enabled Information and Services Science
Dynamic Binding: Guiding principles
• Semantic templates to capture the requirements for each
partner.
• Partners are selected during the run time of the process
and the process is configured
– Semantically Enhanced UDDI Registries for discovery of
partners.
– Approaches to match enhanced policies (Sem-Pol) and
agreements (SWAPS)
• Execution environment supporting discovery,
configuration and invocation.
Knowledge Enabled Information and Services Science
Example of a process with semantic templates
Knowledge Enabled Information and Services Science
Dynamic Configuration: Components
• Semantically enhanced Services Registry (SSR)
– Domain aware services registry for publishing and selecting
services.
– Extends UDDI data structures natively
– Domain awareness allows for reasoning on annotations.
– Support for WS-Policy and Enhanced WS-Policy for service
selection.
– Mapping UDDI to SAWSDL
Knowledge Enabled Information and Services Science
High Level Architecture of Middleware infrastructure
Event from service
Web Services
Adaptation
Module
Service
invocation
METEOR-S
MIDDLEWARE
Process
and
Service
Managers
MDP
Configuration/Invocation
Response Message
Entities
Configuration
Module
Discovery
Constraint
Analysis
Configuration/Invocation
Request Message
Workflow Engine
(IBM BPWS4J)
Process Manager (PM):
Responsible for global process
configuration
Service Manager (SM):
Responsible for interaction of
process with service
Configuration Module (CM):
Discovery and constraint
analysis
Adaptation Module (AM):
Process adaptation from
exceptions/events
Deployed Web Process
Knowledge Enabled Information and Services Science
Towards Autonomy at the middleware level
• Self adapting, Self Optimizing, Self Healing and may be Self Buying
(If you are selling these)
• What can go wrong, How do I know when things go wrong and what
do I do?
• What can go wrong?
– Identifying events
• How do I know when things go wrong?
•
– Subscription management and notification management
What do I do when things go wrong?
– Adaptation modeling and Strategies
Knowledge Enabled Information and Services Science
Algorithm for Event Identification
Knowledge Enabled Information and Services Science