A key goal of establishing a service-oriented architecture (SOA) is to more closely align business and IT. Once the IT environment more directly and accurately reflects the needs of the business and its processes, responses to changing market demands can be implemented much quicker than before. One aspect of making this possible is to model core business processes and transform them into executable IT artifacts that can be run automatically by a business process engine.
While this covers the functionality of the business process, it alone does not always sufficiently address the information that flows within the processes and workflows. Information in the enterprise is spread out across a large number of sources, databases, and applications, and must be usable in a business process in a correct, consistent, and consolidated way.
This article explains how you can integrate information services, supported by IBM InfoSphere Information Server, with a process integration platform based on IBM WebSphere Process Server.
Implementing BPM with SOA and WebSphere products
There are many aspects to business process management (BPM), from analyzing business goals and enterprise strategy, to modeling business processes, and finally to implementing and deploying those processes in IT. One way of approaching this is to create a map of core business components using, for example, component business modeling (CBM). For the resulting components, you identify the core business processes, which you can then decompose to a level of detail in which you represent individual activities as services, as shown in Figure 1.
Figure 1. From business components to fine-grained services
At the IT level, processes take advantage of service orientation (by decomposing activities and functions into services), with standard contracts and following general service-oriented design principles. For orchestrating these services, WebSphere Process Server leverages the Service Component Architecture (SCA), which includes descriptions of service components and their relationship with each other (and with any external partners), as well as a programming model for invoking such components. These service components can be implemented in a variety of ways, as new functionality or based on existing function. Figure 2 shows the complete solution stack as described above, enabling business processes described from the business perspective to be tied into existing IT systems as an orchestration of services that encapsulate the actual, implemented business logic.
Figure 2. SOA solution stack
A key element of modeling and automating business processes is the information that flows through them. Individual pieces of information are provided via information-centric services that are part of the portfolio. They are closely related to the overall data architecture of the system, which is represented on the right of the SOA solution stack, shown above. Weâll take a look at this type of service -- also known as Information as a Service -- next.
Information as a Service
Information (data) that is vital for modeling business processes is often difficult to come by. Each process must develop and maintain its own connection to the data, and there are often multiple versions of the "truth"; in other words, different versions of the same business data exist in different systems. Moreover, business processes are often built in a way that tightly couples them with a particular underlying data source, making it less adaptive to change.
To overcome the challenges related to managing, maintaining, and integrating information (and meta-information) in the context of an enterprise SOA, the concept of "information as a service" was conceived: in a nutshell, Information as a Service applies the same principles and objectives to information that traditional SOA solutions have applied to functionality. For example, establishing the notion of virtualized information supports central control over data, consistent application of rules, central management, and maintenance of meta data, and enables the changing of formats and data sources without impacting the business process or workflow that leverages that data, as shown in Figure 3.
Figure 3. Service virtualization
There are many levels at which information can be exposed over such a virtualized interface. For example:
- Traditional data federation technology, such as ETL, data warehouse, and so on.
- Exposing relational tables as a service, typically in the form of simple Web service wrappers.
- Advanced data and query federation across heterogeneous data sources.
All of these provide information -- from simple to complex -- that can be viewed as a service within an overall SOA. In essence, the information is made available in the context of a service, following principles of service orientation, like standardized contracts or separation of interface and implementation, to name two examples.
Another important example of applying the idea of Information as a Service to an enterprise is to use Master Data Management technology. Instead of virtualizing information, as described above, Master Data Management consolidates data into a scalable platform by establishing and maintaining an authoritative source of master data as a system of record for enterprise master data.
As with other types of services, we can position Information as a Service with the IBM SOA Foundation Reference Model, which has an explicit category set aside for this, as shown in Figure 4 (including a more detailed view into this category).
Figure 4. Information services in the IBM SOA Foundation Reference Model
There are multiple products within the IBM InfoSphere Information Management product family that support the concept of Information as a Service and the patterns mentioned above. For example, IBM InfoSphere Information Server enables federating heterogeneous data sources to support complex queries for information, as well as cleansing data.
Integrating information services with WebSphere BPM
As mentioned earlier, the service portfolio that is used for business process automation consists of various types of services, such as:
- IT-centric services that provide technical support for common functions.
- Task-centric services that typically contain domain-specific business logic, and which represent individual steps within a business process.
- Information-centric services that offer a consistent view of information (data) throughout the enterprise; this type of service is closely related to the concept of Information as a Service.
When building a service-oriented solution for business process automation, you have to integrate with the information processing technologies that form the base for Information as a Service. Figure 5 shows an example of a solution utilizing an implementation of the data cleansing pattern, which is connected into the ESB via a service enablement layer, making it available to a variety of consumers; for example, a business process.
Figure 5. Data cleansing in an SOA context
To integrate the information processing environment with the business process automation environment, you can use the IBM InfoSphere Information Services Director. This product directly implements the Information Service Enablement component depicted in Figure 5.
The Information Services Director provides tooling that lets you create service modules on top of existing information services that are provided via InfoSphere Information Server products. It receives Web services requests and maps them to the appropriate information provider (for example, running a complex query). The returned result is transformed into the appropriate service response message, which is then returned to the consumer, as shown in Figure 6.
Figure 6. Web service processing in Information Services Director
In other words, Information Services Director enables the functions of the Information Server suite to be published as consistent, reusable information services. Since the Information Services Director runs as a J2EE™ application with IBM WebSphere Application Server as its runtime platform, it offers several additional access types beyond Web services traffic over SOAP/HTTP; for example, an EJB API.
To directly support the use of information services within a BPEL process built in IBM WebSphere Integration Developer, Information Services Director offers a plug-in for WebSphere Integration Developer that provides access to Information Services Director-supported services from within any BPEL process, and lets you map data directly to process variables. It also offers direct access to Information Server meta data.
This article took you through the steps required to implement an IT solution that is closely aligned with the business, using the principles of service orientation and SOA. It starts out with the modeling of business processes that are composed into services, which are then orchestrated and run on a process automation platform like WebSphere Process Server. Information is a crucial element of each business process and must be available in a correct and consistent form across the entire enterprise. To support this requirement, you can establish a virtualized information interface that encapsulates all access to information and exposes it as a service -- Information as a Service. The InfoSphere Information Server product family fully supports this concept.
To integrate the WebSphere Process Server and InfoSphere Information Server environments, you can use the InfoSphere Information Services Director, which serves as a gateway between both environments. This is typically rolled out in combination with an Enterprise Service Bus. Figure 7 shows how these environments interact with each other via an ESB, based on WebSphere ESB. Finally, both the Enterprise Service Bus and the Information Services Director take advantage of the IBM WebSphere Services Registry and Repository to store and retrieve meta-data.
Figure 7. Information Server and Process Server
The author thanks Guenter Sauter and Christian Teuscher from the IBM Software Group Information Management team for their help with this article.
- Information management in Service-Oriented Architecture, Part 1: Discover the role of information management in SOA
- Information management in Service-Oriented Architecture, Part 2: Explore the different approaches to information management in SOA
- Information service patterns, Part 1: Data federation pattern
- IBM InfoSphere Information Server product information
- IBM InfoSphere Information Services Director product information
- IBM WebSphere Process Server product information
- IBM developerWorks Information Management
- IBM developerWorks WebSphere