Web Services
From Business Process Management, BPM and Workflow Automation Wiki | BizAgi BPMS
<keywords content="keywords">invoke web service, webservice, web services, webservices, interface, application integration, integration</keywords>
Contents |
Invoking external services from Bizagi
Overview
Bizagi presents an integration layer which allows process level integration with existing systems (external systems to Bizagi).
This integration layer follows the Service Oriented Architecture principles, which allow invocation of web-based Services (such as standard SOAP web services or REST services).
These web-based Services are available as methods accessed through an URL, either in an internal network location (Intranet) or an external location (Internet).
The following image illustrates this concept:
Throughout this feature and approach, business information from a process in Bizagi can be sent as input to that external service's invocation. Then, this service's response information is automatically updated by Bizagi (back into the process data model).
The information exchange between Bizagi and the external system is done through standard XML. This way, this integration is independent from the platform or technology, and the programming language used in the web-based service implementation.
To configure either a SOAP web service invocation or a REST service invocation, Bizagi offers a graphical wizard for agile configuration of an interface invocation, without the need of programming!
Take into account that Bizagi allows also, a data-level integration (with an existing data source).
View further information about Bizagi's integration types and possibilities.
About the interfaces wizard
The interfaces wizard is launched from the step 6 of the Process Wizard, and it presents a guided 4-step configuration for your web-based service invocation.
The interfaces wizard provides further possibilities to include adjustments for XML transformations as well (for advanced users), and support both options: invocation of SOAP web services and invocation of REST services.
If you wish to view information related to invocation of REST services from Bizagi, refer to the How to invoke a REST Service from Bizagi article.
How to Invoke a SOAP Web Service from Bizagi
In the following example and sections, we will treat how to invoke a traditional Web service from Bizagi (SOAP):
What you need to do in Bizagi
To set the configuration for a SOAP web service invocation, the following is done:
1. Resolve Web Service URL
2. Define Input Parameters
3. Define Output Parameters
4.Configure Error Handling
Example
In the following example, we will use the "Vacation Request" process, in which an employee starts a vacation request and initially consult the number of days available for his vacations.
For this configuration, go to the sixth step in the Process wizard and click on the "Define interfaces" option.
Once your see the "define interfaces" view of the process, click on the automatic task where the external web service will be invoked. Notice that when a process is opened in this view (through this step), only the automatic (Service) Tasks are highlighted (enabled).
In the image below, the Automatic Task chosen for our example is "Verify Available Vacation Days", in which Bizagi will obtain from another system, the number of available vacation days for that employee.
When clicking on the automatic task, the interface wizard will be launched.
For a more detailed guide about the wizard's use, refer to the example using the wizard to configure web services invocation.
Resolve Web Service URL
In this first step the web service's URL is inputted, and the web method to be used is selected.
Note: For this shown configuration in the interfaces wizard, we first select SOAP as the service type:
|
Define Input Parameters
For each one of the parameters that are needed to establish communication with the external system, the wizard will display the options to retrieve this information from the data model using XPATH.
Notice that there are special mapping features and functions to easily map the input parameters. View about these special web services mapping features and functions.
Define Output Parameters
Depending on the return data type defined in the web method, it is possible to save the response in a given XPath.
Notice that there are special mapping features and functions to easily map the output parameters (similar to the input mapping). View about these special web services mapping features and functions.
Configure Error Handling
For an interface, it is necessary to configure what to do if the web service invocation fails. Additionally exists the possibility to validate and error response, and configure an action, depending on the web service return value.
Alert: Bizagi saves accurately the configuration for your invocation and mapping even if you change the web service method afterwards (its definition signature has different or new parameters). It would still be recommended to review your web service's invocation and go over its configuration to review the mapping of the new parameters. |
Advanced and Related Topics
- Example Using the Wizard to Invoke Webservices
- Advanced Options to Invoke Webservices
- Special web services mapping features and functions
- Administration of Interfaces
- Interaction with Bizagi via SOA
- Integration of Bizagi with smartphones
<comments />