generation of situational applications from business process models

23
IBM Research - Brazil 1 Generation of Situational Applications from Business Process Models Flávio Faria 1 , Leonardo Guerreiro Azevedo 1,2 , Flavia Maria Santoro 1 {flavio.faria, azevedo, flavia.santoro}@uniriotec.br; [email protected] 1 Graduate Program in Informatics (PPGI) Federal University of the State of Rio de Janeiro (UNIRIO) 2 IBM Resesarch Brazil, Rio de Janeiro, Brazil

Upload: flavio-faria

Post on 21-Jun-2015

88 views

Category:

Presentations & Public Speaking


1 download

DESCRIPTION

Situational applications are developed by end users to solve day-to-day problems in the business scenario. The demand for this type of application is increasing since IT departments usually are not able to delivery it in agile way. Traditional software development processes do not have the agility and simplicity to fulfill the requirements of this type of application. This presentation presents a proposal of architecture for situational application generation using BPM, SOA and Mashup.

TRANSCRIPT

Page 1: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

1

Generation of Situational Applications from Business Process Models

Flávio Faria1, Leonardo Guerreiro Azevedo1,2, Flavia Maria Santoro1

{flavio.faria, azevedo, flavia.santoro}@uniriotec.br; [email protected]

1Graduate Program in Informatics (PPGI)

Federal University of the State of Rio de Janeiro (UNIRIO)

2IBM Resesarch Brazil, Rio de Janeiro, Brazil

Page 2: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

2

Outline

Situational Applications

Motivation

Context of this work: SOA and BPM

Proposal

Architecture Overview

Architecture components and implementation

Conclusion

Page 3: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

3

Situational Applications

Situational Applications are indicated to solve immediate and short-lived problems in the business scenario

– Correspond to features not provided by an existing software– Support a large spectrum of real applications, example

• Vacation planning• Seminar management• Research evaluation domain• Crisis caused by natural disaster

– Usually developed by end user

Page 4: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

4

Motivation

Traditional software development methods and techniques do not fulfill situational application requirements

Challenges– Assist end users to develop their own application– Usually situational application features are required by a small group of employees

Example: situational application developed during Katrina Hurricane to planning relief supplies logistics

http://www.youtube.com/watch?v=6xB0psBjpjI

Page 5: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

5

Context of this work

Presents an architecture for situational application development combining – BPM (Business Process Management) – SOA (Service-Oriented Architecture)

SOA and BPM alignment – An important strategy to reduce the gap between business and IT (Neubauer, 2009)

Services– Self-contained computational elements, platform independents that supports

composition to develop new applications (Papazoglou et al., 2007)

Page 6: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

6

Activity 2

System 1

Cluster 3 Cluster 3

Businessrequirement 2

Electronic document 1Electronic document 1

Organizational elements & Appl... .

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Carr

ies o

ut &

Supp

orts

Oth

er

Organizational unit 1

Applicationsystem type 1

Startevent

Activity 1 Activity 2

Activity 3

Activity 5

Activity 4

Intermediate event

1

Intermediate event

2

Intermediate event

4

Intermediate event

3

End event

Organizational elements & Appl... .

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Car

ries

out &

Sup

ports

Oth

er

Applicationsystem type 1

Startevent

Activity 1

Activity 2 Activity 3 End eventApplication

system type 2

Processinterface 1

Process 1

Subprocess 1 Subprocess 2 Subprocess 3 Subprocess 4

SOA and BPM

Activity 1

System 1

Cluster 1

Cluster 2

Cluster 2

Businessrule 1

Businessrequirement 1

Database1

Database1

Business process

view

Service

view

Page 7: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

7

Main contribution

Proposal– Present a mashup solution that combines existing concepts and technologies to

create a tool that support situational appliation generation

Logic is generated from a business process model control flow

Solution handles– Data transformation– Data mapping– Service composition– Application running– End-user oriented

Main challenge– Reduce/Eliminate technical knowledge in order non-programming users can create

situational applications

Page 8: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

8

Architecture Overview

Page 9: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

9

Architecture components

Page 10: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

10

Architecture components

External Service Module: Integrates the generated application to external servicesExternal Service Module: Integrates the generated application to external services

Execution Module: Run the generated applicationExecution Module: Run the generated application

Page 11: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

11

Architecture components

SIP (or PIS – Process Import Service)

