Method and apparatus for providing inter-application program...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000

Reexamination Certificate

active

06370590

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to computer software, and more specifically, to a method and apparatus for providing communication between application programs.
BACKGROUND OF THE INVENTION
In the context of computer software, an application program, sometimes referred to as an “application,” is a complete, self-contained computer program that performs one or more specific functions directly for a user. Application programs are sometimes integrated to create a “vertical application.” Vertical applications are created when it is useful or convenient to have two or more application programs integrated together. The application programs in a vertical application are referred to as “sub-applications.”
For example, a database application, a spreadsheet application and a word processing application may be integrated to create a vertical application. Then, database data can be retrieved by the database sub-application and passed directly to the spreadsheet sub-application for processing. The spreadsheet sub-application can then pass the spreadsheet data to the word processing sub-application to be used in a document. The spreadsheet data can also be sent by the spreadsheet sub-application back to the database sub-application so that the database can be updated.
Vertical applications are also created for specific situations, such as particular industries or par customers. For example, a vertical application may include generic database, spreadsheet and word processing sub-applications and a custom financial sub-application developed for a particular industry.
One of the most difficult aspects of creating a vertical application is providing a way for sub-applications to communicate with each other. Sub-applications must communicate with each other when processing performed by one sub-application affects processing performed by another sub-application. In the previous example, output data generated by the spreadsheet sub-application is used as input data by the database sub-application.
One approach for providing communication between sub-applications is to implement a messaging scheme that allows sub-applications to exchange data using messages. A message is a body of data that is formatted according to a particular format. Each sub-application generates messages according to a particular format and then transmits the message to the other sub-applications.
When all of the sub-applications in a vertical application are developed by a single source, a single messaging scheme can be implemented across all of the sub-applications so that each sub-application is aware of all the other sub-applications and knows how to communicate with them. However, when the sub-applications are not all developed by a single source, some sub-applications may not be able to communicate with other sub-applications using messages because they do not support the same messaging scheme. Another problem is that some sub-applications are not necessarily designed to communicate with other sub-applications at all. Sub-applications that are not designed to communicate with other applications through messages are not “message aware”.
One approach for providing communication between sub-applications that do not all support compatible communication formats, or that are not all message aware, is to update the source code of the sub-applications to implement a single message scheme in all of the sub-applications. With a single messaging scheme, each sub-application knows which other sub-applications it has to communicate with and how to communicate with those other sub-applications. However, in many instances, the source code of one or more sub-applications cannot be accessed or changed, making this approach unavailable. Even if the required source code can be accessed and changed, doing so can be impractical because changing the source code can require a large amount of resources and time. In addition, the invasive nature of this approach can adversely affect the reliability of those sub-applications.
Another approach for providing communication between sub-applications that do not all support compatible communication formats or that are not all “message aware” involves the use of adapters. An adapter is essentially a translator that translates data in one format to produce data in another format. The data before and after the translation contains the same information. However, the format of the data is changed. For example, an adapter may translate a message in format A to produce a message in format B.
When used in a vertical application, an adapter is “attached” to a sub-application to enable that sub-application to send messages to a target sub-application in the message format supported by the target sub-application without making significant changes to the sub-applications. An adapter may be integrated into its corresponding sub-application or may be more loosely associated with its corresponding sub-application. When the sub-application transmits or “publishes” a message to a target sub-application, the adapter ensures that the published message is in the format expected by the target sub-application so that the target sub-application will be able to successfully decipher the message. When the sub-application receives or “subscribes” to a message from the target sub-application, an adapter ensures that the received message is in the format expected by the sub-application so that the sub-application will be able to successfully decipher the message.
For example, consider
FIG. 1
, which illustrates a vertical application
100
that includes four sub-applications identified as SUB-APP
1
, SUB-APP
2
, SUB-APP
3
and SUB-APP
4
. Sub-application SUB-APP
1
supports messages that are in format
1
. This means that sub-application SUB-APP
1
transmits messages in format
1
and can successfully decipher messages received in format
1
. Sub-application SUB-APP
2
supports messages that are in format
2
. Thus, sub-applications SUB-APP
1
and SUB-APP
2
cannot successfully communicate with each other directly because they support incompatible message formats.
According to the adapter approach, an adapter A
1
is attached to sub-application SUB-APP
1
and translates messages transmitted by sub-application SUB-APP
1
in format
1
to produce messages in format
2
. When a message is sent by sub-application SUB-APP
1
to sub-application SUB-APP
2
, in format
1
, the message is translated by adapter A
1
to produce a message in format
2
that is sent to sub-application SUB-APP
2
. Thus, adapter A
1
allows sub-operation SUB-APP
1
to send messages to sub-application SUB-APP
2
that can be successfully deciphered by sub-application SUB-APP
2
.
To allow sub-application SUB-APP
2
to send messages to sub-application SUB-APP
1
that sub-application SUB-APP
1
can understand, an adapter A
2
is attached to sub-application SUB-APP
2
which translates messages transmitted by sub-application SUB-APP
2
in format
2
to produce messages in format
1
. When a message is sent by sub-application SUB-APP
2
to sub-application SUB-APP
1
in format
1
, the message is translated by adapter A
2
to produce a message in format
1
which is then sent to sub-application SUB-APP
1
. Thus, adapters A
1
and A
2
allow sub-applications SUB-APP
1
and SUB-APP
2
to successfully communicate with each other even though they support different message formats.
Sub-application SUB-APP
1
also needs to communicate with sub-application SUB-APP
3
. However, sub-application SUB-APP
3
only supports messages in format
3
. To allow sub-application SUB-APP
1
to send messages to sub-application SUB-APP
3
that sub-application SUB-APP
3
can understand, an adapter A
3
is attached to sub-application SUB-APP
1
which translates messages in format
1
to produce messages in format
3
. When a message is sent by sub-application SUB-APP
1
to sub-application SUB-APP
3
in format
1
, the message is translated by adapter A
3
to produce a message in format
3
which is then sent to sub-application SUB-APP
3
. An adapter A
4
is attached to sub-

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for providing inter-application program... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for providing inter-application program..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for providing inter-application program... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2842674

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.