Bizagi offers an integration layer which offers diverse features to integrate with the different services involved in an enterprise-class .
The possibility described in this article features integration extensibility, for both the business logic running in processes, and in terms of connecting to other systems (that is, the possibility to make use of specific APIs to invoke other applications or databases).
Recall that additional integration approaches allow organizational processes in Bizagi to easily use a Web services connector which allows you to invoke standard SOAP web services or RESTful services with no programming needed.
For more information about such options, refer to Application integration.
In scenarios where these above connectors do not suffice and there is the need to extend or customize the logic running at Bizagi servers (e.g, to integrate with specific systems and applications or reuse APIs), you may choose to create your own components to bundle within Bizagi, through Bizagi Connectors (recommended).
Bizagi connectors features powerful extensibility capabilities regarding integration with other systems and applications, especially with those having a cloud-oriented API (using a RESTful architecture).
Bizagi connectors are portable and highly reusable, and are mainly oriented to connectivity and data, without involving this data's processing.
If using Bizagi Connectors is entirely not feasible, then you may opt for Bizagi Component library.
This feature is supported in Bizagi PaaS, though it not may be the ideal solution for an integration requirement.
Recall that Bizagi PaaS, as a cloud-centric architecture, is built for scalability among other pillars.
A high scalability in Bizagi PaaS considers that computing power, storage services and other capabilities, are made available on-demand as elastic resources which operate behind a load balancer, and therefore point-to-point integrations which demand the installation of a component in a specific location is not a best practice.
For this reason, it is very important that when integrating your systems and services for Bizagi PaaS, you can follow modern, service-oriented principles such as using Bizagi Connectors over Component library when possible and applicable (not aimed at extending processing capabilities).
Bizagi Component library
The component library allows you to develop or reuse APIs or your own class libraries, so that you build them by using an IDE (Visual Studio) in your laptop.
Though it allows you to connect to legacy systems and databases, you may also extend the logic and processing capabilities of business rules by bundling such libraries inside Bizagi (dll assemblies or .jar files).
An example of Component library use oriented towards business logic enhancement, is when we need to consider Process logic that implements sophisticated calculations or operations, for instance when performing amortization payments simulators or manipulating content inside files. These operations can be so complex that may involve the use of existing components and APIs.
How does it work?
The Component library acts as a middleware repository of custom-developed components (which can use in turn, other external APIs or connectors).
This component is registered in Bizagi by including its compilation file (either a built .dll or .jar, according to the platform technology in which Bizagi's Processes will be executed).
Once registered in the Component library of a Bizagi project, components’ public methods can be directly invoked from the Processes’ business rules (from either synchronous or asynchronous tasks).
To view an example, refer to Component library example.
To view recommendations and considerations for its use, refer to Component library guidelines.