View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Knowledge Enabled Information and Services Science
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.)
4
Knowledge Enabled Information and Services Science
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 WS-Agreement.• 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)
7
Knowledge Enabled Information and Services Science
SAWSDL at a glance
8
Ack: Jacek Kopecky
Knowledge Enabled Information and Services Science
SAWSDL Example
…………<xs:element name= "processPurchaseOrderResponse" type="xs:stringwssem: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-outmodelReference = "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>
9
Knowledge Enabled Information and Services Science
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
10
<complexType name="POAddress“wssem:modelReference="POOntology#Address” wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.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" /> </all></complexType>
Address
xsd:string
xsd:string
xsd:string
OWL ontology
has_City
has_StreetAddress
has_Zip
WSDL complex type element
semantic match
Knowledge Enabled Information and Services Science
Using modelReference and schemaMapping
• modelReference at the leaf levels– assumes a 1:1 correspondence between leaf elements and domain model
concepts
11
<complexType name="POItem" >
<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” />
</all>
</complexType>
Item
dueDate
ItemDesc
Quantity
OWL ontology
hasIemDesc
hasDueDate
hasQuantity
WSDL complex type element
Knowledge Enabled Information and Services Science
Representing mappings
12
<complexType name="POAddress" wssem:schemaMapping=”http://www.ibm.com/schemaMapping/POAddress.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
xsd:string
xsd:string
xsd:string
OWL ontology
has_City
has_StreetAddress
has_Zip
WSDL complex type element
.... <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>....
Mapping using XSLT
Knowledge Enabled Information and Services Science
Knowledge Enabled Information and Services Science
Configuration and Adaptation – Roadmap
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
Constraint AnalysisSemantically Enhanced Policies/
SWAPS
Dynamic ExecutionExtenstions to SOA Middleware
and Runtime
WSDL
UDDI
WS-Policy, WS-Agreement
BPEL Engines (BPWS4J,
ActiveBPEL)
BPELComposition
Planning and patterns
Existing WS Standards/
Infrastructure
Process Adaptation
Dynamic Process Configuration
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 supplychain 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
METEOR-S MIDDLEWARE
Workflow Engine(IBM BPWS4J)
Web Services
Discovery
Constraint Analysis
Configuration Module
Adaptation Module
MDP
Deployed Web Process
Configuration/Invocation Request Message
Configuration/Invocation Response Message
Eve
nt fr
om s
ervi
ce
Service invocation
Process and
Service Managers
Entities
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
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