– Extracts information from business process models

SEP (or PEX – Process Export Service)

– Discovers the services that meet user requirements

SGA (or AGS – Application Generation Service)

– Generates the application using extracted information from BP

– Data mapping is performed using BP activities input and output data

SIA (or ADS – Application Deployment Service)

– Automates deployment• Compilation, Build and Deployment

RDA (or ADR – application data repository)– Stores internal information and

information required to access external services

Page 12: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

12

Architecture Implementation

Implementation using a Service-Oriented Approach

Each module has a set of web services– Java language, JAX-WS, JAXB, XML, XSD, WSDL

BPMN as process modeling notation– Simple notation to consider SOA (Weske, 2007)

– Business users understand the notation (Ko et al., 2009)

– It allows mapping to an execution language (Ko et al., 2009)

XPDL (XML Process Definition Language) as BP representation format– Main standard for BP information exchange (Ko et al., 2009)

– Process Import Service extracts business process information from a XPDL file– Workflow patterns (van deer Aalst et al., 2003) are used to identify process constructs

UBL (Universal Business Language) for service identification (Souza e Rabelo, 2010)

EMML (Enterprise Mashup Markup Language) as process execution language– Standard for mashup application development (Capiello et al., 2011)

Application is generated following a MVC approach– Data manipulation, Controller, and Web pages

Page 13: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

1313

Data: 13/04/23

Example of a Situational Application

Scenario: Research evaluation application to measure the quality of researches performance (adapted from Daniel et al., 2012). The idea is illustrate with a demo application using the proposed architecture.

Application flow:1. List IS researches;2. For each research, get publications;3. Calculate the performance index based on Qualis system (QUALIS: A = 1 (high);

B = 0.5 (medium); C = 0 (low);4. Generate an aplication based on business process model control flow.

http://www.bizagi.com/

Page 14: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

14

This is the main service of the architecture and it is responsible for serialize the process flow structures

– XPDL heuristics perform control flow recognition and bind to Java objects– Create the process instance and load– Discovery and bind services based on UBL ontology– Start the control flow recognition (graph, node, tasknode…)

Step 1: Import Business Process Model

Page 15: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

15

Step 1: Import Business Process Model

Page 16: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

16

Step 2: Transform Process

Transform the process to the executable format and generate the service composition….

– Generate EMML composition– Create a new mashup instance– Marshalling the mashup object to EMML format

Page 17: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

17

Step 3: Generate the application

Generate the application in runtime– Generate the application based on the services contained in the composition – Java MVC class are created using Java reflection API and Javassist library– Design patterns as Template method, Abstract Factory, Facade are being used to

guarantee the abstraction level necessary to generate the app– Deploy and execute the application in the runtime engines

Page 18: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

18

Conclusion

Contributions– Provide a high-level service oriented architecture for situational application

generation from business processes models by end user– Implementation and integration details of the solution that would contribute for

situation application development

Future work– Finish the implementation– Perform an evaluation in real scenarios

Page 19: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

19

Generation of Situational Applications from Business Process Models

Flávio Faria1, Leonardo Guerreiro Azevedo1,2, Flavia Maria Santoro1

{flavio.faria, azevedo, flavia.santoro}@uniriotec.br; [email protected]

1Graduate Program in Informatics (PPGI)

Federal University of the State of Rio de Janeiro (UNIRIO)

2IBM Resesarch Brazil, Rio de Janeiro, Brazil

Thank you! Questions?

Page 20: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

20

Backup slidesBackup slides

Page 21: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

21

Ingredients for situational application development

High-level application specification and modeling suitable for business-to-end user approach

Capabilities to integrate information provided by different sources and service composition technologies

Support service lightweight orchestration based on the business processes and workflow

Drive end users without programming skills in designing the application composition logic by re-using existing components

Agile software development processes to simplicity and fulfill the requirements of situational application

Page 22: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

22

Situational Application RequirementsEnd-user Requirements

• Non-programmer• User friendly• Simple and graphical

modeling language• Solve immediate

business needs…

Business Requirements

• Reduce costs • Increase ROI & profit • Productivity & agility• On-demand...

Software Development Requirements

• Requirement Traceability

• Solution design• Coding & tests• SCM• Integration...

Situational Application

Page 23: Generation of Situational Applications from Business Process Models

IBM Research - Brazil

23

Architecture Overview