## MS BackOffice Unleashed

- Functions of an Internet Server
- Microsoft’s Goals for IIS
- Services Provided by IIS
  - World Wide Web Servers
  - FTP Servers
  - Gopher Servers
- Summary

#
— 15 —

##
Internet Information Server Overview

So far, this book has presented an overview of the BackOffice family and its architecture. Then you delved into the basis of the BackOffice family—the Windows NT Server operating system. This chapter begins your exploration of the individual BackOffice components. There are two reasons for choosing the Internet Information Server as the first of these discussions. First, it is bundled with Windows NT Server. You do not have to purchase it separately, and that makes it really easy to implement even when faced with a limited budget. Second, with all the push on Internet and intranet services, this may well be the cornerstone of information processing systems of the future.

This topic is also fun to discuss. DOS made desktop computing possible for those who were willing to learn a little about computers, command lines, and running applications. Windows, on the other hand, made desktop computing friendly enough for the average person to use at home and at work. The early Internet tools made worldwide exchange of information within the reach of computer professionals who were willing to worry about protocols, IP addresses of computers of interest, and other such details. However, the Web and operating systems that are Internet-friendly have put information from across the globe within the reach of mere mortals. The Internet Information Server (IIS) is Microsoft’s answer to the server side of this technology.

This is the overview chapter for the IIS. It is designed to be an easy introduction to a topic that may not be obvious to all BackOffice administrators out there. Many may come from the Novell environment, where their tasks to date have been providing file and printer sharing services to their users. Others may come from minicomputer and large server environments where they ran databases and other applications, but did not have connections to the Internet.

###
Functions of an Internet Server

What is an Internet server? My definition goes something like "a computer that is used to provide information services using the protocols and tools popularized on the Internet." Actually, many of the "Internet servers" will be providing services to users on an intranet and not even have connectivity to the actual Internet. The need for quality information services is just as important in the Internet and intranet environments.

I like to differentiate between what I call the physical and functional definitions of the Internet. The physical definition of the Internet is a series of computer networks that have been connected to one another and share the common TCP/IP protocol set. Figure 15.1 depicts this vision of the Internet. A lot of technology and standards are used to make the Internet work in countries that speak many different languages and have a wide variety of internal communications systems. Imagine the thousands of wires that are transmitting data across the globe at speeds that were unimaginable just ten years ago.

FIGURE 15.1. Physical definition of the Internet.

The key to the whole computer network is the TCP/IP protocol. It provides a link that is rarely found in other transmission systems. For example, there are dozens of different formats used to transmit television signals around the world. Your television set would probably not work, except in a few other countries, without a converter. Telephone systems suffer from similar problems, although long distance networks have defined interfaces that enable transmission between these dissimilar systems.

The computer world was wise enough to pick a common transmission protocol. There are protocols that are more theoretically elegant and that might be faster. There is something to be said for being able to communicate with almost everyone, however. The goal of this protocol is to provide a means of addressing a packet of information and sending it out across a network that speaks the protocol. The network will take care of the details to ensure that it gets to its destination, assuming that the address is reachable. This is much like the system for conventional mail. You are responsible for putting the correct address on the envelope and the post office is responsible for figuring out which plane to put it on and then which delivery truck is needed to get the letter to the recipient.

There are a number of different transmission technologies that TCP/IP can use to get from here to there. It can go over conventional telephone lines using modem transmission protocols. It can be transferred via both Ethernet and token-ring local area networks. Finally, it can use a number of high-speed networks such as ATM and FDDI. Assuming that the network engineers have connected the wires and configured the communications devices properly, all you need to know is the correct address to which to send it.

Therefore, in this physical view of the Internet, all you have to do is have the network engineers give you a connection to the Internet. Perhaps you do not have such a staff of wiring experts working for you. You can still connect to the Internet using a dial-up connection to an Internet Service Provider (ISP). These places make it really easy to get your Internet connections, and many even support dedicated lines connecting into their systems. Windows NT is very supportive of Internet connectivity and makes it easy using dial-up networking or network interface cards to access TCP/IP networks.

This is not a book on wiring or network devices. Not every location is ready to connect to the Internet in spite of a number of reasonable security solutions that are on the market today to keep out those evil hackers that everyone reads about. There is another view of the Internet that you should consider even if you are just running a small local area network. I call this the functional view of the Internet (see Figure 15.2).

