IBM BPM, V8.0.1, All platforms > Programming IBM BPM > Developing client applications that use IBM BPM REST APIs > REST resources

REST APIs and federated environments

The federation domain is a set of one or more systems that are configured to access the different categories of resources. IBM BPM provides predefined domains, but you can also configure your own domains. Federated queries can be considered to be "virtual queries" against the whole domain.

Federated queries are propagated to the individual systems as system-specific queries. These queries are mapped to saved searches for the business process definition engine, and query tables for the Business Process Choreographer engine. The query result sets from the individual systems are merged and sorted into a single result set.

The REST methods process federated resources in the following way:

  1. Request preprocessing and propagation

    • Federation URI parameters (domain and systemID) are removed from the request.

    • For query entity list (count) requests, interaction filters and query filters are preprocessed to optimize the subsequent requests that are distributed to individual systems in the domain.

    • For bulk requests, individual system-specific bulk requests are created by filtering the resource list by the target system.

    The resulting request is routed to one or more systems in the domain.

  2. Response post-processing and HTTP status codes

    • The lists that are returned by the requests to the individual systems are consolidated into a single response. A systemID property is added to each list entry so that subsequent requests for singular resources can be routed to the hosting system.

    • For most distributed requests, a federationResult property is added to the federated response. This property contains the system ID, the HTTP status code, and the error response content.

    • The federated HTTP status code is determined. The resulting status code is the minimum of the status codes for the individual requests.

      For example, if a request was distributed to three systems that responded with HTTP status codes 200, 200, and 404, then the federated HTTP status code is 200. You can use the federationResult property to check the results of each of the individual systems.

The federated REST API does not currently support resources that are related to work baskets and business categories. To work with these resources, you can only use the BPEL-related REST API.

REST resources provided by the IBM BPM REST APIs


Related reference:
REST Interface for BPD-related Resources
REST Interface for BPEL-related Process Resources
REST Interface for BPEL-related Task Resources
REST Interface for Federated BPM Resources


Related information:
Enabling the Federation API across multiple deployment targets