Presentation : Business Process Management with mobile routes
-
Upload
charif-mahmoudi -
Category
Software
-
view
152 -
download
0
Transcript of Presentation : Business Process Management with mobile routes
![Page 1: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/1.jpg)
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
![Page 2: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/2.jpg)
2
Outline
• General context 3
• Enterprise Applications 5
• Orchestration specification 8
• Model-Driven approach 11
• Model transformations 15
• Architecture 17
• Results 18
• Conclusion 19
![Page 3: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/3.jpg)
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.
![Page 4: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/4.jpg)
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.
![Page 5: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/5.jpg)
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
![Page 6: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/6.jpg)
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
![Page 7: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/7.jpg)
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
![Page 8: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/8.jpg)
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
![Page 9: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/9.jpg)
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
![Page 10: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/10.jpg)
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
![Page 11: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/11.jpg)
Orchestration features
11
![Page 12: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/12.jpg)
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
![Page 13: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/13.jpg)
Which BPM Framework ?
13
![Page 14: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/14.jpg)
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
![Page 15: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/15.jpg)
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
![Page 16: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/16.jpg)
Apache Camel
Filter Pattern
16
From A send to BFilter message
![Page 17: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/17.jpg)
Apache Camel
Filter Pattern
17
from(A) to(B)filter(predicate)
![Page 18: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/18.jpg)
Apache Camel
Filter Pattern
18
from(A) .to(B).filter(isValid)
![Page 19: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/19.jpg)
Apache Camel
Filter Pattern
19
from(A).filter(isValid).to(B);
![Page 20: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/20.jpg)
Apache Camel
Filter Route
20
isValid = xpath("/flight/dest = ‘Doha’");
from(A).filter(isValid).to(B);
![Page 21: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/21.jpg)
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);
![Page 22: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/22.jpg)
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);
}
![Page 23: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/23.jpg)
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);
}
}
![Page 24: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/24.jpg)
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");
}
}
![Page 25: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/25.jpg)
25
Formal
representation
https://github.com/charifmahmoudi/pitocamel
![Page 26: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/26.jpg)
26
Generated pragmatic
representation
![Page 27: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/27.jpg)
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
![Page 28: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/28.jpg)
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>
![Page 29: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/29.jpg)
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
![Page 30: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/30.jpg)
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
![Page 31: Presentation : Business Process Management with mobile routes](https://reader030.fdocuments.net/reader030/viewer/2022020218/55a3dfd71a28ab6d6d8b45db/html5/thumbnails/31.jpg)
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