generation of situational applications from business process models
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
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
IBM Research - Brazil
2
Outline
Situational Applications
Motivation
Context of this work: SOA and BPM
Proposal
Architecture Overview
Architecture components and implementation
Conclusion
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
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
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)
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
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
IBM Research - Brazil
8
Architecture Overview
IBM Research - Brazil
9
Architecture components
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
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
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
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/
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
IBM Research - Brazil
15
Step 1: Import Business Process Model
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
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
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
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?
IBM Research - Brazil
20
Backup slidesBackup slides
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
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
IBM Research - Brazil
23
Architecture Overview