model-based software development: a framework for evaluating...

20
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

Upload: doduong

Post on 28-Mar-2018

215 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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

Page 2: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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

Page 3: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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

Page 4: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 5: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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).

Page 6: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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:

Page 7: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 8: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 9: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 10: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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

Page 11: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 12: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 13: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 14: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 15: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 16: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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

Page 17: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 18: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 19: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.

Page 20: MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING …metafora.abcflex.net/mde/reports/09.BA/BizAgi Report.pdf · Model-Based Software Development: A Framework for Evaluating

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.