FIGURE 15.2. Functional view of the Internet.

The functional view of the Internet is based on the fact that there are a number of tools and protocols that have developed for the Internet. It is actually a very interesting test bed for application development. With the rapid and free access to information and products that are provided by the Internet, it perhaps most closely approaches an environment of pure capitalism than any other market known to mankind. Although it is true that many of these products have been distributed free, the key is that the "buyer" has free access to a number of products and can switch at will. It is not like the traditional mainframe environment where you have a limited selection of vendors and an all-powerful information systems organization that decides what products you will be able to use.

This environment has bred a lot of half-baked products that were designed for the pure technologist. They were command-line interfaces for people who loved to type at the keyboard throughout the night and were proud that they could remember arcane command sequences. For a long time, the Internet remained a haven for these pure technologists. Then along came some scientists who just wanted to use the Internet to exchange data and other information. Most of their organizations had the Internet connection, but these people were experts in their respective fields and may or may not have been computer experts. To accommodate this, they developed the technologies that have grown into our current World Wide Web.

The World Wide Web is the key to acceptance of the Internet in the broader world. I first used the Internet for some work I did for NASA many years ago; I was comfortable with FTP, telnet, and other such tools because I worked in the UNIX world. However, many of my colleagues were not comfortable with these tools and I often wound up having to perform downloads for them. There were still too many addresses and commands to remember. You had to remember these commands and addresses every time you wanted to access the information.

The Web, on the other hand, is based on authored pages that contain their own unique content (text and graphics), but also contain links that lead you to other parts of the Web. This is a key, because you can have some folks who are more comfortable with addresses and finding things on the Web-built pages with links. The people who do not want to get into the computer details only need to be able to find the pages that contain all these links and use them to find what they want. Such was born the art of "surfing" the Web.

The Web is not everything on the Internet from a functional point of view. Developers have built convenient interfaces to the traditional Internet tools, such as FTP and telnet, that enable regular users to be able to use these tools effectively. The Web pages also have the capability of linking to FTP sites and downloading their files. In that sense, many of the old protocols are still being used for what they are good at even by the newer, more convenient interfaces. My short list of major functional tools on the Web from a business perspective currently includes the following:

- The World Wide Web. A tool set that enables you to display text, graphics, audio, video, animations, and even applications within a standard document display window. Figure 15.3 shows a sample Web page that you should be familiar with if you do a lot of BackOffice work.

FIGURE 15.3. Sample Web page (www.microsoft.com).

- Internet newsgroups. A tool set that enables you to post and read articles on a wide range of subjects. Figure 15.4 shows a sample newsgroup article.

FIGURE 15.4. Sample newsgroup article.

- File Transfer Protocol. A tool set that enables you to move files between two computers.
- Telnet. A tool set that enables you to log on to a remote computer.
- Domain Name Server. A utility that enables you to enter a convenient text name that can be cross-referenced to the numerical address of a computer on the Internet.
- Internet mail. This is actually a set of tools and a number of protocols that are used to send messages, often with attachments, over the Internet.

There are also a number of products that are not exactly related to the business world. An example of these would be the Internet Relay Chat (IRC) tools. These tools enable users to type messages to one another in a live, roundtable discussion format. There is even an Internet telephone protocol setup that enables you to talk to one another using voices over the Internet. There are people working right now to bring out even more of these enhanced services. Which ones will take hold is anyone’s guess. There are some who say that telephone companies are in big trouble when people can use the Internet to place a voice call around the world for the price of a connection to the Internet (about $25 per month in my neighborhood).

Today’s Internet is impressive, but tomorrow’s will probably make us wonder how we survived with such a primitive tool. Microsoft currently has three products in some form of beta release that will greatly enhance its ability to provide Internet services. Major thrusts of current development include secure commerce protocols that will enable you to conduct your business over the Internet. You will look through a catalog on the World Wide Web and place your order in a secure format without having to call the vendor’s 800 number and listen to elevator music for a half an hour. (Could this be the end of elevator music?)

###
Microsoft’s Goals for IIS

