Prior to Windows NT, virtually all Internet information systems were implemented on UNIX servers. Even now, the majority of Web sites are hosted on UNIX servers. However, most of these servers were set up when Windows NT was still at its infancy in terms of development and deployment in mission-critical applications. The very fact that you're reading this book to deploy information systems on the Internet with NT is a sign of a new operating system standard being set for developing and publishing content on the Internet.
There are many advantages to choosing Windows NT to publish content on the Internet; however, there are also a number of drawbacks in taking this route. UNIX also has its strengths and weaknesses. This chapter compares and contrasts various aspects of choosing one operating system over the other, outlining features and drawbacks of each operating system as it applies to Web site developers.
Because Windows NT is a robust and secure operating system that can manage mission-critical information systems, it is increasingly being used to handle tasks that were delegated only to UNIX servers in the past. Subsequent chapters discuss how you can use Windows NT to develop Web sites and other Internet information distribution systems.
Although comparing and contrasting various aspects of using Windows NT as opposed to UNIX is not directly beneficial to someone developing Web sites with Windows NT, it helps to know strengths and weaknesses of each operating system. Because UNIX has been around for a very long time and is used almost exclusively in educational environments such as universities, many people have grown up with UNIX. Some people have become completely numb to the possibility of the existence of an operating system other than UNIX that can be used to accomplish tasks that were exclusively handled by UNIX servers in the past. In a large corporation, you are bound to meet quite a few of these people. Topics discussed in this chapter will help you, if nothing else, make a valid argument as to why Windows NT is a better operating system for developing and setting up information systems on the Internet. Let us first examine, compared to other operating systems, what's so different about Windows NT.
Windows NT has been developed from the ground up to be the operating system of choice for mission-critical applications. The chief architect of Windows NT is Dave Cutler, designer of the VMS operating system. Along with the NT development team, he combined various aspects of the Mach microkernel (a variant of UNIX developed at Carnegie-Mellon University) and VMS to develop Windows NT. Although Microsoft first started out with MS-DOS running on relatively low-powered processors with limited system resources, system resource requirements for Windows NT are quite different. With the release of Windows NT 4.0, the 80386 platform is no longer supported. Unlike previous versions of MS-DOS, Windows, and even Windows 95, system resource requirements for NT are quite different. Although Microsoft recommends a minimum of 12 MB of RAM for NT Workstation and a minimum of 16 MB for NT server, these requirements are barely sufficient for the operating system, let alone other applications. Requirements for storage space and processing power are equally high for Windows NT. However, NT makes good use of these resources by providing in return a secure, robust, and scaleable environment that helps users be more productive and focus on their work.
Earlier versions of DOS and Windows were plagued with system resource allocation and stability problems, making it hard for users to concentrate on their work. Quite often, rather than coming up with innovative solutions to work-related problems, users came up with innovative ways of working with the operating system. For example, in the olden days, I discovered that if I started applications in a certain order, I could have more of them running at the same time due to the way Graphics Device Interface (GDI) and user resources were allocated. Windows NT's flat memory model frees its users from virtually all system resource allocation problems associated with DOS and Windows 3.x. As long as there are enough system resources, NT will happily run multiple applications, preemptively multitasking each of them. NT is clearly not another version of MS-DOS with a new GUI thrown on top of it. In fact, until version 4.0, its user interface looked very much like that of Windows 3.x.
Until recently, someone wanting to establish a presence on the Internet had very few options available apart from UNIX. Due to this reason (at the time of this writing) most Web servers on the Internet are in fact UNIX Web servers. These Web servers are quite capable of hosting a Web site and serving HTTP (HyperText Transport Protocol) requests. However, the development environment offered by UNIX to Web site developers leaves much to be desired. Most often, Web site developers who use UNIX spend a fair amount of time dealing with operating system-imposed inconveniences and cryptic user interfaces of most UNIX applications, which adversely affect their productivity.
Unlike NT, UNIX is not an end-user-oriented operating system known for its user friendliness. In a production environment, this is not very desirable because valuable time will be wasted on learning intricate details of various applications. Besides making users less productive, it also makes it more challenging to train new users.
Due to cryptic and complicated user interfaces, UNIX applications are typically associated with steep learning curves. This can be very expensive in a production environment where users need to be trained to use various applications.
Because of its complexities, it takes time to learn the ins and outs of UNIX. Although someone with very little experience can be immediately productive with Windows NT, the same is not true for UNIX. As you are undoubtedly aware, employee training can be very expensive. Because most UNIX applications are associated with a steep learning curve, it makes job training unnecessarily time consuming. Because most UNIX applications do not share a common and intuitive user interface, it also makes it hard to replace an employee who is leaving the company-it takes a relatively long time to train a new employee under UNIX. Also, the time and resources invested to train the former employee are lost. On the other hand, when a company uses an operating system such as Windows NT, virtually all investments made on easy-to-use applications are retained because most users require very little or no additional training.
UNIX applications are much more difficult to install and configure than Windows applications. Virtually all Windows applications have installation wizards that guide the user through all stages of the installation process, giving the user a chance to configure the application while installing it. Often, without reading any documentation and simply by executing setup.exe, you can install and use a Windows application.
The same is not true for most UNIX applications. Because there are many flavors of UNIX, some UNIX applications are distributed in source code format. This means that before installing the program, the correct source code has to be downloaded and compiled. Due to the subtle inconsistencies between UNIX flavors, it might take hours or even days to fix a compilation problem, especially if the source code is not very well documented. After fixing any compilation problems, due to a lack of installation programs with consistent user interfaces, you may need to read many pages of an instruction manual to learn the peculiar installation and configuration details of a program before installing it.
Because of complicated installation procedures and cryptic user interfaces, virtually everything becomes a major project in UNIX. For example, before using a new application or configuring it, someone typically has to spend a great deal of time reading UNIX man pages and getting to know various configuration issues related to the application being installed or configured. In a production environment, this can be quite expensive due to lost productivity.
Most Web publishing applications run only on Windows 95 and Windows NT. Using an operating system such as UNIX that lacks sophisticated Web publishing applications is a major drawback when it's used as a Web development platform. Although companies such as Netscape will release UNIX versions of Web publishing applications such as Netscape Gold, most developers will focus only on developing applications for Windows and Macintosh users.
Although several developers have begun developing applications for the Macintosh platform, it's often after they release the Windows version. Therefore, Macintosh users will often be lagging behind in having access to state-of-the art Web publishing tools. For example, the Macintosh version of Netscape that supports Java was released several months after the Windows version.
At the time of this writing, only a small number of Internet content creation tools were available for UNIX. This trend will change in the future when UNIX Web site developers start demanding better applications. However, by that time, Windows applications would have gone through several stages of development and will offer more advanced features.
In UNIX, virtually all programs are developed using a simple text editor and a command line compiler. This makes it harder for a less-experienced programmer to develop applications.
On the other hand, with Windows NT, even a novice can create an application with Visual Basic to manipulate a database in a matter of minutes. Leveraging this kind of power to even novice users makes NT a very powerful but easy-to-use Web publishing platform.
A new breed of Web content development applications is coming into existence. Similar to integrated programming environments found in Microsoft Visual C++ and Borland C++, these development applications offer an integrated environment to develop content for the World Wide Web. Microsoft FrontPage, Future Tense Texture, and Microsoft Internet Studio are all examples of integrated Web publishing applications. You can utilize these applications to create richly interactive Web pages and publish large amounts of information in a timely manner. Most of these applications will not be available for UNIX for some time. Lack of availability of such applications limits what can be accomplished by choosing UNIX to develop content for the Internet.
The source code of some flavors of UNIX is freely available. This is good from a programmer's point of view because various aspects of the operating system can be customized to meet various needs, but this might cause security problems. For example, a potential hacker can carefully go over the code in search of various vulnerabilities and exploit these vulnerabilities for malevolent acts. On the other hand, very few people have access to the source code of Windows NT, making it hard for potential hackers to go over the code in search of vulnerabilities of various security algorithms.
Some might argue that the availability of source code is good because vulnerabilities of security algorithms can be found by others and made public; however, there is a flip side. What if someone finds a vulnerability and doesn't make it public-worse yet, publicizes it in an underground Internet forum to a group of other hackers? If information about a vulnerability of a security algorithm falls into the wrong hands, this can seriously compromise the security of many servers that use the same code.
One argument commonly made by many UNIX advocates is that Microsoft's Windows NT is a very expensive solution. They are also very quick to point out the fact that Linux, a version of UNIX for Intel microprocessors, is essentially free. However, most of these advocates do not want to discuss various aspects of using Linux, such as high administration costs and lack of powerful applications to simplify various tasks and complete them sooner. Although initially it might be a very inexpensive solution, UNIX requires a lot more care and nurturing than Windows NT. Although NT also requires attention every now and then, system administration tasks associated with NT are very easy to learn and perform. On the other hand, UNIX system administration takes longer to learn, and it costs a fair amount of money to have a UNIX guru around.
In a production environment, human resource costs are several times more than software and hardware costs put together. This is because unlike software and hardware, human resource expenses are not one-time investments. A user-friendly operating system makes users more productive by providing them with an environment that is easy to work with. UNIX, with all its cryptic user interfaces, falls short in providing users with such an environment to work in.
Furthermore, due to the large installed base of Windows users, many software development companies are aggressively creating productivity applications for making it simpler to perform routine tasks and make users more productive. However, such an effort is not very visible in the UNIX world. Most UNIX applications are prohibitively expensive for most organizations because these applications are written for a substantially smaller installed user base. Although UNIX systems are regarded as open systems, some aspects of these systems are very closed. Because there are a lot of different flavors of UNIX, an application that runs on one version may not necessarily run on another. This makes UNIX application development more expensive than Windows application development, and these costs are passed down to customers.
As mentioned earlier, Linux is really not a free solution after you start doing any work with it. On the other hand, although NT will initially cost more than Linux, in the long run, it will prove to be more expensive due to high maintenance costs and lost productivity. Investing in Windows NT will yield increased productivity and cut back the time it takes to accomplish various tasks, such as publishing content on the Internet.
Windows NT addresses most drawbacks of UNIX outlined earlier. Although NT is not by any means the perfect operating system or the solution to all your problems, it does have a lot to offer. After setting up a Web server, publishing content on the Web is very easy thanks to many Web publishing applications available for NT. Because you are reading this book, you must already have some very good reasons for choosing Windows NT to publish information on the Web. In the next few sections, various pros and cons of choosing Windows NT will be discussed in detail. By understanding these pros and cons, you will be able to exploit various capabilities of NT to your advantage.
Windows NT offers many benefits over other operating systems. By making use of these bene-fits, you will be able to be more productive and publish content on the Internet by exploiting various capabilities of Windows NT. The following are just some of features of Windows NT that you can take advantage of when setting up information systems on the Internet.
Backward compatibility with most Windows 3.x and DOS applications is a major strength of Windows NT. Thanks to this backward compatibility, those who have invested in 16-bit productivity applications and utilities can continue to use them with Windows NT. There are literally tens and thousands of Windows 3.x and DOS applications that have been developed for a variety of tasks. By choosing a platform that is capable of running these applications, Web site developers will be able to save time by using these utilities and continue to benefit from previously made software investments.
Ease of use is an important factor to consider when choosing a development platform. Ease of use of the operating system and various applications being used directly affects the productivity of users. When an operating system is not user friendly or an application has a user interface that is too cryptic, a great deal of time can be wasted by figuring out how to perform various tasks as opposed to actually performing them and moving on to something else. Windows NT provides users with a familiar environment that is easy to work with. This increases user productivity and results in more time being spent on finding innovative solutions to various problems as opposed to finding various innovative ways of dealing with an operating system that is not user friendly.
I personally know people who use Windows Notepad along with an FTP program to make changes to documents of their corporate Web server simply because they don't want to deal with the cryptic environment of UNIX. Due to the changing nature of this high-tech world, people sometimes change jobs, and new employees need to be hired to deal with the increasing workload. In order to replace an employee who is leaving, someone else has to be trained; similarly, new employees being hired also require some degree of training. Both of these situations can be very costly in a development environment that's not very easy to use. For these reasons, it's important that the operating system used to publish content on the Internet offers an environment that's both user friendly and easy to use. Using such an operating system makes users more productive by freeing them from the time-consuming drudgery associated with most UNIX-based applications. Because Windows NT provides a user-friendly environment it is an ideal Web site development platform.
After setting up a Web site, it needs to be fine-tuned every now and then to keep things running at maximum efficiency. Operating systems that have cryptic user interfaces are hard to manage and give way to high administration costs. Prior to Windows NT, a UNIX guru was often required to set up Internet information systems. Although some system administration experience is still necessary, this is no longer a requirement thanks to Windows NT. Because NT is extremely easy to administer through various GUI administration tools, even someone who is relatively new to Windows NT can quickly learn how to use them. Also, unlike various versions of UNIX that need to be recompiled to make certain modifications, the maximum that can result as a major system configuration change in NT is having to reboot the server. Using an operating system that is easy to administer saves time and cuts back on administration costs.
Windows NT is a true turnkey solution. Often, all that's required to install and configure an application is to run setup.exe and answer a few questions during the course of the installation process. In a production environment, such ease of use and simplicity can potentially save hours or even days of lost productivity wasted on figuring out various intricate installation and configuration details of an application. For example, this book covers how to set up dozens of Internet information distribution applications using Windows NT. In order to follow this book, all that's required is that you be familiar with basic NT system administration tasks. If Windows NT applications are not true turnkey solutions, a book such as this, which comprehensively covers dozens of Internet information distribution applications, would not have been possible.
Windows NT is a very cost-effective operating system. With as little as around $2,000, it's possible to set up a fully functional Internet server with NT in a matter of days (or even hours with the right resources at hand). One of Microsoft's visions has always been making use of inexpensive hardware to accomplish various tasks that were traditionally carried out with more expensive hardware. Windows NT follows this tradition by providing its users with a costeffective and scaleable operating system.
A major reason for the success of the PC industry is low prices. Unlike most other technologies, as PC technology evolves and new, better, and faster components are created, prices usually go down. This is not always true for various proprietary hardware platforms that cost several times more. Windows NT users can use inexpensive PC technology to publish content on the Internet. Because NT is scaleable, when more processing power is needed, NT users can move on to either a faster, multiprocessor PC server or a high-performance RISC- (Reduced Instruction Set Computer) based server. Few operating systems offer this much flexibility while still protecting investments made for various software applications.
Although it took them some time to realize the potential of the Internet, Microsoft has made a firm commitment to developing Internet software for Windows NT. At the moment, there is a fierce battle between Microsoft and Netscape to develop Internet content publishing applications. Microsoft is the worldwide leader in developing software for personal computers, and Netscape specializes in creating innovative cutting-edge Internet applications. Both these companies have a lot to offer the Internet, and their competition will make each other create even better applications. Because both Netscape and Microsoft develop software for Windows NT, NT users will be able to benefit from this competition. Because no other operating system is in a position to benefit from this competition as much as Windows NT users, those who use another operating system will be at a disadvantage and will not have the kind of selection that Windows NT users have.
At the time of this writing, most Web servers deployed on the Internet were UNIX-based servers, but this trend is likely to change as more and more people discover advantages of using NT to set up Web servers and other Internet information publishing applications. There are over a dozen Web servers available for Windows NT. Because such a large number of Web servers have been developed for NT, more choices are available when setting up a Web site with Windows NT.
Many Windows applications are integrated with other applications using technologies such as Object Linking and Embedding (OLE) and ActiveX. Note that OLE and ActiveX mean the same thing for all practical purposes. For example, a Microsoft Excel spreadsheet can be easily embedded in a Microsoft Word document. Such integration makes users more productive by giving them the opportunity to think of several applications as one application and to use various strengths of each application. Although most Windows applications are integrated, they don't always provide a means of exporting content in a format such as HTML. However, this trend is likely to change by the time you read this book. Future versions of Microsoft Office and other applications will be more Internet aware. For example, in the near future, you will be able to publish an entire Microsoft Excel spreadsheet on the Internet simply by exporting it as an HTML file. Furthermore, you will be able to export content in such a way that if the data that was used to create the Excel spreadsheet changes, the changes will be automatically updated to the HTML file that was exported. Such level of integration and automation can save development time and help Web site developers focus less on routine tasks and more on innovative ways of publishing content on the Internet.
The consequences of using Windows to develop and publish content on the Internet are twofold. First, you will lose the benefits of using UNIX, and second, you will have to deal with some drawbacks of Windows NT. However, as you learn shortly, there are a number of ways to deal with the various limitations and drawbacks of Windows NT. By understanding these drawbacks and their possible remedies, you will be able to make the most use of what Windows NT has to offer.
Listed next are various benefits of UNIX that will be lost by choosing Windows NT. However, all these benefits are not completely lost. For example, you can use many third-party applications to deal with various limitations of Windows NT.
UNIX has been around for about two decades. Over this long time period, many organizations have come to depend on the performance and robustness of UNIX. Unlike UNIX, Windows NT does not have a long track record because it has not been around as long. Although this is likely to change in the future, at the moment, Windows NT does not have the time-tested reputation of UNIX.
The source code for some UNIX applications is distributed along with the application which enables end users to make various changes to the application and customize it to meet their needs. However, the same is not true for most Windows applications. This is a disadvantage for those who wish to customize applications by modifying its source code. However, most NT applications are highly customizable using a GUI and registry keys. Therefore, this will not be a major disadvantage for most people.
Most UNIX applications are highly customizable to meet various specialized needs of end users. However, many Windows applications are increasingly using the Windows NT registry to store various configuration information. Often, applications can be highly customized by making modifications to documented registry keys.
Just like UNIX, there are a number of drawbacks associated with using Windows NT. By being aware of these drawbacks, you will be able to find solutions to those that affect you.
Windows NT has been around for only a few years. Compared to UNIX, which has been around for approximately two decades, this is a very short period of time. However, within this time, Microsoft has made a tremendous amount of progress with NT. This progress continues as more powerful and feature-rich versions of Windows NT are released. After the release of Windows NT 4.0, Microsoft intends to release a new version of NT nearly every year, adding a host of new features to the operating system. Thanks to these features and increased deployment of Windows NT in mission-critical applications, in the near future, Windows NT will become known as an operating system that can be trusted with managing information systems of a large enterprise. However, until this happens, Windows NT will be treated as new technology, and this will hold back some of its potential.
Some still believe that Windows NT is just another version of DOS with a new user interface. As discussed earlier, Windows NT is a very different operating system built from the ground up for a different purpose. However, some people fail to or don't want to believe this. If you work for a large company, you're bound to meet a few of these people. Although such attitudes don't directly affect what can be accomplished with NT, they often get in the way of using it to solve tasks more efficiently and quickly. These false sentiments and misconceptions sometimes turn into a drawback of using Windows NT.
Over the last few years, many developers have created various Web servers for Windows NT. As a result, in order to augment limitations of existing standards, various developers have come up with their own standards. NSAPI (Netscape Application Programming Interface) and ISAPI (Internet Server Application Programming Interface) are examples of such standards. Although these standards have been created to address limitations of existing standards and to optimize how information is distributed by Web servers, they can also cause some chaos and compatibility problems.
Compared to various flavors of UNIX, whose command line comprises
many utilities and a rich scripting language, Windows NT's command
prompt leaves a lot to be desired. However, a number of third-party
command line extension tools can be used to make NT's command
prompt more powerful. For example, by using the Hamilton C shell
for Windows NT, various command line tools usually found only
on UNIX systems can be used from NT's command prompt. In addition
to this, the Hamilton C shell also provides a rich scripting envi-ronment
in which you can create C shell scripts to accomplish various
tasks that are too complicated for NT batch files. In addition
to this, a number of GNU UNIX utilities have also been ported
to Windows NT. The GNU tools can be downloaded free of charge
from the Internet.
URL |
You can download from the Internet various UNIX-like tools for Windows NT to enhance the capabilities of NT's command prompt: ftp://ftp.cc.utexas.edu/microlib/nt/ |
Windows NT might initially cost more compared to operating systems such as Linux. In order to publish information on the Internet with NT, you typically need to purchase a copy of Windows NT along with a few productivity applications. This might be a problem for someone working with a limited budget. However, when calculating expenses, development costs also need to be taken into consideration. In the long run, Windows NT is a more cost effective solution. Because a number of shareware and freeware applications are available for NT, initial costs can be kept down by using these applications until more powerful applications are needed (and can be afforded).
Although Windows NT has its own share of drawbacks and limitations, most of these can be addressed with third-party applications and utilities. A number of freeware, shareware, and commercial applications have been created to address various limitations of Windows NT. By using these applications, most drawbacks associated with using Windows NT can be solved.
Windows NT has the potential to alter the way information is published on the Internet. Thanks to NT, many organizations and individuals are now able to establish a presence and publish content on the Internet without having to invest a large amount of time or money. Prior to NT, complexities and expenses associated with setting up Internet information systems held back many individuals and organizations from getting connected to the Internet and using it to conduct business. However, with the aid of NT, these organizations and individuals can now be a part of the most resourceful global computer network in the world and contribute something meaningful to the Internet.
When publishing content on the Internet with Windows NT, it's important to be aware of various advantages and drawbacks associated with using Windows NT. Then you can exploit the advantages of NT and at the same time find solutions and ways of dealing with the various limitations of NT. This chapter first discussed how Windows NT is different from other operating systems, outlining why it's an ideal platform for publishing information on the Internet. Prior to Windows NT, virtually all Internet information systems were set up using UNIX servers. You then learned why UNIX is not an ideal choice to publish information on the Internet, with the various drawbacks and limitations of UNIX being outlined. Then various advantages of using Windows NT were discussed and how you can benefit from them by saving time and money. The last section was devoted to identifying and dealing with the drawbacks of Windows NT. Now that you're aware of the strengths and weaknesses of Windows NT, you're ready to begin publishing content on the Internet.
The next section discusses the various business aspects of using Windows NT to create Web sites and other Internet information services. By understanding the different ways of using the Internet to conduct business on the Internet, you will be able to effectively make use of the information services described in later chapters.