ProcessMaker: workflows from Open Source

In my last article I hinted about investigating the use of an open source tool in support of my current employment.  I won’t go into details about the use case itself but I will gladly describe the tool and its potential.  First, a little background.

The Need

As noted in previous articles, a large part of my work the past several years has been in information management, specifically product and application configuration.  I’ve so far had the pleasure of leading and supporting work on two major enterprise rollouts of workflow solutions, each employing different commercial offerings and approaches to implementation.

The first project addressed a huge gap in product data and change management for consumer products development.  PTC Windchill was selected for the workflow solution based on its own strengths and helped by the fact that PTC product engineering applications were already in use.

The next project at a later employer involved replacing a claims handling application with a true process workflow solution.  Serena Business Mashup (SBM) was selected over competing products due to its rich feature set and seemingly unlimited extensibility.  I found the development environment (Mashup Composer) to be flexible, powerful and intuitive.

Both projects were very successful in streamlining and improving the ability of stakeholders to view end-to-end processes and manage events in their domains.  The commercial products involved proved their value although expenses were certainly significant.

An Open Alternative

In my current employment I am once again faced with the need to improve management of an enterprise activity, except that the prevailing economic decline prevents the sort of corporate funding that had been required for the other two projects.  This led me to search for low cost or even free solutions.

I found several tools that looked promising, but just about every search highlighted one in particular: the open source ProcessMaker.  Glowing write-ups such as this one by Python Developer’s Journal gave the impression that this free tool just might be close enough to WindChill or SBM to significantly improve our change management process.

The Short Take

ProcessMaker is 100% web-based and managed at popular open source hoster SourceForgeThe PM website states that its code “… is licensed under the GNU Affero General Public License version 3”.  It is provided in Windows and Linux versions.

I downloaded and installed the latest Windows version (1.2-2865) to my work laptop running XP.  The installation included MySQL and the Apache web server.  The first installation attempt hung up on the Apache portion at the end, but the second try went smoothly.  I’m not sure what happened (or didn’t happen) the first time.

I’ve barely explored what ProcessMaker can do and yet so far I am impressed.  While its mashups have not yet reached the number that one can access for Serena’s offerings, the same potential is there and hopefully the open source community is already at work developing more to be shared.  ProcessMaker supports Web Service Definition Language (WSDL), enabling a process developer to integrate numerous off-the-shelf applications that provide similar access.

The interface is clean and fairly easy to navigate.  However, I could see immediately that I’ll have to read the documentation and/or follow tutorials before being able to develop a useful process model.  Still, by sheer intuition alone I was able to create a new user, associate him with a group, install a sample weather report mashup and run the activity successfully.  This speaks well for the UI design.

I did find some minor but obvious phrasing issues in some areas, possibly reflecting ProcessMaker’s international heritage (Colosa has offices in New York, Bolivia and Peru and partners with a Danish IT firm) but they were not showstoppers.  Indeed, even in my untrained fumbling I did not run into anything that raised any real concerns.

ProcessMaker has recently brought data table creation and management to its set of features, bringing it closer to its commercial peers.  I’m eager to test this particular addition and see how it stacks up against Mashup Composer’s robust equivalent.

Bottom Line

 WindChill was the first purely Internet-architectured data management and collaboration tool, so by now (version 9.1) it’s very mature.  Too much time has passed since I worked with WindChill so I couldn’t do a post mortem justice.  I do recall that it easily handled everything we threw at it and integrated well with our other enterprise systems… SAP, BPCS et al.  It’s strictly a commercial offering.

Serena’s Business Mashup solution certainly has the power to wire together any silos across an enterprise landscape.  Serena has taken a hybrid approach in this space, offering a closed commercial product supported by a growing collection of popular user-developed mashups.

ProcessMaker, however, is completely free and open so that the developer community can create and push upstream additions and improvements not only to mashups but also the core product.  Colosa, the group behind ProcessMaker, charges only for training, hosting and other support.

There’s nothing wrong with PTC’s and Serena’s commercialization of course but lately I’m coming to believe more and more that ProcessMaker’s open mode is that of the future… assuming of course it reaches the critical mass necessary to attract enough mashup developers.  My initial take is that it definitely has the potential.

I plan to continue exploring that potential and expect to do at least one more general follow-up once I’m more familiar with the product… hopefully soon!

