1. A method of communicating between objects comprising: receiving a request from an originating object to exchange data with any one or more unspecified target objects; discovering, from a remote service object via a standard communication protocol, candidate objects for the any one or more unspecified target objects, wherein the candidate objects might or might not be known to the originating object as a target object with which the originating object is able to exchange data; determining that a candidate object is known to the originating object as a target object with which the originating object is able to exchange data, including: sending an information request package to the remote service object via the standard protocol, the information request package containing a hierarchy of commands, including a routing command to command the remote service object to route the request package to the target object, and any one or more of a: query command to command the target object to return the target object's namespace, and schema query command to command the target object to return the target object's schema; responsive to the hierarchy of commands, receiving from the remote service object via the standard protocol any one or more of the namespace and schema returned by the target object; determining that any one or more of the received namespace and schema returned by the target object is known to the originating object; receiving a data exchange request package assembled by the originating object to exchange data with the target object, wherein the data exchange request package is assembled by the originating object to exchange data based on any one or more of the known namespace and schema returned by the target object; relaying the data exchange request package to the remote service object via the standard protocol; and receiving a confirmation from the remote service object that the originating object exchanged data with the target object in accordance with the data exchange request package, the confirmation including receiving data from the target object.