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 Change Description
1.0 13-Jan-2011 Initial version
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 2
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
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 3
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
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 4
1. PROCESS MAKER
1.1 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. ProcessMaker Logo.
1.2 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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 5
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
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 6
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. ProcessMaker System Architecture.
1.3 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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 7
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 8
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 9
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, php-
curl, 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
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 10
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 11
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 12
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 13
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 14
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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 15
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 1 It is not supported
1.2 Incremental consistency 5 If the application is rebuilt, the user can still work with previous cases
Problem 2: Models cannot be easily exchanged between tools
2.1 Standard industrial profile support 3 PHP is the target platform
2.2 Meta-models availability 3 There is an Object Model for Process, but the tool cannot be extended.
2.3 Interoperability 4 It supports a particular format to export and import models, and it enables web services
Problem 3: Modeling tools are 'heavyweight' (to install, learn, configure, use)
3.1 Understandability 5 The tool is easy to understand
3.2 Simplicity 5 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 a 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 3 Behavior is only implemented through the process model
5.2 Business rules 5 It is supported
5.3 GUI modeling 5 It is supported through the Form Modeler
5.4 GUI customization 4 HTML editor with style tools is integrated
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 for developers
6.3 Sponsor 4 It has re-known customers such as Toyota, Lenovo or BBVA.
Problem 7: Modeling tools are too expensive
7.1 Robustness 5 It is supported
7.2 Scalability 5 The environment can transform and execute
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 16
# Feature Score Rational
small and large systems
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 between a process model and a target platform, but static
8.2 Model to model transformation (M2M)
1 There is not an intermediate model
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
9.1 Traceability 3 Supported, but it is hard to change some elements; also, the user can log all the cases as processes instances
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, designers, 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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 17
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
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 18
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 Support
For 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.
Model-Based Software Development: A Framework for Evaluating Tools
Process Maker Technical Report
Universidad de Antioquia - EAFIT 19
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.