Вы находитесь на странице: 1из 19

MODEL-BASED SOFTWARE DEVELOPMENT:

A FRAMEWORK FOR EVALUATING TOOLS

Technical Report

PROCESS MAKER

Authors:
Diana Mara Hernndez
Juan Bernardo Quintero

UNIVERSIDAD DE ANTIOQUIA - EAFIT


MEDELLN
2011

History
Version

Date

1.0

13-Jan-2011

Change Description
Initial version

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

CONTENT

Page

1.

PROCESS MAKER ................................................................................... 4

1.1

Tool Presentation ...................................................................................... 4

1.2

Tool Architecture ....................................................................................... 4

1.3

Platforms ................................................................................................... 6

2.

DEVELOPMENT PROCESS IN PROCESSMAKER................................ 8

2.1

Installation ................................................................................................. 9

2.2

Model Assembly ........................................................................................ 9

2.3

Transformation ........................................................................................ 10

2.4

Study Case ............................................................................................. 11

3.

PROCESSMAKER EVALUATION ......................................................... 15

3.1

Features Quantitative Evaluation ............................................................ 15

3.2

General Features .................................................................................... 16

3.2.1

Documentation ........................................................................................ 16

3.2.2

Usability .................................................................................................. 16

3.2.3

Deployment and Internationalization ....................................................... 17

3.3

Commercial Features .............................................................................. 17

3.3.1

Recognition and Maturity ........................................................................ 17

3.3.2

Licenses .................................................................................................. 17

3.3.3

Support ................................................................................................... 18

4.

PROCESS-MAKER CONCLUSIONS ..................................................... 19

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

FIGURES LIST

Page

Figure 1.

ProcessMaker Logo. .......................................................................... 4

Figure 2.

ProcessMaker Architecture. ............................................................... 5

Figure 3.

ProcessMaker System Architecture. .................................................. 6

Figure 4.

Life cycle of a business process in ProcessMaker. ............................ 8

Figure 5.

Incident Management Process Map in ProcessMaker. .................... 11

Figure 6.

Record Incident Form in ProcessMaker DynaForm. ........................ 12

Figure 7.

Entry point to Incident Management process system. ...................... 13

Figure 8.

Record Incident task in web application generated. ......................... 13

Figure 9.

Classify Incident task in web application generated. ........................ 14

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

1.

1.1

PROCESS MAKER

Tool Presentation

ProcessMaker is an Open Source business process management (BPM) and


workflow system designed to optimize the business operations and workflow
management for small to medium sized companies. This workflow management
software enables public and private organizations to automate document-intensive,
approval-based processes across departments and systems. Business users and
process experts with no programming experience can design and run workflows.
ProcessMaker offers its business process management software in two editions,
enterprise and community. Both editions, distributed with binaries and source code,
are available at http://www.processmaker.com. In this work ProcessMaker
Community Edition, Beta V 2.0 has been evaluated.

Figure 1.

1.2

ProcessMaker Logo.

Tool Architecture

The architecture diagram in figure 2 shows the relation between the major
components of the ProcessMaker Server and its interfaces exposed to external
systems.
ProcessMaker is designed on the LAMP / WAMP stack:
o Linux, UNIX or Microsoft Windows is the operating system;
o Apache, the web server;
o MySql, the database server;
o PHP, the programming language.
Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

ProcessMaker uses object-relational mapping software Propel to map


ProcessMaker's PHP classes and databases. That makes the generated
applications compatible with different DBMS, including MySql, PostgreSQL,
Oracle, and SQL Server (and Sybase if using Linux/UNIX).
ProcessMaker is designed on the Gulliver framework, it uses RBAC to
manage user roles, uses WSO2 to manage web services with SOAP, uses
2 mail engines: PHP's built-in mail() function and PHP Mailer, and is
web-based and cross-browser, though it is optimized for Mozilla Firefox.

Figure 2.

ProcessMaker Architecture.

System Architecture
ProcessMaker contains two main components: a design environment and a
run-time engine. The design environment includes tools to map processes, define
business rules, create dynamic forms, and add input and output documents. The

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

run-time engine enables the cases to be started and run throughout the process.
This engine turns the process map design into a fully-functioning application.
Using SOAP, ProcessMaker can connect, through web services, to other systems,
including but not limited to DMS and CRM systems, middleware, messaging, PM
Mobile, etc. Using LDAP, ProcessMaker is able to manage high user
authentication.

Figure 3.

1.3

ProcessMaker System Architecture.

Platforms

ProcessMaker Development Environment


The software is designed with a full service-orientated architecture (SOA) and Web
Service interfaces allowing the software to directly connect with customer
relationship management (CRM), business intelligence (BI), content management
(CMS), and enterprise resource planning (ERP) systems.

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

ProcessMaker is an entirely web-based, AJAX-enabled application that is built on


the open source LAMP (Apache/MySQL/PHP) stack. Is written in PHP, uses the
PEAR DB classes, but abstracts this behind its own Gulliver Framework classes,
and uses the Smarty templating languages.

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

2. DEVELOPMENT PROCESS IN PROCESSMAKER

