Bizagi presents an integration layer which provides easy configuration for integration with existing applications, through diverse alternatives.
Through this integration layer, Processes in Bizagi can directly communicate with external systems to obtain business information or to update it.
The main feature presented by the integration layer is the Web services connector in Bizagi, which allows your processes to invoke external services through standard web protocols (e.g SOAP).
Other alternatives for B2B integration, such as Bizagi Connectors, are described at Bizagi connectors.
When to use the Web services connector?
Consider as an example, a Credit Request Process in which we may need to look up in a Credit Bureau (or any other system) if the applicant is in the Black List, or to verify his or her burrowing capacity.
As shown in the image below, Processes may have many integration points where they need to invoke external services:
In Bizagi, configuring this type of integration is done through a generic Web service connector which can connect to standard SOAP Web services or RESTful services, either residing in an internal network location (intranet) or in the cloud (Internet).
How does it work?
Invoking external services from Bizagi will allow business information from Process instances to be sent as input to that external service.
In return, the external service's response will be automatically updated in Bizagi (back into the Process data model).
The information exchange between Bizagi the service, either set in an ESB, in the cloud or directly as an available system, is done through standard XMLs.
In this way, the integration is independent from the platforms or technologies involved, and the programming language used in the services implementation.
To configure a Web service invocation (either SOAP or RESTful service), Bizagi's Web service connector presents a series of assisted and graphical steps, in which there is no need of programming.
To invoke external services from within Processes in Bizagi, it is recommended to define these integration points as BPMN Service Tasks.
By using Service Tasks to configure integration points, you can specify whether the invocation to external services is done in a synchronous or asynchronous manner.
To view more information about configuring these integration points for asynchronous execution, refer to Asynchronous Activities.
About the Web service connector
Integration points in the Process are defined from the step #6 of the Process Wizard in Bizagi Studio (Define integration interfaces).
In this step, we configure external services invocations through the Web service connector:
Upon selecting on which Service task you want to configure the invocation, Bizagi will present its Web service connector for a guided 4-step configuration.
Take into account that the options presented may vary according to the options selected (i.e, the chosen service type: SOAP or REST).
Standards supported by the Web service connector
The Web service connector is a powerful generic connector which consumes any Web service, be it set in the corporate ESB, in the cloud, or as an external application.
For SOAP Web services, the following are supported:
•SOAP 1.1 compliant Web services.
•SOAP 1.2 compliant Web services
Consider these notes as well:
•When invoking SOAP Web services, it is required to use POST as the Web method.
•When invoking REST services, XML format must be used in the sent and received information.
•WSDL version 1.0. is supported.
Its version 2.0 is not supported.
Additional Web services extensions (WS-*) supported as well:
•WS-Security: Authentication by Username tokens, and by Binary security token (version 1.1 spec).
For authentication through Binary security tokens, message protection (encryption) requires that the service publishes a public key in its WSDL.
The WS connector supports WSDLs that publish multiple methods and multiple ports.
This latter option is specified through the Advanced interfaces configuration.
The WS connector does not support WSDLs that publish multiple services.
If you need to invoke a SOAP Web service which uses definitions from a standard not listed above (e.g, WS-Discovery), or to consider a requirement not supported by the connector (such as X invocations of a service, say once per each record of a table), then you will need to use either Bizagi Connectors (preferred), or the Component Library feature in Bizagi.
The same applies if you want to invoke a RESTful service which uses OAuth in its authentication.
For more information, refer to Integrating APIs or custom code.
For more information and examples on Web services invocation, refer to: