Dynamic Monitoring of Composed
ServicesMuhammad Asim
School of Computing and Mathematical Sciences
Liverpool John Moores University
Agenda
Composed Services with Dynamic behavior? Aniketos Project BPMN with Activiti engine Proposed Framework Future Work Questions
Composed Services with Dynamic behavior? A composite service is an aggregation of
multiple sub-services or service components (Atomic or compositions themselves).
A fundamental concepts in Service Oriented Architectures (SOA).
SOAs allow software components from different providers to be exported as services for external use.
Composed Services with Dynamic behavior?Service descriptions (including both functional and non-functional properties) are published by service providers.
A service composer is responsible for constructing service compositions and offering them to consumers.
Service discovery is based on matching user requirements and security needs with the published service descriptions.
Composed Services with Dynamic behavior? Typically, service composers will have different needs
and different requirements.
It important to ensure that a service should deliver what it promises and should match the user’s expectations
However, SOA-based applications are highly dynamic and liable to change heavily at runtime.
Aniketos1 Project Aniketos project is an EU research project that
addresses trustworthy and secure service compositions with run-time monitoring and adaptation of services.
Among the challenges is the monitoring of services at runtime to ensure that services behave as promised.
The proposed monitoring framework that is based on the
runtime monitoring of a service to ensure that the service behaves in compliance with a pre-defined security policy.
1 Aniketos is a collaborative project funded under the EU 7th Research Framework Programme (FP7/2007-2013) under
grant no 257930
BPMN & Activiti engine BPMN used as a modelling notation for business process
BPMN transformation into BPEL (Business Process Execution Language) Result in ambiguities and unexpected result
BPMN 2.0 standard with Activiti engine
Provide a standard for both business process modelling and implementing a process execution model
Both business oriented people and developer speak with the same vocabulary
Avoid ambiguities
Proposed Monitoring Framework
BPMN Process
Execution Listener
Event Manager Analyzer
Monitoring Policy
Monitoring Rules Repository
Activiti Engine
Interface
Service Composer
Notification
Events
Proposed Monitoring Framework The Activiti engine with the help of Execution Listeners
throws events for the deployed BPMN process.
BPMN construct Event type Description
Process Start and end A start and end event of a process instance
Activity Start and end A start and end execution listener of an activity
Transition Take A transition execution listener can catch a take transition event
User task Create, assignment & complete
A user task throws events when the task assignment has been performed
Proposed Monitoring Framework Event Manager: This module gathers the events coming
from the Activiti engine and passes them to the Analyzer.
Monitoring policy: A set of requirements that specify
what to monitor for a particular BPMN process. ConSpec to specify the monitoring policy. A policy written in ConSpec is easily understandable by humans
and the simplicity of the language allows a comparatively simple semantics.
This will enable the service composer to easily specify the monitoring requirements for their processes and monitor them using this framework.
Proposed Monitoring Framework Monitoring Pattern Repository: Holds definitions for
monitoring patterns, which are predefined.
Analyzer: Upon receiving events from the Event Manager, it analyses them by accessing patterns from the repository. It uses the monitoring policy to select the appropriate monitoring patterns for a particular process.
Interface: This is used to specify definitions for monitoring patterns using monitoring IDs.
Notification Module: This is mainly used by the Analyzer to report any violations.
FUTURE WORK Implementation of our proposed framework for some real
life scenarios.
To integrate and implement the language ConSpec in our framework for specifying the monitoring policy.
Thank you Any Question / Suggestions / Comments ?