Content based routing architecture system and method
View Patent ↗The present general inventive concept relates to systems and method for routing electronic messages depending on message content.
1. A system for routing electronic messages comprising one or more computer servers with computer-readable code for carrying out the following instructions:
receiving an electronic request message by an ESB from a service consumer;
analyzing said electronic request message to determine whether it is proprietary or canonical, where a canonical message includes header information in a predetermined canonical format and structure, and a proprietary message either lacks header information or includes header information in a format or structure different from the predetermined canonical format and structure of a canonical message;
when said request message is proprietary, adding header information in said predetermined canonical format and structure to said request message;
generating a request message list of instructions, said request message list of instructions including message-specific service details including:
a route key defining a current and next destination of the message;
analyzing said list of instructions and applying at least one of translation logic to the request message and data transformation logic to the request message; and
routing said request message to a service provider based on the route key of the request message list of instructions.
2. The system of claim 1 , wherein said service consumer is a remote client terminal in electronically networked communication with said one or more computer servers.
3. The system of claim 1 , wherein said electronic request message is a JAVA Message Service.
4. The system of claim 1 , wherein the one or more computer servers are further configured to carry out the following instructions:
receiving an electronic response message by the ESB from the service provider, said response message including a response message list of instructions;
analyzing said response message list of instructions to determine whether translation is required;
applying translation logic to the response message when translation is required; and
delivering said response message to said service consumer.
5. The system of claim 4 , wherein the one or more computer servers are further configured to carry out the following instructions:
analyzing said list of instructions to determine whether data transformation is required; and
applying data transformation logic to the response message when data transformation is required prior to delivering said response message.
6. The system of claim 1 , wherein the one or more computer servers are further configured to carry out the following instructions:
receiving an electronic response message by the ESB from the service provider, said response message including a response message list of instructions;
analyzing said list of instructions to determine whether data transformation is required;
applying data transformation logic to the response message when data transformation is required; and
delivering said response message to said service consumer.
7. The system of claim 1 , wherein the message-specific service details includes one or more of:
a name of a service requested;
a version of the service requested;
an operation of the service requested; and
wherein said message-specific service details is acquired from a database based on the request message.
8. A method of routing electronic messages, said method comprising the steps of:
receiving an electronic request message by an ESB from a service consumer;
analyzing said electronic request message to determine whether it is proprietary or canonical, where a canonical message includes header information in a predetermined canonical format and structure and a proprietary message either lacks header information or includes header information in a format or structure different from the predetermined canonical format and structure of a canonical message;
when said request message is proprietary, adding header information in said predetermined canonical format and structure to said request message;
generating a request message list of instructions, said request message list of instructions including message-specific service details including:
a route key defining a current and next destination of the message;
analyzing said list of instructions and applying at least one of translation logic to the request message and data transformation logic to the request message;
routing said request message to a service provider based on the route key of the request message list of instructions.
9. The method of claim 8 , wherein said service consumer is a remote client terminal in electronically networked communication with said one or more computer servers.
10. The method of claim 8 , wherein said electronic request message is a JAVA Message Service.
11. The method of claim 8 , further comprising:
receiving an electronic response message by the ESB from the service provider, said response message including a response message list of instructions;
analyzing said response message list of instructions to determine whether translation is required;
applying translation logic to the response message when translation is required; and
delivering said response message to said service consumer.
12. The method of claim 11 , further comprising:
analyzing said list of instructions to determine whether data transformation is required; and
applying data transformation logic to the response message when data transformation is required prior to delivering said response message.
13. The method of claim 8 , further comprising:
receiving an electronic response message by the ESB from the service provider, said response message including a response message list of instructions;
analyzing said list of instructions to determine whether data transformation is required;
applying data transformation logic to the response message when data transformation is required; and
delivering said response message to said service consumer.
14. The method of claim 8 , wherein the message-specific service details includes one or more of:
a name of a service requested;
a version of the service requested;
an operation of the service requested; and
wherein said message-specific service details is acquired from a database based on the request message.