The ProcessMaker toolbox allows business users to create forms and map
fully-functional workflows. The software is entirely web-based, making it simple to
coordinate a workflow across users, departments, and organizations. As a powerful
SOA application, ProcessMaker can interconnect with systems including document
management, ERP, CRM, and business intelligence applications. Figure 4 shows
the life-cycle of a business process.

Figure 4.

Life cycle of a business process in ProcessMaker.

Build: An intuitive, drag-and-drop interface that makes it easy for business


analysts to model approval-based workflows.
Run: Business users can easily complete form-driven processes through
automated notifications and a web-based interface.
Report: World class business intelligence tools provide managers with KPIs and
metrics in reports and dashboards.
Optimize: Managers and analysts can continuously improve performance by
discovering process bottlenecks and inefficiencies.

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

2.1

Installation

Either the enterprise or community editions of the ProcessMaker workflow


automation software runs on the Windows or Linux operating system.
ProcessMaker software installed on a server requires the following components:
Apache HTTP Server 2.2.3 or greater
MySQL database 4.1.2 or greater
PHP version 5.1.X or 5.2.x
In order to start using ProcessMaker, it is necessary to install the following PHP
modules: php-gd, php-mysql, php-xml, php-soap, php-mbstring, php-mcrypt, phpcurl, php-ldap
Then the latest and appropriate version for the users operating system is
downloaded from:
http://www.processmaker.com/download-processmaker
The files are in .tar.gz format and can be extracted using any compression tool,
such as the command tar in Linux or the Winrar Program in Windows.
Complete guide about how to install ProcessMaker is available at:
http://wiki.processmaker.com/index.php/ProcessMaker_Generic_Installation

2.2

Model Assembly

The Process Map


The Process Map is a grid area where business processes are laid out in a visual
manner so they can be easily designed and their progress tracked at a glance. The
Process Map uses a graphical drag-and-drop interface which allows elements to
be easily added,deleted and rearranged. Using the Process Map is a good way to
clarify how the different people and departments in the organization will work

Universidad de Antioquia - EAFIT

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

together and to specify a logical order for decision making, approving requests,
delegation of responsibilities, and fulfilling the necessary tasks to complete a
process.

Creating DynaForms
DynaForms, or "Dynamic Forms", are the custom forms which can be designed in
ProcessMaker to interface with the user while running a case. DynaForms allows
users to view and enter data into cases in a graphical interface which should be
intuitive for even non-technical users.
The DynaForms Editor is designed to be user-friendly for process designers who
do not have any programming experience, yet provides the full XML code and the
HTML code for process designers who want to customize forms or content.
DynaForms allows process designers to use SQL queries to pull data from external
databases or ProcessMaker databases. With case variables, data can also be
pulled out from ProcessMaker and used in the fieldsof the dynamic forms.. Finally,
audacious process designers can add their own custom JavaScript code to
dynamically control their DynaForms, error check the data and provide feedback to
the user.

2.3

Transformation

The transformation consists of 3 steps:


Defining the Process Map
Creating the DynaForms
Creating users/groups and assignment tasks
Transforming from BPMN to the target platform is transparent to developers.

Universidad de Antioquia - EAFIT

10

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

2.4

Study Case

In the first step, using PowerMaker Process Map, the user will create the Incident
Management process, and then define all the required tasks and its relationships in
order to reflect the business process. The process map for Incident Management is
shown in figure 5.

Figure 5.

Incident Management Process Map in ProcessMaker.

In the following steps the user creates DynaForms, Input Documents and Output
documents. Then he will assign them to pre-existing tasks of the business process
definition, as is shown in figure 6.

Universidad de Antioquia - EAFIT

11

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

Figure 6.

Record Incident Form in ProcessMaker DynaForm.

Users and groups can be created as desired using the Users Management
Interface. The entry point for the system that supports the automation of the
Incident Management process is a list of cases that have been assigned (inbox),
as it is shown in figure 7.

Universidad de Antioquia - EAFIT

12

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

Figure 7.

Entry point to Incident Management process system.

To run a case for the Incident Management process, the user can import the
entire process definition using the IcM.pm file. The first task in Incident
Management process is Record Incident to register incident information, as its
shown in figure 8.

Figure 8.

Record Incident task in web application generated.

Universidad de Antioquia - EAFIT

13

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

The second task in the Incident Management process is Classify Incident to


categorize an incident, as it is shown in figure 9.

Figure 9.

Classify Incident task in web application generated.

Universidad de Antioquia - EAFIT

14

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

3. PROCESSMAKER 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

2.1 Standard industrial profile support

3.1 Understandability

The tool is easy to understand

3.2 Simplicity

The tool is simple and easy to use

3.3 Execution Support

It is supported

It is not supported
If the application is rebuilt, the user can still
1.2 Incremental consistency
5
work with previous cases
Problem 2: Models cannot be easily exchanged between tools
PHP is the target platform
There is an Object Model for Process, but the
2.2 Meta-models availability
3
tool cannot be extended.
It supports a particular format to export and
2.3 Interoperability
4
import models, and it enables web services
Problem 3: Modeling tools are 'heavyweight' (to install, learn, configure, use)

