1. Dynamic Monitoring of
Composed Services
Muhammad Asim
School of Computing and Mathematical Sciences
Liverpool John Moores University
2. Agenda
Composed Services with Dynamic behavior?
Aniketos Project
BPMN with Activiti engine
Proposed Framework
Future Work
Questions
3. 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.
4. Composed Services with Dynamic
behavior?
Service descriptions (including both functional and non-
A service composer is responsible for constructing service
Service discovery is based on matching user requirements
5. 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.
6. 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
7. 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
9. 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 & A user task throws events when the task assignment has
complete been performed
10. 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.
11. 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.
12. 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.
13. Thank you
Any Question / Suggestions / Comments ?