Bizagi's internal architecture relies on a modern design and modern technologies to provide a complete enterprise-class solution.
Bizagi does not generate intermediate code and due to its model-driven approach, you may easily: Set up a high availability configuration, scale-out your solution, or use additional mechanisms at the database engine (e.g, an ODS replication) to optimize data access for daily operations and for reports.
The following diagram illustrates the main internal components of the Bizagi Engine and its internal architecture:
For information regarding the overview of Bizagi Suite's architecture, refer to Architecture of Bizagi.
Features and components
As illustrated above, enterprise-class features are supported through the following major components in Bizagi.
Bizagi presents a web-based Work Portal for the end users, where they will be presented with an inbox of their "to do" list of activities.
The Work Portal is the access point for the end users, in which they will interact with the system (i.e. be able to start new Processes, perform tasks, access to the performance analysis and reporting, etc).
Accessing the Work Portal only requires a browser, and it can: be setup for intranet or internet with multi-language support, and have customizations (such as using the corporate colors or logo).
For further information about the Work Portal for the end users, please refer to Bizagi Work Portal.
The BPMN Workflow is also called in Bizagi the WorkflowEngine, and it controls and executes the workflow.
This engine directly interprets the modeled Processes in BPMN, as created previously with Bizagi Modeler.
It interprets and executes all sophisticated BPMN features such as collaboration between processes through signals and messages, long-lasting process transactions, and subProcess design, amongst others.
BAM and Analytics
The BAM and Analytics features provide powerful reporting for management indicators (to monitor and improve Processes).
Graphical analysis is presented for both BAM (real time) and Analytics (historical trends, bottlenecks).
For further information about Analytics features, please refer to Process Analytics.
For applications in which there is a high volume of information and analysis queries that may affect the performance, an optional Operational Data Store (ODS) feature can be set up for performance enhancement.
For further information about how to use Bizagi ODS for BAM and Analytics, please refer to Configuring Bizagi ODS for Process Analytics.
Bizagi presents a powerful data engine which is called the EntityManager.
It manages the information in a secure, consistent and integrated manner between its different components, retrieving (being able to consult) information from the processes.
This means that administration of information is done transparently for the users, regardless whether this information is stored locally in Bizagi's data model, or even in an external source of information (covered through important mechanisms of integration such as Virtualization or Replication).
Security and Organization
A Security module handles authentication and authorization options for the different roles, skills, positions, areas and locations defined in the Organizational structure.
Authentication options include Windows authentication, and LDAP integration, amongst others.
Within the organization, it is possible to define and assign different working time schemas (and holiday calendars) for the different users and their location.
For further information about security and organization, refer to Work Portal security.
Bizagi offers a Business rule engine to execute the policies that make up the business logic.
This engine runs in Bizagi Engine to enable the different workflow transitions, control and synchronize the Activities' execution, make automated decisions with sophisticated rules (i.e. decision tables and decision trees), and perform calculations, amongst others.
Creating business rules in Bizagi is assisted by an user friendly graphical editor, which allows the definition of business logic without the need of programming.
Enterprise Mapping Layer (Integration Layer)
A robust, flexible and powerful Integration layer is part of the solution for corporate customers.
In projects where there is the need to integrate the Processes with existing applications, Bizagi's Integration layer presents multiple options for business and application integration:
Bizagi Processes can send automatic e-mail notifications by using an e-mail server which is SMTP compliant, such as Lotus Notes and Exchange, amongst others.
Review the SMTP Configuration to learn more about e-mail server configuration for your Bizagi Processes.
•ECM for documents:
Bizagi supports integration with Enterprise Content Management systems supporting the CMIS standard, such as SharePoint, Alfresco and Documentum, amongst others. Attachments uploaded in Bizagi Processes can be configured to be stored into a central documents repository.
Refer to ECM integration for further information.
•External data sources:
Bizagi presents two powerful integration features for a data-level integration approach, in which data structures (tables) from an external data source can be synchronized with the data model in Bizagi, reusing and taking advantage of your corporate assets.
This integration technology is called in Bizagi Data Replication or Data Virtualization, through which you may automatically import lists of information from any data source (read-only, as a scheduled task) or you may synchronize information of transactional-type tables in both ways, so that these values are updated on real-time.
View more information about Data Virtualization and Data Replication.
Bizagi supports different possibilities for choreography in its Processes.
This refers to the possibility to react to business events which are triggered by another Process in Bizagi, or to react to asynchronous-type events, such as timed-events.
This powerful feature makes possible the modeling of Processes which are started or flagged by messages, signals, timers, or any other asynchronous triggers.
Custom jobs may be used to specify batch processing or other sophisticated and integration scenarios, such as checking for documents on a physical path and interpreting them.
•Application Integration (Enterprise Service Bus, ERP, CRM, Core Applications, Legacy Systems):
Bizagi supports integration with the corporate ESB (e.g, IBM WebSphere), and any other systems.
You may invoke web-based services (SOAP, REST) or specific business APIs through from within Bizagi Processes (invoke methods in .dlls or .jars).
For this approach, three important features are described below:
a) Services invocations
Our preferred method of integration is through web-based services, in which this configuration is assisted by a wizard in Bizagi (avoiding the need of having to program or to have a profile with a high level of technical knowledge).
This features the web services connector, which enables the possibility to invoke a SOAP web service or a REST service from Bizagi.
For more information about service invocations, refer to How to invoke REST or SOAP web services from Bizagi (Processes-level integration).
b) Invoking external or custom code (APIs, connectors)
Using APIs or connectors (EJB Classes, JMS, etc) is possible through Bizagi's extensibility options.
You may include bespoke components you own or develop.
The concept behind this, is having a separate component in .NET or Java technology, and then registering its built file (a .dll or .jar) within Bizagi.
This way, this component's methods can be invoked directly within the Processes' business rules.
For more information about the API invocations, refer to the Component Library feature.
In addition to this, out-of-the-box connectors are made available for specific systems such as SAP.
Bizagi features a built-in SAP connector to easily invoke BAPIs from your processes without programming.
For more information about Bizagi SAP connector, refer to the SAP connector feature.
•Bizagi API (SOA Layer)
Bizagi follows a service oriented architecture for best practices towards integration capabilities and design.
It is possible to trigger the functionality of Bizagi processes from an external system, by making use of Bizagi's API.
Bizagi API features a comprehensive set of SOAP-compliant, convenient and easy-to-use web methods.
Every Bizagi project presents its workflow functionality and queries, already published as available SOAP web methods.
This makes easier triggering business events in Bizagi, which are controlled in another system (for any possible integrations requiring the update of information sent from another system into Bizagi).
Such web methods available in Bizagi Processes include the possibility to: start Processes, perform an activity or trigger an event, update or get updated information of Processes, and abort Process instances, amongst others.
For more information about the web services already published for Bizagi Processes, refer to Bizagi API for external applications.
Workload routing and balancing (Work allocation) can be configured with the main algorithms used such as: queues, round robin, and load balancing.
For this management and optimization, important criteria like the working and holiday calendars is involved, and work delegation and reassignment can be enabled as well.
The Cache Manager is a significant enhancement in mission-critical projects of big corporate solutions, which Processes involve a high number of end (concurrent) users.
The Cache Manager provides improvements for the Work Portal performance by achieving optimization of data access and persistence to the database by handling scopes.