In today’s e-commerce marketplace, where interactivity is one of the keys to success on the Internet, having developer-friendly, high-performance Web application services is vital to success. At minimum, a good Web application platform should include support for the following:
Web application framework for extending applications to the Web.
Server-side scripting model for easy application development.
Support for transactions to guarantee data integrity.
Database access infrastructure including native (non-ODBC) connectivity.
Asynchronous message queuing services.
Web application process isolation.
Integration with the operating system’s distributed component model.
Scripting and Servlets
A key feature of Java servlets on Solaris 7 is that they are loaded, run, and administered dynamically, ensuring efficient use of server resources. Administrators can also administer servlets and make changes without requiring a server shutdown, maximizing availability. Because servlets are a server-side technology built into the operating system, they also have improved session management and better error recovery than client-based solutions.
Sun Network Cache Architecture
The most unique feature of Sun WebServer is the Sun Network Cache Architecture (SNCA). This technology allows static Web pages to be served at a rate unobtainable by any other Web server applications via a combination of caching and avoiding the TCP/IP protocol stack. The down side is that this performance improvement is limited to static content. Using SNCA with dynamic content can cause server crashes, and, in any case, shows little of the performance improvement that is available with static content, with Web performance being well below that of similarly configured Windows NT-based systems running Internet Information Server 4.0.
Management and Security
Installation and administration of Sun WebServer 2.1 can be handled through a browser-based administration tool or through command-line tools. The browser-based tool is quite powerful and allows administration of users, sites and servers. Through delegated administration, specific administration authority can be granted to administrators at local and remote facilities.
Windows NT Server 4.0 Implementation Details
IIS 4.0 integration with Windows NT Server offers an extremely rich development environment, supporting CGI, ISAPI, and Active Server Pages (ASP) technologies. As with most CGI implementations, any development language that is supported on the Windows NT platform can be used to build CGI scripts including all popular languages such as C, C++, Visual Basic, and Perl. ISAPI provides a standard API framework for extending the functionality of the Web server or developing advanced Web applications. Several other capabilities are also offered when using ISAPI over CGI. All aspects of IIS 4.0 can be managed through Microsoft Management Console.
Active Server Pages
Active Server Pages (ASP) product is Microsoft’s framework for building Web-based applications. With ASP, customers have the ability to quickly and easily develop and deploy interactive Web applications using script syntax that is as easy as that of HTML. Support for Visual Basic Scripting Edition (VBScript) and Jscript® are provided with the ASP implementation in IIS 4.0. Additional scripting language support can be provided via third-party script interpreters. Complex, interactive Web sites can be built quickly and easily with ASP at a significantly lower cost (in terms of required developer expertise, tools, and man-hours) than almost any comparable solution.
The ASP implementation in IIS 4.0 includes many reusable objects for commonly used tasks such as manipulating cookies, maintaining session state, implementing rotating banner advertisements, and accessing server and client information, such as user agent strings. One of the most important components is the Collaborative Data Objects (CDO) collection, which allows for integration with the IIS SMTP and NNTP services to easily build Web-enabled messaging applications with minimum programming knowledge and effort. Additional components are also available for such things as page hit counters from Microsoft’s Web site and many third party sources.
Data access is also fully integrated into IIS 4.0. Support for any ODBC- or OLE/DB-compatible data source is fully supported, providing for connectivity to all popular database systems. Microsoft ActiveX Data Objects (ADO) provide a standardized, easy-to-use, data-source independent API set. It is used for accessing and manipulating data from any ODBC or OLE/DB data source from any ActiveX-capable development platform, including ASP. Consequently, with the combination of ADO and ASP, building data-driven Web pages and applications is an extremely easy task that does not require much in terms of developer effort or expertise. This greatly reduces development and production costs when compared against comparable third-party solutions.
IIS 4.0 HTTP service also offers full COM integration with Microsoft Transaction Server (MTS) 2.0, which also ships as part of the Windows NT Option Pack. MTS 2.0 provides support for Transactional Active Server Pages. Transactional ASP allows for applications with scripts and components to perform multiple actions, with all actions committed together or none at all, providing mission-critical reliability for database-driven Web applications. Additionally, any COM-component can be used from within ASP scripts, and transactions support can be integrated between ASP scripts and COM components, providing an easy-to-use, robust infrastructure for developing multi-tier, scalable Web applications.
IIS 4.0 includes several other noteworthy application development features:
Microsoft Message Queue Server (MSMQ) provides an easy way for applications to asynchronously send and receive messages over a network, ensuring reliable delivery even if part of the application or network becomes temporarily unavailable.
Script Debugging support is integrated into IIS 4.0 to provide an integrated solution to debug ASP script applications, greatly easing development-related tasks.
Crash Protection (Isolated Process) allows customers to run multiple Web applications reliably on the Web server. If one application crashes, the Web server and other applications will continue to run without interruption and the failed application will be automatically restarted on the next request. This provides for a considerably higher level of availability than in many competing solutions.
Java support allows programmers to build server-side Java components and run them using the Microsoft Java 1.1 Virtual Machine. With the combination of Java components, Active Server Pages, and Transaction Server, Java developers can easily build enterprise-level Java-driven Web applications and run them efficiently in demanding server environments.
Windows 2000 Server uses the strong Web development foundation in IIS 4.0 as the basis of Internet Information Services 5.0. It adds several significant new features to produce a market-leading Internet applications platform. Key features in IIS 5.0 Web development support include:
Flow Control features have been added to the IIS 5.0 ASP implementation. Now, rather than redirecting requests, Web developers can transfer requests directly to other pages on the server without incurring a round-trip to the client. This provides significant performance enhancements in applications where control is being transferred from one script to another.
Enhanced Error Handling support allows developers to redirect server errors to customized ASP pages. With this feature, site administrators can display useful information such as the line number or description of where the error occurred. They can also execute special processing under certain conditions (such as electronically notifying administrators if certain fatal conditions are met).The enhanced error handling features also eliminate the need for developers to spend significant amounts of time writing custom error-handling procedures within their scripts and applications. This feature greatly reduces development time and expedites the deployment of sophisticated Web applications on the IIS 5.0 platform.
Server Scriptlets support allows developers to encapsulate common scripts, such as those for database access or content generation, into reusable components accessible from any ASP script or COM-capable application on the IIS server machine. This gives developers easy-to-use scripting languages to create reusable components without a full-scale component development environment, such as Visual Basic, Java, or C++.
XML Support is provided at the server, allowing developers to develop server-side XML-based applications without requiring XML support on the client. This is an extremely important feature, as XML does represent the W3C’s standard for data. Having support for XML at the Web server will be vital to interoperability with XML-derived systems as they become available.
Performance Enhancements have been made in the Internet Information Services 5.0 implementation in Windows 2000 Server, especially on multi-processor systems for hosting out-of-process and ASP-derived Web applications.
COM+ Integration in IIS 5.0 allows developers to take advantage of the new features in COM+ on Windows 2000 Server from within Active Server Pages, including IMDB, Queued Components, Dynamic Load Balancing, and COM+ Events. This provides a more flexible and powerful infrastructure on which to develop enterprise-level Web applications.
Management of IIS 5.0 is handled through the MMC.
Web Application Services Summary
Windows 2000 Server provides an integrated Web applications platform. With the ability to leverage integrated system services built into COM, customers can easily build powerful applications for the Web. Windows 2000 Server provides a number of features in addition to those found in Windows NT Server 4.0 including:
Integration with platform services such as transactions, message queuing, security, and others.
Server Scriptlets for better ASP scripting code reuse.
Flow Control to reduce client-to-server round trips resulting in better performance.
Enhanced Error Handling to make it easier for developers to handle exceptions.
Process Isolation for Web-based applications to provide customers with a higher level of reliability.
Windows NT Server 4.0 Web server application services represent an excellent implementation that is second only to that in Windows 2000 Server. Along with Windows 2000 Server, it is the only offering to feature integrated message queuing, transaction processing, script debugging, and process isolation for maximum server reliability. Additionally, its data access infrastructure, server scripting language support, and collection of reusable components offer a more complete solution than that offered by Sun with the combination of Solaris 7 and Sun WebServer 2.1. Finally, due to the popularity of Active Server Pages, both the Windows NT Server 4.0 and Windows 2000 Server implementations benefit from a following in the developer and third party tools community. This makes support and enhancements easily obtainable; a significant advantage over the Solaris 7 Web application platform.
Data access support is considerably behind either of the Microsoft solutions, making Sun WebServer 2.1 a poor choice for hosting data driven Web applications. There are simply no equivalents to most of the powerful application development features in the Microsoft solutions such as an integrated debugger, transaction support, or asynchronous queued message support. The only area in which Sun WebServer 2.1 excels over the Microsoft solutions is Java support. Java servlets are fully supported on the Solaris platform but are not present on either of the Microsoft solutions, making Sun WebServer 2.1 potentially a better choice in some respects for environments with large investments in Java technology. Apparently, not even Sun itself is willing to build heavily on Sun WebServer 2.1 as its own Web sites run primarily on various versions of Netscape Enterprise Server. The recent agreement with AOL over the division of the Netscape assets, in which Sun continues to build on the Netscape Web server platform, further clouds the future for the Sun WebServer application.