IBM BPM, V8.0.1, All platforms > Create processes in IBM Process Designer > Modeling processes > Building services

Building an Advanced Integration service

An Advanced Integration service is used to call a service implemented in IBM Integration Designer from a BPD (via a system task) or another service (via a nested service).

An Advanced Integration service is a collaboration between a business user working with IBM Process Designer and an integration developer working with IBM Integration Designer.

For example, your business process may need a list of computer parts in your warehouses in Canada. Checking with an integration developer, you realize that a service is being built in Integration Designer to query the Canadian warehouses and return an inventory list of the computer parts available. You could create an Advanced Integration Service that would use this Integration Designer service as an activity in your business process.

Advanced Integration Services are available only with IBM BPM Advanced.

As suggested in Best practices when using IBM Integration Designer and IBM Process Designer together, collaborate before defining your Advanced Integration service.

For example, since you may want to share this and other Advanced Integration services with many business processes, you might select a toolkit to contain all your Advanced Integration services.

To build an Advanced Integration service, follow these steps.


Procedure

  1. Start IBM Process Designer and open the appropriate process application in the Designer view.

  2. To create an Advanced Integration service, click the plus sign next to Implementation and select Advanced Integration Service from the list of implementation types. Add a name for your service and click Finish.

  3. Optional: In the Documentation field, add a description of your service.

  4. In the Parameters section, add input, output, and error parameters.

    An input parameter defines the name and type of data your business process will send to the service in Integration Designer.

    An output parameter defines the name and type of data your business process will receive from the service in Integration Designer.

    An error parameter identifies an error or fault that might be thrown by the service designed in Integration Designer. If you want to catch a specific error using an error event in your process model, the error name entered here is used for the error code in the catching error event.

    A Documentation field lets you add a description of the parameter. Selecting Is List means the parameter is an array (contains a set of data). Parameter Type lets you set the type of the data such as a string or boolean type.

  5. The Advanced Integration Service section contains fields used in Integration Designer that will be initially empty with the exception of Can be used with service? The fields will be filled in when the service is implemented in Integration Designer. Can be used with service? may also be changed at that time depending on the implementation in Integration Designer.

    • Module name: The name of the module in Integration Designer containing the service implementation.
    • Export name: The name of the export of the module that exposes the service implementation. An export is the endpoint to be used when invoking the service.
    • Operation name: The name of the operation of the service to be invoked.
    • Can be used with service?: Not all implementations of Advanced Integration services can be used with a service. If the implementation cannot be used with a service, this field will be set to No.

      To be specific, an Advanced Integration service can always be used by a Business Process Definition whether the Can be used as service field is set to Yes or No. It can also be used by the following services if the field is set to Yes: a General System service, a Human service or an Integration service. Do not use an Advanced Integration service with these services if you see a No in this field or these services will experience unexpected behavior.

      The Yes or No value itself is determined by the preferred interaction style and operation type used by the associated export in Integration Designer.

      • Asynchronous style with a one-way operation type: Yes.

      • Asynchronous style with a request-response operation type: No.
      • Synchronous style with a one-way operation type: Yes.
      • Synchronous style with a request-response operation type: Yes.

  6. An Open in Integration Designer button lets you see the implementation created in Integration Designer. It can only be used if Integration Designer is available.
  7. Save your work. From the menu, select File > Save All


Results

An Advanced Integration service can be used as implementation of a user task or a system task. If used by a user task, it is assigned as specified via the assignments of the user task. If used by a system task, it is run by the system user.

An Advanced Integration service can also be emulated. In emulation, it behaves in the following way:

When All users is shown in emulation, any user selected will require authentication. Select the user you are currently authenticated as and enter your credentials.

As discussed earlier, your service is a collaborative arrangement. Should you move your Advanced Integration service to another toolkit, notify the integration developer who implemented your service. Your service and its implementation by Integration Designer are decoupled, which means that even though you may move a service in Process Designer there will not be an automatic corresponding movement in the implementation by Integration Designer.

The integration developer should use the refresh function to identify the implementation that he needs to move and recouple with the Advanced Integration service you moved in Process Designer.

Building services