System and method for routing messages between applications
First Claim
1. A method for routing messages from one or more sending services to one or more recipient services across a message interchange network, said message interchange network being built on an open platform overlaying a public network and providing for application integration as a service, wherein at least some of the one or more sending services and the one or more recipient services are managed by different organizational entities, and wherein each sending service and recipient service is accessible according to properties and permissions associated with each of the sending services and recipient services, comprising:
- (a) receiving a message from a sending service, said message including a header element and at least one of;
a body element including one or more documents that a sending service is sending to a recipient service, and an attachment including one or more documents that a sending service is sending to a recipient service;
(b) determining a route path for delivery of said message to said one or more recipient services, said route path including one or more in-transit services, said determining being based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation; and
(c) delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service.
8 Assignments
0 Petitions
Accused Products
Abstract
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.
228 Citations
74 Claims
-
1. A method for routing messages from one or more sending services to one or more recipient services across a message interchange network, said message interchange network being built on an open platform overlaying a public network and providing for application integration as a service, wherein at least some of the one or more sending services and the one or more recipient services are managed by different organizational entities, and wherein each sending service and recipient service is accessible according to properties and permissions associated with each of the sending services and recipient services, comprising:
-
(a) receiving a message from a sending service, said message including a header element and at least one of;
a body element including one or more documents that a sending service is sending to a recipient service, and an attachment including one or more documents that a sending service is sending to a recipient service;(b) determining a route path for delivery of said message to said one or more recipient services, said route path including one or more in-transit services, said determining being based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation; and(c) delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A message routing computer system, comprising:
a message routing network built on an open platform overlaying a public network and providing for application integration as a service, said message routing network enabling routing of messages between a sending service and one or more recipient services, wherein at least some of the one or more sending services and the one or more recipient services are managed by different organizational entities, said message routing network further enabling inclusion of a plurality of in-transit services into said message routing network, wherein an in-transit service can be selectively included in a routing for a message based upon an identifiable type of processing that said in-transit service can perform on said message, a route path defining delivery of said message to said one or more recipient services, said route path including one or more of the in-transit services, said route path determined based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation. If delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service.- View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
44. A computer program product, stored on computer-usable medium, for routing messages from one or more sending services to one or more recipient services across a message interchange network, said message interchange network being built on an open platform overlaying a public network and providing for application integration as a service, wherein at least some of the one or more sending services and the one or more recipient services are managed by different organizational entities, and wherein each sending service and recipient service is accessible according to properties and permissions associated with each of the sending services and recipient services, comprising instructions operable to cause a computer to:
-
receive a message from a sending service, said message including a header element and at least one of;
a body element including one or more documents that a sending service is sending to a recipient service, and an attachment including one or more documents that a sending service is sending to a recipient service;determine a route path for delivery of said message to said one or more recipient services, said route path including one or more in-transit services, said determining being based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing scriptdefined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation; and deliver said message to an in-transit service in said route path, wherein said in-transit service has been created to perform an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service.
-
-
45. A message routing network method, comprising:
-
(a) receiving a registration request from a service for inclusion in a message routing network, said message routing network being built on an open platform overlaying a public network and providing for application integration as a service, said service being operative to provide a data operation according to properties and permissions associated with said service; (b) including said service in a directory of services, said directory of services enabling users of said message routing network to define at least a portion of a desired data processing on a message; and (c) determining a route path for delivery of a message to one or more recipient services, said route path including one or more in-transit services, said determining being based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation. If delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A computer program product, stored on computer-usable medium, comprising instructions operable to cause a computer to:
-
receive a registration request from a service for inclusion in a message routing network, said message routing network being built on an open platform overlaying a public network and providing for application integration as a service, said service being operative to provide a data operation according to properties and permissions associated with said service; include said service in a directory of services, said directory of services enabling users of said message routing network to define at least a portion of a desired data processing on a message; and determine a route path for delivery of a message to one or more recipient services, said route path including one or more in-transit services, said determining being based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation. If delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service.
-
-
57. A message routing computer system, comprising:
a message routing network having an interface that enables a plurality of services to post messages to and receive messages from said message routing network, said message routing network being built on an open platform overlaying a public network and providing for applicant integration as a service, wherein at least some of the one or more sending services and the one or more recipient services are managed by different organizational entities, and wherein each sending service and recipient service is accessible according to properties and permissions associated with each of the sending services and recipient services, at least a portion of said plurality of services providing a menu of data operations that can be selectively applied to a message traversing said message routing network, a route path defining delivery of a message to said one or more recipient services, said route path including one or more in-transit services, said route path determined based on an evaluation of two or more routing scripts selected from the group consisting of;
a routing script defined by a sending service, a routing script defined by a recipient service, and one or more routing scripts defined by one or more in-transit services, such that each service is capable of independently affecting said determining of said route path during a logical routing of said message represented by said evaluation. If delivering said message to an in-transit service in said route path, wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service.- View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
73. A method for routing messages from one or more sending services to one or more recipient services across a message interchange network, said message interchange network being built on an open platform overlaying a public network and providing for application integration as a service, the method comprising:
-
(a) receiving a message from a sending service, said message including a header and at least one of a body and an attachment, and wherein one or more of said body and said attachment includes one or more documents if said sending service is sending one or more documents to said sending service; (b) determining a route path for delivery of said message to at least one of said recipient services, the determining including evaluating at least one of explicit route path instruction and one or more routing scripts, the routing scripts being at least optionally provided by one or more of services selected from a group consisting of said sending services, said recipient services, and in-transit services that may be coupled at least one of the message interchange network and one or more other in-transit services, wherein each service is capable of independently affecting said determining of a route path during a logical routing of said message represented by said evaluating, and wherein two or more of said services may be managed by different organizational entities; and (c) delivering said message to one or more of said in-transit services, wherein one or more of said in-transit services conduct independent processing of said message as said message travels from a sending service to a recipient service, the independent processing being selected from a group including data transformation, content modifying, filtering and service utilization tracking;
wherein said in-transit service performs an identifiable operation on said message as said message travels from a sending service to a recipient service, the identifiable operation altering the content of the message to ensure that the message has the proper format for the recipient service. - View Dependent Claims (74)
-
Specification