Presentation : Business Process Management with mobile routes

Post on 13-Jul-2015

149 views 0 download

Tags:

Transcript of Presentation : Business Process Management with mobile routes

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

charif.mahmoudi@u-pec.fr

fabrice.mourlin@u-pec.fr

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