Claims
- 1. A scalable software architecture for business computer platforms comprising:
a messaging platform for communicating messages among components coupled to the messaging platform; a communication gateway for communication with at least one external channel, the gateway coupled to send and receive messages via the messaging platform; a data manager layer for maintaining data in a connected database system, the data manager coupled to send and receive messages via the messaging platform; and a business workflow engine for implementing predetermined business workflows, the business workflow engine coupled to send and receive messages via the messaging platform.
- 2. A scalable software architecture according to claim 1 and further comprising a message interface coupled to the messaging platform for exchanging messages between the messaging platform and a third-party application.
- 3. A scalable software architecture according to claim 1 and further comprising at least one media adapter coupled to the communication gateway for interfacing with a corresponding media channel so as to integrate the corresponding media channel with the business computer platform via the messaging platform.
- 4. A scalable software architecture according to claim 3 wherein said at least one media adapter implements a mechanism to filter input from the corresponding channel on the basis of predetermined keywords, and to send a message onto the messaging platform responsive to said filtering.
- 5. A scalable software architecture according to claim 4 wherein the keywords are selected and input by a system manager based on the business application.
- 6. A scalable software architecture according to claim 4 wherein the keywords are configured in business logic maintained by the data manager layer.
- 7. A scalable software architecture according to claim 1 wherein the messaging platform includes:
a messaging platform manager (“MPM”) process; and at least a first messaging platform agent (“MPA”) process associated with the MPM process; the MPM process and the MPA process configured for interacting with each other to realize the messaging platform; wherein the MPM process implements at least first and second communication ports, the first communication port comprising a predetermined, well-known port number to receive a request for a new connection to the messaging platform; and the second communication port configured for communicating with the MPA process; and wherein
the MPM process is arranged to invoke methods for assigning a port number in response to a message received on the well-known port number requesting a connection to the messaging bus.
- 8. A scalable software architecture according to claim 1 wherein the messaging platform provides registration of connected components to implement request-reply transactions.
- 9. A scalable software architecture according to claim 1 wherein the messaging platform provides registration of connected components to implement publish-subscribe transactions.
- 10. A scalable software architecture according to claim 1 wherein the messaging platform provides event services.
- 11. A scalable software messaging platform comprising:
a messaging platform manager (“MPM”) process; and at least a first messaging platform agent (“MPA”) process associated with the MPM process; both the MPM process and the MPA process executable and capable of interacting with each other to form a messaging platform; wherein the MPM process implements at least first and second communication ports, the first communication port comprising a predetermined, well-known port number to receive a request for a new connection to the messaging platform; and the second communication port configured for communicating with MPA process.
- 12. The software messaging platform of claim 11 wherein the MPM process is arranged to invoke methods for
assigning a port on the messaging platform in response to a message requesting a connection to the bus; and maintaining a table of current message platform connection data.
- 13. The software messaging platform of claim 12 wherein said method for assigning a port includes sending a message to the source that requested the connection, said message including a port number serviced by one of the MPA processes associated with the MPM process.
- 14. The software messaging platform of claim 11 wherein the MPM process is arranged to invoke methods for
creating a second MPA to provide additional ports for connection to the platform; and updating the message bus connection data to include the second B bus-router process.
- 15. The software messaging platform of claim 11 wherein the MPM process is implemented as a software object, and said method for creating a second MPA comprises spawning the second MPA as a child process of the MPM process.
- 16. The software messaging platform of claim 11 wherein the MPM process method for updating the message bus connection data includes storing the said data locally.
- 17. The software messaging platform of claim 11 wherein the MPA process includes methods for opening a connection at a port number assigned by the MPM process.
- 18. The software messaging platform of claim 17 configured to transmit messages to implement request-reply transactions.
- 19. The software messaging platform of claim 17 configured to transmit messages to implement publish-subscribe transactions.
- 20. The software messaging platform of claim 17 wherein the MPA process includes methods for receiving a message via the open connection from a connector process, and for registering the component associated with the said connector process.
- 21. The software messaging platform of claim 20 wherein the MPA method for registering a connected component includes receiving from the component an indication of a subscription to receive at least a selected one of a predetermined set of message types; and storing said subscription.
- 22. The software messaging platform of claim 20 wherein the predetermined set of message types is established by configuration of the messaging platform and is maintained by the MPM process.
- 23. The software messaging platform of claim 20 wherein the predetermined set of message types includes at least one message type dynamically associated with a client currently connected the messaging platform.
- 24. The software messaging platform of claim 20 wherein the set of message types includes a data management message type.
- 25. The software messaging platform of claim 20 wherein the set of message types includes a client registration message type for registering a client with the MPA process to which is it connected.
- 26. The software messaging platform of claim 20 wherein the set of message types includes a messaging platform synchronization message type for sharing connection data among the MPM and MPA processes.
- 27. The software messaging platform of claim 26 wherein the synchronization message includes a component identifier, port number, indicia of requested publication message types and indicia of requested subscription message types.
- 28. The software messaging platform of claim 20 wherein the MPA method for registering a connected component includes receiving from the component an indication of a subscription to receive at least one of a predetermined set of message types; and storing said subscription.
- 29. The software messaging platform of claim 20 wherein the MPA method for registering a connected component includes receiving from the component a request to publish via the messaging platform at least one of a predetermined set of message types; and storing said publication request.
- 30. The software messaging platform of claim 20 wherein the MPA includes methods for maintaining a port number assignment table.
- 31. The software messaging platform of claim 30 wherein the port number assignment table includes indicia of the last port number assigned for each live MPA process.
- 32. The software messaging platform of claim 30 wherein the MPA includes methods for communicating the table of active connections to neighboring MPA so as to form a serial chain to propagate message bus connection data.
- 33. The software messaging platform of claim 20 and further comprising a second MPM process and at least one MPA process associated with the second MPM process for bifurcating the messaging platform.
- 34. A scalable software messaging method comprising the steps of:
providing a messaging platform manager process; establishing a well-known port number implemented by the messaging platform manager process; receiving a message at the well-known port number from a client requesting a connection to the messaging platform; and assigning to the client a port number other than the well-known port number for connection to the messaging platform to send and receive subsequent messages.
- 35. A scalable software messaging method according to claim 34 further comprising creating a first messaging platform agent process; associating the first agent process with the messaging platform manager process; and allocating at least two port numbers other than the well-known port number to the first agent process.
- 36. A scalable software messaging method according to claim 35 wherein said assigning a port number to the said client comprises assigning one of the port numbers allocated to the first agent process, whereby subsequent messages to and from the client do not require connection to the messaging platform manager process.
- 37. A scalable software messaging method according to claim 35 and further comprising spawning a second agent process to implement additional port numbers; and associating the second agent process to the first agent process in a serial chain relationship.
- 38. A scalable software messaging method according to claim 35 and further comprising: maintaining current connection data in each agent process; and communicating the current connection data from each of the agent processes to the messaging platform manager process.
RELATED APPLICATIONS
[0001] This application is a continuation of and claims priority from U.S. Provisional Application No. 60/311,019 filed Aug. 8, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60311019 |
Aug 2001 |
US |