Unified publish and subscribe paradigm for local and remote publishing destinations
First Claim
1. A routing system for delivering a message from a first object in a first process to any subscribing entities, wherein a second object is a subscribing entity to the message, the system comprising:
- an engine for controlling message flow between the first process and another process, and has information regarding subscribing processes to the message;
at least one message broker, at least one of which is resident in the first process, the at least one message broker resident in the first process having information regarding subscribing entities to the message within the first process, and information regarding whether the engine is a subscribing entity to the message; and
a graphical user interface (GUI) that provides the information to the at least one message broker resident in the first process and the information to the engine;
wherein if the second object is resident in the first process, then the at least one message broker resident in the first process delivers the message to the second object; and
if the second object is resident on a second process, then the engine is a subscribing entity and the at least one message broker resident in the first process routes the message to the second process through the engine for delivery by the second process.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention handles message publishing between entities whether they are in the same process, or they are different processes. The invention includes one message broker for each process, which is internal to the process, and which will handle the distribution of events within the process. The invention uses a bus to facilitate distribution messages external to the process. A third party broker distributes the messages between processes. Thus, an object that is internal to the process may subscribe to an event type via the message broker. Likewise, an object can subscribe to an event from an external source. Thus, when an exported event is published via the message broker, the bus will export the message to the third party broker. This event will then be distributed to subscribing processes by the broker. When an event comes into a process via the bus, it is republished using the internal message broker to the interested objects of the process.
-
Citations
23 Claims
-
1. A routing system for delivering a message from a first object in a first process to any subscribing entities, wherein a second object is a subscribing entity to the message, the system comprising:
-
an engine for controlling message flow between the first process and another process, and has information regarding subscribing processes to the message;
at least one message broker, at least one of which is resident in the first process, the at least one message broker resident in the first process having information regarding subscribing entities to the message within the first process, and information regarding whether the engine is a subscribing entity to the message; and
a graphical user interface (GUI) that provides the information to the at least one message broker resident in the first process and the information to the engine;
wherein if the second object is resident in the first process, then the at least one message broker resident in the first process delivers the message to the second object; and
if the second object is resident on a second process, then the engine is a subscribing entity and the at least one message broker resident in the first process routes the message to the second process through the engine for delivery by the second process.- View Dependent Claims (2, 3, 4, 5, 6, 7, 18, 19)
the routing system is a publication and subscription (PUB/SUB) routing system; and
the engine is a PUB/SUB engine.
-
-
3. The routing system of claim 1, further comprising:
-
at least one bus that is resident in the first process, and connects the at least one message broker resident in the first process to an interface with the engine;
wherein the bus passes messages received from the at least one message broker resident in the first process to the engine via the interface, and the bus passes messages received from the engine, via the interface, to the at least one message broker resident in the first process.
-
-
4. The routing system of claim 1, wherein:
the information to the at least one message broker resident in the first process and the information to the engine include at least one subscribe statement and at least one publish statement.
-
5. The routing system of claim 4, wherein:
-
the one subscribe statement instructs a holder of the subscribe statement to receive a message; and
the one publish statement instructs a holder of the publish statement to send the message to a particular entity.
-
-
6. The routing system of claim 1, wherein the routing system is a program written in an object oriented language.
-
7. The routing system of claim 1, wherein the second object is resident on the second process, and the second process is a subscribing process with the engine, the system further comprising:
-
another message broker, which is resident in the second process, and has information regarding subscribing entities to the message within the second process;
wherein the another message broker receives the message from the engine and delivers the message to the second object.
-
-
18. The routing system of claim 1, wherein the GUI configures the engine and the at least one message broker for routing of the message.
-
19. The routing system of claim 1, wherein the GUI maintains a list for each process that defines whether the message is associated with the particular process.
-
8. A method for routing a message from a first object in a first process to any subscribing entities, wherein a second object is a subscribing entity to the message, the method comprising the steps of:
-
controlling message flow between the first process and another process, via an engine that has information regarding subscribing processes to the message;
controlling message flow within the first process, via a message broker that has information regarding subscribing entities to the message within the first process, and information regarding whether the engine is a subscribing entity to the message;
providing the information to the message broker, via a graphical user interface (GUI);
providing the information to the engine, via the GUI;
delivering the message to the second object, via the message broker, if the second object is resident in the first process; and
routing the message to the second object, via the message broker through the engine, if the second object is resident on a second process. - View Dependent Claims (9, 10, 11, 12, 13, 14, 20, 21)
the method operates on a publication and subscription (PUB/SUB) routing system; and
the engine is a PUB/SUB engine.
-
-
10. The method of claim 9, wherein the routing system is a program written in an object oriented language.
-
11. The method of claim 8, further comprising the steps of:
-
connecting the message broker to an interface with the engine via a bus that is resident in the first process;
passing messages from the message broker to the engine through the interface, via the bus; and
passing messages from the engine through the interface to the message broker, via the bus.
-
-
12. The method of claim 8, wherein:
the information to the message broker and the information to the engine include at least one subscribe statement and at least one publish statement.
-
13. The method of claim 12, further comprising the steps of:
-
instructing, via the one subscribe statement, a holder of the subscribe statement to receive a message; and
instructing, via the one publish statement, a holder of the publish statement to send the message to a particular entity.
-
-
14. The method of claim 8, wherein the second object is resident on the second process, and the second process is a subscribing process with the engine, the method further comprising the steps of:
-
controlling message flow within the second process, via another message broker that has information regarding subscribing entities to the message within the second process; and
delivering the message to the second object, via the anther message broker.
-
-
20. The method of claim 8, wherein:
-
the step of providing the information to the message broker includes configuring the message broker via the GUI for routing of the message; and
the step of providing the information to the engine includes configuring the engine via the GUI for routing of the message.
-
-
21. The method of claim 8, further comprising:
maintaining, via the GUI, a list for each process that defines whether the message is associated with the particular process.
-
15. A computer program product having a computer readable medium having computer program logic recorded thereon for routing a message in a publication and subscription (PUB/SUB) routing system, from a first object in a first process to any subscribing entities, wherein a second object is a subscribing entity to the message, the computer program product comprising:
-
means for controlling message flow between the first process and another process, that has information regarding subscribing processes to the message;
means for controlling message flow within the first process that has information regarding subscribing entities to the message within the first process, and information regarding whether the means for controlling message flow between the first process and another process is a subscribing entity to the message;
a graphical user interface (GUI) for providing the information to the means for controlling message flow between the first process and another process and for providing the information to the means for controlling message flow within the first process;
means for delivering the message to the second object if the second object is resident in the first process; and
means for routing the message to the second object through the means for controlling message flow between the first process and another process if the second object is resident on a second process. - View Dependent Claims (16, 17, 22, 23)
means for controlling message flow within the second process, that has information regarding subscribing entities to the message within the second process; and
means for delivering the message to the second object, via the means for controlling message flow within the second process.
-
-
17. The computer program product of claim 15, wherein the information to the the means for controlling message flow within the first process and the information to the means for controlling message flow between the first process and another process include at least one subscribe statement and at least one publish statement, the computer program product further comprising:
-
means for instructing, via the one subscribe statement, a holder of the subscribe statement to receive a message; and
means for instructing, via the one publish statement, a holder of the publish statement to send the message to a particular entity.
-
-
22. The computer program product of claim 15, wherein the GUI configures the means for controlling message flow between the first process and another process and means for controlling message flow within the first process for routing of the message.
-
23. The computer program product of claim 15, wherein the GUI maintains a list for each process that defines whether the message is associated with the particular process.
Specification