Where does Internet Information Server (IIS) fit into this picture? Several of the functions mentioned in the last section are already being accomplished by other components in the BackOffice family. For example, the domain name server functionality is now part of Windows NT Server itself. The Internet mail function also is a central component in the Exchange Server and operating system mail client software produced by Microsoft. IIS, therefore, does not have to worry about any of these functions.

It is also important to remember that IIS is focused on the server side of the Internet world. There are a number of tools that get placed on the client to help it access the various Internet services. Microsoft has products to meet most of these needs, and more tools are on the way all of the time. IIS is designed to provide services in the two key areas of the Internet in terms of information access—the World Wide Web and File Transfer Protocol. They added support for Gopher servers, although this is not an intensely popular service on the Internet or intranets these days.

Another goal of IIS was the capability of supporting an intranet as well as the Internet. A lot of this capability comes from choosing an operating system that runs on a wide variety of computer platforms, including the relatively inexpensive Intel-based PCs. This, combined with the pricing for IIS, make it a cost-competitive solution for even small organizations who wish to set up an intranet. The fact that many of the client tools are bundled as part of their operating systems or available for free downloading from this Internet increases the attractiveness of the intranet solution.

Another goal of the IIS product is to form the basis that will enable future product development. Many technologies can be based around the World Wide Web. It is a good communications and navigation tool for a wide range of information. Examples of products that Microsoft plans to build around the Web include the merchant server and media server. With the development tools and application programming interfaces that are available, it will be relatively easy for companies to develop their own applications based on Web technologies and link to BackOffice and third-party servers.

Another interesting use of Internet Information Server is its part in the product suite that Microsoft is putting together for ISPs. These organizations offer connectivity to the Internet as a service to their clients. Most of them offer a wide range of Internet services, including Web access, newsgroups, mail, and domain name servers. Microsoft has bundled the products in the BackOffice family in a platform that is optimized toward the needs of the ISP. This package has some attractive costs when compared with the larger UNIX installations that are common today, where the ISP has to integrate a number of third-party Internet tools to form a complete Internet environment for its customers. This bundle for ISPs is often referred to by its code name of Normandy.

###
Services Provided by IIS

Internet Information Server provides three basic services to users:

- World Wide Web server
- File Transfer Protocol server
- Gopher server

This may not seem like a lot of services. Remember, however, that several Internet-related services, such as the Domain Name Server and all the communications protocols, are already bundled with Windows NT Server. Several more are available for downloading or are included as part of the Windows NT Resource Kit—for example, a telnet server. Others, such as electronic mail, are already provided by other components in the BackOffice family. As this book is being written, a newsgroup server is in beta testing for addition to a future release of Exchange. Taken together, they form a complete Internet server environment (see Figure 15.5).

FIGURE 15.5. Internet server environment provided by BackOffice.

####
World Wide Web Servers

The first service provided by the Internet Information Server is perhaps the most popular one—a World Wide Web server. It is all the rage and all users want to try their hand at authoring Web pages. The basic concepts behind a Web server are actually quite simple (see Figure 15.6). You designate a directory as the Web server’s root directory. You then place a series of content files in this directory and subdirectories underneath this directory. These content files include documents that are ASCII text files containing text to be displayed, along with a series of formatting controls that are coded using the standards for the Hyper Text Markup Language (HTML). Here are some of the common examples of HTML formatting controls:

- Links to other Web pages.
- Links to graphics files that are to be displayed as part of the page.
- Formatting controls that determine the font, size, and color of the text being displayed.
- Tags that identify the page (that is, give it a name that is displayed in the header of your Web browser).
- Sections that contain programs that are written in other languages, such as Microsoft Basic Script, JAVA, or the Common Gateway Interface (CGI).
- Extended formatting tags that cause special visual effects to be displayed, such as marquee displays, sounds, and even movies. The programs that control these special effects are written using such tools as JAVA or Microsoft’s ActiveX.
- Links to files that are to be downloaded or even executed on the recipient’s PC. Some good examples of this are the many downloads available on the Microsoft Web page.
- Formatting extensions, such as frames, that enable you to have multiple "windows" of information active on your screen.

FIGURE 15.6. Basic concepts behind a Web server.

One of the challenges of being a Web master is ensuring that your content is compatible with a wide range of common browsers that are available. This can be quite a challenge because vendors are working hard to outdo one another and wow the general public. It was a happy day when most of the big vendors in the Web field got together and agreed to work through the World Wide Web consortium. You may want to check out http://www.w3.ora/pub/www for more information on their activities. It is something to consider when your authors are designing their content.

