About Web Services in workflows
Process Engine leverages Web Services technology to enable workflow authors to define message interaction between FileNet processes, as well as between FileNet workflows and other business processes.
Process Engine provides three Web Services features:
- A Web Services API that provides a sub-set of the Process Java™ API. You can use the Web Services API to write step processors.
- The ability to invoke Web Services defined in another workflow. This feature allows you to create workflows that can use Web Services developed by others in your organization or available externally on the Internet.
- The ability to provide a workflow as a Web Service, which enables other applications to interact with your workflow via Web Services.
There are two modalities you can use to create or invoke a Web Service:
- The parameters modality allows you to invoke or create Web Services without requiring knowledge or understanding of XML or XML schemas. This feature provides an easy way to start using Web Services.
- The XML modality requires XML and XML schema knowledge, and allows users to deal with complex XML messages that might not be suitable for the parameters modality.
See the W3C site for a general introduction to Web Services technology. See WebSphere Service Registry and Repository (WSRR) and Oasis UDDI for information about WSRR and UDDI registries.
See Examples for using Web Services in FileNet workflows.
Invoking a Web Service provided by your company, a partner, or from a public UDDI registry
To invoke a Web Service, you need the description (WSDL) of the service, with the expected parameters and the endpoint where the service can be executed. Services are available in WSRR registries, UDDI registries, from business partners, or from your own FileNet P8 workflows designed to provide a Web Service. Process Configuration Console and Process Designer provide interfaces for configuring and defining your Web Services.
- Using Process Configuration Console, an administrator familiar with Web Services can specify a limited list of WSRR or UDDI registries with appropriate Web Services for an isolated region. This optional step provides a conveniently filtered list of registries that workflow authors can search to locate Web Services to use in workflow definitions. See WSRR Registry list or UDDI Registry list for instructions. As an alternative, the administrator can allow workflow authors to type in the complete WSDL URL as Partner Links for Web Services that they will use in a particular workflow definition.
- Using Process Designer, the workflow author completes the following steps to invoke a Web Service as a step in a workflow.
- In Workflow Properties Partner Links, select Web Services to invoke, either by selecting from the WSRR registry list or UDDI registry list specified in Process Configuration Console, or by directly typing in the location of the WSDL. See Workflow Properties - Web Services in Help for Process Designer.
- Place an Invoke step at the appropriate location on the workflow map, and select the desired Web Service from the list. Process Designer interprets the WSDL to detect required parameters. See Invoke system function in Help for Process Designer.
- Define appropriate data fields for input and output parameters for the Web Service.
For complex outgoing and incoming messages, you can also define XML schemas, XML data fields, and correlation sets, as required for your application.
- NOTE A FileNet workflow cannot invoke a web service that is deployed on a web server that requires authentication for access.
- See Invoke a Web Service for a simple step-by-step example.
Providing a Web Service for use within your company, to partners, or for public use
To provide a Web Service, you create a workflow with a Receive step, then make it available for use by other FileNet workflows or outside partners.
- Use Process Designer to define the Web Service, specifying a receive/reply Partner link, and defining any appropriate data fields for input parameters and reply parameters.
If an attachment might be part of the input, specify a folder where the incoming attachment will be stored. See Workflow Properties - Web Services in Help for Process Designer.
- Place a Receive step at the appropriate location on the workflow map, and specify the appropriate Partner Link and the various input parameters for the Web Service.
See Receive system function in Help for Process Designer.
-
Add a Reply step to the workflow map to specify the reply message for the Web Service.
- To make the Web Service available to other workflow within the isolated region, transfer the workflow containing the Receive step to the Process Engine database.
See Web Services - parameter example for a simple example.
To make the Web Service available for use outside the isolated region by either another FileNet workflow or an outside process, you publish the Web Service to either a private UDDI Registry or to a public UDDI Registry using Process Configuration Console.
Advanced features
Authentication and security - Using the built-in authentication option in the Receive step, you can specify that a logon and password is required for a request. See Web Services - authentication example.
Correlation - By configuring correlation sets in Invoke, Receive, and Reply functions, you can identify specific conversations between Web Services. For example, in a purchase order conversation between the buyer and supplier, an order number can be used to identify the appropriate messages between the buyer and supplier. See Web Services - correlation example.
Attachments - You can pass attachments by reference between two FileNet workflow systems that have access to the same object store. The attachment reference information is included in the message.
You can pass attachments by value between any Web Services applications. When an attachment is passed by value, the complete document is sent in the Web Service message.