Patent ID: 7921216

Claim:
A method within a computing system of providing a developer with an automated way of constructing a binding object for creating a runtime communication channel in order to apply communication aspects on messages when transferring the messages between endpoints, the method comprising: presenting to a user on a display device of the computing system a user interface; presenting to the user within the user interface a plurality of binding elements for selection, the binding elements representing communication aspects that will be used to create a runtime communication channel for transporting a message between a client and service endpoint, each communication aspect corresponding to a formal rule for carrying messages between endpoints in a distributed system, the binding elements including one or more default binding elements which comprise one or more default communication aspects which may be overridden by user selection of one or more of the plurality of binding elements; presenting to the user a description of each of the plurality of binding elements; prompting the user for information associated with security and information associated with reliability; receiving user input through an input device of the computing system selecting one or more binding elements from the plurality of binding elements; creating a binding object from the selected one or more binding elements, the communication aspects corresponding to the selected binding elements being combined into a protocol, the binding object being an abstract representation of a communication protocol stack; using the binding object, constructing a binding description to be used by a binding builder; using the binding description to create a collection of metadata, the metadata describing the binding object and providing the abstract representation of the protocol stack that will implement the communication aspects at runtime; creating a channel factory which uses the collection of metadata at runtime to generate the runtime communication channel, wherein the channel factory provides a handle referencing the runtime communication channel to the client upon requesting a channel, the runtime communication channel comprising a protocol which includes a transport aspect of the protocol stack and an encoding aspect of the protocol stack, the runtime communication channel accepting data or a message, implementing the communication aspects, formatting the message for transmission, and transmitting the message; and creating a listener factory that accepts the runtime communication channel and de-multiplexes the communication aspects in accordance with the protocol stack in order to process the message at the service endpoint.