32 responses to “ProcessMaker: workflows from Open Source

  1. Hello Randall,

    ProcessMaker is indeed a great tool. We’ve beein using it for a year now for an employee on-boarding workflow solution. Besides WSDL it has direct database integration capabilities, which we use to query our existing applications. Highly recommend it.

    A. Saavedra

    • Thanks for the validation! And yeah, I only briefly alluded to databases by mentioning MySQL, so thanks also for adding the integration note. ProcessMaker supports not only MySQL but Microsoft SQL Server and Oracle as well.

  2. Pingback: Tweets that mention ProcessMaker: workflows from Open Source « Tabula Crypticum -- Topsy.com

  3. So i have a question about this ProcessMaker then,

    Do i have a reduction on Performance of PM if i apply it
    to an organization with more than 400 Users ?

    Or there are some answers too solve performance issue too.

  4. Dear uzunca,

    Being a LAMP platform you have many options for load balancing: you can split database + application layers, then you may configure clusters for each of those as well. Besides, the critical number is related to simultatenous users. For a standard configuration (single server, 64 bits processor, 6 GB RAM), up to 50 simultaneous users should be handled without trouble out of the box. Mileage may vary depending on actual RAM.

    HTH,

    A. Saavedra

  5. Thanks for your comment , actually i may have more than 50
    simultanous users and it means i ll have troubles about using it with an ordinary server.

    • If I understood his reply properly, you can use an ordinary server but separate the application/data layers of the solution to improve performance… although I don’t know if that directly translates to an increase in possible simultaneous users over 50.

  6. Randall,

    What I meant was that out of the box, in a stand alone LAMP server, you can support 50 simultaneous users, although I should have stated 50 simultaneous queries: you may have 400 users filling forms at the same time, but this doesn’t imply they will be hitting the Submit button all at once. If you split this load over 2 separate Apache servers (basic 4 servers configuration: 1 to distribute queries + 2 Apache servers + 1 DB server), you may handle 100 simultaneous queries with ease, which should translate into several thousands of simultaneous users (again, exact mileage may vary; are we talking about data intensive workflow?). The suggested configuration (6 GB RAM) was with 128 MB as PHP memory_limit directive in mind, which is largely enough for ProcessMaker to run. You can probably set this limit to a lower value (ProcessMaker suggests 80 MB), I just didn’t try (I need 128 MB for some additional applications I run on the same server). Then the actual number of simultaneous requests would be even higher.

    A. Saavedra

  7. And how about if i have a WAMP server, difference in performance is huge about these 2 ?

  8. Uzunca,

    LAMP stack is so popular because it just works. Apache, MySQL and PHP were initially designed for *nix environments. As for WAMP, I’ve seen it used mainly as a development environment. (There must be servers out there running WAMP in production environment too, I just don’t know of any.) During 2008 there were also rumors about <a href="http://devzone.zend.com/article/3233&quot;)Zend and Microsoft collaborating to port PHP to Windows Server 2008. Thus I guess WAMP should be ready for production environments as well. Just multiply by a factor of 3 or 4 any equivalent hardware requirements for LAMP😉

    A. Saavedra

  9. Pingback: Opening up to Open Source « Tabula Crypticum

  10. Here are some performance values(in second) from my environment:

    -When i click General Tab it takes 26 second to open.
    -When i search a case under General Tab it takes 42 seconds .
    -Opening a case in my ToDo list takes about 38 seconds.

    these values are evaluated when connecting via network. there are much more people who use PM via internet .
    Are these values normal ?

    i know i am being a headache but i couldnt install eaccelerator to my windows server.
    i tried but but couldnt do it for PM’s apache .

    This performance issue is the worst one that the users complain about .

    we have about 550 end users and everyday i m getting at least 10 complaint mail about speed of PM.

    I dont know if you know how to setup eaccelerator but may be u can direct me to someone,someone you know,

    who tried and successed setting up eaccelerator on PM or someone who may describe the steps of installing eaccelerator for PM

    in a simple way.

    Hope to hear from u soon.

    • Unfortunately since I wrote the article I have not had the time to do further evaluations of ProcessMaker, much less development, thanks to an imbalance of team size to workload. I’m hoping to get a break soon and report more.

      Maybe A. Saavedra will read and respond.

  11. Dear uzunca,

    Your performance numbers are certainly bad, and they are NOT normal. I never used eaccelerator. You should post a comment in http://forum.processmaker.com. Otherwise contact support staff (http://www.processmaker.com/contact-us/), they’ve been really supportive in my experience. Have you considered installing ProcessMaker on a LAMP server?

    Very best.

    • Dear Saavedra,

      At last i convinced my supervisor to try

      ProcessMaker on a LAMP server, but i m quite new to this linux systems, i just had few tries on ubuntu and thats all.

      On wiki.processmaker they have manuals for installing PM on CentOS,Ubuntu and Debian.
      so which linux system would be the best for a fresh start .

      I have about 550+ end users. and about 18000 cases(ongoing/completed) so i have to transfer all DB to my new LAMP server.

      (currently i m running MySQL server on a different server than where i run PHP and APACHE, it increased performance a little , should i keep them together on this new LAMP server ?)

      Hardware u mentioned before will be enough for this new system ?

      I could use any advices about changing this environment really.

      Thanks in advance .

      • Dear uzunca,

        ProcessMaker will run just fine on CentOS, Fedora, Ubuntu or Debian. I’ve been using CentOS and Fedora with success in the past. Then I switched to Ubuntu, as maintenance and migration to newer versions are a breeze. Currently I stick to Ubuntu, but keep in mind this is a matter of personal taste.

        Outlined hardware specs should be appropriate.

        Now, I’ve been thinking about your performance numbers on current WAMP environment. This could be a MySQL issue. Have you tried skip-name-resolve directive in my.cnf file?

        Best regards,

      • Dear Saavedra,

        First of all i want to thank you for your interests , i really appreciate that.

        But i m not an advanced system admin , its just been couple of months since i got into this sector,i try to learn where ever i get sth.

        Unfortunately i havent tried “skip-name-resolve directive” in my.cnf file u mentioned, actually its first time i heard ab it. But i d love to get to know about it and learn the way it works.

        Thanks in advance.

      • Dear Saavedra,

        I m not an experienced Linux user but we decided to run pm on ubuntu as i mentioned.

        Do you think the installation steps on the PM wiki are enough or i can find more simple tips for ubuntu installation.

        Hope to hear you soon .

        Regards ,

      • Dear uzunca,

        I guess at this point your ProcessMaker server should be up and running. Ubuntu installation should be straightforward, the installer will test minimum requirements. The only caveat I faced so far was the installation of php5-curl in order to import templates from ProcessMaker’s library. Installer won’t test for it.

        Good luck,

        A. Saavedra

      • Dear Saavedra,

        Once again i come up with questions:)
        first of all , thanks for your help .

        Finally , i managed to install ProcessMaker on Debian(2 Dual Core Xeon(TM) CPU 2.80GHz x64 bit 4GB RAM,~300-400GB HDD on Debian)

        Now i m running some tests on it and and seems there is an improvement on performance however it s not that much as i expected.

        Next step i want to optimize mysql server.
        As you mentioned it before i am considering to activate this skip-name-resolve thing on my.cnf file but my processmaker Users are not only using PM via LAN . Most of them are using PM via internet. I wonder if this skip-name-resolve operation creates new problems for those people ?

        Thanks in advance. . .

      • Dear uzunca,

        The skip-name-resolve will not interfere with your configuration. Besides, ProcessMaker will be accessing the database as localhost or probably using fixed IP. It could interfere with MySQL clients authenticating to your server using qualified names by means of MySQL client program (which is most probably not the case). If you force them to authenticate using IP instead (recommended practice) it won’t interfere either. Your PM users will be using the web interface anyway, meaning no direct MySQL layer between them and your server. Thus, you shouldn’t worry. If you’re using Ubuntu just add “skip-name-resolve” directive under [mysqld] in /etc/mysql/my.cnf, and restart the MySQL service: sudo invoke-rc.d mysql restart.

        HTH.

        A. Saavedra

  12. Hello A. Saavedra and Randall,
    I am also evaluating ProcessMaker and would like to hear your thoughts on how difficult the framework is to manipulate. I am a business analyst (ie, not a programmer) and have found the preliminary steps of design in ProcessMaker pretty straight forward.

    But, I am worried about the lack of community that surrounds ProcessMaker. I would be much more comfortable with it if there was a lot of developers using the platform, posting Q&A in its forums, etc.

    Any thoughts on why PM has not found more traction in the developer community? Is the framework not easy to work with?

    Many thanks for your thoughts.

    Thanks
    Mike

    • As I posted earlier, I have not yet been able to get deep into development with ProcessMaker. I have played around with it, mostly with example workflows, and from what I can see the framework looks very easy to work with.

      The developer community situation is a chicken and egg scenario– sometimes hard to get developers to join in unless they see a lot of other developers already involved. 😉 But I think ProcessMaker will continue to grow in popularity as the economic malaise continues, and probably after things improve as well.

  13. Hello Mike,

    Out of the box and without any programming, ProcessMaker is well suited for creating functional business processes. You can draw and test actual workflows very easily, speaking almost the same language as the users who will actually use it. I think this is the major strength of the product, the Process Map is intuitive both for the business analyst and for the users who can easily contribute to refine it.

    In my experience, a few business process evolved in complexity and new requirements arose, such as querying existing databases, or validating existing users against LDAP. Querying databases was straightforward because I feel familiar with SQL. Validating users against Active Directory was more tricky. At this point I needed to dig inside the platform, and I took Colosa’s training which was very useful to understand internals.

    As for the community support, you’re certainly right, maybe you should explore working hand to hand with some local ProcessMaker partner who will back you up as your business process requirements grow in complexity, which will probably require good framework and programming skills.

    Hope this helps,

  14. Jim Intriglia

    I, too, am re-evaluating ProcessMaker after setting the solution aside a year or so ago. The lack of an online community of PM users was a real issue.

    If too much time and effort is required to learn a BPM solution, the true cost of the application is the cost of the training program, yes?

    For many of the BPM solutions I reviewed, the true cost to learn the application to the point of developing a pilot project translated to several thousands dollars in cost for commercial training, plus the time required to learn the package.

    BizAgi is a MS Windows-based BPM solution that may be a strong contender to PM. In addition to a free process modeler, the solution provides good documentation and tutorials. The company is responsive to inquiries. I received a couple of emails that offered training– the cost for a class was less than $50. Easily affordable by many developers.

    • Thanks for the info Jim. I may check BizAgi out also.

      Sadly, PM seems to be suffering a chicken-and-egg issue re community growth. I’m going to spread the word a bit more at open source gatherings and see if it helps.

  15. Sir i am final year MCA student and am interested in process maker. Now i was working in process maker but i don’t have full document on process maker. pls help me sir , i need to process maker working document.

  16. Hello boni, you may want to take a look at http://wiki.processmaker.com. Regards.

  17. Having hopped into the Linux world (Ubuntu), I was looking for several different open-source applications to work with to see where efficiencies can be gleaned. The ProcessMaker installation provided a small challenge – in that one has to be running an earlier version of PHP (e.g. 5.2.10) instead of the later 5.3 release. However, the configuration process wasn’t bad as I do have extreme patience and don’t give up easily.

    I’ve downloaded some of the templates from the ProcessMaker site (written in Perl) and will use them for evaluation purposes. I find this quite an exciting product and see lots of growth opportunity within it.

    Full Disclaimer: I currently work with a COTS workflow product that is not open-sourced software. My time spent with ProcessMaker isn’t really one in which I’d be criticizing what ProcessMaker doesn’t have compared to the product I configure for many of my clients. However, I see it as a tool – or an opportunity where if I were on an outside consulting assignment, I would be able to offer the product to an organization that I was setting up processes for.

    Thanks for the great product and the interfacing with the open-source community.

  18. Thanks for the feedback. Good news – ProcessMaker 2.0 will be launched in early February and will run on PHP 5.3. Thanks for your patience and great feedback!

    -brian

    • Great to hear about the update! I just wish I’d had the chance to actually implement this at my current employer. Over a year later and we’re still at the mercy of corporate politics… with no solution to our workflow needs. :/

  19. Right now I’m testing the PHP 5.3 compatibility. So far the unofficial beta is available via svn (svn co svn://source.colosa.net/pmos9b). Many commits are being made daily, so I expect the official launch of version 2 in March 2011 to be quite stable.

    Disclaimer: I changed my job since I first entered this thread. Now I’m working for ProcessMaker.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s