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.
If this Giant Must Walk: A Manifesto for a New Nigeria
Generation of Situational Applications from Business Process Models
1. 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; LGA@br.ibm.com
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
established June 2010
Mission: To be known for our science and technology and vital
to IBM, Brazil, our clients in the region and worldwide
view from Rio de Janeiro Lab
2. IBM Research - Brazil
2
Outline
Situational Applications
Motivation
Context of this work: SOA and BPM
Proposal
Architecture Overview
Architecture components and implementation
Conclusion
3. 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
4. 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
5. 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)
6. IBM Research - Brazil
6
Activity 2
System 1
Cluster 3 Cluster 3
Business
requirement 2
Electronic document 1Electronic document 1
Organizational elements & Appl...
Carriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&Supports
Organizatio
nal unit 1
Application
system type 1
Start
event
Activity 1 Activity 2
Activity 3
Activity 5
Activity 4
Intermedi
ate event
1
Intermedi
ate event
2
Intermedi
ate event
4
Intermedi
ate event
3
End event
Organizational elements & Appl...
Carriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&SupportsCarriesout&Supports&Supports
Application
system type 1
Start
event
Activity 1
Activity 2 Activity 3 End event
Application
system type 2
Process
interface 1
Process 1
Subprocess 1 Subprocess 2 Subprocess 3 Subprocess 4
SOA and BPM
Activity 1
System 1
Cluster 1
Cluster 2
Cluster 2
Business
rule 1
Business
requirement 1
Database
1
Database
1
BusinessprocessviewServiceview
7. 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
10. IBM Research - Brazil
10
Architecture components
External Service Module: Integrates the
generated application to external services
Execution Module: Run the generated application
11. 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
12. 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
13. IBM Research - Brazil
13
13
Data: 01/06/2014
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/
14. 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
15. IBM Research - Brazil
15
Step 1: Import Business Process Model
16. 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
17. 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
18. 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
19. 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; LGA@br.ibm.com
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
established June 2010
Mission: To be known for our science and technology and vital
to IBM, Brazil, our clients in the region and worldwide
view from Rio de Janeiro Lab
Thank you! Questions?
21. 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
22. IBM Research - Brazil
22
Situational Application Requirements
End-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
23. IBM Research - Brazil
23
Import
Process
• Serializes process structures (tasks,
events and gateways).
• Simple API for BPMN serialization using
Java objects.
• Mapping from BPMN to Java is based on
XPDL standard.
Transform
Process
• Transform process into executable language.
• The transformation is based on the workflow
patterns.
• Handle the composition logic converting process
elements to an executable language (EMML).
• UDDI service discovery and binding capability
Generate
Application
• Implement the application generation
logic based on EMML composition.
• Generate the structural Java class using
MVC architectural pattern.
• Automatic build and deploy the
application in the runtime engines.
Architecture Overview