Building an integration service

Build an integration service when you want a flow to interact with an external system.

Before you begin

To perform this task, you must be in the IBM® Process Designer desktop editor.

To create services, you must have access to a process application or toolkit in the Process Center repository. Access to process applications and toolkits is controlled by users who have administrative rights to the repository. For more information, see Managing access to the Process Center repository.

About this task

For example, you may want users to choose from a list of products available from a common site on the internet. In that case, you can build an Integration service that calls a web service to display the list of options. Integration services are the only services that can include Web Service Integration and Java Integration components as well as content integration. For more information about inbound and outbound integrations, see Integrating with web services, Java and databases.

Procedure

  1. Open the Process Designer desktop editor.
  2. Open a process application in the Designer view.
  3. In New Service, enter a name for the service and click Finish. IBM Process Designer displays the diagram of the service with the default Start Event and End Event components.
  4. Select the Variables tab, and add the variables that your integration service will use as input or output and also add private variables that the service will use. See Declaring variables for a BPD or a service in Process Designer for information.
  5. Select the Diagram tab, and add the appropriate components to the service and then connect the components to create the flow. For information about the components that you can add to the diagram, see Service components in Process Designer. In particular, add one or more of the following components:
    Tip: You can also use the Invoke UCA component for integration. See Undercover agents.
  6. Configure the components in the flow. For the integration components listed in the previous step, configure them so that they interact with the external system. In particular, for the Web Service Integration, Java Integration, Content Integration, and nested service components, map the data used in the task flow to the input and output for the component:
    1. Click the Data Mapping option in the properties. Because you already created the input and output variables for the nested service, the Data Mapping tab includes these variables.
    2. From the Input Mapping section, you can map each variable using one of the following ways:
      • Use Automatic mapper to suggest mappings. If the automatic mapper does not find a variable, you can create a private variable for the mapping.
      • Use Select a variable. and then select the appropriate variable.
    3. In the Output Mapping section, do similar mappings for the output variables.
  7. If you want the results of the service to be cached for unique combinations of input parameter values, enable and configure the service result cache.
    1. Select the Overview tab, then in the Service Result Cache section, select Enable caching of service results. The cache configuration fields are displayed.
      Restriction: The service result cache setting works only for top-level services that are called directly. If a service is called within another service, the cache setting does not apply.
    2. By default, when caching is enabled, the results for each combination of input parameter values are kept in the cache for 12 hours. To change the caching period, in the Cache results for section, use the Days, Hours, Minutes, and Seconds fields to select the duration that you want.
      Important: You might be able to improve the performance of some services by using the cache, however you must take care when you decide how long to cache results for, and might need to tune the size of the cache to avoid memory problems. By default, the cache stores up to 4096 results. You can change the size of the cache by setting a different value for <service-result-cache-size> in the 100Custom.xml file, inside the <server merge="mergeChildren"> section.

Example

See the integration services included in the System Data (TWSYS) toolkit for implementation examples.