Introduction - Operating System Windows 2000 Web and Application Services

Introduction
The Microsoft® Windows® operating system platform has become a standard foundation for building and deploying software applications. Its broad programming language support, large third-party developer community, and cost efficiency have helped make Windows the mainstream business operating system and application server platform. With Windows 2000, application developers can use the tools and skills they already have write the new Internet-enabled applications that are increasingly required by businesses.
From Web sites to high-volume transactional applications, Windows 2000 delivers the productivity benefits of component-based development and takes advantage of industry standards for greater interoperability, flexibility, and tools support. These application services are tightly integrated into the operating system to deliver the reliability and manageability that the most demanding traditional and Web-enabled applications require.
This paper provides an overview of the services within the operating system of specific use to application developers. These include:
Internet Information Services 5.0
The Microsoft Component Object Model (COM) and COM+
Microsoft Message Queue Services (MSMQ) message queuing
Data access technologies
Common Windows 2000 infrastructure
Because a working knowledge of the component object model used throughout Windows 2000 is particularly helpful to understanding the operating system’s application services support, this paper describes the evolution of the component object model and its functionality in Windows 2000. The sections of this paper devoted to distributed applications, the component object model, and transaction services provide the background required to understand how COM+ works.
To fully understand how Windows 2000 helps application developers, it helps to see how the operating system fits into the larger application development picture, Windows DNA 2000.1 Windows 2000 Server is the foundation for the Microsoft Windows DNA 2000 platform, which includes technologies, tools, and support for application developers. This paper concludes with a brief overview of Windows DNA 2000.
internet information server 5.0
Windows 2000 Server includes the built-in Web service, Internet Information Services (IIS) 5.0, which is accessible from popular browsers. IIS 5.0 is the reliable, scalable HTTP portal through which Web sites and Web applications communicate with the outside world.
IIS 5.0 provides all the standard services users expect from a Web server as well as support for the latest Internet standards, including HTTP 1.1, HTTP Compression, Secure Sockets Layer, and Common Gateway Interface (CGI), and the new Internet collaboration standard, Web Distributed Authoring and Versioning (WebDAV).
In addition, IIS 5.0 goes further than a simple Web server by providing the environment and services application developers need to quickly create sophisticated Web-enabled applications. One of the most significant application development technologies included in IIS 5.0 is Active Server Pages.
Active Server Pages
Active Server Pages (ASP) is a server-side scripting environment that organizations can use to create and run dynamic, interactive Web server applications. With ASP, developers can create a Web-based interface that combines HTML, script commands, and calls to COM+ components.
An ASP page contains a simple program—a script—written in a powerful scripting language, such as VBScript, and executed at the server. ASP pages in IIS 5.0 offer developers many benefits:
Greatly improved scalability and reliability. With IIS Reliable Restart and other enhancements, IIS in Windows 2000 allows developers to build applications that support more users and stay running.
Access to COM+ objects. Because an ASP page can create and use COM+ objects, the entire world of component-based applications is accessible to it.
Integration with COM+-based applications. Because ASP is a COM+ application, all COM+ applications and capabilities are available in ASP.
Transactional ASP scripts. COM+ integration allows creation of ASP pages that are transactional, meaning that all operations performed by the script can succeed or fail as a unit.
Process isolation. ASP pages can run in the same process as IIS, offering the best performance, or in a separate process, offering greater isolation in the event of failures. IIS now supports three application protection modes: High Medium and Low, allowing developers to balance overall Web server reliability with application performance.
Support for standard, well-known languages. Because VBScript is a subset of Visual Basic, millions of developers are familiar with VBScript today. ASP pages can also be written in JavaScript, another popular and well-supported language.
Ability to distribute processing load across servers. By using Windows Load Balancing Service (WLBS), included with Windows 2000 Advanced Server, processor-intensive ASP applications can be run on multiple machines to support higher numbers of users.
New ASP features in Windows 2000 Server improve performance and make it easier to write applications that use IIS 5.0 and ASP. These features include:
Error handling. ASP now has new error handling that lets developers trap errors in a custom error message .asp file. Using the new error method, developers can display useful information, such as an error description or the line number in an .asp file where the error occurred.
Scriptless ASP. ASP pages that don’t contain server-side script are processed as if they were static HTML pages.
Flow control. Rather than redirecting requests, which requires a performance-impacting roundtrip to the client, Web developers can transfer requests directly to an .asp file without ever leaving the server.
Performance-enhanced objects. IIS provides updated performance enhanced versions of popular installable components.
Self-tuning. IIS can determine when executing requests need additional resources and automatically provide more threads when required.
Security Improvements
IIS 5.0 takes advantage of the security features that are fully integrated with Windows 2000. In particular, the Windows 2000 Server Web services are fully integrated with the Kerberos security infrastructure. The Kerberos Version 5 authentication protocol provides fast, single logon to Windows 2000 Server resources within or across Windows 2000 domains. Users can securely authenticate themselves at a Windows 2000 Server Web site and do not have to undergo a separate authentication (logon) to use other resources. Windows 2000 also includes critical security elements such as enhanced certificate management to allow companies to build a reliable Public Key Infrastructure (PKI).
In addition, Windows 2000 Server now also supports the following standard authentication protocols, which are applicable to Web-based users and ordinary network users alike:
Digest Authentication: the latest authentication standard of the World Wide Web Consortium (W3C), the organization that sets standards for the Web and HTML.
Server-Gated Cryptography (SGC): used by financial institutions to transmit private documents via the Internet.
Fortezza: The U.S. government security standard.
For additional details on Internet Information Services 5.0, see the technical overview. http://www.microsoft.com/windows2000/library/howitworks/iis/iis5techoverview.asp
Distributed Applications
When it was introduced, the Microsoft Windows operating system was used primarily to run standalone applications on personal computers. Since then, the capabilities of the Windows operating system have expanded to support distributed applications, which span client and server operations, and the Internet.
Figure 1: Evolution of the n-tier Architecture
The application services in Windows 2000 are designed to support a three-tier (also called n-tier, or distributed) architecture. The n-tier architecture separates an application into three distinct components:
Presentation. This is the piece of the application that a user interacts with, such as the order form used in an e-commerce application.
Application logic. This component contains all the business rules and logic associated with the application, such as the credit checking application used to support an e-commerce application.
Data. This is the mechanism that stores and manages the data associated with the application, such as product inventory information for an e-commerce application. Usually this is a relational database, but it can also include other storage containers such as a file system.
Figure 2: Three-tier Application Architecture
Partitioning applications into presentation, application logic, and data sections results in a simplified programming model that is the standard way to build applications that take advantage of intranet and Internet communications. By adding more hardware where needed, organizations can also expand n-tier applications to handle more users and information.
The n-tier model has proven especially important to developers wanting to integrate Web technologies into business processes. Because the model separates presentation, logic, and database functions, it is much easier to insert a Web server for backend processes and a client browser for presentation processes.
Taking Advantage of Hardware
The move to an n-tier development model is the result of a significant evolution of the personal computer application development model during the past decade. In the late 1980s, applications were generally written to run completely on a single PC. In the early 1990s, the two-tier client-server model emerged. This allowed developers to offload some of the more intensive data-processing work from client machines and move it onto more capable back-end servers. In this two-tier model, presentation software (the user interface) remained on the personal computer, while the bulk of the processing work was moved to the server. The three-tier model adds a further element of separation between the data and the presentation layers, by allowing processing logic to be handled on a separate server from the database and presentation functions.
Distributed applications are written to take advantage of the processing power available on servers—such as those used for database and line-of-business applications—and the client-side capabilities of personal computers and other devices. By dividing the processes used in an application among different computers, organizations can build flexible and scalable software using commodity hardware.
|