MODEL-BASED SOFTWARE DEVELOPMENT:
A FRAMEWORK FOR EVALUATING TOOLS
Technical Report
BIZAGI
Authors:
Diana María Hernández
Juan Bernardo Quintero
UNIVERSIDAD DE ANTIOQUIA - EAFIT
MEDELLÍN
2011
History
Version Date Change Description
1.0 10-Jan-2011 Initial version
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 2
CONTENT
Page
1. BIZAGI ...................................................................................................... 4
1.1 Tool Presentation ...................................................................................... 4
1.2 Tool Architecture ....................................................................................... 4
1.3 Platforms ................................................................................................... 8
2. DEVELOPMENT PROCESS IN BIZAGI ................................................... 9
2.1 Installation ................................................................................................. 9
2.2 Model Assembly ........................................................................................ 9
2.3 Transformation ........................................................................................ 10
2.4 Study Case ............................................................................................. 10
3. BizAgi EVALUATION .............................................................................. 16
3.1 Features Quantitative Evaluation ............................................................ 16
3.2 General Features .................................................................................... 17
3.2.1 Documentation ........................................................................................ 17
3.2.2 Usability .................................................................................................. 17
3.2.3 Deployment and Internationalization ....................................................... 17
3.3 Commercial Features .............................................................................. 19
3.3.1 Recognition and Maturity ........................................................................ 19
3.3.2 Licenses .................................................................................................. 19
3.3.3 Support ................................................................................................... 19
4. BizAgi CONCLUSIONS ........................................................................... 20
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 3
FIGURES LIST
Page
Figure 1. BizAgi Logo. ....................................................................................... 4
Figure 2. BizAgi’s Logical Architecture. ............................................................. 5
Figure 3. BizAgi’s Technical Architecture. ......................................................... 7
Figure 4. BizAgi’s Technical Architecture. ......................................................... 8
Figure 5. Life cycle of a business process in BizAgi. ........................................ 9
Figure 6. Model assembly in BizAgi Process Modeler. ................................... 10
Figure 7. Incident Management process in BizAgi Studio. .............................. 11
Figure 8. Incident Management entities in BizAgi Studio. ............................... 12
Figure 9. Form of Record Incident in BizAgi Form Modeler. ........................... 13
Figure 10. Entry point to Incident Management process system. ...................... 13
Figure 11. Record Incident task in web application generated. ......................... 14
Figure 12. Classify Incident task in web application generated. ........................ 15
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 4
1. BIZAGI
1.1 Tool Presentation
BizAgi's BPM automatically generates web applications based and activated by a
process diagram without requiring any programming. In other words, for BizAgi “the
process is the application”. To achieve this, the BizAgi BPM Suite supports the life
cycle of a business process: Model, Automate, Execute, and Improve. Each of
these phases is managed by different components which allow, by using a graphic
and dynamic environment, the building of a process-based solution.
BizAgi is available at http://www.bizagi.com, in multiple editions to support the
changing needs of organizations. In this work the BizAgi BPM Suite Xpress Edition,
version 9.1.2.1020 has been evaluated.
Figure 1. BizAgi Logo.
1.2 Tool Architecture
BizAgi’s Logical Architecture
The following figure illustrates the logical layers and the structural components of
BizAgi, as well as the interaction between them.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 5
Figure 2. BizAgi’s Logical Architecture.
The top layer includes the organizational processes. These processes generally
include a combination of manual activities (carried out by people) and automatic
activities (carried out by systems).
Both types of activities require sophisticated data processing (located in BizAgi
entities) and decision making based on specific values of such data (business
rules). This functionality is supported by the components in the business object
layer.
In BizAgi, the person who models the process always assumes that the data is
local, meaning that it is present in the entity-relationship model (ERM) of BizAgi.
The organizational process should never contain activities to access and/or update
data; the automatic activities (which involve interaction with third party systems)
should be used only to carry out transactions on external systems.
In addition, the business rules assume that all the information elements required to
make decisions are inside the BizAgi entities and therefore should not involve the
data mapping and access logic (knowledge that is foreign to the business analyst
profile).
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 6
If the data is available on an external system, BizAgi supports the virtualization of
the BizAgi entities (tables). BizAgi’s virtualization technologies support the
transparent access to data administrated by third party systems using Web
Services, solutions to automate enterprise application integration (EAI), messaging
systems (for instance, IBM MQ Series) and direct access to databases, among
others. When the issue of external data access is focused on a single component –
virtualization – the number of interfaces decreases drastically, application
maintenance is simplified, and a better quality of the overall solution is guaranteed.
Another alternative to carry out B2B integrations is in the Enterprise Service layer,
through which BizAgi publish its main functionalities for other applications to invoke
and consume the public services, which allows the orchestration of similar
automatic tasks and processes with architecture styles aimed at the services
existing in the organizations.
In actual BPM projects, certain business rules may require complex calculation or
processing. In order to keep the business rules understandable and guarantee
their proper performance, BizAgi allows the easy registration and access of these
programming components, by means of the Component Library and Functions.
Certain activities within a process may also require specific tools invoked by a
specific activity, such as a calculator – used in a credit analysis activity – to
determine the monthly payments of a mortgage. These tools should be developed
using traditional programming tools and can later be easily integrated in BizAgi.
BizAgi’s Technical Architecture
Seeking the agility required nowadays by companies in the daily execution of
processes, BizAgi has four fundamental layers for its operation:
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 7
Figure 3. BizAgi’s Technical Architecture.
Client: It is the front-end of the solution to the final user. Using an internet browser
the user can view and use the BizAgi Web application.
Web Server: The web Server is in charge of processing the requirements from the
client. It is at the Web server where all the graphical user interface objects are
managed.
Application Server: The application server processes all business information and
its components:
Cache Manager: it provides improved performance by the optimization of data
access in the application.
Workflow Manager: a very powerful and expressive process engine.
Entity Manager: in charge of managing process information in a structured way.
Business Rules Manager: it is the component that implements the business
rules.
Authentication Manager: it offers different mechanisms of authentication.
Enterprise Manager: it manages application users, grouping them by features,
skills, roles.
Query services: it is the runtime Query in BizAgi.
Analysis (BAM): this component solves queries for BizAgi.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 8
Interoperability services and component library: these components offer a
complete functional integration with other systems.
Storage: The Data Access Components provides the connectivity between the
Application Server and the Database. In the logic data layer (back-end) this
component is BizAgi's database (ORACLE / SQL). The complete modeling process
is offered in a single, powerful tool: BizAgi Studio. It provides all the functionality to
easily create the process automation solution with unsurpassed agility and
performance. All of BizAgi’s components interact in harmony to provide the
organization with the agility to continuously improve their core business processes.
1.3 Platforms
BizAgi is available in multiple editions to support the varying needs of
organizations. From the entry-level and inexpensive Xpress Edition for
departmental solutions or small and medium businesses (SMBs), to the corporate
editions for mission critical and core business processes, satisfying the most
demanding needs in larger organizations. The corporate editions (Enterprise .NET
and Enterprise JEE) are similar in functionality, the only difference is the platform
where they execute.
Figure 4. BizAgi’s Technical Architecture.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 9
2. DEVELOPMENT PROCESS IN BIZAGI
The following figure explains the steps to build a solution in BizAgi.
Figure 5. Life cycle of a business process in BizAgi.
2.1 Installation
To install BizAgi BPM Suite Xpress Edition you can execute the installer
BizAgiXpress.exe after downloading. If you have a previous version installed, the
installer will overwrite the existing installation.
Guide about how to install BizAgi Xpress Edition is available at:
http://wiki.bizagi.com/en/index.php?title=Installing_BizAgi_Xpress
2.2 Model Assembly
Models can be assembled using BPMN (Business Process Modeling Notation)
directly in BizAgi Studio, or in BizAgi Process Modeler and then import the .bpm file
into BizAgi Studio. Figure 6 shows model assembly in the BizAgi Process Modeler.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 10
Figure 6. Model assembly in BizAgi Process Modeler.
BizAgi Process Modeler supports the import of XPDL (XML Process Definition
Language) and Visio formats.
2.3 Transformation
When the first three steps of the development process are completed (1°Model
process, 2° Model data and 3° Define forms), the process can be executed.
Transformation from BPMN to the target platform is invisible for developers.
2.4 Study Case
The Incident Management process was implemented in BizAgi using the process
model in figure 6 as the source. This model was built directly in the BizAgi Process
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 11
Modeler 1.5.0.1 and the file was called IcM.bpm. This file was imported in BizAgi
Studio to complete step 1: Model Process, as it is shown in figure7.
Figure 7. Incident Management process in BizAgi Studio.
BizAgi uses a relational data model in which there are entities, attributes and
relationships. The UI form for each process’ activity, as well as the business rules
are designed based on the knowledge of the entity relation business model. The
data model for the Incident Management process is illustrated in figure 8.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 12
Figure 8. Incident Management entities in BizAgi Studio.
With BizAgi, each activity in the process is represented by a web form that displays
its data so that the users of the process can interact with a user-friendly web
application to carry out each of the process’ activities, recording the information
required for its execution.
In this step, BizAgi arranges the data handled by the different activities of the flow
in forms or screens, associating these forms with each of the activities that make
up the process. Figure 9 show the form associated to task Record Incident in
Incident Management process modeled in BizAgi.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 13
Figure 9. Form of Record Incident in BizAgi Form Modeler.
The entry point to the system that supports the automation of the Incident
Management process is a list of incidents, as it is shown in figure 10.
Figure 10. Entry point to Incident Management process system.
The first task in Incident Management process is Record Incident to register the
incident information, as it is shown in figure 11.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 14
Figure 11. Record Incident task in web application generated.
The second task in Incident Management process is Classify Incident to categorize
the incident, as it is shown in figure 12.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 15
Figure 12. Classify Incident task in web application generated.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 16
3. BizAgi EVALUATION
3.1 Features Quantitative Evaluation
# Feature Score Rational
Problem 1: Models become out of date and inconsistent with code
1.1 Reverse Engineering Support 1 It is not supported
1.2 Incremental consistency 5 If the application is rebuilt, it can still work with previous cases
Problem 2: Models cannot be easily exchanged between tools
2.1 Standard industrial profile support 5 .NET and JEE are the target platforms
2.2 Meta-models availability 3 BPMN has a meta-model and .Net has specifications, but the tool cannot be extended.
2.3 Interoperability 5 BizAgi can import XPDL format
Problem 3: Modeling tools are 'heavyweight' (to install, learn, configure, use)
3.1 Understandability 5 The tool is easy to understand
3.2 Simplicity 4 The tool is simple and easy to use
3.3 Execution Support 5 It is supported
Problem 4: Code generated from a modeling tool is not of the kind I would like
4.1 Model to code transformation (M2C o M2T)
5 There are transformations from BPMN to the target platform
4.2 Notation or language customization 1 It is not supported
4.3 Code patterns definition support 1 It is not supported
Problem 5: You cannot describe the kinds of details that need to be implemented
5.1 Structure and behavior 5 Structure is implemented with Data Model and behavior with Process Model
5.2 Business rules 5 It is supported
5.3 GUI modeling 5 It is supported thru the Form Modeler
5.4 GUI customization 1 It is not supported
Problem 6: Modeling tools change, models become obsolete
6.1 Development Framework 1 It is not supported
6.2 Abstract syntax for the transformation language
1 Transformation is invisible to developers
6.3 Sponsor 5 BizAgi is positioned in Gartner Magic Quadrant for BPM Suites
Problem 7: Modeling tools are too expensive
7.1 Robustness 5 It is supported
7.2 Scalability 4 The environment can transform and execute small and large systems
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 17
# Feature Score Rational
7.3 Testability 1 It is not supported
Problem 8: Modeling tools do not allow the analysis of my design in ways I would want
8.1 Transformation definitions 1 There are transformations from BPMN to the target platform, but static
8.2 Model to model transformation (M2M)
1 There is not an intermediate model
8.3 Model Integration 2 It is not directly allowed, although forms reference process and data model elements
Problem 9: Modeling tools hide too many details that would be visible in the source code
9.1 Traceability 3 It is supported, but it is hard to change some elements
9.2 Patterns support 2 It is possible that the generated application uses patterns, but this is not easy to detect
Problem 10: Organization culture does not like modeling
10.1 Role definition 3 It has tools for business analysts, database modelers and designers, but not for architects
10.2 Transformation types support 1 Transformation is invisible to developers
3.2 General Features
3.2.1 Documentation
The BizAgi documentation is very complete with webinars, screencasts, wikis,
manuals, etc. There is a Resource Center and communities about the tool.
3.2.2 Usability
BizAgi is easy to use; the tool has a look-and-feel similar to MS Office which
enables a simple human-computer interaction. The generated applications are
conventional web applications easy to use with an inbox as the entry point.
3.2.3 Deployment and Internationalization
The menus and dialog boxes in the tool are in English. The models, class names
and attributes can be written in any language, but the generated application takes
its language from operative system.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 18
The web site, resource center, and communities are available in both Spanish and
English.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 19
3.3 Commercial Features
3.3.1 Recognition and Maturity
The tool is recognized and mature. Recently BizAgi was positioned in the Gartner
Magic Quadrant for BPM Suites.
3.3.2 Licenses
BizAgi Process Modeler is a Freeware application (not a trial) and will remain as
such. It is available at http://www.bizagi.com/..
The licenses of BizAgi BPMS are available in three editions:
Xpress Edition
Enterprise .NET Edition
Enterprise JEE Edition
Price per user of Xpress Edition is 120 USD, minimum purchase 10 users,
maximum 100 users. There is also an academic license available.
3.3.3 Support
The BizAgi support is very complete with wikis, forums, knowledge base, resource
center and secure support space. To access the secure support zone the user to
be an active BizAgi customer with a current support contract. In there, the user will
find exclusive features such as Support Tickets and the Expert Advice service.
Model-Based Software Development: A Framework for Evaluating Tools
BizAgi Technical Report
Universidad de Antioquia - EAFIT 20
4. BizAgi CONCLUSIONS
BizAgi Business Process Management (BPM) solutions makes modeling,
executing and improving business processes easy for everyone, no matter if it is a
small organization or a big corporation.
BizAgi is easy to use; the only tasks that are required are building a process
model, a data model and forms to generate a totally functional web application. Its
recent inclusion in the Gartner Magic Quadrant for BPM Suites shows that the IT
community is interested in BizAgi.
The edition analyzed in this work was BizAgi BPM Suite Xpress Edition, version
9.1.2.1020, which does not enable the change of the generated code, this situation
allows independence for business analysts, however it increases the distance
between them and software developers.