Copyright 2004 Digital Enterprise Research Institute. All rights reserved.
www.deri.org
Towards Dynamic Execution Semantics in Semantic Web Services Architecture
Michal Zaremba – SWS cluster internal Research Seminar
2
Overview
• Service Oriented Architectures• Messaging Model• Application Management – Component Plug-ability• Towards Dynamic Execution Semantics
3
Typical Business Process
CRMOrder
ManagementManufacturing Distribution
Glue code – integration code
4
Service Oriented Architectures (SOA)
• Decouple interface from implementation– Loosely coupled interfaces
• Process-Oriented vs. Component-based• Services composition
– Process flow between services– Data mapping/transformation
• Evolving Business Models– Technology changes & new business requirements– Continuous small changes vs. sporadic large ones
5
SOA Business Process
CRMOrder
ManagementManufacturing Distribution
Services (Possibly Web Services)
Core – Manager – Business Process
Choreography Discovery Mediator Communication
Manager
6
Benefits of SOA
• Better reuse– Build new functionality (new execution semantics) on top of
existing Business Services
• Well defined interfaces – Manage changes without affecting the Core System
• Easier Maintainability– Changes/Versions are not all-or-nothing
• Better Flexibility
7
Service Oriented Interface
• The interface to the service is implementation-independent
• The service can be dynamically invoked – Runtime binding
• The service is self-contained– Maintains its own state
8
Messaging
• Messaging is peer-to-peer facility• Distributed communication
– Loosely coupled
• Sender does not need to know receiver (and vice versa)• Asynchronous mechanism to communicate between
software applications
9
Application Management – Components Management
• Run-time reconfiguration, management and monitoring• Configuration through the property files – not sufficient
for SOA systems• Desired solution:
– Configure application at startup-time– Configure application during run-time
10
WSMX Management based on JMX
11
WSMO Design Principles
Strong Decoupling & Strong Mediationautonomous components with mediators for interoperability
Interface vs. Implementationdistinguish interface (= description) from implementation (=program)
Peer to Peerinteraction between equal partners (in terms of control)
WSMO Design Principles == WSMX Design Principles
== SOA Design Principles
12
WSMX Architecture
MessagingMessaging
Application Management
Application Management
Service Oriented
Architectures
Service Oriented
Architectures
13
Define “Business” Process
Discover Web Services
Create Choreography
Created
Discover Services
Mediate Data
Mediate Data
Return Mediated Data
Return Mediated Data
Return Web Services
Check Choreography
Confirmed
Call Invoker
Confirmed
Start
End
14
SOA for WSMX
MediatorDiscoveryChoreographyCommunication
Manager
Core – Manager – Business Process
15
Generate Wrappers for Components
Discover Web Services
Create Choreography
Created
Discover Services
Mediate Data
Mediate Data
Return Mediated Data
Return Mediated Data
Return Web Services
Check Choreography
Confirmed
Call Invoker
Confirmed
Start
End
Discovery Wrapper
Data Mediator Wrapper
ChoreographyWrapper
Communication Manager Wrapper
Registry of known components
16
Context Data
PROCESS CONTEXT
Discover Web Services
Create Choreography
Created
Discover Services
Mediate Data
Mediate Data
Return Mediated Data
Return Mediated Data
Return Web Services
Check Choreography
Confirmed
Call Invoker
Confirmed
Start
End
Discovery Wrapper
Data Mediator Wrapper
ChoreographyWrapper
Communication Manager Wrapper
Registry of known components
Choreography objectMediated objects,
Web Services entities
ErrorsExceptions
17
MediatorDiscoveryChoreographyCommunication
Manager
Core – Manager
“Business” Process – Internal Workflow
Choreography Wrapper
Discovery Wrapper
implements Mediator Interface
Event and Notification Distribution/Delivery Mechanism
Data Mediator Wrapper
Communication Manager Wrapper
events events eventsnotifications notifications notificationsnotificationsevents
18
Dynamic Execution Semantics in JMX
19
References
• Java Message Service Application Programming Interface (JMS API) specification
• Java Management Extension (JMX) specification• ebizQ Webinars
20
Q&A
Discussion