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 any header information or includes header information in a format or structure different from the predetermined canonical format and structure of a canonical message;
if 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 name of a service requested;
a version of the service requested;
an operation of the service requested; and
a route key defining a current and next destination of the message;
said message-specific service details being acquired from a database based on the request message;
analyzing said list of instructions to determine whether translation is required;
if translation is required, applying translation logic to the request message;
analyzing said list of instructions to determine whether data transformation is required;
if data transformation is required, applying data transformation logic to the request message;
routing said request message to a service provider based on the request message list of instructions route key;
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;
if translation is required, applying translation logic to the response message;
analyzing said list of instructions to determine whether data transformation is required;
if data transformation is required, applying data transformation logic to the response message;
delivering said response message to said service consumer.
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. 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 any header information or includes header information in a format or structure different from the predetermined canonical format and structure of a canonical message;
if 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 name of a service requested;
a version of the service requested;
an operation of the service requested; and
a route key defining a current and next destination of the message;
said message-specific service details being acquired from a database based on the request message;
analyzing said list of instructions to determine whether translation is required;
if translation is required, applying translation logic to the request message;
analyzing said list of instructions to determine whether data transformation is required;
if data transformation is required, applying data transformation logic to the request message;
routing said request message to a service provider based on the request message list of instructions route key;
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;
if translation is required, applying translation logic to the response message;
analyzing said list of instructions to determine whether data transformation is required;
if data transformation is required, applying data transformation logic to the response message;
delivering said response message to said service consumer.
5. The method of claim 4 , wherein said service consumer is a remote client terminal in electronically networked communication with said one or more computer servers.
6. The system of claim 4 , wherein said electronic request message is a JAVA Message Service.