Patent ID: 7904508

Claim:
One or more computer-readable storage devices having computer-executable instructions embodied thereon that, when executed, perform a method for binding an implemented contract to a target service within a distributed computing environment, the method comprising: receiving an indication to fulfill functional aspects upon which a client service depends; identifying a contract that satisfies the functional-aspects dependency of the client application, wherein the identified contract defines one or more interfaces, and maintains a set of properties that specify constraints for governing, in part, operation of the one or more interfaces; implementing the identified contract to establish and tailor the one or more interfaces, wherein implementing the contract comprises: (a) establishing the one or more interfaces within the distributed computing environment; and (b) configuring the established one or more interfaces by administering values derived from the set of properties thereto, thereby enabling the client service to reach a portion of the target service via the one or more interfaces, wherein the one or more interfaces, upon configuration, enforce the constraints specified by the contract when managing communications from the client service to the target service, and wherein the constraints relate to at least one of restricting access to the target service, authenticating the client service, opening or closing connections to the target service, filtering a flow of traffic to the target service, or defining which ports are used for receiving a call; binding the implemented contract to the target service, wherein the process of binding comprises: (a) automatically linking the one or more established and configured interfaces to one or more role instances, wherein the one or more role instances embody replications of at least one role that represents a type of component program that, upon execution, confers functionality to the target service; and (b) mapping the links via a fabric controller responsible for managing the execution of the target service.