In its basic form, a Web server functions very much like a traditional file server—you have content that people access through a standard series of utilities. Many Web sites provide useful functions and never go beyond this model. However, Microsoft and other vendors are starting to push what they refer to as active or dynamic Web sites, and this changes the picture somewhat. If you want additional information on these topics, you can refer to books such as the CGI Developer’s Guide or Teach Yourself Java in 21 Days, both from SAMS Publishing.

An active Web site is one where there are Web software processes being run. These may be simple scripts written in the traditional Web programming language (CGI) that collect a little data from users who visit the page or that count the number of users who have visited the site. These are really simple applications and usually do not put any kind of stress on the host computer. Users have taken these basic concepts and extended them to build entire applications that run off Web technologies, however.

- The first extension is the use of programming languages, such as JAVA, to run small applications of either the client or the server that interact with the user, perform computations, or display information in a more creative fashion (animations, for example). ALthough most of this work is currently focused on the client side, there are a number of application components that are best implemented on the server side (for example, issues dealing with commerce where you are concerned about security).
- Another extension is the use of database management systems to dynamically build the content of the Web pages. A Web page that is written to contain text and graphics may be fine for a brochure that describes the technical features of a new product, but what about pricing information or product availability? Many of the data elements that are involved with commerce or even news are dynamic, and it would be almost impossible to keep this information up-to-date using static authoring tools. (Have you seen what ESPN has done on the Web at http://espnet.sportszone.com to provide up-to-the-minute scores and sports news?) Databases are good at tracking information, and programs can be written that take data from the databases and translate it into the ASCII text that is needed to display it in HTML format.
- A final area that you might consider is the use of commercial servers that are designed to meet specific needs. The Microsoft merchant server product is an example of a tool that interfaces with a Web server, a database, and even external communications systems to provide the functions needed for Internet commerce. You might consider this to be just a combination of the previous two options, but I see one key difference. Rather than building the product, you just go out and buy it. Because internal development time is limited, you will probably see a growing number of shrink-wrapped applications that tie into Web servers.

The key for the system administrator of active Web sites is to realize that these active components are going to be placing processing and memory demands on the server. They are no worse than those of other applications. If you are connected to the Internet, however, you could be subject to huge surges in volume if your site becomes popular. There have been many creative sites that have become inundated with traffic to the point where they have actually been removed from the server to prevent server overload.

####
FTP Servers

The concept behind an FTP server is also relatively simple. You have a directory on your server that you make available to users who access your FTP site. Unlike the Web, the FTP service has been designed with security in mind so you can validate user access. However, you also have the option of allowing anonymous connections, which will give anyone access to the site. The main maintenance task is keeping the directories fresh with content and creating user access accounts if you are enforcing security.

FIGURE 15.7. Basic concepts behind an FTP server.

There are no advanced FTP concepts such as Active FTP. It is a simple service that gets its job done efficiently. It can be a very fast means to download a file (much faster than transferring the information via Web services) and can work with Web servers to take care of the file download tasks. You may wonder what the differences are between the Internet Information Server FTP Server and the FTP Server that comes as part of Windows NT. The key differences lie in the scalability and security areas. They function exactly the same and the clients will not even notice the difference. The IIS version, however, is a bigger, more robust package that will be needed if you try to service a large number of users accessing your site from the Internet.

####
Gopher Servers

Gopher servers provide an alternative information search medium for non-Web servers. They are not very sophisticated when you compare them to the Web, and you actually have to search to find other Gopher servers to get information from. There are some users who use this as the basis of their processing, so Microsoft included it in this package. I have only installed it for test purposes and do not see this service lasting long when the Web is available.

###
Summary

I have intentionally kept this chapter short in order to get right into the next couple of chapters. There, you explore using IIS. It is hard to go into too much theoretical detail, because the IIS packages are actually quite simple conceptually. Perhaps that is part of their popularity. The main points to take away from this chapter are that Microsoft has decided to bundle three key servers into IIS and sell them as part of the Windows NT Server operating system. The three key services are: the World Wide Web server, the FTP server, and the Gopher server.