Patent ID: 7721005

Claim:
A method to integrate a plurality of middleware without canonicalization of data at runtime, said method implemented using in-ports and out-ports, each in-port associated with a functor object on which each in-port makes one or more calls and each functor-object providing a function for each supported data type, and each in-port facilitating communication between a specific middleware and a first interface, each out-port facilitating communication between another specific middleware and said first interface, said method comprising the steps of: (a) receiving inputs identifying at least a first and second middleware to be made interoperative, said interoperation implemented via at least one communication path between an in-port corresponding to said first middleware and an out-port corresponding to said second middleware; (b) receiving an incoming message from said first middleware via said in-port corresponding to said first middleware; (c) in case of no intermediaries present between said in-port and said out-port, providing said in-port with access to a functor object to make a sequence of calls, said functor object associated with said out-port and supporting a function for a plurality of supported data types; said in-port parsing data elements of said incoming message and calling a supported function on said functor object; and said functor object facilitating passage of data from said in-port corresponding to said first middleware to said out-port corresponding to said second middleware; and in case of at least one intermediary present between said in-port and said out-port: providing said in-port with access to a first functor object to make a sequence of calls, said first functor object associated with said intermediary and supporting a first function for a plurality of supported data types, said in-port parsing data elements of said incoming message and calling a supported function on said first functor object. providing said intermediary with a second functor object to make a sequence of calls, said second functor object associated with said out-port and supporting a second function for a plurality of supported data types; said in-port parsing data elements of said incoming message and calling a supported function on said second functor object; and said first and second functor objects facilitating passage of data objects from the in-port corresponding to said first middleware to said out-port corresponding to the second middleware.