Whitehorse Keynote Demo
Visual Studio “Whidbey” which is in alpha at the moment has a new feature called “Whitehorse.” I will be demoing it Monday in New York and next week in New Jersey. It is pretty cool, impressed even some local Microsoft employees at the NY office today during the Keynote run-through. The party line is that Whitehorse provides integrated model-driven design tools to increase productivity and predictability in design, development, deployment and maintenance of service-oriented distributed systems. Whitehorse helps close the loop between design and operations and between design and code by modeling the software development and deployment process in a rich, integrated metadata-driven environment with tools that let development teams describe design and implement applications keeping design and code synchronized, describe operational requirements and validate designs against those requirements. In this environment, application design becomes an abstraction of the code so the development process can be driven from design first or code first, or any mix of the two.
The core of this architecture is the System Definition Model, which is part of Microsoft’s Dynamic Systems Initiative to simplify and automate developing, deploying and operating connected systems. The System Definition Model is a layered model that can be used to represent the structure of applications systems, the application hosting environment, the network and operating systems environment, and the hardware. Whitehorse focuses on the top two layers of the model, namely the applications layer and the applications host layer. The application layer allows the user to describe the structure and behavior of application systems where design can be synchronized with code, while the application host later allows the user to describe a model of the application hosts.
In Whitehorse these layers translate to the following –
At the application layer:
- A Distributed Services Designer to whiteboard services that make up a service-oriented application, write code and keep code in synchronization with design
- A Susbsystem Designer to configure these services into deployable systems
- At the application host layer:
- A Logical System Architecture Designer to capture metadata about the deployment environment, and drive designs in system design based on infrastructure
- A Subsystem Mapper to bind and validate the application design against the data center description
Together these Whitehorse design tools allow users to build Web Services-based connected systems. Whitehorse helps bridge the gap between architects and developers by enabling application architects to create metadata rich designs that can be given to developers and used directly as the starting point for their work with no translation requirements. The toolset increases the likelihood of rapid and successful deployment by allowing users to validate their application design against the description of their data center and to correct the design early before coding begins. Whitehorse also increases the value and lifetime of design documents by ensuring that design information can be kept synchronized with changes to code. This set of integrated model-driven design tools enable productive “Design for Operations.”