Upload
charif-mahmoudi
View
149
Download
0
Tags:
Embed Size (px)
Citation preview
Business Process
Management with
mobile routes Charif Mahmoudi and Fabrice Mourlin
LACL (CNRS FRE 2673)University of Paris EST – France
AICCSA 2014
International Conference on Computer Systems and Applications
November 10-13, 2014, Doha, Qatar
2
Outline
• General context 3
• Enterprise Applications 5
• Orchestration specification 8
• Model-Driven approach 11
• Model transformations 15
• Architecture 17
• Results 18
• Conclusion 19
3
General context
• Labs: L.A.C.L. Labs Algorithm Complexity Logics
– Team: P.C.S. Parallel and Communicating System,
– Manager: Prof. C. Dima
• Work group: Mobile Communicating System
• Members: Fabrice Mourlin– Cyril Dumont (PhD)
– Charif Mahmoudi (PhD Student)
– Guy-lahlou Djiken (PhD Student)(co-supervised by Prof. Fotso)
– Stiven Anten (PhD Student)
• Industrial Projects:
– MobileSim: numeric computing based on mobile agents
system with ESI-Group
– MobilePlanner: distributed planning manager with Agent/OS.
4
State of the artResearch area
• Service composition• WS-CDL. PELTZ, Chris. Web services orchestration and choreography. Computer, 2003, vol. 36, no 10,
p. 46-52.
• BPEL4WS JURIC, Matjaz B., MATHEW, Benny, et SARANG, Poornachandra G. Business Process Execution Language for Web Services: An Architect and Developer's Guide to Orchestrating Web Services Using BPEL4WS. Packt Publishing, 2006.
• Patterns in service composition• EIP:. HOHPE, Gregor et WOOLF, Bobby. Enterprise integration patterns. In : 9th
Conference on Pattern Language of Programs. 2002. p. 1-9.
• Apache Camel: IBSEN, Claus et ANSTEY, Jonathan. Camel in action. Manning Publications Co., 2010.
• Our contribution• MAHMOUDI, Charif et MOURLIN, Fabrice. Adaptivity of Business Process. In : ICONS 2013, The Eighth
International Conference on Systems. 2013. p. 19-26.
• MAHMOUDI, Charif et MOURLIN, Fabrice. Orchestration Definition from Business Specification. In : ICSEA 2012, The Seventh International Conference on Software Engineering Advances. 2012. p. 197-204.
Business Agent
• Agent characteristics – Autonomy – is master of its decisions.
– Reactivity – perceive the changes in its environment
– Proactivity – determine the actions to achieve its objective
– Social – communicate with other agents
• Business Agent – Composition of business services
• Autonomy based on – OSGi
– Mesos
– Marathon
• Reactivity based on ESB
• Proactivity based on BP
• Social based on orchestration 5
6
Why do we need Web
Service ?
• Analytic concept– Independence of concern – WS contains only a local or
remote call to a business basic task.
• Design concept– Business delegate – WS is an application of design
pattern: task is encapsulated into a class.
• Programming concept– Framework – each web language has several
frameworks for WS implementation,
– Time development – short lifecycle, it exposes a local task on network.
WS : Web Service
Business Process
management
• Reduce
– human error
– miscommunication
• Focus stakeholders
– requirements
– their roles
• Orchestration
– the entity that manages
complex cross domain
business processes 7
CC : eunomia-process.com
8
Why do we need
Orchestration?• Web services coordination
– Workflow description - an agent does not know the others and their communication protocol into a B.P.
• Software transaction– Business process – it is implemented by an algorithm
based on a set of web service calls into a transaction.
– Local or not – a transaction can be local or distributed over network
• Business activity monitoring– Business tracking – B.P. evaluation is not atomic, its
current state can be observable,
– Volume – B.P. monitoring can stress impacts between each other.
BP:Business Process
9
Orchestration specification
• W3C (glossary)
– “The pattern of interactions that must respect a Web service agent to achieve its purpose.".
• An expert describes business logics into a main description :
• BPMN (graphical representation)
• BPML (textual representation)
• “CODE”(interpretable representation of Business Process)
BPMN BP Modelling Notation
10
Orchestrationexample
• BP can define investment management in a Financial organization
• BP can express inscription process at an international conference
• BP also provides audit process on stock management into a manufactory
Orchestration features
11
OrchestrationFramework
• Why do we need integration?
– Your apps are build using different tech
stacks
– Critical for your business to integrate
• Why Integration Framework?
– Framework do the heavy lifting
– Focus on business problem
– Not "reinventing the wheel"12
Which BPM Framework ?
13
What is Apache Camel
• Quote from the web site
– http://camel.apache.org
14
Apache Camel is a powerful Open Source Integration Framework based on knownEnterprise Integration Patterns
EIP Orchestration
using Apache Camel
• EIP specifications • not initially dedicated to orchestration,
• could be used as tools allowing orchestration
– Transformer or Aggregator pattern.
• based on the "pipe and filter" architecture
15
Apache Camel
Filter Pattern
16
From A send to BFilter message
Apache Camel
Filter Pattern
17
from(A) to(B)filter(predicate)
Apache Camel
Filter Pattern
18
from(A) .to(B).filter(isValid)
Apache Camel
Filter Pattern
19
from(A).filter(isValid).to(B);
Apache Camel
Filter Route
20
isValid = xpath("/flight/dest = ‘Doha’");
from(A).filter(isValid).to(B);
Apache Camel
Filter Route
21
Endpoint A = endpoint(“cxf:bean:url1");
Endpoint B = endpoint(“cxf:bean:url1");
Predicate isValid = xpath("/flight/dest = ‘Doha’");
from(A).filter(isValid).to(B);
Apache Camel
Filter Route
22
public void configure() throws Exception {
Endpoint A = endpoint(“cxf:bean:url1");
Endpoint B = endpoint(“cxf:bean:url2");
Predicate isValid = xpath("/flight/dest = ‘Doha’");
from(A).filter(isValid).to(B);
}
Apache Camel
Filter Route - Java DSL
23
import org.apache.camel.builder.RouteBuilder;
public class FilterRoute extends RouteBuilder {
public void configure() throws Exception {
Endpoint A = endpoint(“cxf:bean:url1");
Endpoint B = endpoint(“cxf:bean:url2");
Predicate isValid = xpath("/flight/dest = ‘Doha’");
from(A).filter(isWidget).to(B);
}
}
Apache Camel
Filter Route - Java DSL
24
import org.apache.camel.builder.RouteBuilder;
public class FilterRoute extends RouteBuilder {
public void configure() throws Exception {
from("cxf:bean:url1")
.filter().xpath("/flight/dest = ‘Doha’")
.to("cxf:bean:url2");
}
}
25
Formal
representation
https://github.com/charifmahmoudi/pitocamel
26
Generated pragmatic
representation
27
Architecture
BP route job
Marathon
scheduler
ZooKeeper quorum
Allocation
module
Mesosmaster
Mesos slaveMesos slave
Docker executor
Service
“url1”
Remote
Docker
repository
Mesosmaster
Mesosmaster
Docker executor
Remote
Docker
repositoryRoute
on Karaf
Service
“url2”Route
on KarafRoute
migration
28
Case Study
POST /get_businessDetail
HTTP/1.1
Host: www.JetLines.com
Content-Type: text/xml; charset="utf-8"
Content-Length: 454
SOAPAction: "get_businessDetail"
<?xml version="1.0" encoding="UTF-8" ?>
<Envelope xmlns="http://schemas/xmlsoap.org/soap/envelope/">
<Body>
<get_businessDetail generic="2.0" xmlns="urn:uddi-org:api_v2">
<businessKey="C90D844D-772ADH-4130-9DD3-5303449070C2">
</businessKey>
</get_businessDetail>
</Body>
</Envelope>
29
Results
TABLE I. TIME MEASURE FOR THE ASYNCHRONOUS WEB SERVICE CALLS
Web service Total Count Average Min Max
AsyncJetLines 231 1 231 231 231
AsyncEasyLines 302 1 302 302 302
TABLE II. TIME MEASURE FOR THE ASYNCHRONOUS WEB SERVICE CALLS WITH MOBILE ROUTE
Web service Total Count Average Min Max
AsyncJetLines 455 1 455 455 455
AsyncEasyLines 682 1 682 682 682
30
Conclusion
• Business features:– Business logic
• Flexibility and reusability of services
• Declarative deployment target
– Rethinking Business Processes definition• cluster schedulers
• private clouds
• build, package and deploy services
• Technical features:– Mesos/Marathon/Docker architecture
• Cluster management
• Failure detection
• Failover mechanism
31
Future tasks
• Software transaction – Often, BP is a global transaction containing set of web
services. Only atomic transaction are considered today
– We want to define business transaction and undoable mechanism
• Security management– Often, BP needs secure control based on global
strategy
– We want to realize secure BP where controls are done through a distributed approachEach host can have its own security process valuator