Patent EA-003744-B1 (EA)
Title: Extensible distributed enterprise application integration system
Inventor: YEE HON-SIEW
IPC: G06Q10/00
Filed: 1999-11-18
Abstract: 1. A system for integrating a plurality of computer applications, comprising: an enterprise messaging system, said enterprise messaging system passing messages between said computer applications; a database storage system coupled to said enterprise messaging system, said database storage system storing a plurality of data transformation configurations and a plurality of rules; an integration service coupled to said enterprise messaging system, said integration server comprising a data transformation engine using the data transformation configurations stored in said database storage system and a rules evaluation engine using the rules stored in said database storage system; a plurality of agent-adapters coupled to said enterprise messaging system, each agent-adapter coupled to a respective one of said computer applications, each agent-adapter passing messages between said enterprise messaging system and said respective computer application; and a message schema operating in conjunction with said agent-adapters to parse individual message elements from the computer applications. 2. The system according to claim 1, wherein said integration service system splits and combines messages received from said enterprise messaging system and performs content-based routing of messages to said computer applications. 3. The system according to claim 1, wherein each said agent-adapter translates messages being passed from said enterprise messaging system to said respective computer application from a system format to a respective computer application format, and translates messages being passed from said respective computer application to said enterprise messaging system from the respective computer application format to the system format. 4. The system according to claim 1, wherein each said agent-adapter further passes messages between other said agent-adapters and said respective computer application. 5. An agent-adapter for use in an enterprise application integration system, which integrates a plurality of enterprise applications, comprising: an adapter configured for a selected one of the enterprise applications; an agent service hosting said adapter; a message definition for each of a plurality of messages said adapter will produce, receive, or reply to; means for connecting said adapter to said selected enterprise application; and means for implementing said adapter through said connecting means. 6. The agent adapter according to claim 5, wherein said adapter is selected from the group consisting of a source adapter, a target adapter, a reply adapter, and a request adapter. 7. The agent-adapter according to claim 6, wherein said adapter comprises a source adapter and further comprising means for designating selected ones of a plurality of targets said source adapter is adapted to send one or more messages. 8. The agent-adapter according to claim 13, wherein said adapter comprises a target adapter and further comprising means for designating selected ones of a plurality of sources from which said target adapter is adapted to receive one or more messages. 9. The agent-adapter according to claim 6, wherein said adapter comprises a reply adapter and further comprising means for designating selected ones of a plurality of requesters to which said reply adapter is adapted to send one or more reply messages. 10. A method for passing messages between a first computer application and a second computer application, comprising the steps of: providing a first message having a first data from said first computer application; publishing said first message to obtain a first published message; converting said first data of said first published message to a second data to obtain a second message; publishing said second message to obtain a second published message; and providing said second published message to said second computer application. 11. The method according to claim 10, further comprising the steps of: translating said first message from a first computer application format to a system format prior to publishing said first message; and translating said second published message from said system format to a second computer application format prior to providing said second published message to said second computer application. 12. The method according to claim 11, wherein said step of converting said first data comprises: requesting said second data from a database; and receiving said second data from said database. 13. The method according to claim 19, further comprising the steps of: providing an adapter configured for a selected one of said computer applications; providing an agent service to host said adapter; defining a message definition for each of a plurality of messages said adapter will produce, receive, or reply to; and connecting said adapter to selected computer application. 14. In an enterprise application integration system that integrates a plurality of enterprise applications, each of which have a respective native format for creating, sending, receiving, storing, and processing a plurality of messages, the improvement comprising: an agent-adapter including a plurality of adapters, wherein each of said plurality of adapters includes means for performing a discrete function. 15. The system according to claim 14, wherein a first of said plurality of objects further comprises means for managing connections of said agent-adapter between selected ones of the plurality of enterprise applications and the system. 16. The system according to claim 14, wherein a second of said plurality of objects further comprises means for managing errors detected in said agent-adapter between selected ones of the plurality of enterprise applications and the system. 17. The system according to claim 14, wherein a third of said plurality of objects further comprises means for managing a transformation of the plurality of messages within said agent-adapter between selected ones of the plurality of enterprise applications and the system. 18. The system according to claim 14, further comprising a plurality of nodes and a plurality of system services resident on said nodes. 19. The system according to claim 18, wherein each of said plurality of objects is adapted to perform its respective function at any one of said plurality of nodes. 20. A system for integrating a plurality of computer applications, comprising: an enterprise messaging system, said enterprise messaging system passing messages between said computer applications; a database storage system coupled to said enterprise messaging system, said database storage system storing a plurality of data transformation configurations and a plurality of rules; an integration service coupled to said enterprise messaging system, said integration server comprising a data transformation engine using the data transformation configurations stored in said database storage system and a rules evaluation engine using the rules stored in said database storage system; and a plurality of agent-adapters coupled to said enterprise messaging system, each agent-adapter coupled to a respective one of said computer applications, each agent-adapter passing messages between said enterprise messaging system and said respective computer application. 21. The system according to claim 20, further comprising: a message schema, including a plurality of message elements; a plurality of accessors, each of which is adapted for a selected one of said computer applications; and a plurality of converters, each of which is adapted for a selected one of said computer applications and adapted to be coupled to selected ones of said plurality of accessors; wherein selected ones of said plurality of message elements corresponding to one of said computer applications are adapted to be accessed and converted for communication with another of said computer applications. 22. The system according to claim 21, wherein said plurality of accessors and said plurality of converters are distributed throughout the system.