The Windows Server 2003 Application Environment
Updated: July 2002
Summary: Windows Server 2003 builds on the core strengths of the Windows family of operating systems—security, manageability, reliability, availability, and scalability—by integrating the key technologies needed to help business solve the integration challenge. As the foundation of the .NET platform, Windows Server 2003 delivers a revolutionary application environment to build, deploy, and run XML Web services. (7 printed pages)
The Microsoft® Windows® Server 2003 application environment provides the following benefits.
|Simplified integration and interoperability||Easily connect with partners and customers.
Protect and extend existing infrastructure.
Build dynamic applications.
|Improved developer productivity||Get products to market faster.
Develop applications that are on time and on budget.
Take advantage of quicker and easier build cycles.
|Increased enterprise efficiency||Meet customer demands with lowest total cost of ownership (TCO).
Improve productivity by using fewer people with better results.
Build high-performance applications.
These benefits are described in greater detail below.
Simplified Integration and Interoperability
The .NET vision includes both integration and connecting with customers and partners. Windows Server 2003 enables this vision by deeply integrating support for XML Web services, which enable your applications to leverage the loosely coupled principles of Internet computing to solve the integration challenge. It's all about cross-system and cross-company integration.
Native XML Web Services Support
Windows Server 2003 offers native support for XML Web service standards including XML, SOAP, UDDI, and Web Services Description Language (WSDL). Windows Server 2003 will ship with an enterprise version of the UDDI service. This means companies can run their own internal UDDI server, allowing developers in an organization to easily and quickly find the Web services available within the organization. Further, developers can run an externally facing UDDI service so that partners can integrate your applications and services into their own offerings.
Because XML Web services are deeply integrated into Windows Server 2003, existing services like COM+ and MSMQ (Microsoft Message Queuing) can readily take advantage of them. Administrators can allow existing COM+ applications to be called using XML/SOAP by simply checking a configuration box. (This feature can be used in Windows Server 2003 and Windows XP—when Windows XP has the .NET Framework installed.) MSMQ can also talk to SOAP and XML as a native format to allow loosely coupled applications to interoperate with a broad range of systems.
- MSDN Web Services Developer Center
- MSDN SOAP Developer Center
- MSDN UDDI Developer Center
- MSDN XML Developer Center
XML Web services deliver the foundation and architecture for application integration. Federation infrastructure is fundamentally about enabling servers and services to interoperate across trust boundaries. A good example of a federated system is DNS: every company operates its own DNS server, and all of these systems work on a standard that makes them work together as the entire DNS system.
The federated model is especially important when applied to the concept of user login as used in the Microsoft Passport Trust Network. Interoperating across trust boundaries is crucial to the success of federation but it is also its weakest link. Many complexities, especially security and directory service integration, are introduced when cross-network and cross-system access to applications and resources are considered. Windows Server 2003 embraces these challenges by building specialized tools and features into the platform that make it easier for applications, servers, and services to interoperate between companies. These features include Kerberos v5, cross-forest trusts, integration of the Microsoft Active Directory® and Passport services, and the Microsoft Passport Trust Network.
- MSDN Security Developer Center
- .NET Passport SDK download, available on the MSDN .NET Passport Downloads page
- MSDN Active Directory Developer Center
- Microsoft Windows 2000 Active Directory product site
Helping Developers Be More Productive
Developers are one of the most highly leveraged resources in IT. The Windows Server 2003 application environment improves the productivity of these highly valuable people by providing a complete set of integrated application services and industry-leading tool support. By integrating the .NET Framework into the Windows Server 2003 application development environment, developers are freed from writing "plumbing" code and can instead focus their efforts on delivering real business value.
Windows Server 2003 provides the richest set of services available with any development platform, including comprehensive data access, integrated security, interactive user interfaces, mature component object model, transaction processing monitors, and world-class queuing.
As a result, developers will be more productive, can more reliably predict success on any given project, and can bring a project to market faster than with other development platforms. This improves the speed-to-market with new applications and products, often providing the organization with a competitive advantage.
Here are some of the features that help developers be more productive:
- Simple Web service creation. Using the ASP.NET classes of the .NET Framework, developers can simply write their business logic and with one line of code expose the functionality as an XML Web service.
- Separate code from content. ASP.NET also enables Web developers and content creators to work in parallel by keeping content separate from application code.
- Reusable code. The .NET Framework, as a whole, provides an intelligent architecture that is easy to learn and that allows for improved code reuse.
- Industry-leading tools. Microsoft Visual Studio® .NET provides an integrated, multi-language tool for building smart client applications, Web applications, and XML Web services. It is the most commonly used development tool by a wide margin.
- Multiple programming language support. The .NET Framework provides deep, cross-programming language integration that allows developers to program in the language in which they are most productive and enables transparent cross-language inheritance, method calls, debugging, and error-handling.
- Automatic memory management. .NET Framework-based code runs in the .NET Framework's common language runtime (CLR), which is a garbage-collected environment, saving developers the work of allocating and freeing memory in the heap. This leads to great developer productivity and dramatically reduces common programming errors.
- Server-side Web controls. The ASP.NET classes increase productivity by encapsulating complex interactions in pre-built server-side components. Developers can rapidly build scalable Web applications that can sense the browser-type and form factor of the client and customize their appearance dynamically. Web controls are compiled and run on the server for maximum performance, and can be inherited and extended for even more functionality.
- MSDN ASP.NET Developer Center
- MSDN .NET Framework Developer Center
- MSDN .NET Framework SDK home page
- MSDN Visual Studio .NET Developer Center
The Windows Server 2003 application environment builds on the solid enterprise abilities of Windows 2000 Server—reliability, availability, manageability, scalability, and security. Applications developed in the Windows Server 2003 environment are more responsive and available, and because the environment can be managed by fewer people, it will deliver lower TCO with better performance.
Here are some of the key performance features that benefit developers and IT professionals in an application environment:
- ASP.NET: Integrated with IIS 6.0. ASP.NET is integrated with the Internet Information Services (IIS) 6.0 process model and leverages support for multiple application pools. This means that individual ASP.NET applications are isolated and talk directly to the kernel-mode http listener. This leads to a reduced number of process hops and allows ASP.NET applications to leverage kernel-mode file caching, both of which result in great performance.
- ASP.NET: Advanced compilation. .NET Framework advanced compilation provides increased performance by compiling pages instead of interpreting them. It supports both pre-compiled applications and on-the-fly-compiled applications. ASP.NET leverages more advanced threading models which allow it to perform asynchronous I/O, leading to improved performance and scalability. This eliminates the need to convert server-side code before execution, and therefore conserves server resources, increasing server performance and scalability.
- ASP.NET: Intelligent caching. The ASP.NET programming model provides a cache API that enables programmers to activate caching services to improve performance. An output cache saves completely rendered pages, and a fragment cache stores partial pages. Classes are provided so that applications, HTTP modules, and request handlers can store arbitrary objects in the cache as needed.
- Garbage-collected environment. The CLR's garbage collector provides a more efficient environment for memory management in Web server scenarios. It avoids heap fragmentation issues by using a classic allocation/free model.
Improved Scalability and Reliability
Here are some of the key scalability and reliability features that benefit developers and IT professionals in an application environment:
- Asynchronous support. The .NET Framework deeply integrates two asynchronous communication technologies for scalability and reliability: SOAP and Microsoft Message Queuing (MSMQ). This allows developers to build applications that are robust and can handle offline scenarios.
- Web farm session state. The process-independent, Web-farm-compatible session state technologies provided by the ASP.NET classes of the .NET Framework increase reliability and scalability by storing session state in a process external to the ASP.NET application, or in Microsoft SQL Server™, so the state can survive application crashes and be referenced from other machines in a Web farm.
- IIS 6.0 fault-resilient process architecture. IIS 6.0 provides an architecture that delivers enhanced application isolation. Administrators can create multiple application pools and assign applications to those pools to provide isolation. Application pools can be monitored and automatically recycled to ensure application availability.
- ADO.NET. ADO.NET are the classes in the .NET Framework for performing data access. ADO.NET supports a non-persistent connection by using a dataset, a cache of the records retrieved from the database. The dataset keeps track of the state of the data and stores the data as pure XML. With the dataset, database connections are opened and closed only as needed to retrieve data into the dataset or to push back updates. The result of all this is that applications scale much better with ADO.NET, and ADO.NET can work over many different network transports.
- MSDN .NET Framework Developer Center
- .NET Framework SDK home page
- MSDN Active Directory Developer Center
Security in Windows Server 2003 is built on top of a single security model anchored by Active Directory. Security enhancements and innovations new to Windows Server 2003 help to reduce the "attack surface" and make Windows authentication and authorization more secure and powerful via a new application security architecture. Protocol transition capability enables any authentication on the front-end Web server to be transitioned to Kerberos in the backend.
In addition, powerful message-based line-of-business applications can direct signed XML messages from clients to a front-end Web server and then have the Web server impersonate the client through the backend to enforce access control and obtain service information.
Delegation to backend servers is more controlled and secure than with Windows 2000, in that the developer or the administrator can configure to which backend servers delegation is made. Front-end servers are treated differently. They are part of a trusted Key Distribution Center (KDC) that can handle authorization and user logon without credentials. This enables an additional policy from which server delegation can be managed.
Native integration of Microsoft Passport enables authentication and authorization for any customer or consumer, and sets the stage for future federation capabilities. When the front-end server trusts the Passport, the Passport is used for user validation and subsequent logon. Passport credentials can be mapped to the Active Directory for consumers and customers.
Multi-tier Web applications can be enabled via protocol transition. This is a native capability for connection oriented applications but it can also be used with message-based applications such as LogonUser (UserName), without the need to track or store passwords. Working in conjunction with a secure Web-based authorization framework, network bottlenecks are reduced due to authentication issues.
Efficient Deployment and Management
No-touch deployment is enabled by enhanced tools such as Windows Installer services (MSI) and by new tools such as Fusion. Fusion supports side-by-side versioning for DLLs, while its counterpart, Manifest, tells you exactly which DLLs are required. Windows Installer can contain Fusion manifests and can now describe the application that runs side-by-side, making it easier to deploy reliable applications.
Additional tools that can shorten the deployment process and ensure greater accuracy include X-copy deployment and IIS edit while running.
The Windows Management Interface (WMI) does in hours what formerly took days, using new tools in Visual Studio. Reliability is improved through command-line tools that are freely available for download via the Internet. Applications and services can easily issue events and define variables.
- Platform SDK: Isolated Applications and Side-by-side Assemblies
- Platform SDK: Windows Management Instrumentation
The .NET Framework: Available Today, Better Tomorrow
Evolving from the strengths of the Microsoft Windows NT® operating system, Windows Server 2003 is fully interoperable with Windows 2000-based servers. Businesses that deploy the Windows 2000 Server family today will be able to upgrade easily to Windows Server 2003 and immediately benefit from improved manageability, reliability, security, performance, and business agility from integrated XML Web Services.
Today, Windows 2000 Server combined with the .NET Framework (available as a separate download) offers to developers the following:
- Unified programming model.
- More component "building-blocks" for writing less code.
- Ability to target multiple devices.
- Rich XML data—ADO.NET.
- Industry-leading tools support.
Tomorrow, Windows Server 2003 provides:
- .NET Framework integration with the operating system means you don't have to deploy the .NET Framework separately.
- .NET Framework code access security works in conjunction with Software Restriction Policies to give you more control for fighting hostile code.
- Microsoft Message Queue (MSMQ) supports SOAP as a native protocol.
- Existing COM+ applications can be automatically converted into Web services with no new code.
- ASP.NET integration with the IIS 6.0 process model.
- Increased performance.
- Better scalability.
- Lowest TCO.
Developers can extend their existing code and write new applications and Web services using their current skills. IT professionals can leverage their existing IT resources to maximize productivity while minimizing TCO. And, line-of-business managers and business decision-makers can optimize their return on investment by spending money on an operating system and gaining a world-class application development environment for the same investment.