Method |
Methods are lightweight functions, whose scope is bounded by an owning object, similar to the methods of a class in object-oriented programming or an owning object type, similar to static methods of a class.
Methods are invoked by a client, proceed to completion on the server and return the result to the client. The lifetime of the method’s invocation instance begins when the client calls the method and ends when the result is returned.
While methods may affect the state of the owning object, they have no explicit state of their own. In this sense, they are stateless. Methods can have a varying number of input arguments and return resultant arguments. Each method is described by a node of the Method node class. This node contains the metadata that identifies the method’s arguments and describes its behaviour.
Methods are invoked by using the Call service described in section Services. Each method is invoked within the context of an existing session. If the session is terminated during method execution, the results of the method’s execution cannot be returned to the client and are discarded. In that case, the method execution is undefined, that is, the method may be executed until it is finished or it may be aborted.
Clients discover the Method nodes supported by a server by browsing for the owning objects references that identify their supported methods.