+ All Categories
Home > Documents > process maker report

process maker report

Date post: 17-Dec-2015
Category:
Upload: srashid77
View: 43 times
Download: 9 times
Share this document with a friend
Popular Tags:
19
MODEL-BASED SOFTWARE DEVELOPMENT: A FRAMEWORK FOR EVALUATING TOOLS Technical Report PROCESS MAKER Authors: Diana María Hernández Juan Bernardo Quintero UNIVERSIDAD DE ANTIOQUIA - EAFIT MEDELLÍN 2011 History Version Date Change Description 1.0 13-Jan-2011 Initial version
Transcript
  • 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.


Recommended