CA2736588A1

Providing functionality to client services by implementing and binding contracts

Abstract

Methods, systems, and computer-readable media for automating the expression of functional aspects of a target service to a client service via a vehicle referred to herein as a contract are provided. Generally, the methods are performed in the context of a distributed computing environment configured to underlie operations of service application(s). In embodiments, the contract is implemented and bound upon ascertaining that the expressed functional aspects satisfy dependencies of the client service. Generally, the contract defines interfaces and maintains properties that configure the interfaces during installation. During the implementation, one of the interfaces is established and parameterized in accordance with the properties associated therewith. During the binding, the target service and the client service are linked via communication channels that are routed through the established interface. Accordingly, calls from the client service over the communication channels allow for reaching and employing the functional aspects of the target service.

CA2736588A1, drawing sheet 1
Sheet 1 of 10

Term

Projected expiry 24 October 2029.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

20 claims: 3 independent, 17 dependent

  1. 1
    CA 02736588 2011-03-09 WO 2010/048597 PCT/US2009/061974 CLAIMS What is claimed is:1. One or more computer-readable media 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: identifying (605) a contract that defines an aggregation of interfaces, wherein the contract maintains a set of properties for installing each of the interfaces;implementing (610) the identified contract to establish an interface of the aggregation of interfaces within the distributed computing environment, wherein the implemented contract introduces a vehicle for a client service to reach a portion of the target service;binding (615) the implemented contract to the target service by parameterizing the established interface with values derived from the set of properties associated with the established interface;wherein the process of binding comprises: (a) automatically linking (620) the established interface and 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 (625) the links via a fabric controller responsible for managing the execution of the target service. CA 02736588 2011-03-09 WO 2010/048597 PCT/US2009/061974
  2. 11
    A computerized method for binding a bound contract to a client service within a distributed computing environment, the method comprising:receiving (705) from the client service an indication to fulfill a dependency thereof, wherein the client service comprises one or more component programs;allocating (710) a contract that exposes an abstraction of a functionality which satisfies the dependency of the one or more component programs of the client service, wherein the contract is implemented within the distributed computing environment and is bound to a target service that carries out the functionality;deploying (715) the client service to initiate operation thereof, wherein deploying comprises: (a) automatically linking (720) the one or more component programs to an interface defined by the allocated bound contract, wherein the interface is established within the distributed computing environment upon implementation of the allocated bound contract;and (b) writing (725) a description of the links to a fabric controller responsible for managing the execution of the target service.
  3. 20
    A computer system for performing a method that automatically links a client service to a target service by way of implementing and binding a contract made available by a distributed computing environment, the computer system comprising a computer storage medium having a plurality of computer software components embodied thereon, the computer software components comprising:a client service (305) that submits an indication to fulfill a dependency thereof, wherein the client service comprises one or more component programs;a target service (205) that includes 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;a contract (235) that exposes an abstraction of the functionality of the target service, which satisfies the dependency of the one or more component programs of the client service, that defines at least one interface;and a fabric controller (215) for establishing the at least one interface on the distributed computing platform by implementing the contract, for binding the contract to the target service and to the client service, and for automatically linking the one or more program components of the client service to the one or more role instances of the target service via the established interface.