Architecture

The architecture diagram below shows the relationship between the major components of the ProcessMaker Server and its interfaces with the outside world.

  • ProcessMaker is designed on the LAMP / WAMP stack:
    • Linux, UNIX or Microsoft Windows is the operating system;
    • Apache, the web server;
    • MySql, the database server;
    • PHP, the programming language.
  • ProcessMaker uses object-relational mapping software Propel to map between ProcessMaker's PHP classes and databases. That opens access to different DBMS, including MySql, PostgreSQL, Oracle, and SQL Server (and Sybase if using Linux/UNIX).
  • ProcessMaker uses RBAC to manage user roles.
  • ProcessMaker uses Php Soap to manage web services with SOAP.
  • ProcessMaker uses 2 mail engines: PHP's built-in mail() function and PHP Mailer.
  • ProcessMaker is web-based and cross-browser, though it is optimized for Mozilla Firefox.

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 run-time engine allows for cases to be started and run through the process. This engine turns the process map design into a fully-functioning application.
  • ProcessMaker is web-based and cross-browser, though it is optimized for Mozilla Firefox.
  • 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 will be able to manage high user authentication.