Build Connected Systems
For developers writing distributed enterprise applications, Windows Server® 2008 is the platform to target. Every aspect of the application life cycle enjoys state-of-the-art support: service development, hosting, process-modeling, manageability, performance, interoperability, extensibility, and protection of current investments. All of these facets of distributed software development and management are natively implemented by Windows Server 2008 features.
Even developers simply porting their Windows DNA-based application will enjoy the benefits brought by various key enhancements in the core services such as a completely redesigned TCP stack, enhanced transaction capabilities, Microsoft Message Queue (MSMQ) evolution, and much more.
Microsoft® .NET Framework 3.0, the managed API for Windows, ships with Windows Server 2008 and Windows Vista. Two of the major features of .NET Framework 3.0 are Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF). WCF is the ideal platform for the development of services, and WF provides all the power of workflow-based programming and business process management.
Windows Communication Foundation provides a framework for building service-oriented applications. WCF is based on a single, coherent programming model that encompasses the features found in previous Microsoft distributed technologies, such as COM+, Enterprise Services, ASP.NET, and .NET Remoting. Developers no longer have to learn different programming models, and the ease of combining features in a single service is greatly increased. WCF services are interoperable by default, thanks to the message-based architecture of the platform.
The object model of WCF makes it easy for developers to follow service orientation best practices, such as using standards-based contracts. WCF does not impose dependencies on the underlying transports and includes a fully extensible pipeline, where practically every aspect of the communication can be customized, from the transport to the encoding, from the protocols to the instancing model.
WCF was designed with manageability and ease of deployment in mind. Administrators can modify practically every aspect of a service by using a configuration file without the need for recompilation. WCF includes a large set of performance counters, a Windows Management Instrumentation (WMI) provider, and end-to-end tracing, resulting in services that can be fully monitored for performance, health, and behavior.
Windows Workflow Foundation provides a framework for building workflow-enabled applications and relieves the developer from having to deal with low-level problems, such as instance and state management.
WF includes classes for creating different kinds of workflow, such as the sequential and event-driven styles, and includes a library of activities that provide control flow, condition testing, event handling, state management, and communication with applications and services. Additional functionality can be added through the completely extensible architecture.
Visual Studio® designers allow a workflow to be created graphically, and WF provides the ability to extend this feature through custom visual-authoring components.
The WF runtime provides a number of run-time services, such as the tracking and scheduling services, as well as the persistence service, which can unload an idle long-running process from memory.
Windows Process Activation Service (WAS) is a new feature of Windows that allows any process to take advantage of message-listening capabilities at the system level. Made possible by a redesign of the request-management architecture in Internet Information Server 7.0 (IIS7), WAS enables on-call activation without limitations on intended transport, hosting process, or instancing model, which enables hosting of both HTTP-based and non-HTTP-based applications within IIS7.
The MSMQ stack has evolved. It is now possible to group messages in logical sub-queues, thus avoiding the re-creation of multiple physical queues and the expensive copy operations required by that approach. Sub-queues are used for implementing efficient poison message handling. MSMQ also introduces the long-awaited transactional remote receive by which it is now possible to receive, in transacted fashion, messages from a remote queue in the context of a Distributed Transaction Coordinator (DTC) transaction.