1. A computer storage medium having computer-executable instructions for causing a computer to perform steps comprising: enabling tools to be integrated together using an integration framework, the integration framework comprising a backplane to facilitate integration between tools; enabling the tools participating in the integration framework to be encapsulated in a manner that hides implementation details of the tools; enabling the tools participating in the integration framework to carry formal type definitions that describe the public behaviors offered by the tools, wherein the formal type definitions include service contracts that are defined in one or more interfaces and data contracts that are defined by one or more classes; receiving, by the backplane, a request from a client for a tool of a particular type for a particular scope; and providing information to the client regarding a particular tool conforming to the requested particular type for the particular scope, the information comprising a service contract and a data contract associated with the particular tool, the client calling a method on the particular tool defined by the service contract to invoke a behavior of the tool, the method returning information elements to the client based on the data contract.