This topic applies only to the IBM Business Process Manager Advanced configuration.

Advanced integration services

An Advanced Integration service is used to call a service implemented in IBM® Integration Designer from a business process definition (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.

SCA modules (also referred to as service modules) encapsulate Advanced Integration services, so you can make changes to services without affecting users of the service. Some SCA modules are associated with a process application; they provide the Advanced Integration service functionality for that process application.

Bindings

At the core of a service-oriented architecture is the concept of a service, a unit of functionality accomplished by an interaction between computing devices. An export defines the external interface (or access point) of a module, so that Service Component Architecture (SCA) components within the module can provide their services to external clients. An import defines an interface to services outside a module, so the services can be called from within the module. You use protocol-specific bindings with imports and exports to specify the means of transporting the data into or out of the module.

Exports
External clients can invoke SCA components in an integration module over a variety of protocols (such as HTTP, JMS, MQ, and RMI/IIOP) with data in a variety of formats (such as XML, CSV, COBOL, and JavaBeans). Exports are components that receive these requests from external sources and then invoke IBM® Business Process Manager components using the SCA programming model.
For example, in the following figure, an export receives a request over the HTTP protocol from a client application. The data is transformed into a business object, the format used by the SCA component. The component is then invoked with that data object.
Figure 1. An export with HTTP binding
Illustration showing an HTTP message flowing through an export with HTTP binding to a component.
Imports
An SCA component might want to invoke a non-SCA external service that expects data in a different format. An import is used by the SCA component to invoke the external service using the SCA programming model. The import then invokes the target service in the way that the service expects.
For example, in the following figure, a request from an SCA component is sent, by the import, to an external service. The business object, which is the format used by the SCA component, is transformed to the format expect by the service, and the service is invoked.
Figure 2. An import with HTTP binding
Illustration showing an HTTP message flowing through an import with HTTP binding to an external service.

Relationships

A relationship is an association between two or more data entities, typically business objects. In IBM Business Process Manager Advanced, relationships can be used to transform data that is equivalent across business objects and other data but that is represented differently, or they can be used to draw associations across different objects found in different applications. They can be shared across applications, across solutions, and even across products.

The relationship service in IBM Business Process Manager Advanced provides the infrastructure and operations for managing relationships. Because it enables you to deal with business objects regardless of where they reside, it can provide a unified holistic view across all applications in an enterprise, and serve as a building block for BPM solutions. Because relationships are extensible and manageable, they can be used in complex integration solutions.

The relationship editor in Integration Designer is the tool you use to model and design business integration relationships and roles. For detailed background and task information about creating relationships and using the relationship editor, see Creating relationships.

The relationship manager is the administrative interface for managing relationships. It is accessed through the Relationship Manager pages of the administrative console.

Business objects

The computer software industry developed several programming models and frameworks in which business objects provide a natural representation of the business data for application processing. In general, these business objects:
  • Are defined by using industry standards
  • Transparently map data to database tables or enterprise information systems
  • Support remote invocation protocols
  • Provide the data programming model foundation for application programming
In IBM Business Process Manager Advanced, a business object (BO) is a container for application data, such as a customer or an invoice. Data is exchanged between components by business objects. The underlying structure of a business object is an XML schema definition (XSD).
In this illustration, business objects represent the data that flows between services in an application

Process Designer and Integration Designer provide developers with one such common business object model for representing different kinds of business entities from different domains.

In Process Designer, business objects are focused on a data type representation. Base business objects (variable types) are provided in system toolkits, and you can create custom variable types called custom business objects. See Business objects and variables in Process Designer.

In Integration Designer, which is available only with IBM Business Process Manager Advanced, business objects can represent more complex XSD constructs. In Integration Designer, business objects have a close affinity with XML schemas. For information about what to consider when you integrate business objects that are defined in Integration Designer with business objects that are defined in Process Designer, see Library mirroring and XML constructs not supported.

At development time in Integration Designer, the business object model enables developers to define business objects as XML schema definitions. At run time, the business data that is defined by the XML schema definitions is represented as Java™ Business Objects. In this model, business objects are loosely based on early drafts of the Service Data Object (SDO) specification and provide the complete set of programming model application interfaces required to manipulate business data.

Versioning in Advanced Integration services

The lifecycle of a service module that contains an Advanced Integration service begins with the creation of the service module and continues through a cycle of updating, deploying, co-deploying, undeploying, and archiving it.Versioning is a mechanism used to manage the lifecycle of the service module by uniquely identifying the individual versions of the module.

You can choose to version modules and libraries in IBM Integration Designer. In addition, you can create versions of a human task or state machine, so that multiple versions of the task or state machine can coexist in the runtime environment.