1
SLA-Driven Business Process
Management in SOA
Vinod Muthusamy, Hans- Arno JacobsenUniversity of Toronto
Tony Chau, Allen Chan, Phil CoulthardIBM Canada
November 4, 2009CASCON 2009
msrg.toronto.edu
msrg.toronto.edu
CASCON 2009 2
Software Development Evolution
msrg.toronto.edu
CASCON 2009 3
Agenda
Goals and the business process development cycle
Service Level Agreements and business process management
Distributed process execution
msrg.toronto.edu
4
Currently, business goals must be manually considered at every stage of the business
process development cycle
N
Y
Far?Get
destinationValidaterequest
Find flight
Find train
cost < $0.02
service time < 3s
Only trusted partners
msrg.toronto.edu
5
Business analyst
Architect, developer
Administrator
Analyst, architect, administrator
Model
Services
Events
Goals and the Development Cycle
Modelling
Development
Execution
Monitoring
Let the system adapt to changing conditions to achieve the goals with minimal development and administrative effort
SimplicityAn analyst can specify goals without detailed knowledge of the implementation technologies
FlexibilityThe requirements and implementation technologies can be independently updated
End-to-end specificationRequirements captured in the tools can be enforced and monitored throughout the development cycle
Adaptive efficiencyThe system can allocate resources to meet changing requirements
msrg.toronto.edu
6
Layer SLA Metric Example
Business process
Cost Cost of search service < $0.02 per use
Fidelity/quality/utility Map resolution > 300x300
Trust/reputation Only use trusted payment service
Deployment/ Operations
Service time Execution time < 3s
Throughput Throughput > 100/min
Availability Uptime > 99.9%
Load balance Server utilization delta < 10%
Network Latency Service RTT < 100ms
Bandwidth Max bandwidth < 3Mbps
Jitter Delay jitter < 10ms
Service Level Agreements
SLAs are a contract between service consumers and providers that specifies the expected behaviour of each party and the penalties of
violating the contract
SLAs specify business goals declaratively
msrg.toronto.edu
7
SLAs at Development Time
Precisely specify SLA Flexible, reusable,
extensible model Quickly construct SLA
Validate SLA Supports loose
coupling of process and SLA
Monitor process Automatic
instrumentation Efficient event-based
monitoring
msrg.toronto.edu
CASCON 2009 8
Runtime Uses of SLAs
A B C D
p
q
Web service Execution engine
2
1b service time < 1s
M
ESB
A,B
D
1a
C
service time < 2s
Dynamic service discovery(fabric support)Discover services with capabilities that satisfy goals.
MonitoringOnly monitor the business events related to goals.Feed back measurements to support runtime adaptations.
Distributed executionFine-grained allocation of process to available resources.Move portions of process to strategic locations.
ESB adaptationReconfigure the ESB topology to satisfy goals. M Monitor ESB router
msrg.toronto.edu
9
Server Farm
Computers
ComputersDatabase
Laptops
Computers
Laptops
Database Server
Server
Deploy Control UpdateVisualize
Monitor ...
6
43
7
Content-based Routing
Workflow and Business Process Execution
start halt
Workflow Management and Business Activity Monitoring
Redirectresume
addremove
Content-based RouterClients (publisher/subscriber)
Switch
Server
Switch
Computing, Storage, Instruments and Networking Resources
Event ManagementFramework
BusinessActivityEvents
Business ProcessEvents
Business ProcessExecution Events
Network andSystem Events
Switch
CA*net 4
CommunicationEvents
Publish/Subscribe Point-to-Point Request/Reply Orchestration
Communication Abstractions
Vision
msrg.toronto.edu
Large-scale Business Processes
VendorVendor
SaleSale
ManufactureManufacture
FinanceFinance
Dispatch B
Out-stock B
Pick-up goods
Packaging
MarketingMarketing
Design
Out-stock B
Target price
Prototype
Out Take
Control
Assign
Confirm
Determinateplan
Check stock
Rawmaterials
Audit
Raw
Determinateplan
Executeplan
Processcontrol
Monitor
Process
Pay
Check
Signature
Print receipt
WarehouseWarehouse
Delivery
FedEx
Pick up
Monitoring
Statistic
Chart
StrategyStrategy DesignDesign MarketingMarketing OrderOrderManufactureManufacture PaymentPayment
Requirementcollection
Feature selection
Goods selection
Confirmfeatures
Material
Make plan
Feedback
Check order
Fill order
Check dealer Check credit
Approval Approval
Validate
Affirm order
Sale prediction
SignContract
CCCadministrate
Goods delivery
Fill dispatch bill
Fill out-stock bill
Credit card
msrg.toronto.edu
11
Distributed Process Execution
msrg.toronto.edu
12
Process Execution ArchitecturesCentralized One execution engine May not scale Central point of failure
Agent-based Distributed execution engine In-network processing
Lower bandwidth and latency Fine-grained use of resources
Clustered Replicated execution engines Centralized control and data
High bandwidth and latency Still may not scale
ABCD
ABCD
ABCD
D
C
A,B
msrg.toronto.edu
CASCON 2009 13
Agent Server
Atomic Redeployer
CandidateDiscovery
Messaging
Execution Engine
Tasks
Execution ResourceMonitor Estimators
Late
ncy
Ba
ndw
idth
En
gine
Res
ourc
e
RedeploymentManager
SLAs
Cost models
Ranking algorithms
Software Architecture
Instance states
Input, output queues
msrg.toronto.edu
14
1. Distribution cost Cdist = Cd3 * (Cd1 + Cd2)Cd1 Message rateCd2 Message sizeCd3 Latency
2. Engine cost Ceng = f(Ce1, Ce2,Ce3)Ce1 Load (number of instances)Ce2 Resources (CPU, memory, etc.)Ce3 Task complexity
3. Service cost Cserv = Cs1 + Cs2 + Cs3
Cs1 Latency of external serviceCs2 Execution time of external serviceCs3 Marshalling/unmarshalling
Cost(agent) = ∑wiCi
Cost(process) = ∑cost(agent)
The cost of a process is based on three cost components
These costs can be weighted to achieve different objectives
Optimize timewd1 = wd3 = we3 = Cserv = 1, other wi = 0
Optimize network overheadwd2 = wd3 = 1, other wi = 0
Various optimization criteria can be specified
Threshold criteria: ∑wiCi > x E.g., Report SLA violations within 3 s.
Minimized criteria: min( ∑wiCi ) E.g., Minimize distribution overhead
Cost Model
msrg.toronto.edu
15
Atomic Redeployment Traditional pub/sub client movement
protocols are expensive and do not offer strong transparency properties
Transactional movement Formalized movement properties similar to
ACID properties Efficient and guaranteed routing
reconfiguration See padres.msrg.utoronto.ca
t1
At Old Broker
t2
Disconnected At New Broker
t4t3
ActiveConnect(movein)
Disconnect(moveout)
tp
moveout
Client
1 2
movein
Client
msrg.toronto.edu
SLA Monitoring Overhead
Monitoring an SLA can be expressed as a process Systematic mapping into flow of monitoring
agents
Optimize the execution of the monitoring “process” itself E.g., minimize traffic
Scopefiltering
Scopefiltering
MetricComputation
MetricComputation
ExclusionsEnabling
ExclusionsEnabling
SLOEvaluation
SLOEvaluation
Action
Events
Events
Scopefiltering
Events
EventsEvents
Reports
One per SLA
One per atomic or composite metric
One per ActionGuarantee
Scopefiltering
One per SLO
MMMSLA
Optim.criteria
Web service
ESB
M Monitor
M
M
M2
1b
1a
msrg.toronto.edu
17
Evaluation
msrg.toronto.edu
CASCON 2009 18
Evaluation
Business process with time varying branch hotspots Initially biased towards A, B tasks
p = 90%, q = 10% Then biased towards B, C tasks
p = 10%, q = 90% Optimize network bandwidth
wd1 = 1, other wi = 0 3 execution engines Fix tasks A, C; allow task B to move Total cross-server messages of 100 process instances
A B C
p q
1-p 1-q 1
A
2 3
C
Execution engineESB router
Business process Deployment Topology
B
msrg.toronto.edu
CASCON 2009 19
Results Scenario 1: No change in initial branch probabilities (90%, 10%) Scenario 2: Changing branch probabilities System reconfigures to changing load
Scenario 2
0
500
1000
1500
2000
2500
Dynamic Static
Algorithm
Cro
ss-s
erve
r co
mm
. (m
essa
ges
)
Scenario 1
0
1000
2000
3000
4000
5000
Dynamic Static
Algorithm
Cro
ss-s
erve
r co
mm
. (m
essa
ges
)
msrg.toronto.edu
20
Summary
msrg.toronto.edu
21
Exploiting SLAs
Process instrumentation.Monitoring rules generation.
SLA validation.
Autonomic reconfiguration tomaintain SLA.
Fine grained resource usage.Automatic service composition.
Goal-based discovery.
Distributed, scalable architecture.Real-time monitoring.
Loosely coupled system.
Transparent, live reconfiguration.Localize process modification.
Distributed process search.Continuous search.
Process monitoring1 Distributed execution2 Service selection3
Papers:1. Automating SLA Modeling, CASCON 2008.2. SLA-Driven Distributed Application Development, MW4SOC 2008. Transactional Mobility in Distributed Content-Based Publish/Subscribe Systems, ICDCS 2009.3. Distributed Automatic Service Composition in Large-scale Systems, DEBS 2008. Efficient Event-based Resource Discovery, DEBS 2009
Formal SLA model
Distributed content-based publish/subscribe messaging middleware
A formal SLA model can drive various stages of distributed application development.
Publish/subscribe messaging is an enabling technology for certain features.
2
1b
M
ESB
A,B
D
1a
C
msrg.toronto.edu
CASCON 2009 22
Conclusions End-to-end management of process development
Declarative SLA goals separate from the business process Simplify transitions between modeling, development,
execution, monitoring phases All stages driven by declarative SLA requirements
Distributed process monitoring, execution, service selection Scalable but more difficult to globally optimize
Ongoing work More sophisticated reconfiguration algorithms Larger processes, topologies
msrg.toronto.edu
CASCON 2009 23
http://research.msrg.utoronto.ca/Eqosystem/ http://padres.msrg.utoronto.ca
An eQoSystem for declarative distributed applications with SLAs
Acknowledgements
Project websites