|
|
|
Distributed or remote access |
Inter-application data transmitting system and method6782403
Abstract
An inter-application data transmitting system having an application intermediary unit which mediates data to be transmitted between a network and one of multiple business applications for exchanging the data among the multiple applications interconnected over the network without changing the business application even if the access procedures, data formats, and communication protocols of the multiple applications are different from each other. The application intermediary unit is provided with an access procedure control unit for controlling an access procedure, a data format conversion unit for converting a data format, and a communication control unit for controlling communication between the multiple business applications having different communication protocols. The application intermediary unit further includes an application control unit for controlling those elements.
Claims
What is claimed is:
1. An inter-application data transmitting system for exchanging data among a plurality of applications interconnected over a network, the plurality of applications each storing the data in a predetermined application dependent data format, the inter-application data transmitting system comprising an application intermediary unit for mediating the data to be transmitted between the network and one of the plurality of applications,
wherein the application intermediary unit includes,
an application control unit for controlling a transmission of the data between the one of the plurality of applications and the application intermediary unit,
an access procedure rule memory for storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
an access procedure control unit, controlled by the application control unit, for gaining access to the data stored in the one of the plurality of applications in accordance with the access procedure rule stored in the access procedure rule memory,
a data format conversion rule memory for storing a data exchange format which is a data format predefined to be used for exchanging the data among the plurality of applications interconnected over the network, and further storing a data format conversion rule to be used for converting at least one of an application dependent data format of the data stored in the one of the plurality of applications which is accessed by the access procedure control unit into the data exchange format and the data exchange format into the application dependent format of the data stored in the one of the plurality of applications,
a data format conversion unit for converting the data from one data format to another based on the data format conversion rule stored in the data format conversion rule memory,
a communication control rule memory for storing a communication control rule which defines a communication rule, and
a communication control unit for controlling a transmission over the network of converted data in the data exchange format which is converted by the data format conversion unit based on the communication control rule stored in the communication control rule memory.
2. The inter-application data transmitting system of claim 1, wherein the application control unit includes a monitoring area table for setting data stored in the one of the plurality of applications which is required to be notified to another one of the plurality of applications as data to be notified,
for setting a processing request status which indicates an occurrence of the data to be notified, and for setting a data area of data to be monitored stored in the one of the plurality of applications which is monitored by the application control unit and also setting a data value of the data area in response to the processing request status, and
wherein the application control unit detects the processing request status being set in the monitoring area table, and outputs an instruction corresponding to a detected processing request status to the access procedure control unit.
3. The inter-application data transmitting system of claim 2, wherein the access procedure rule memory stores the access procedure rule corresponding to the processing request status, and
wherein the access procedure control unit detects the access procedure rule corresponding to the processing request status stored in the access procedure rule memory based on the instruction received from the application control unit, and gains access to the data stored in the one of the plurality of applications in accordance with a detected access procedure rule.
4. The inter-application data transmitting system of claim 2, wherein the application control unit monitors the data area and the data value of the data area being set in the monitoring area table regularly and so as to detect the processing request status.
5. The inter-application data transmitting system of claim 3, wherein the application control unit sets the processing request status including a plurality of types of the processing request status,
wherein the access procedure rule memory stores a plurality of access procedure rules corresponding to the plurality of processing request status types, and
wherein the access procedure control unit selects an access procedure rule corresponding to one of the plurality of processing request status types from among the plurality of access procedure rules based on the instruction received from the application control unit, and gains access to the data stored in the one of the plurality of applications in accordance with a selected access procedure rule.
6. The inter-application data transmitting system of claim 2, wherein the plurality of applications includes a first application and a second application,
wherein the first application is provided with a first application intermediary unit between the network and the first application, and the second application is provided with a second application intermediary unit between the network and the second application,
wherein the application control unit of the first application intermediary unit detects the processing request status and transfers the data to the second application intermediary unit based on a detected processing request status, and
wherein the second application intermediary unit writes a transferred data from the first application intermediary unit as data to be stored by the second application.
7. The inter-application data transmitting system of claim 1, wherein the communication control rule memory stores the communication control rule corresponding to each of the plurality of applications interconnected over the network which the one of the plurality of applications exchanges the data with.
8. The inter-application data transmitting system of claim 1, wherein the communication control rule memory stores the communication control rule having a rule based on data priority which defines a priority of the data to be transmitted from the one of the plurality of applications to another one of the plurality of applications.
9. The inter-application data transmitting system of claim 1, wherein the communication control rule memory stores the communication control rule including a rule for communication time defining a time for transmitting data from the one of the plurality of applications to another one of the plurality of applications.
10. The inter-application data transmitting system of claim 1, wherein the communication control rule memory stores the communication control rule including an authentication system for authenticating the application intermediary unit of another one of the plurality of applications with which the data of the one of the plurality of applications is exchanged.
11. The inter-application data transmitting system of claim 1, wherein the communication control rule memory store the communication control rule including a cryptographic system through which data is to be enciphered for transmission from the one of the plurality of applications to another one of the plurality of applications.
12. The inter-application data transmitting system of claim 2, wherein the application control unit, upon reception of a notification of the processing request status of the data stored in the one of the plurality of applications, outputs an instruction to gain access to the data stored in the one of the plurality of applications to the access procedure control unit in response to a notified processing request status from the one of the plurality of applications.
13. The inter-application data transmitting system of claim 1, wherein the plurality of interconnected applications each is provided with the application intermediary unit, and
wherein the communication control unit includes,
a mobile agent, including a program and the converted data in the data exchange format, for moving among the communication control units of the application intermediary units provided for the plurality of applications interconnected over the network, and
a mobile agent platform for specifying the communication control unit which the mobile agent is to move towards.
14. The inter-application data transmitting system of claim 13, wherein the communication control unit determines whether the mobile agent is used for transmitting the data based on the communication control rule.
15. The inter-application data transmitting system of claim 1, wherein the application intermediary unit includes a communication control rule entry interface unit for entering the communication control rule to be stored in the communication control rule memory.
16. The inter-application data transmitting system of claim 2, wherein the data format conversion rule memory stores a plurality of data format conversion rules corresponding to the plurality of interconnected applications to which data is to be transmitted, and
wherein the application control unit selects the plurality of data format conversion rules based on the processing request status stored in the monitoring area table.
17. The inter-application data transmitting system of claim 1, wherein the application intermediary unit further includes an external data output unit, being connected with an external data storage device for storing external data, for outputting data in the data exchange format which is converted in the data format conversion unit.
18. The inter-application data transmitting system of claim 1, wherein the communication control unit exchanges data with another one of the plurality of applications through a mail server for receiving an electronic mail, the mail server being connected with the network.
19. A method for transmitting data to be exchanged among a plurality of applications interconnected over the network, the plurality of applications each storing the data in a predetermined application dependent data format, the method for transmitting data comprising:
mediating the data to be transmitted between the network and one of the plurality of applications,
wherein mediating the data to be transmitted between the network and one of the plurality of applications includes
controlling a transfer of the data stored in the one of the plurality of applications,
storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
gaining access to the data stored in the one of the plurality of applications controlled in the step of controlling the transfer of the data stored in the one of the applications based on the access procedure rule stored in the step of storing the access procedure rule to the data stored,
storing a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further storing a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications,
converting the data in one data format to another based on the data format conversion rule stored in the step of storing the data exchange format and the data format conversion rule,
storing a communication control rule which defines a communication rule, and
controlling a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored in the step of storing the communication control rule.
20. A computer readable storage medium having a computer readable program code stored therein for causing data to be exchanged among a plurality of interconnected applications over a network, the computer readable program code comprising:
a mediate code segment for causing a computer to mediate the data to be transmitted between the network and one of the plurality of applications;
wherein the mediate code segment includes,
a control code segment for causing the computer to control a transfer of the data stored in the one of the plurality of applications,
a storing code segment for causing the computer to store an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
a gaining access code segment for causing the computer to gain access to the data stored in the one of the plurality of applications controlled by the control code segment for causing the computer to control the transfer of the data stored in the one of the applications based on the access procedure rule stored by the storing code segment for causing the computer to store the access procedure rule to the data stored,
a storing code segment for causing the computer to store a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further store a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications in another case,
a conversion code segment for causing the computer to convert the data from one data format to another based on the data format conversion rule stored by the store code segment for causing the computer to store the data exchange format and the data format conversion rule,
a storing code segment for causing the computer to store a communication control rule which defines a communication rule, and
a control code segment for causing the computer to control a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored by the storing code segment for causing the computer to store the communication control rule.
21. The inter-application data transmitting system of claim 1, wherein the application intermediary unit further includes,
an event control unit for receiving an event which requests the application intermediary unit to respond to and for outputting a received event,
a state transition rule memory for storing a state transition rule which defines a condition for transition which defines a condition for state transition for changing a state in response to the event and a processing item for the state transition corresponding to the condition for transition, and
a state transition control unit for receiving the event from the event control unit, retrieving the state transition rule stored in the state transition rule memory based on a received event, thereby extracting the state transition rule including the condition for transition corresponding to the received event, and executing the processing item of an extracted state transition rule.
22. The inter-application data transmitting system of claim 21, wherein the event control unit monitors a predetermined data field, thereby detecting the event indicating that the data field meets a predetermined value, and outputting a detected event to the state transition control unit.
23. The inter-application data transmitting system of claim 1, further comprising:
an application dependent rule generation unit for generating an application dependent rule which defines a rule depending on the one of the plurality of applications.
24. The inter-application data transmitting system of claim 23, wherein the application dependent rule generation unit includes,
a component arrangement rule creation interface for receiving a plurality of software components which configure the application intermediary unit and for arranging the plurality of software components received so as to create an arrangement rule model, and
a component arrangement rule generation unit for converting the arrangement rule model created by the component arrangement rule creation interface into the arrangement rule model in a predetermined file format, thereby generating a component arrangement rule.
25. The inter-application data transmitting system of claim 24, wherein the component arrangement rule creation interface selects one of the plurality of software components being arranged in the arrangement rule model, and calls an interface program for generating the application dependent rule corresponding to a selected one of the plurality of software components.
26. The inter-application data transmitting system of claim 23, wherein the application dependent rule generation unit includes,
a data format conversion rule creation interface for receiving conversion corresponding information which is used for establishing a correspondence between the application dependent data format and the data exchange format and creating a conversion rule model based on the conversion corresponding information received, and
a data format conversion rule generation unit for converting the conversion rule model created by the data format conversion rule creation interface into the conversion rule model in a predetermined file format, thereby generating a format conversion rule.
27. The inter-application data transmitting system of claim 21, further comprising:
an application dependent rule generation unit for generating an application dependent rule which defines a rule depending on the one of the plurality of applications,
wherein the application dependent rule generation unit includes,
a state transition rule creation interface for receiving the state transition and for creating a state transition model based on a received state transition, and
a state transition rule generation unit for converting the state transition model created by the state transition rule creation interface into the state transition model in a predetermined file format, thereby generating the state transition rule.
28. The inter-application data transmitting system of claim 27, wherein the state transition rule creation interface displays a drawing of the state transition model, and
wherein the state transition rule generation unit generates the state transition rule based on the drawing of the state transition model.
29. The inter-application data transmitting system of claim 24, wherein the component arrangement rule creation interface arranges the plurality of software components by using a symbol representing each of the plurality of software components, and displays on a screen a connection between the plurality of software components being arranged.
30. The inter-application data transmitting system of claim 24, wherein the component arrangement rule creation interface stores a plurality of connection models, each of which defines the connection between the plurality of software components, and displays one of the plurality of connection models being stored on a screen when a user selects the one of the plurality of connection models.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an inter-application data transmitting system for transmitting data among multiple application systems interconnected over a network, and more particularly, an embodiment of the present invention relates to an inter-application data transmitting system which exchanges data among various types of applications of the business application systems by using the functions of the various types of applications mutually.
2. Description of the Related Art
FIG. 52 of the accompanying drawings shows a block diagram illustrating a conventional architecture of integrated application systems having business applications of different types from each other, which appears in "High-tech Software Dictionary", page 514, Ohm Press (May 1991 issue).
Referring now to FIG. 52, a reference numeral 1 denotes a shared user interface A which is used by a user of a business application A for entering data in order to use the function of the business application A and for receiving an output result from the business application A. The shared user interface A is a type of user interface which is designed for applying commonly to different kinds of business applications. A reference numeral 2 denotes the business application A. A reference numeral 3 denotes a shared communication protocol. The shared communication protocol (3) is used for exchanging commands and data between the shared user interface A (1) and the business application A (2) through a communication channel. The shared communication protocol (3) allows the business application A (2) to communicate with another business application of a different type. A reference numeral 4 denotes a shared API business program A. The shared API business program A (4) is provided with a business program having a data processing function and a shared Application Program Interface (API). The shared Application Program Interface (API) allows the business application A (2) to use the function of another business application (e.g., a business application B of FIG. 52, which will be discussed later in this embodiment), as a communicating partner. In other words, with reference to FIG. 52, the shared API business program A (4) of the business application A (2) and the shared API business program B of the business application B are provided with the same Application Program Interface (API) function. A reference numeral 5 denotes a data base A for storing business data. The business application A (2) is composed of the shared communication protocol (3) and the shared API business program A (4).
The business application A (2) uses a standard data base access language called Structured Query Language (SQL), for example, in order to gain access to the data base A (5). Similarly, reference numeral 6 through reference numeral 10 denote elements of a system relating to the business application B (7). The business application B (7) is provided with the same elements in function as those of the business application A (2). A reference numeral 11 denotes a network which connects the business application A (2) and the business application B (7).
Now, the operation of the above mentioned conventional example is discussed.
In the case of a single use of the business application A (2) alone involving no network connection through the network (11), the user who intends to use the business application A (2) operates the shared user interface A (1) so as to use the function of the shared API business program A (4). The shared user interface A (1) is connected to the shared API business program A (4) through the shared communication protocol (3). When gaining access to the shared API business program A (4) through the shared communication protocol (3), the shared user interface A (1) uses the shared API.
As an example, it is assumed that data is requested to be written into the data base A (5). In that case, the shared API business program A (4) writes the data requested by the shared user interface A (1) into the data base A (5) based on SQL. Then, the written data may be read out from the data base A (5) in a later opportunity by a user who uses the shared user interface A (1). The readout data from the data base A (5) is outputted to the shared user interface A (1) through the shared communication protocol (3). Similarly, the above mentioned operation applies to the single use of the business application B (7). In other words, a user who intends to use the business application B (7) operates the shared user interface B (6) so as to connect with the shared API business program B (9) through the shared common protocol (8), thereby utilizing the function of the shared API business program B (9).
Next, a discussion will be made of the conventional operation in the case that the business application A (2) and the business application B (7) are used in a mutual manner by the users of the business applications A (2) and B (7) over the network.
It is assumed that the user operates the shared user interface A (1) in order to use the function of the business application A (2) and the function of the business application B (7) so as to write data in the data base A (5) and further write the data in the corresponding data area in the data base B (10), so that the data in the data base B (10) has the same meaning as that of the data in the data base A (5).
As aforementioned, in the case of writing data into the data base A (5), the shared user interface A (1) is operated to request the shared API business program A (4) to write the data into the data base A (5) through the shared communication protocol (3).
Now, a description will be made with the data requested to be written into the data base B (10).
Now, it is assumed that a data area or a name (which will be referred to hereinafter as the "data area") corresponding to data written in the data base A (5) is previously known by the business application B (7).
The shared API business program A (4) instructs the shared API business program B (9), by using the shared communication protocol (3) and the shared communication protocol (8), to write the same data as that written into the data base A (5) into the corresponding data area of the data base B (10). In this case, the data is transmitted from the shared communication protocol (8) to the shared API business program B (9) by means of the shared API. In other words, the shared API business program A (4) and the shared API business program B (9) are provided with the same API function. For that reason, the shared API business program A (4) can transmit an instruction to write data into the data base B (10) to the shared API business program B (9) correctly by means of parameters, for example, representing storage position information and the like. The written data in the data base B (10) can be read out in a later opportunity by a user of the shared user interface B (6). The data, being read out from the data base B (10), is outputted to the shared user interface B (6) through the shared communication protocol (8). In other words, the data written into the data base A (5) by the user of the shared user interface A (1) is also written into the data base B (10) so that the user of the shared user interface B (6) can use the data.
As aforementioned, according to the conventional business application system, the following conditions have to be satisfied in order to achieve the mutual use of the functions and data of the two business applications of different types. The conditions include:
1. The business application A (2) and the business application B (7) are to share the communication protocol such as the shared communication protocol (3) and the shared communication protocol (8), thereby allowing the business application A (2) and the business application B (7) to communicate with each other.
2. The API of the shared API business program A (4) to be used for gaining access to the data base A (5) and the API of the shared API business program B (9) to be used for gaining access to the data base B (10) are to be the same, and
3. The data format and the meaning of the value of data to be transmitted to the shared API business program A (4) by means of the shared API and the data format and the meaning of the value of data to be transmitted to the shared API business program B (9) by means of the shared API are to be the same and show no inconsistency in both the business application A (2) and the business application B (7).
In other words, data stored in the data base A (5) and data stored in the data base B (10) are required to be the same in the data format and the meaning of the value of data in both cases when the data is read out from the data base A (5) by the shared API provided in the shared API business program A (4) and when the data is read out from the data base B (10) by the shared API provided in the shared API business program B (9).
4. Conventionally, the data format and the control command to be used in a business application has a strong relation with a user interface. In addition to that, a communication protocol to be used for connecting the user interface with the business application also has a relation with the implementation system of the user interface.
In other words, in the case that a character-based screen terminal is used as the user interface for inputting/outputting data, a communication protocol called Telnet is used as the shared communication protocol, for example. In the case that a browser is used as the user interface, a communication protocol called HTTP (Hyper Text Transfer Protocol) is used, for example, as the shared communication protocol. In order to achieve the mutual use of the business applications, there is a need of using a shared communication protocol by the business applications in communication. Further, there is also a need of matching the data formats as well as the transmission formats of the business applications. For that reason, the implementation system of the user interface is also required to be shared by the business applications.
Those conditions to be satisfied may create the necessity of matching various items of difference between the different types of business applications interconnected over the network for exchanging data with each other, even if the different types of business applications are designed to be used in the same field of business. The items of difference to be matched between the different types of business applications include the communication protocol to be used, the API interface to be used for gaining access to the business application, the data format and the meaning of the value of data to be stored and read out, the user interface and the like. In that respect, the conventional art poses the following problems when two currently operating different types of business applications are connected to exchange data with each other. In the case of any difference required to be matched between the different types of business applications among the above listed items of difference, it causes the user to change the item of difference in one or both of the business application programs. Consequently, it causes the user to spend extra time and cost for the change.
Specifically, in the case of converting the data format of data into a data format depending on the business application of a communicating partner, for example, not only that the business program of the business application is to be changed. Besides, the data format of previously stored data in the business application is also required to be converted into the new data format, if the data is to be exchanged between the business applications. When two business application systems employ different types of API from each other, it is not always possible to establish a one-to-one correspondence in operation between the two systems. For that reason, data may be accessed through a single operation in one of the business application systems, whereas multiple operations may have to be involved in the other business application system for gaining access to the data. This may cause the problem that a system operation for exchanging data among multiple business applications becomes more complicated, or as a matter of fact, impossible.
SUMMARY OF THE INVENTION
The embodiments of the present invention are directed to solving such problems discussed above. It is an object of the embodiments of the present invention to provide an inter-application data transmitting system in which data is exchanged among different types of business applications over the network and the functions of the different types of business applications are used mutually among the different types of business applications over the network. The inter-application data transmitting system is provided with an application intermediary unit which gains access to an existing or currently operating business application through an existing or currently operating interface. The application intermediary unit converts the data format of the data and establishes a correspondence in the meaning of the value of data. Thus, specifically, it is the object of the embodiments of the present invention to achieve the mutual use of data among the different types of business applications over the network and the mutual use of the functions of the different types of business applications without adding any change to an existing business application.
In addition to that, in the mutual use of the data and the functions among different types of multiple, more than two, business applications, the mutually used data, functions and even communication facilities and functions may differ from one another on a unit of communicating pair basis of the different types of multiple business applications. In that respect, it is another object of the embodiments of the present invention to provide an inter-application data transmitting system in which the data, functions and communication facilities can be selected on the unit of communicating pair basis of the different types of multiple business applications.
These and other objects are accomplished by the present invention as hereinafter described in further detail.
According to one aspect of the present invention, an inter-application data transmitting system for exchanging data among a plurality of applications interconnected over a network, each of the plurality of applications storing the data in a predetermined application dependent data format, includes an application intermediary unit for mediating the data to be transmitted between the network and one of the plurality of applications. The application intermediary unit includes,
an application control unit for controlling a transmission of the data between the one of the plurality of applications and the application intermediary unit,
an access procedure rule memory for storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
an access procedure control unit, controlled by the application control unit, for gaining access to the data stored in the one of the plurality of applications in accordance with the access procedure rule stored in the access procedure rule memory,
a data format conversion rule memory for storing a data exchange format which is a data format predefined to be used for exchanging the data among the plurality of applications interconnected over the network, and further storing a data format conversion rule to be used for converting at least one of an application dependent data format of the data stored in the one of the plurality of applications which is accessed by the access procedure control unit into the data exchange format and the data exchange format into the application dependent format of the data stored in the one of the plurality of applications,
data format conversion unit for converting the data from one data format to another data format based on the data format conversion rule stored in the data format conversion rule memory, a communication control rule memory for storing a communication control rule which defines a communication rule,
and a communication control unit for controlling a transmission over the network of converted data in the data exchange format which is converted by the data format conversion unit based on the communication control rule stored in the communication control rule memory.
The application control unit may include a monitoring area table for setting data stored in the one of the plurality of applications which is required to be notified to another one of the plurality of applications as data to be notified, for setting a processing request status which indicates an occurrence of the data to be notified, and for setting a data area of data to be monitored stored in the one of the plurality of applications which is monitored by the application control unit and also setting a data value of the data area in response to the processing request status. The application control unit may detect the processing request status being set in the monitoring area table, and outputs an instruction corresponding to a detected processing request status to the access procedure control unit.
The access procedure rule memory may store the access procedure rule corresponding to the processing request status. The access procedure control unit may detect the access procedure rule corresponding to the processing request status stored in the access procedure rule memory based on the instruction received from the application control unit, and gain access to the data stored in the one of the plurality of applications in accordance with a detected access procedure rule.
The communication control rule memory may store the communication control rule corresponding to each of the plurality of applications interconnected over the network which the one of the plurality of applications exchanges the data with.
The application intermediary unit may further include,
an event control unit for receiving an event which requests the application intermediary unit to respond to and for outputting a received event,
a state transition rule memory for storing a state transition rule which defines a condition for transition which defines a condition for state transition for changing a state in response to the event and a processing item for the state transition corresponding to the condition for transition, and
a state transition control unit for receiving the event from the event control unit, retrieving the state transition rule stored in the state transition rule memory based on a received event, thereby extracting the state transition rule including the condition for transition corresponding to the received event, and executing the processing item of an extracted state transition rule.
The inter-application data transmitting system may further include an application dependent rule generation unit for generating an application dependent rule which defines a rule depending on the one of the plurality of applications.
According to another aspect of the present invention, a method for transmitting data to be exchanged among a plurality of applications interconnected over the network, each of the plurality of applications storing the data in a predetermined application dependent data format, includes the step of mediating the data to be transmitted between the network and one of the plurality of applications. The step of mediating the data to be transmitted between the network and one of the plurality of applications includes the steps of,
controlling a transfer of the data stored in the one of the plurality of applications,
storing an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
gaining access to the data stored in the one of the plurality of applications controlled in the step of controlling the transfer of the data stored in the one of the applications based on the access procedure rule stored in the step of storing the access procedure rule to the data stored,
storing a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further storing a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications,
converting the data in one data format to another data format based on the data format conversion rule stored in the step of storing the data exchange format and the data format conversion rule,
storing a communication control rule which defines a communication rule, and
controlling a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored in the step of storing the communication control rule.
According to a further aspect of the present invention, a computer readable storage medium having a computer readable program code stored therein for causing data to be exchanged among a plurality of interconnected applications over a network includes a mediate code segment for causing a computer to mediate the data to be transmitted between the network and one of the plurality of applications. The mediate code segment includes,
a control code segment for causing the computer to control a transfer of the data stored in the one of the plurality of applications,
a storing code segment for causing the computer to store an access procedure rule which defines a procedure to be used for gaining access to the data stored in the one of the plurality of applications,
a gaining access code segment for causing the computer to gain access to the data stored in the one of the plurality of applications controlled by the control code segment for causing the computer to control the transfer of the data stored in the one of the applications based on the access procedure rule stored by the storing code segment for causing the computer to store the access procedure rule to the data stored,
a storing code segment for causing the computer to store a data exchange format which is a data format predefined to be used for transmitting the data to be exchanged with the plurality of applications, and further store a data format conversion rule to be used for converting at least one of the application dependent format depending on the one of the plurality of applications into the data exchange format and the data exchange format into the application dependent format depending on the one of the plurality of applications in another case,
a conversion code segment for causing the computer to convert the data from one data format to another data format based on the data format conversion rule stored by the store code segment for causing the computer to store the data exchange format and the data format conversion rule,
a storing code segment for causing the computer to store a communication control rule which defines a communication rule, and
a control code segment for causing the computer to control a transmission of the data in the data exchange format over the network in accordance with the communication control rule stored by the storing code segment for causing the computer to store the communication control rule.
Further scope of applicability of the present invention will become apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the invention, are given through illustration only, since various changes and modifications within the spirit and scope of the invention will become apparent to those skilled in the art from this detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given through illustration only, and thus are not imitative of the present invention, and wherein:
FIG. 1 shows a block diagram of an inter-application data transmitting system according to a first embodiment of the present invention illustrating a basic configuration of a business application system A;
FIG. 2 shows a block diagram of the inter-application data transmitting system according to the first embodiment of the present invention illustrating a basic configuration of a business application system B;
FIG. 3 shows a diagram of a monitoring area table which is used in the first embodiment and in a second embodiment of the present invention.
FIG. 4 shows a diagram of a transferring data table which is used in the first and second embodiments of the present invention;
FIG. 5 shows a diagram of an access procedure rule;
FIG. 6 shows a diagram of a data format conversion rule;
FIG. 7 shows a diagram of a data format inversion rule;
FIG. 8 shows a diagram of a communication control rule;
FIG. 9 shows a flow chart illustrating a series of operations performed by an application control unit in the business application system A when transmitting data;
FIG. 10 shows a flow chart illustrating a further series of operations continued from the flow chart of FIG. 9 performed by the application control unit in the business application system A when transmitting the data;
FIG. 11 shows a flow chart illustrating a series of operations performed by an application control unit in the business application system B when receiving the data;
FIG. 12 shows a flow chart illustrating a series of operations performed by an application intermediary unit;
FIG. 13 shows a flow chart illustrating a series of operations performed by the application intermediary unit;
FIG. 14 shows a flow chart illustrating a series of operations performed by the application intermediary unit;
FIG. 15 shows a flow chart illustrating a series of operations performed by the application intermediary unit;
FIG. 16 shows a flow chart illustrating a series of operations performed by the application intermediary unit;
FIG. 17 shows a diagram illustrating an example of an XML data format.
FIG. 18 shows a block diagram illustrating an overall network connection view of three business application systems according to the inter-application data transmitting system of the present invention;
FIG. 19 shows a block diagram of an inter-application data transmitting system illustrating an application intermediary unit including multiple communication control rule memories;
FIG. 20 shows a diagram of a monitoring area table provided in the application control unit used in the second embodiment of the present invention;
FIG. 21 shows a diagram of a transferring data table provided in the application control unit used in the second embodiment of the present invention;
FIG. 22 shows a diagram of a communication control rule according to the second embodiment of the present invention;
FIG. 23 shows a diagram of a communication control rule according to the second embodiment of the present invention;
FIG. 24 shows a diagram of a communication control rule according to a third embodiment of the present invention;
FIG. 25 shows a diagram of a communication control rule according to the third embodiment of the present invention;
FIG. 26 shows a diagram of a communication control rule according to a fourth embodiment of the present invention;
FIG. 27 shows a diagram of a communication control rule according to the fourth embodiment of the present invention;
FIG. 28 shows a block diagram of an inter-application data transmitting system according to a sixth embodiment and a seventh embodiment of the present invention illustrating an application intermediary unit of the business application system A including a communication control unit which is provided with a mobile agent platform.
FIG. 29 shows a block diagram of the inter-application data transmitting system according to the sixth and seventh embodiments illustrating an application intermediary unit of the business application system B including a communication control unit which is provided with a mobile agent platform.
FIG. 30 shows a diagram of a communication control rule according to the sixth embodiment;
FIG. 31 shows a block diagram of the inter-application data transmitting system according to the sixth and seventh embodiments illustrating an application intermediary of a business application system C including a communication control unit which is provided with a mobile agent platform;
FIG. 32 shows a block diagram of an inter-application data transmitting system of the present invention illustrating an application intermediary unit which is provided with a function for selecting one of a communication control unit which uses the mobile agent and a communication control unit which uses no mobile agent;
FIG. 33 shows a block diagram of an inter-application data transmitting system of the present invention including an application intermediary unit which is provided with a rule entry user interface for entering the communication control rule to be stored in the communication control rule memory;
FIG. 34 shows a block diagram of an inter-application data transmitting system of the present invention illustrating an application intermediary unit which is provided with multiple data format conversion rule memories;
FIG. 35 shows a block diagram of an inter-application data transmitting system of the present invention illustrating an application intermediary unit which is provided with multiple data format conversion units and at least one of the multiple data format conversion units outputs a conversion result to a unit other than a communication control unit;
FIG. 36 shows a block diagram of an overall network connection view of an inter-application data transmitting system of the present invention involving an electronic mail system.
FIG. 37 shows a block diagram of an inter-application data transmitting system of the present invention in a case of directly gaining access to a business program from an application interface;
FIG. 38 shows a block diagram of an inter-application data transmitting system of the present invention involving a state transition control;
FIG. 39 shows a flow chart illustrating a series of operations for setting an event in the inter-application data transmitting system involving the state transition control;
FIG. 40 shows a flow chart illustrating a series of operations of a state transition in the inter-application data transmitting system involving the state transition control;
FIG. 41 shows a diagram of a state transition rule which is used in the inter-application data transmitting system involving the state transition control;
FIG. 42 shows a block diagram of an application dependent rule generation unit for automatically generating an application dependent rule according to the present invention;
FIG. 43 shows diagram of a screen 1 of an application dependent rule generation according to the present invention;
FIG. 44 shows a diagram of a screen 2 of the application dependent rule generation according to the present invention;
FIG. 45 shows a diagram of a screen 3 of the application dependent rule generation according to the present invention;
FIG. 46 shows a diagram of a screen 4 of the application dependent rule generation according to the present invention;
FIG. 47 shows a flow chart illustrating a series of operations for generating the application dependent rule according to the present invention;
FIG. 48 shows a diagram of a control rule screen of a state transition rule creation GUI when generating the state transition rule according to a sixteenth embodiment of the present invention;
FIG. 49 shows a diagram of the control rule screen of the state transition rule creation GUI when generating the state transition rule according to the sixteenth embodiment;
FIG. 50 shows a diagram of a screen on which a data format conversion rule creation GUI provided in a software component is called out of a component arrangement rule creation GUI;
FIG. 51 shows a diagram of a screen on which a state transition rule creation GUI provided in the software component is called out of the component arrangement rule creation GUI; and
FIG. 52 shows a conventional system configuration for exchanging data among business applications.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals indicate like elements throughout the several views.
Embodiment 1
FIG. 1 and FIG. 2 show an inter-application data transmitting system according to a first embodiment of the present invention.
Specifically, FIG. 1 shows a block diagram of the configuration of a business application system A which includes one of multiple, e.g. two in this embodiment, business applications interconnected over a network.
Referring now to the business application system A of FIG. 1, a reference numeral 20 denotes a user interface A through which the user of a business application A of the business application system A enters data in order to use the function of the business application A and receives an output result from the business application A.
A reference numeral 21 denotes the business application A which is the one of multiple business applications interconnected over the network. The business application A may be referred to hereinafter as the business application (21).
A reference numeral 22 denotes a communication protocol A which is used for communication between the user interface A (20) and the business application A (21).
A reference numeral 23 denotes a business program A. The business program A may be referred to hereinafter as the business program (23).
A reference numeral 24 denotes a data base A in which business data is stored. The business application A (21) is composed of the elements of the communication protocol A (22) and the business program A (23).
Now, the business application A (21) is connected with the data base A (24) in which data is stored by the business application A (21). The data base A (24) may be placed within the business application A (21). The configuration of FIG. 1 exemplifies that an external device of the data base A (24) is connected with the business application A (21).
A reference numeral 30 denotes an application interface A which is provided with a communication protocol for communicating with the communication protocol A (22) and used for exchanging data and a control command with the business program A (23).
A reference numeral 39 denotes an application intermediary unit A which mediates a transmitting operation of data between the network and the business application A (21). The application intermediary unit A will be referred to hereinafter as the application intermediary unit A (39) or the application intermediary unit (39).
A reference numeral 37 denotes an application control unit A which controls a transferring operation of data between the application intermediary unit A (39) and the business application A (21). The application control unit A (37) will be referred to hereinafter as the application control unit A (37) or the application control unit (37).
A reference numeral 32 denotes an access procedure rule memory which stores an access procedure control rule which defines a procedure for gaining access to data stored in the data base A (24) through the business application A (21). The access procedure rule memory of FIG. 1 of this embodiment defines the access procedure rule depending on the business application A (21). For that reason, the access procedure rule memory will be referred to, hereinafter, as the access procedure control rule memory A (32).
A reference numeral 31 denotes an access procedure control unit which gains access to data stored in the data base A (24) through the business application A (21) in accordance with the access procedure rule stored in the access procedure rule memory A (32). The access procedure control unit (31) is controlled by the application control unit A (37).
A reference numeral 34 denotes a data format conversion rule memory for storing a data exchange format which is predefined to be used for exchanging data with each other among multiple applications interconnected over the network, and also for storing a data format conversion rule which is used for converting a data format of data from/to the data exchange format into/from an application dependent data format. The application dependent data format is a format of data stored in the one of the multiple business applications interconnected over the network, i.e., the business application A (21) in this embodiment, which is accessed by the application procedure control unit (31). The data format conversion rule memory 34 of FIG. 1 according to this embodiment stores the data format conversion rule which is dependent on the business application A (21). For this reason, the data format conversion rule memory will be referred to hereinafter as the data format conversion rule memory A (34).
A reference numeral 33 denotes a data format conversion unit for converting the data format of data from/to the application data format to/from the data exchange format in accordance with the data format conversion rule stored in the data format conversion rule memory A (34).
A reference numeral 36 denotes a communication control rule memory which stores a communication control rule which defines a rule in communication. The communication control rule memory (36), according to the embodiment of FIG. 1, stores the communication control rule which is dependent on the business application A (21). For that reason, the communication control rule memory (36) will be referred to hereinafter as the communication control rule memory A (36).
A reference numeral 35 denotes a communication control unit which controls a transmission over the network of data in the data exchange format which is converted by the data format conversion unit (33) in accordance with the communication control rule stored in the communication control rule memory A (36).
Referring further to the application control unit A (37), the application control unit A is provided with two tables, a monitoring area table and a transferring data table.
A reference numeral 101 denotes the monitoring area table which sets data stored in the one of the multiple applications, i.e., the business application A (21) here, which is required to be notified to a communicating partner of the multiple applications as data to be notified, and sets a processing request status which indicates an occurrence of the data to be notified. Further, in response to the processing request status, the monitoring area table 101 sets a data area of data to be monitored which is stored in the one of the multiple applications which is monitored by the application control unit, and also sets a data value of the data area. The application control unit may set multiple types of the processing request status.
A reference numeral 102 denotes the transferring data table which defines the notifying data to be transferred from the one of the multiple applications to the another application in association with the processing request status.
The monitoring area table (101) and the transferring data table (102) each are to define data in such a manner as depending on the business application, i.e., the business application A (21) according to this embodiment. For that reason, they may be referred to hereinafter as the monitoring area table A (101) and the transferring data table A (101).
A reference numeral 38 denotes a network connection unit which connects the application intermediary unit A (39) or, in a concrete sense, the communication control unit (35) with the network.
A reference numeral 11 denotes the network over which the multiple business applications are interconnected.
In the following descriptions, the name of an element may have an alphabetic sign, "A" or "B", being added at the end thereof. This indicates that the element may include a factor depending on the corresponding business application labeled "A" or "B". However, it is assumed that the element being labeled "A" and the element being labeled "B" of the same name are the same in function. The element labeled "A" and the element labeled "B" of the same name may have the same function if the business applications on which those elements depend are the same in the type.
In the following descriptions of this embodiment and of the following embodiments, the terms of "business application" and "business program" are used for the sake of convenience in explanation. The "business application" may be interpreted as the application which is used for business and the "business program" may be interpreted as the program which is used for business. However, this does not mean to exclude the applications and programs which are not designed for business such as an application or program designed for a personal use or for amusement purposes. In that respect, there is no problem if the "business application" is referred to as an application and the "business program" is referred to as a program.
FIG. 2 shows a block diagram of a business application system B which is interconnected with the business application system A of FIG. 1 over the network for implementing the first embodiment of the inter-application data transmitting system of the present invention.
The configuration of the business application system B of FIG. 2 corresponds to the configuration of the business application system A of FIG. 1. Reference numerals 40 through 59 denote elements which are assumed to be the same in function as the elements having the same names of the business application system A of FIG. 1. For that reason, the elements 40 through 59 will not be described here in details. Thus, a user interface B (40), a business application B (41), a communication protocol B (42), and a business program B (43) are assumed to be the same in function as those having the same name of the business application system A of FIG. 1 according to this embodiment. However, those elements of the business application system B of FIG. 2 each may not be the same including a portion different from the corresponding element of the business application system A of FIG. 1.
Now, the monitoring area table (101) and the transferring data table (102) is described. Those tables are provided within the application control unit A (37) in the application intermediary unit A (39).
FIG. 3 shows an example of the monitoring area table (101).
The application control unit A (37) detects the processing request status which is set in the monitoring area table (101) and outputs an instruction corresponding to a detected processing request status to the access procedure control unit (31).
The business application A (37) detects the processing request status in the following manner. In the case that the business application A (21) is provided with a function for detecting the processing request status, the application control unit A (37) instructs the business application A (21) to detect the processing request status through the application interface A (30). In this case, the application control unit A (37) verifies the type of a detected processing request status from among the multiple types of the processing request status listed in the monitoring area table (101).
On the other hand, in the case that the business application A (21) is not provided with the function for detecting the processing request status, the application control unit A (37) instructs the access procedure control unit (31) to gain access to the data base A (24) through the application interface A (30) in order to detect the multiple types of the processing request status which are set in the monitoring area table (101). Then, data areas in the data base A (24) corresponding to the respective types of the processing request status are obtained and the occurrence of the processing request status is detected. The example of the monitoring area table (101) of FIG. 3 shows a checking list if there is any "change in the fixed date of deadline" for an order "in a wait status for response from the company B" in a "business requested a company B to deal with".
FIG. 4 shows an example of the transferring data table (102).
The application control unit A (37) sets a data area corresponding to the detected processing request status from which the data is to be obtained from the data base A (24).
FIG. 5 shows the example of the access procedure rule which is stored in the access procedure rule memory A (32).
A control condition is defined so as to correspond to the processing request status. The access procedure rule may include another type of control condition required other than that corresponding to the processing request status.
Control items shown in FIG. 5 include control items which are executed in the business application A (21) and control items which are executed in the access procedure control unit (31). Among the control items listed in the table, the underlined are executed in the business application A (21) and the others are executed in the access procedure control unit A (31). The control procedures of those control items depend on the access procedure of the business application A (21) for gaining access to the data base A (24). For that reason, it is required to change the procedures depending on the changes of business applications.
The access procedure control unit (31) is required to gain access to the business application A (21) in accordance with the control procedures.
FIG. 6 and FIG. 7 show the example of the format conversion rule.
The format conversion rule includes a data format conversion rule of FIG. 6 to be used for converting a data format from an application dependent data format into a data exchange format and a data format inversion rule of FIG. 7 to be used for converting a data format from the data exchange format into the application dependent format.
The data format conversion unit (33) converts a data format in accordance with the data format conversion rule or the data format inversion rule.
Referring to the tables of FIGS. 6 and 7, the data format conversion unit (33) converts data formats listed in "before data" columns into data formats listed in "after data" columns, respectively.
Specifically, with reference to the table of FIG. 6, with the first item in the column, it is indicated that Order ID which is represented by fourteen (14) letters in the data format of a system, whereas it is represented separately by date information of eight (8) letters and a serial number of six (6) letters in the data format of another system. With the last item in the column, "Length (Customer Name)>18" indicates that the first eighteen (18) letters of the name of a customer, whose name actually requires the number of letters longer than eighteen, is extracted to be used as the customer information due to a limitation of letters for transmission up to eighteen.
With the order ID of FIG. 7, zeros are added to the six-digit data format before inversion so as to fit the eight-digit data format after inversion in the company C.
With the second item, it is indicated that Customer ID information in the data format of a system is inverted into the data format of another system in which Company ID is separated form the "Customer ID" information.
With "Length (customer Name)>12" of the last item, it is indicated that eighteen letters is allowed for representing a customer name as a transmission format, but a system on the receiving side accepts up to twelve letters only for the customer name.
In the following descriptions, the data format conversion rule and/or the data format inversion rule may be referred to as the data format conversion rule.
FIG. 8 shows the example of the communication control rule stored in the communication control rule memory. According to this example, the communication control rule memory includes multiple kinds of communication control rules. Among the multiple kinds of the communication control rules, a discussion will be made below in this embodiment with reference to the communication control rule designed for comminuting with a company B.
Further, with reference to FIG. 2, an application control unit B (57), an access procedure rule memory B (52), a data format conversion rule memory B (54), and a communication control rule memory B (56) are the elements of an application intermediary unit B (59) depending on the business application B (41). Further, the application control unit B (57) is assumed to be provided also with the monitoring area table (101) and the transferring data table (102), which are not illustrated in the figure, which is similar to the business application system A of FIG. 1. Similarly, descriptions will be made in the following embodiments also with the assumption that the monitoring area table (101) and the transferring data table (102) are provided in each of the business application systems.
An operation of the inter-application data transmitting system according to the first embodiment is now discussed with reference to FIG. 1 and FIG. 2.
Discussions will be made hereinafter with the assumption that the business application A (21) of FIG. 1 belongs to the company A as a system administrator and the business application B (41) of FIG. 2 belongs to the company B as a system administrator.
An explanation is now made with an assumption that a new order which is inputted by a user A through the user interface A (20) via the business application A (21) or an event of the update verification of an existing order which is previously inputted in the business application system A of FIG. 1 is reflected on the business application B (41) which is to be used by a user B in the business application system B of FIG. 2 together with the contents of the relating data. Further, the "order" may be referred to hereinafter as the "new order" or the "update verification of an order".
The system administrator, when specific data in the data base A (24) is updated or newly generated, sets or defines in the application control unit A (37) the fact that the specific data together with its associating data is to be reflected on the data base B (44) prior to the utilization of the business application system A. Specifically, the set data is stored in the monitoring area table (101) and the transferring data table (102) in the application control unit A (37).
The monitoring area table (101) is used in the following manner. The application control unit A (37) monitors the area which is written in the monitoring area table (101). When detecting the fact that the monitoring data is updated, the application control unit A (37) notifies the application intermediary unit B (59) of the updated data and its associating data. The application intermediary unit B (59) determines that the notified updated data is to be written into the data base B (44) together with the associating data. Data to be transmitted from the application intermediary unit A (39) to the application intermediary unit B (59) does not always conform with the data written in the monitoring area table (101). (For example, in the case that a new order is generated in a business order for the company B, the item of "order status" of the data is set to "new". In this case, the details of the new order, such as the name and the address and telephone number of the customer, are required to be notified to the data base B (44).
It is then required to read out data to be transmitted to the application intermediary unit B (59) again from the business application A (21), and specifically the data base A (24), through the access procedure control unit (31), and the application interface A (30) by referring to the transferring data table (102).
For that reason, the monitoring area table (101) and the transferring data table (102) are to be registered in the application control unit A (37) prior to the initiation of the system operation.
The operation of the inter-application data transmitting system of the first embodiment will be discussed in details with reference to the flow charts of FIG. 9 through FIG. 16.
FIG. 9 and FIG. 10 are flow charts illustrating a series of operations performed by the business application control unit A (37) of the business application system A of FIG. 1, respectively. FIG. 11 is a flow chart illustrating a series of operations performed by the application control unit B (59) of the business application system B of FIG. 2. The flow charts of FIG. 9 through FIG. 11 illustrate the operations of the application control units which are essential portions of operations performed in the inter-application data transmitting system of this embodiment.
FIG. 12 through FIG. 16 are flow charts illustrating a series of operations for transferring data from the business application system A of FIG. 1 to the business application system B of FIG. 2 of the inter-application data transmitting system of this embodiment.
In the flow charts of FIG. 9 through FIG. 16, a reference numeral SXXX or SXXX-X (where XXX or XXX-X is a numerical value) denotes a step of operation. The steps of operation appearing in the flow charts of those figures with the same reference numeral are indicated to be the same operation.
Now, a series of operations for updating the corresponding data in the data base B (44) as a result of the user A of the business application A (21) requesting the business application A (21) to update data in the data base A (24) through the user interface A (20) are discussed.
First, data entered by the user at the user interface A (20) is transferred to the business program A (23) through the communication protocol A (22) and the new data updates previous data in the data base A (24) by using the function of the business program A (23)(S105).
The application control unit A (37) verifies whether or not the monitoring data registered in the motoring area table (101) has been updated regularly or in an arbitrarily set period of time (S100 through S102, S100-2 through S102-2). Specifically, the application control unit A (37) reads out the contents of the data base A (24) through the application interface A (30) and the business application A (21). In other words, the application control unit A (37) issues an instruction to the access procedure control unit (31)(S100, S100-2) to read out specified data being stored in the data base A (24) by using the business program A (23) through the application interface A (30) and the communication protocol A (22) (S101) so as to verify the update of readout data (S102, S102-2). When the access procedure control unit (31) gains access to the business program A (23) through the application interface A (30), the access procedure rule stored in the access procedure rule memory A (32) is used for the access procedures.
The value of the readout monitoring data is stored in the access procedure control unit (31). In addition, the application control unit A (37) compares the current value of the readout monitoring data with the previous value of previously read out data. As a result, if the current value of the data is different from the previous value of the data, then the application control unit A (37) determines that the business application A (21) has updated the monitoring data (S102, S103, S102-2, S602). The application control unit A (37) then initiates an operation for notifying the business application B (41) of a new registration of the order or that the contents of the order has been updated together with the updated data (new or updated)(S104, S104-2).
As an alternative method for determining whether or not the contents of the order has been updated, a data area may be provided for identifying the occurrence of updating data in the data base A (24), or the business application A (21) may add information identifying the occurrence of updating data to data read out from the data base A (24) to be transmitted to the application intermediary unit A (39). Of course, there are other methods applicable to this embodiment.
In the case that a set value of the monitoring data is changed to another value, the application control unit A (37) reads out new monitoring data to be notified to the business application B (41) from the business application A (21) by referring to the transferring data table (102) storing the data to be notified to the business application B (41).
Specifically, upon reception of an instruction from the application control unit A (37), the access procedure control unit (31) reads out "data to be notified to the business application B (41)", this time, which is written in the transferring data table (102) from the business program A (23) through the application interface A (30) and the communication protocol A (22) in accordance with the access procedure rule stored in the access procedure rule memory A (32). Read out data to be notified is transmitted to the application control unit A (37) (S106, S106-2).
Alternatively, the transferring data table (102) provided in the application control unit A (37) in the business application system A of FIG. 1 may be provided in the access procedure rule memory A (32).
In a next operation, the application control unit A (37) instructs the data format conversion unit (33) to convert the data format of the updated data to be notified to the business application B (41) into the data exchange format based on the data format conversion rule stored in the data format conversion rule memory A (34)(S107, S107-2). Then the data format of the updated data to be notified to the business application B (41) is converted into the data exchange format in the data format conversion unit (33). The data exchange format may be a data format based on a standard notation called XML (extensible Markup Language)(S108, S108-2), for example.
Converted data in the data exchange format is then instructed to be transferred to the communication control unit (35) by the application control unit A (37).
Subsequently, the application control unit A (37) instructs the communication control unit (35) to initiate an operation for communicating with the communicating partner.
The communication control unit (35) refers to the communication control rule (shown in FIG. 8) to be used for communicating with the communicating partner stored in the communication control rule memory A (36) and determines procedures for communicating with the counterpart communication control unit (55)(S201).
For example, in the case that Internet is used for communication over the network, a function called a fire wall may be provided within the network. The fire wall function is provided for the purpose of rejecting an access or communication from unintended communicating partner at the reception side of a communication request, i.e. the application intermediary unit B (59) according to this embodiment.
In such a case with the fire wall function, the fire wall has to be passed through by using a predetermined procedure in order to implement data transmission between the communication control unit (35) of the application intermediary unit A (39) and the communication control unit (55) of the application intermediary unit B (59). Usually, the predetermined procedure to be used for passing through the fire wall varies depending on the communicating partner in data transmission. The communication control rule stored in the communication control rule memory A (36) includes the port number and the communication protocol to be used for passing through the fire wall. The communication control unit (35) reads out the communication control rule and selects a communication procedure to be used for communicating with the communication control unit (55) of the communicating partner.
The network communication unit A (38) connects the communication control unit (35) to the network (11)(S202, S300). The communication control unit (35) executes the establishment of a communication channel for using the network. (S203, S204, S204-2, S301).
The converted data in the data exchange format to be transmitted to the application intermediary unit B (59) from the application intermediary unit A (39) is transmitted over the network (11) to the communication control unit (55) in the application intermediary unit B (59) through the network connection unit B (58) of the business application system B of FIG. 2 (S205, S205-2, S206, S302 through S304, S302-2 through S304-2).
The detailed operation of the communication control unit (35) will be discussed later in this embodiment.
In the business application system B of FIG. 2, received data in the application intermediary unit B (59) is written into the data base B (44) through the business application B (41) in a reverse order of the procedures performed by the application intermediary unit A (39).
Specifically, the communication control unit (55) of FIG. 2 reads out the converted data in the data exchange format from among received data in accordance with the communication control rule stored in the communication control rule memory B (56). The readout data is transferred to the data format conversion unit (53) together with information indicating that the readout data is received from the application intermediary unit A (39)(S303, S303-2).
The data format conversion unit (53) detects that the readout data has been transmitted from the application intermediary unit A (39). The data format conversion unit (53) selects a data format inversion rule corresponding to the data format of the received data from the data format conversion rule memory B (54). The data format conversion unit (53) then inverts the data exchange format of the received data into the application dependent data format applicable to the business application B (41) and transfers the converted result to the access procedure control unit (51)(S304, S304-2).
The access procedure control unit (51) writes the data in the application dependent data format into the business application B (41) through the application interface B (50) in accordance with the access procedure rule stored in the access procedure rule memory B (52) (S306). The application interface B (50) is provided with the same communication protocol in function as that of the communication protocol B (42). The application interface B (50) instructs the business program B (43) to write the transferred data through the communication protocol B (42)(S305, S305-2).
The business program B (43) updates previous data stored in the data base B (44) with the received data (S307). Specifically, the business program B (43) uses SQL (Structured Query Language) for updating the data, for example.
The area in the data base B (44) into which the data is written and the format of the data to be used in the user interface B (40) through which the business application B (41) is used are defined based on the location of the data and a tag added to the data in the data exchange format. Specifically, the data format conversion rule stored in the data format conversion rule memory B (49) defines the data format of the data. The access procedure rule stored in the access procedure rule memory B (47) defines the procedures to be used for writing the data into the business application B (41) and the area into which the data is written in the business application B (41).
The operations after the transmission of the data to be notified has been completed are shown in step S207 through step S212 in the flow chart of FIG. 15 and step S308 through step S311 in the flow chart of FIG. 16.
An operation of the communication control unit (35, 55) is discussed below in detail with reference to FIG. 12 through FIG. 16.
The business application system A of FIG. 1 of the company A performs a series of operations as follows.
The application control unit A (37) instructs the communication control unit (35) to initiate an operation for communicating with the communication control unit (55) of the business application system B of the company B (S200).
The communication control unit (35) verifies the communication control rule stored in the communication control rule memory A (36) to be used for communicating with the business application system B of the company B (S201). The communication control unit (35) selects a condition for connecting the network connection unit A (38) and the network connection unit B (58) and instructs the network connection unit A (38) to connect with the network connection unit B (58) over the network (11)(S201).
Specifically, between the company A and the company B, a communication protocol TCP/IP (Transport Control Protocol/Internet Protocol) to be used for communication is defined but there is no arrangement about the network connection unit as shown in FIG. 8. This example of FIG. 8 applies to the case that the network connection unit A (38) and the network connection unit B (58) are both connected to the Internet in a direct manner through a router device, respectively. In the case that the network connection unit A (38) and the network connection unit B (58) are both line switching terminal adapters (TA) connected with ISDN, the communication control rule include the telephone number of the communicating partner. In that case, the network connection unit A (38) is to connect a line with the network connection unit B (58) corresponding to the telephone number.
In a next operation, the network connection unit A (38) and the network connection unit B (58) are connected over the network (11) by way of the communication channel (S202). As discussed with reference to step S201, when the network connection unit is directly connected with Internet through a router device, this operation can be verified if the network connection unit A (38) and the network connection unit B (58) are actually connected with Internet and the channel establishing procedure is executed with the confirmation of partner's IP. In the case that the network connection unit is an ISDN (Integrated Services Digital Network) TA (Terminal Adapter) type, a telephone number based line connection is performed and a line establishment signal is sent back from the network through a control channel.
The communication control unit (35) reads out the condition for establishing the communication channel for communicating with the communication control unit (55) from the communication control rule memory A (36) and establishes the communication channel (S203). For example, the communication control unit (35) selects TCP/IP as the communication procedure. The communication control unit (35) reads out a special port number for passing through the fire wall and so forth from the communication control rule memory A (36) and sets the items. The communication control unit (35) issues a request for connecting with the communication control unit (55) through the network connection unit A (38) and the network connection unit B (58)(S203). It is assumed that the company A can communicate with the company B through port number 1022 based on TCP/IP as shown in FIG. 8.
An IP packet to be transmitted to the business application system B of the company B includes an IP address which is written in the communication control rule. The communication control unit (35) issues a request for establishing a communication channel in accordance with a communication channel set procedure based on TCP and the communication control unit (55) responds to the request by issuing an Acknowledge signal. Through that procedure, the communication channel is established between the communication control unit (35) and the communication control unit (55).
The communication control unit (35) verifies the communication channel which has been established with the communication control unit (55)(S204)(with the verification of "TCP Ack"). The communication control unit (35) notifies the application control unit A (37) of an enable state of communication (S204) with the business application system B.
The application control unit A (37) instructs the data format conversion unit (33) to pass the converted data in the data exchange format to the communication control unit (35)(S205).
Then, the data to be notified is to be transmitted. The communication control unit (35) is notified by the application control unit A (37) that the destination of the transmitting data is the business application system B of the company B. Then, the communication control unit (35) transmits the transmitting data towards the business application system B of the company B based on TCP/IP protocol (Port No. 1022)(S206).
Thus, the updated data is transmitted from the business application system A of the company A to the business application B of the company B.
A series of operations performed in the business application system B of FIG. 2 of the company B is now discussed.
The data arrives at the network connection unit B (58). The network connection unit B (58) notifies the communication control unit (55) that the data has arrived (S300). In the case that the network connection unit B (58) is directly connected to Internet through a router device, then the above-mentioned notifying operation is not needed. In the case of the data being received through ISDN TA, a network layer based reception of the data is notified at this stage.
The communication control unit (55) refers to the communication control rule stored in the communication control rule memory B (56) and accepts the establishment of the TCP/IP based communication channel between the communication control unit (35) and the communication control unit (55)(with a response by issuing an Ack signal (S301). Specifically, the transmitting IP packet has an IP address written for identifying that the transmitting source of the data is the company A. The company B refers to the communication control rule stored in the communication control rule memory B (56) and determines to accept the establishment of the communication channel based on TCP/IP (Port 1022) from the company A. The company B responds to the company A by issuing an Ack signal identifying that the establishment of TCP has been accepted.
The communication control unit (55) notifies the application control unit B (57) that the data has been received from the communication control unit (35) (through TCP/IP) and that the communication channel has been established (S302).
The application control unit B (57) instructs that receiving data thereafter is to be transferred from the communication control unit (55) to the data format conversion unit (53) and that the data exchange format of the receiving data is to be converted into the application dependent data format based on the data format inversion rule stored in the data format conversion rule memory B (54).
The communication control unit (55) receives the data to be notifying and transfers the data to the data format conversion unit (53)(S304). The data format conversion unit (53) converts the data format of the received data from the data exchange format to the application dependent data format applicable to the business application B (41) based on the data format inversion rule stored in the data format conversion rule memory B (54)(S304).
Those are the details of the operations performed by the communication control unit (35, 55).
In that manner, the data in the data base B (44) in the application dependent format upon the business application B (41) is updated so as to share the meaning with the updated data in the data base A (24) in the application dependent format upon the business application A (21).
Thereafter, a user who uses the business application B (41) through the user interface B (40) is allowed to read out the updated data which is originally updated in the business application A (21) and execute processing based on the updated data.
As aforementioned, according to the inter-application data transmitting system of this embodiment, the application intermediary unit A (39) and the application intermediary unit B (59) are allowed, respectively, to write and read out data from the business application A (21) and the business application B (41) by using the existing interfaces which are provided in the business application A (21) and the business application B (41). In addition to that, the access procedures to be used for gaining access to the respective data bases are based on the access procedure rules which are defined in the respective business applications. For that reason, there is no need of changing the business application program, the user interface and the communication protocol in the business application A (21), B (41). Therefore, it is a positive effect of the inter-application data transmitting system according to this embodiment that the users of the business applications are allowed to share data with each other over the network even when performing a conventional operation with the business application.
When received data is in a data format which is not applicable to the business application, the data format conversion unit (33),(53) converts the data format based on the data format conversion rule into the application dependent data format which is used by the business application connected with the application intermediary unit. As the data exchange format, a data format defining minimum required exchange data may be determined in an arrangement between the two business applications based on the language specification, for example, of XML (extensible Markup Language).
FIG. 17 shows an example of data based on the XML.
The example of FIG. 17 shows that defined data in the top chart may be converted into XML based data in the bottom chart.
This can economize the performance of data exchange, thereby allowing the inter-application data transmitting system to lower the communication cost. Further, the data exchange format may be set, for example, so as to apply to the specification of an international standard data format defined of a specific field of business. In that case, it is another positive effect of this embodiment of the present invention that different types of business applications if used for the same field of business are allowed to exchange data with each other.
As an effect of the inter-application data transmitting system according to this embodiment of the present invention, the application intermediary unit allows the different types of multiple business applications to exchange data with each other using existing data without changing the currently using business application software.
Embodiment 2
A second embodiment of the inter-application data transmitting system of the present invention is now discussed with reference to FIG. 18 and FIG. 19.
In this embodiment, the inter-application data transmitting system is discussed when multiple applications, e.g., three applications here, exchange data with each other.
In FIG. 18, elements having the same reference numerals as those of the elements of FIG. 1 and FIG. 2 are assumed to be the same in function as those discussed in the first embodiment.
A reference numeral 81 denotes a business application C which is a third business application interconnected over the network with the others. According to this embodiment, the business application C (81) belongs to a company C as the administrator.
A reference numeral 80 denotes a user interface C (80) which is the user interface of the business application C (81). A reference numeral 84 denotes a data base C which is used by the business application C (81). A reference numeral 89 denotes an application intermediary unit C which allows the business application C (81) to exchange data with each other among the other business applications. A reference numeral 85 denotes a communication control unit (85) which is an element of the application intermediary unit C (89) and corresponds to the communication control unit (35) included in the application intermediary unit A (39) discussed in the first embodiment, for example. A reference numeral 88 denotes a network connection unit which connects the application intermediary unit C (89) with the network so as to establish a communication channel.
FIG. 18 shows an overall network connection view of three business application systems including the business application A (21), the business application B (41) and the business application C (81) according to the inter-application data transmitting system of this embodiment. FIG. 18 illustrates that the business application A (21) and the business application B (41) exchange data with each other over the network (11) and the business application A (21) also exchanges the data with the business application C (81) over the network (11).
FIG. 19 shows a block diagram of an inter-application data transmitting system of the second embodiment of the present invention. Again, elements having the same reference numerals as those of FIG. 1 and FIG. 2 are assumed to be the same in function as those discussed in the first embodiment.
FIG. 20 shows an example of a monitoring area table provided in the application control unit A (37) used in this embodiment.
FIG. 21 shows an example of a transferring data table provided in the application control unit A (37) used in this embodiment.
A reference numeral 136 denotes a communication control rule memory AB which stores a communication control rule to be used for communication between the application intermediary unit A (39) and the application intermediary unit B (59). FIG. 22 shows an example of the communication control rule to be used for communicating between the business application system A of the company A and the business application system B of the company B in this embodiment.
A reference numeral 236 denotes a communication control rule memory AC which stores a communication control rule to be used for communication between the application intermediary unit A (39) and the application intermediary unit C (89). FIG. 23 shows an example of the communication control rule to be used for communicating between the business application system A of the company A and the business application system C of the company C in this embodiment.
The application intermediary unit A (39) of FIG. 19 modifies the application intermediary unit A (39) of FIG. 1 by replacing the communication control rule memory A (36) with the communication control rule memory AB (136) and the communication control rule memory AC (236) so as to exchange data with each other among the business application A (21), the business application B (41) and the business application C (81).
Alternatively, however, the application intermediary unit A (39) of this embodiment may be provided with a single communication control rule memory in which different types of the communication control rules to be used for the multiple communicating partners (such as the company B and the company C of this embodiment) are to be stored as shown in the example communication control rules of FIG. 8.
An operation of the inter-application data transmitting system of this embodiment is now discussed with reference to FIG. 18 and FIG. 19.
In the following descriptions, it is assumed that data has been updated in the business application A (21) so that the updated result of the data is to be transmitted to the business application B (41) and the business application C (81). It is also assumed that the data exchange format to be used for transmitting the data to the application intermediary unit B (59) and the data exchange format to be used for transmitting the data to the application intermediary unit C (89) are the same.
At the beginning, the contents of data stored in the data base A (24) has been updated by the user of the business application A (21), which causes the updated result of the data to be notified to the business application B (41) and the business application C (81), which is similar to the first embodiment.
The application control unit A (37) monitors the data base A (24) in the same manner as that discussed in the first embodiment to see if there is any change occurred in the contents of the data base A. If the access procedure control unit (31) and the application control unit A (37) determine that readout data is to be notified to the business application B (41) and the business application C (81), the application control unit A (37) reads out data to be notified from the data base A (24). Then, the access procedure control unit (31) transfers the data to be notified to the data format conversion unit (33) together with additional information identifying that the data to be notified is to be transmitted to the application intermediary unit (59) and the application intermediary unit (89). The data format conversion unit (33) verifies the destinations of the data, which are the application intermediary unit B (59) and the application intermediary unit C (89) in this embodiment. Subsequently, the data format conversion unit (33) selects an appropriate one of the data format conversion rules for the respective destinations from the data format conversion rule memory A (34) and then converts the data format of the data.
In fact, according to this embodiment, the data is assumed to be transmitted to the application intermediary unit B (59) and the application intermediary unit C (89) in the same data exchange format, and therefore, the same data format conversion rule is applied to converting the data format of the data.
Subsequently, the converted data in the data exchange format is transferred to the communication control unit (35) together with the information identifying that the destinations of the transmitting data are the application intermediary unit B (59) and the application intermediary unit C (89).
The communication control unit (35) communicates with the communication control unit (55) of the application intermediary unit B (59) and transmits the data in the data exchange format to the application intermediary unit B (59) in accordance with the communication control rule stored in the communication control rule memory AB (136). The communication control unit (35) also communicates with the communication control unit (85) of the application intermediary unit C (89) and transmits the data in the data exchange format to the application intermediary unit C (89) in accordance with the communication control rule stored in the communication control rule memory AC (236).
Specifically, the communication control unit (35) first requests the network connection unit A (38) to establish communication channels, respectively, with the network connection unit B (58) and the network connection unit C (88) of the communicating partners. When the communication channels have been established, the communication control unit (35) initiates an operation for transmitting the data to the communication control unit (55) and the communication control unit (85).
It may be necessary for the application intermediate unit A (39) to specify a special communication port number to be used for passing through a fire wall provided within the network for communicating with the communication control unit (55) of the application intermediary unit B (59). Similarly, the application unit A (39) may have to specify another special communication port number to be used for passing through another fire wall provided within the network for communicating with the communication control unit (85) of the application intermediary unit C (89). For that reason, the communication control rule memory AB (136) and the communication control rule memory AC (236) store communication port number information required for communication through each communication channel.
Data thus received at the communication control unit (55) of the application intermediary unit B (59) is written into the data base B (44) via the business application B (41) through the same procedures as those discussed in the first embodiment. Similarly, thus received data at the communication control unit (85) of the application intermediary unit (89) is written into the data base C (84) via the business application C (81) through the same procedures as those discussed in the first embodiment.
An operation of the communication control unit (35, 55, 85) is discussed below in detail according to this embodiment. In the following descriptions, a reference numeral SXXX (where XXX designates a numerical value) indicates an operating step in the flow charts of FIG. 12 through FIG. 16.
According to this embodiment, the communication control rule memory AB (136) is provided as shown in FIG. 19 to be used for communicating between the company A and the company B instead of the communication control rule memory A (36) of FIG. 1. Similarly, the communication control rule memory AC(236) is provided as shown in FIG. 19 to be used for communicating between the company A and the company C. The same situation will be applied to descriptions in the following embodiments when discussing the operations of the inter-application data transmitting system of the present invention with reference to FIG. 18 and FIG. 19.
First, an operation of the communication control unit (35) of the company A communicating with the company B is discussed.
The application control unit A (37) instructs the communication control unit (35) to initiate an operation for communicating with the communication control unit (55) of the company B (S200).
The communication control unit (35) verifies the communication control rule stored in the communication control rule memory AB (136) to be used for communicating with the company B (S201). The communication control unit (35) selects a condition for connecting the network connection unit A (38) with the network connection unit B (58), and instructs the network connection unit A (38) to connect with the network connection unit B (58) over the network (11)(S201). Specifically, the communication control rule defines the communication protocol TCP/IP only for communication between the company A and the company B with no definition on the network connection units (FIG. 22). The example of FIG. 22 is applied to the case in which the network connection unit A (38) and the network connection unit B (58) each are connected directly to Internet through a router device.
The network connection unit A (38) and the network connection unit B (58) are connected through a communication channel over the network (11)(S202).
The communication control unit (35) reads out a condition for establishing a communication channel to be used for communicating with the communication control unit (55) from the communication control rule memory AB (136) and then establishes the communication channel (S203). Specifically, data is to be transmitted over TCP/IP through port number 1022 for communication between the company A and the company B. An IP packet to be transmitted to the company B includes an IP address which is written in the communication control rule. The communication control unit (35) issues a request for establishing the communication channel in accordance with a communication channel set procedure based on TCP. The communication control unit (55) responds to the request from the communication control unit (35) by issuing an Acknowledge signal, thereby establishing the communication channel between the communication control unit (35) and the communication control unit (55).
With respect to encryption and authorization, nothing is to be involved in data transmission between the company A and the company B (FIG. 22) according to this embodiment. For that reason, the data security may be low in communication, but the data is allowed now to be transmitted from the company A to the company B.
The communication control unit (35) verifies the establishment of the communication channel with the communication control unit (55) (upon reception of a TCP Ack signal)(S204). The communication control unit (35) notifies the application control unit A (37) of an enable status of data communication with the communication control unit (55) of the company B.
Next, an operation of the communication control unit (35) of the company A communicating with the company C is now discussed.
The application control unit A (37) instructs the communication control unit (35) to initiate an operation for communicating with the communication control unit (85) of the company C (S200).
The communication control unit (35) verifies the communication control rule stored in the communication control rule memory AC (236) for communicating with the company C (S201). The communication control unit (35) selects a condition for connecting the network connection unit A (38) and the network connection unit C (88). The communication control unit (35) then instructs the network connection unit A (38) to connect with the network connection unit C (88) over the network (11)(S201).
Specifically, the communication control rule defines a communication based on a commination protocol HTTP (Hypertext Transfer Protocol) (FIG. 23) between the company A and the company C. The HTTP is a communication protocol based on TCP/IP, which specifies a port, thereby allowing for ease in passing through a fire wall. With this example of FIG. 23, it is also assumed that the network connection unit A (38) and the network connection unit C (88) each are connected directly to Internet through a router device.
The network connection unit A (38) and the network connection unit C (88) are connected through a communication channel over the network (11)(S202).
The communication control unit (35) reads out a condition for establishing the communication channel for communicating with the communication control unit (55) from the communication control rule memory AC (236) and then establishes the communication channel (S203). Specifically, data is to be transmitted based on HTTP over TCP/IP for communication between the company A and the company C. An IP packet to be transmitted to the company C includes an IP address which is written in the communication control rule. The communication control unit (35) issues a request for establishing the communication channel in accordance with the communication channel set procedure based on TCP.
The communication control unit (85) responds to the request for establishing the communication channel by issuing an Acknowledge signal, thereby establishing the communication channel between the communication control unit (35) and the communication control unit (85). The example of FIG. 23 shows no encryption nor authorization being involved in communication between the company A and the company C.
The communication control unit (35) verifies the communication channel with the communication control unit (85) (upon reception of the TCP Ack signal)(S204). The communication control unit (35) notifies the application control unit A (37) of an enable status of the communication control unit (35) for communication with the communication control unit (85) of the company C (S204).
The communication channel is thus established between the company A and the company B, and between the company A and the company C, respectively.
Consequently, the communication control unit (35) is allowed to transmit data to the communication control unit (55) through the communication channel using port 1022 based on TCP/IP and also to the communication control unit (85) through the communication channel based on HTTP.
Next, the application control unit A (37) instructs the data format conversion unit (33) to transfer the converted data in the data exchange format as a transmitting format to the communication control unit (35)(S205).
The communication control unit (35) is notified of the destination of the transmitting data by the application control unit A (37)(S206). With the company B as the destination of the transmitting data, the communication control unit (35) transmits the data through port 1022 based on TCP/IP by using the IP packet with IP address set for the communication control unit (55)(S206). With the company C as the destination of the transmitting data, the communication control unit (35) transmits the data through HTTP by using the IP packet with the IP address set for the communication control unit (85)(S206).
Thus, the inter-application data transmitting system of the second embodiment of the present invention allows data to be exchanged among the multiple application intermediary units whose conditions for communication are different from each other. As a result, it is a positive effect of the inter-application data transmitting system of this embodiment that the number of business applications which are interconnected over the network for exchanging data with each other may be increased. Furthermore, according to this embodiment, conditions for communication which are different from each other depending on the utility environment types of the individual business applications may be defined in the communication control rule in the application intermediary unit. This is another positive effect of this embodiment that the conditions for communication is allowed to be set individually or separately.
Further, according to this embodiment, the discussion has been made in the case that the data is transmitted from the company A to the company B and also from the company A to the company C. Of course, however, the data may be transmitted from the company B to the company A and also from the company C to the company A in the same manner as that discussed above. Still, of cause, the data may be exchanged between the company B and the company C in the same manner as aforementioned.
In the case of transmitting the data from the company C to the company B based on HTTP, a program for accepting the reception of data transmitted through HTTP is required to be provided in the communication control unit (55).
As aforementioned, according to this embodiment of the present invention, the communication control rule is allowed to be set adaptively to each pair of the business applications for exchanging data. As the positive effect of the inter-application data exchanging data, therefore, data may be exchanged with each other over the network among conventional business applications which are not allowed conventionally to exchange data over the network due to restricted conditions for communication.
Furthermore, according to this embodiment, the communication control rule may be set separately for each specific business application. It is another positive effect of this embodiment of the present invention, therefore, that the communication control rule may be set on a business application basis even if multiple business applications are to operate on the same computer.
Embodiment 3
A third embodiment of an inter-application data transmitting system of the present invention is now discussed with reference to FIG. 18 and FIG. 19 which is similar to the second embodiment. In this embodiment, the communication control rule include such additional items of definition as communication time and data priority.
The elements of FIG. 18 and FIG. 19 are the same as those discussed in the previous embodiments. As shown in FIG. 18, the inter-application data transmitting system of this embodiment involves the three business application systems including the business application A (21). The business application B (41) and the business application C (81). Specifically, the business application A (21) and the business application B (41) exchange data with each other over the network (11) and the business application A (21) also exchanges the data with the business application C (81) over the network (11) which is similar to the second embodiment.
In this embodiment, it is assumed that the business application A (21) has data to be notified to the business application B (41) and the business application C (81). It is also assumed that the data exchange format to be used for transmitting the data of the business application A (21) to the application intermediary unit B (59) and the data exchange format to be used for transmitting the data to the application intermediary unit C (89) are the same which is similar to the second embodiment.
The contents of the data to be notified to the business application B (41) and the business application C (81) are converted into a data format applicable to the business application B (41) and the business application C (81), respectively, and then transferred to the communication control unit (35) in the same manner as that discussed in the second embodiment. In this embodiment, however, the contents of the data is converted into the data exchange format.
The communication control unit (35) communicates with the communication control unit (55) of the application intermediary unit B (59) and transmits the data to the application intermediary unit B (59) in accordance with the communication control rule (FIG. 24) stored in the communication control rule memory AB (136). The communication control unit (35) also communicates with the communication control unit (85) of the application intermediary unit C (89) and transmits the data to the application intermediary unit C (89) in accordance with the communication control rule (FIG. 25) stored in the communication control rule memory AC (236).
The communication control unit (35), prior to initiating an operation for communicating with the communication control units of the communicating partners, verifies conditions for communication, such as data priority of the transmitting data and communication time for the transmitting data, stored in the communication control rule memory AB (136) and the communication control rule memory AC (236)(S201).
The communication time defines a time for transmitting data from one application to another application. FIG. 24 shows an example of the communication control rule including the communication time defined according to this embodiment.
The data priority defines priority of data to be transmitted from one application to another application. FIG. 24 and FIG. 25 show examples of the communication control rule including the data priority defined according to this embodiment. It is assumed according to this embodiment that Class A is higher in priority than Class B. Data having no set priority is assumed to be the lowest in priority.
Referring to the communication control rule of FIG. 24, for example, the transmission time defines that data is to be transmitted every three minutes between twelve o'clock midnight to seven o'clock in the morning of a day and every one minute in the other periods of the day. In other words, data is to be accumulated for three minutes or one minute until a defined communication time comes so as to transmit accumulated data at each communication time.
The communication control unit (35) is provided with a timer device and a communication priority determination unit, which are not shown in FIG. 19, in order to determine the communication time and the data priority.
The timer device holds time and informs the communication control unit (35) of the communication time which is defined in the communication control rule.
The communication priority determination unit receives the data priority defined in the communication control rule and determines which data transmission request to be assigned a highest priority based on the received data priority if having multiple data transmission requests.
That is a typical and widely used approach for lowing the cost for communication by transmitting data in an accumulated amount. As shown in the communication control rule of FIG. 25, no communication time is defined for transmitting data towards the business application C (81) so that data is to be transmitted immediately after the data is updated for the purpose of requesting corresponding data to be updated in the communicating partner. In accordance with the data priority defined as Class B in the communication control rule, the data is to be transmitted to the business application B (41) prior to the business application C (81), in the case that the communication control unit (35) receives requests for transmitting data to the business application B (41) and the business application C (81) at the same time.
In this manner, the communication control unit (35), prior to establishing the communication channel with the communication control unit of the communicating partner, selects timing for establishing a communication channel by referring to the communication control rules stored in the communication control rule memory AB (136) and the communication control rule memory AC (236).
The communication time and the data priority may be written directly by the user of the business application A (21) as data in the data base A (24). Alternatively, the communication time and the data priority may not be written as data in the data base A (24) but may be added to data by the business program A (23) when reading out the data from the data base A (24). In that case, the communication time and the data priority depend on the business program A (23).
Still alternatively, the communication time and the data priority may be added based on predefined information on communication in the application intermediary unit A (39) when the application control unit A (37) reads out data from the business application A (21).
The communication control unit (35) performs communication control by extracting the communication time and the data priority defined in the communication control rules stored in the communication control rule memory AB (136) and the communication control rule memory AC (236).
The communication control unit (35) requests the network connection unit A (38), when the time comes for establishing the communication channel, to establish the communication channel for communicating with the application intermediary unit (59) or the application intermediary unit (89). When the communication channel has been established, the communication control unit (35) transmits converted data in the data exchange format in accordance with the communication protocol specified in the communication control rule stored in the communication control rule memory AB (136) or the communication control rule memory AC (236).
The converted data in the data exchange format received at the communication control unit (55) in the application intermediary unit B (59) is written into the data base B (44) through the business application B (41) in the same manner as that discussed in the first embodiment. Similarly, the converted data in the data exchange format received at the communication control unit (85) in the application intermediary unit C (89) is written into the data base C (84) through the business application C (81).
An operation of the communication control unit (35) of this embodiment is discussed below in detail. In the following descriptions, a reference numeral SXXX (where XXX designates a numerical value) indicates an operating step in the flow charts of FIG. 12 through FIG. 16.
The application control unit A (37) instructs the communication control unit (35) to initiate an operation for communicating with the communication control unit of the company B (S200).
The communication control unit (35) verifies the communication control rule designed for communicating with the company B stored in the communication control rule memory AB (136)(S201). The communication control unit (35) selects a condition for connecting the network connection unit A (38) with the network connection unit B (58) and, instructs the network connection unit A (38) to connect with the network connection unit B (58) over the network (11)(S201). It is defined between the company A and the company B that data is to be transmitted through port number 1022 based on the communication protocol TCP/IP, and on top of it, the data priority is defined as Class A and the communication time is defined (every three minutes in the period of twelve o'clock midnight to seven o'clock in the morning of a day (0:00 hour to 7:00 hours), and every one minute in the other part of the day (7:00 hours to 0:00 hour). It is assumed that the network connection unit B (58) is connected directly to Internet through a router device.
The network connection unit A (38) and the network connection unit B (58) are connected over the network (11) through the communication channel (S202).
The communication control unit (35) reads out a condition for establishing the communication channel for communicating with the |