Browse Prior Art Database

Using an Interface and Abstract Operations to Integrate with Interchangeable Software Products

IP.com Disclosure Number: IPCOM000179918D
Original Publication Date: 2009-Mar-02
Included in the Prior Art Database: 2009-Mar-02
Document File: 5 page(s) / 44K

Publishing Venue

IBM

Abstract

Disclosed is a system that simplifies the interchangeability of software products called by another software product to accomplish a task. The task can be carried out by any software product that registers itself with the capability. An intermediate component (integration module) is used to call the software product(s). A simple, general purpose interface is defined to allow the requestor of the action to call any integration module to request any of the tasks that it supports. This system makes it possible to plug in different software products to handle a task in a manner that is transparent to the requestor.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 40% of the total text.

Page 1 of 5

Using an Interface and Abstract Operations to Integrate with Interchangeable Software Products

Disclosed is a system that simplifies the interchangeability of software products called by another software product to accomplish a task. The task can be carried out by any software product that registers itself with the capability. An intermediate component (integration module) is used to call the software product(s). A simple, general purpose interface is defined to allow the requestor of the action to call any integration module to request any of the tasks that it supports. This system makes it possible to plug in different software products to handle a task in a manner that is transparent to the requestor.

    Requestor Objective: Perform an action on a Business Object using the applicable

Software Product

Web Service

JMS JMS

Server a

Web Service Interface

Product 1

Server b

JMS Interface

Product 2

Server c

JMS Interface

Product 2

Business

Object 1

Business

Object 2

Business

Object 3

Business

Object 4

Figure 1 Use Case

Figure 1 illustrates a use case where a software product wants to take an action, for example to install software, on a remote business object, such as a computer. In this example, computer support within the IT infrastructure is divided among a set of servers, and the different servers have different software

1

Page 2 of 5

products installed to accomplish this action. The requestor

needs to request the action from the server that supports the

particular machine it wants to install software on and use

whichever software product is installed on that server for that

purpose. Each of the software products has a different interface

and uses a different communication protocol.

This presents a challenge to the requestor to be cognizant of which software product is installed to handle the task for any given target business object, what the product interface is, and what communication protocol it uses. For example, in the illustration in Figure 1, if the caller wants to perform the task on Business Object 1, it needs to use a Web Service to call Product 1 on Server a. If it wants to perform the task on Business Object 2, it needs to use a JMS interface to call Product 2 on Server b.

       SOLUTION:
Use lookup utility to find applicable integration module and invoke its general purpose interface.

Service Invoker

Service Invoker

Integration Module 1

Integration Module 2

WebService JMS

Server a

Product 1

Server b

Product 2

Server c

Product 2

Business Object

Business Object

Business Object

Business Object

Figure 2 Solution

As illustrated in Figure 2, the solution described in this paper

2

Page 3 of 5

involves the definition of an interface, called the Service Invoker, and an adapter, called an Integration Module, to shield the requestor from the specifics of the target product interface. A complete solution involves encapsulating the business objects, the product instances, the integration modules, t...