IBM SOA Foundation product integration: Leveraging Information as a Service in your WebSphere-based SOA solution

One of the most critical elements of business process management (BPM) is the availability of information to a business process. This article looks at how you can integrate the notion of Information as a Service, supported by the IBM® InfoSphere™ Information Server product family, with your business process automation platform based on IBM WebSphere® Process Server. This content is part of the IBM WebSphere Developer Technical Journal.

Share:

Andre Tost (andretost@us.ibm.com), Senior Technical Staff Member, IBM

Andre TostAndre Tost works as a Senior Technical Staff Member in the IBM Software Services for WebSphere organization, where he helps IBM customers establishing Service-Oriented Architectures. His special focus is on Web services and Enterprise Service Bus technology. Before his current assignment, he spent ten years in various partner enablement, development and architecture roles in IBM software development, most recently for the WebSphere Business Development group. Originally from Germany, Andre now lives and works in Rochester, Minnesota. In his spare time, he likes to spend time with his family and play and watch soccer whenever possible.


developerWorks Master author
        level

30 July 2008

Also available in Russian

Introduction

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
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
Figure 2. SOA solution stack

The Enterprise Service Bus, which handles service virtualization across protocols, message formats, and networks, is not covered here, although it will always be part of the complete SOA environment. It also acts as a policy enforcement point for security and participates in service management.

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
Figure 3. Service virtualization

There are many levels at which information can be exposed over such a virtualized interface. For example:

Information as a Service is a relatively broad subject that cannot be sufficiently covered in this article. You can find more detailed explanations of the concepts introduced here -- as well as others that contribute to the Information as a Service concept -- in The information perspective of SOA design article series on developerWorks. Additionally, many of the patterns that can be applied to actually implement the concept are described in the Information Service patterns article series. (For example, data cleansing involves extracting and transforming (or enriching) information to provide a consolidated view; data federation refers to the ability to federate data from heterogeneous sources to offer one view of the "truth" while enabling real time access to the underlying sources, and so on.)

  • 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
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
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
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.


Conclusion

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
Figure 7. Information Server and Process Server

Acknowledgements

The author thanks Guenter Sauter and Christian Teuscher from the IBM Software Group Information Management team for their help with this article.

Resources

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Business process management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Business process management, WebSphere, SOA and web services, Information Management
ArticleID=323942
ArticleTitle=IBM SOA Foundation product integration: Leveraging Information as a Service in your WebSphere-based SOA solution
publish-date=07302008