ROUTING MESSAGES BETWEEN APPLICATIONS
A system and method for enabling the interchange of enterprise data through an open platform is disclosed. This open platform can be based on a standardized interface that enables parties to easily connect to and use the network. Services operating as senders, recipients, and in-transit parties can therefore leverage a framework that overlays a public network.
1 . A method for routing a message between a message producer and a message consumer, the method comprising:
receiving, by a message routing system from a message producer, a request to authenticate the message producer;
authenticating, by the message routing system, the message producer;
generating, by the message routing system, a token indicating authentication of the message producer by the message routing system;
transmitting, by the message routing system, the token to the message producer;
receiving, by the message routing system from the message producer, a message to be directed to a message consumer, the message including the token;
authenticating, by the message routing system, the message based on the token included with the message;
responsive to authenticating the message, determining, by the message routing system, a route for routing the message to the message consumer;
storing, by the message routing system based on the determined route, the message in a storage associated with message consumer; and
responsive to receiving by the message routing system from the message consumer a polling request for messages in the storage, providing, by the message routing system to the message consumer, the stored message received from the message producer.
2 . The method of claim 1 , wherein the message routing system periodically receives from the message consumer polling requests for messages stored in the storage.
3 . The method of claim 1 , further comprising:
processing the message prior to storing the message in the storage associated with the message consumer.
4 . The method of claim 1 , wherein the token includes information associated with the authenticated message producer.
5 . The method of claim 1 , wherein the message routing system authenticates the message without requesting authentication information from the message producer.
6 . A method for routing a message between a message producer and a message consumer, the method comprising:
receiving, by a message routing system from a message producer, a request to authenticate the message producer;
authenticating, by the message routing system, the message producer;
generating, by the message routing system, a token including information associated with the message producer and indicating authentication of the message producer by the message routing system;
transmitting, by the message routing system, the token to the message producer;
receiving, by the message routing system from the message producer, a message directed to a message consumer, the message including the token;
authenticating, by the message routing system, the message based on the token included with the message; and
responsive to authenticating the message, routing, by the message routing system, the message to the message consumer.
7 . The method of claim 6 , wherein routing the message to the message consumer comprises:
storing, by the message routing system, the message in a storage associated with message consumer; and
responsive to receiving by the message routing system from the message consumer a polling request for messages in the storage, providing, by the message routing system, the message to the message consumer.
8 . The method of claim 7 , wherein the message routing system periodically receives from the message consumer polling requests for messages stored in the storage.
9 . The method of claim 7 , further comprising:
processing the message prior to storing the message in the storage associated with the message consumer.
10 . The method of claim 6 , further comprising:
responsive to an expiration time being reached, aborting routing of the message to the message consumer.
11 . The method of claim 6 , wherein the information included in the token is identifying information of the authenticated message producer.
12 . The method of claim 6 , wherein the message routing system authenticates the message without requesting authentication information from the message producer.
13 . A non-transitory computer-readable storage medium containing computer program code for routing a message between a message producer and a message consumer, the computer program code when executed by one or processors causing the one or more processors to perform operations comprising:
receiving, by a message routing system from a message producer, a request to authenticate the message producer;
authenticating, by the message routing system, the message producer;
generating, by the message routing system, a token including information associated with the message producer and indicating authentication of the message producer by the message routing system;
transmitting, by the message routing system, the token to the message producer;
receiving, by the message routing system from the message producer, a message directed to a message consumer, the message including the token;
authenticating, by the message routing system, the message based on the token included with the message; and
responsive to authenticating the message, routing, by the message routing system, the message to the message consumer.
14 . The computer-readable storage medium of claim 13 , wherein routing the message to the message consumer comprises:
storing, by the message routing system, the message in a storage associated with message consumer; and
responsive to receiving by the message routing system from the message consumer a polling request for messages in the storage, providing, by the message routing system, the message to the message consumer.
15 . The computer-readable storage medium of claim 14 , wherein the message routing system periodically receives from the message consumer polling requests for messages stored in the storage.
16 . The computer-readable storage medium of claim 14 , wherein the computer program code further causes the one or more processors to perform operations comprising:
processing the message prior to storing the message in the storage associated with the message consumer.
17 . The computer-readable storage medium of claim 13 , wherein the computer program code further causes the one or more processors to perform operations comprising:
responsive to an expiration time being reached, aborting routing of the message to the message consumer.
18 . The computer-readable storage medium of claim 13 , wherein the information included in the token is identifying information of the authenticated message producer.
19 . The computer-readable storage medium of claim 13 , wherein the message routing system authenticates the message without requesting authentication information from the message producer.