Problem 4: Code generated from a modeling tool is not of the kind I would like
Model to code transformation (M2C
There are transformations from BPMN to a
4.1
5
o M2T)
target platform
4.2 Notation or language customization
1
It is not supported
4.3 Code patterns definition support

It is not supported

Problem 5: You cannot describe the kinds of details that need to be implemented
Behavior is only implemented through the
5.1 Structure and behavior
3
process model
5.2 Business rules
5
It is supported
5.3 GUI modeling

It is supported through the Form Modeler

5.4 GUI customization

HTML editor with style tools is integrated

Problem 6: Modeling tools change, models become obsolete


6.1 Development Framework
Abstract syntax for the
6.2
transformation language
6.3 Sponsor

It is not supported

Transformation is invisible for developers

It has re-known customers such as Toyota,


Lenovo or BBVA.
Problem 7: Modeling tools are too expensive
4

7.1 Robustness

It is supported

7.2 Scalability

The environment can transform and execute

Universidad de Antioquia - EAFIT

15

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report
#

Feature

7.3 Testability

Score
1

Rational
small and large systems
It is not supported

Problem 8: Modeling tools do not allow the analysis of my design in ways I would want
There are transformations between a process
8.1 Transformation definitions
1
model and a target platform, but static
Model to model transformation
8.2
1
There is not an intermediate model
(M2M)
8.3 Model Integration
1
It is not supported
Problem 9: Modeling tools hide too many details that would be visible in the source code
Supported, but it is hard to change some
9.1 Traceability
3
elements; also, the user can log all the cases
as processes instances
It is possible that the generated application
9.2 Patterns support
2
uses patterns, but this is not easy to detect
Problem 10: Organization culture does not like modeling
It has tools for business analysts, designers,
10.1 Role definition
3
database administrators, but not for architects
10.2 Transformation types support
1
Transformation is invisible for developers

3.2

General Features

3.2.1

Documentation

There is a wiki that has complete information about using ProcessMaker. In the
web page the user will find different webinars, manuals, demos, samples, etc. to
download and study. It also provides additional services such as Quick Start or
training.

3.2.2

Usability

Everything from designing of the process to using the system is all web based, no
need to install anything on the desktop. The functions and user interface are
consistent thus making it easier to learn and apply.

Universidad de Antioquia - EAFIT

16

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

Since everything is web based, the designing process can be slower compared to
a desktop application. Also the Process Map does not offer an undo option and
does not allow you to save different versions of the map.

3.2.3

Deployment and Internationalization

PowerMaker is available in Brazilian Portuguese, Chinese (Traditional), Danish,


Dutch, English, Finnish, French, German, Hebrew, Italian, Polish, Spanish.
Translations can be added easily since it supports internationalization; however,
only the Gregorian calendar is supported.

3.3

Commercial Features

3.3.1

Recognition and Maturity

ProcessMaker is recognized and mature, it was one of the first applications to


achieve certification through the Intel Certified Solutions Program and be
available on the Intel Business Exchange. Currently, it has known customers
such as Toyota, Calvin Group, Lenovo or BBVA.

3.3.2

Licenses

ProcessMaker Open Source, for small deployments and evaluations:


100% open source code
Free, downloadable version of ProcessMaker workflow software
Supported by active community of open source developers and business
users
Web-based, form-driven processes
Graphical, drag-and-drop workflow maps

Universidad de Antioquia - EAFIT

17

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

For

large-scale

business

critical

environments,

ProcessMaker

Enterprise

Subscriptions includes a professional support package, scalability and high


availability, Enterprise Plugins, and Business Intelligence Add-On products.
The ProcessMaker code that is common to all Processmaker editions is licensed
under the GNU Affero General Public License version 3. This license ensures that
all users have access to the source code, and can modify that source code so long
as the resulting product also meets the licensing requirements. For more
information, see the GNU Affero General Public License version 3.
Some editions of the ProcessMaker workflow software rely on plugins, addons, and
other extensions that provide their expanded functionality. These plugins may be
subject to the ProcessMaker Commercial License.

3.3.3
For

Support
the

Community

Edition,

in

the

Process

Maker

Community

Page:

http://processmaker.com/community-support, the user can find links to community


resources and support including forums, wiki documentation, issues and bug
tracking, libraries, news and blogs.
Sign up for an Enterprise Subscription Plan, which consists of an annual
subscription service for those seeking professional support for the ProcessMaker
BPMS.

Universidad de Antioquia - EAFIT

18

Model-Based Software Development:


A Framework for Evaluating Tools
Process Maker Technical Report

4. PROCESS-MAKER CONCLUSIONS

ProcessMaker is a complete workflow management suite with tools to design


forms, create documents, assign roles and users, create routing rules, interconnect
with third party systems, and map processes quickly.
ProcessMaker is a simple, cost-effective, open source workflow software solution.
Also known as a business process management (BPM) software, ProcessMaker
helps organizations of all sizes to easily design, automate, and deploy
approval-based business processes.
ProcessMaker is simple to use and easy to extend.

Universidad de Antioquia - EAFIT

19

Вам также может понравиться