Add live chat to your IIS Web site
Chat services let you incorporate a variety of interactive communication solutions into your Web site: Common-interest group discussions, question-and-answer sessions, and technical support forums are just a few ways users can converse in realtime via the Internet. The Internet Chat Server (ICS), part of the new Microsoft Conference Server, provides chat services for Windows NT. (For information about Microsoft's Conference Server and Commercial Internet System--CIS, see "The Normandy Invasion," page 86.) Once you have an overview of ICS's features, you'll want to see how to install ICS, and learn how to establish a Web page that employs public and private Web-based chat. Let's start with the basics.
Chat Basics
In a typical chat session, users meet in chat rooms (sometimes called chat channels) where they type text-based messages back and forth; other users can read the messages and respond in realtime. Chat room hosts control the aspects of the chat room, such as user access privileges and subject matter.
Users can participate in private one-to-one chat sessions, as well as one-to-many or many-to-one auditorium-style chats. For example, a chat server recently hosted a conversation with Will Smith (star of the hit movie Independence Day) to let Internet users ask questions about the film. What a great way to promote a product! Microsoft regularly hosts question-and-answer chat sessions for product releases. For instance, while I was writing this article, I used the chat system for technical support about ICS and Microsoft Conference Server and received answers to my questions almost instantly.
Internet Relay Chat (IRC) is the most common type of chat system on the Internet. IRC supports chat from multiple OSs--UNIX, Macintosh, and just about anything else. You can use Microsoft ICS with any standard IRC client. (For information about Microsoft's Comic Chat client software, see "Cartoons Come to Life," page 99.)
Besides this versatility, ICS includes many features. It offers a new binary chat protocol that allows for secure chat sessions using Microsoft chat clients. ICS supports security extensions based on the NT Server challenge/response mechanism (e.g., passwords for protected chat rooms are not sent in clear text). ICS's GUI simplifies setup, configuration, and administration, and you can configure ICS from remote machines. ICS provides performance counters for monitoring and tuning, Simple Network Management Protocol (SNMP) monitoring, detailed event logging, and a command-line tool that supplies scripting support for server configuration. One really nice feature lets you incorporate chat forums seamlessly into your Web pages. This capability makes populating your chat forums easier and certainly simplifies chat system operation for users.
System Requirements
Integrating ICS into your NT environment is fairly easy, provided you meet a few minimum requirements. ICS has the same minimum requirements as NT 4.0 and Internet Information Server (IIS) 2.0 because it runs on top of these two software systems. According to Microsoft, you can run one chat server (supporting up to 2600 concurrent chat users) on a 486 with 64MB of RAM and a 1GB hard disk. However, you can determine the amount of physical memory you need with this formula: 24MB + (64KB * maximum number of connections). Similarly, to determine the amount of virtual memory you need, you can use the following formula: 128MB + (4KB * number of channels * number of users). Of course, you can reverse these formulas to see how far your current setup will take you.
If you don't have a copy of ICS, point your Web browser to http://www.ms-normandy.com and download the software and other parts of the CIS suite. You also need Microsoft's Internet Explorer (IE) 3.0 or Netscape Navigator with the ActiveX plug-in installed.
Installing the ICS Software
Let's quickly walk through how to install ICS and establish a demo Web page that incorporates Web-based chat. We'll create two persistent chat rooms: a private chat room called customer_support and a public chat room called webtalk. (The difference between public and private chat rooms is that users don't see private chat rooms in a chat room list--they must know the room's name to join the chat.)
Installing ICS, like other Microsoft software, is straightforward; installation requires almost no interaction with the administrator besides choosing components, an installation directory, and a file folder. You can install the following components:
- Internet Service Manager (ISM) extensions: Allows chat service management through the standard Windows interface
- Internet Conference Server service: Provides the Conference Server service
- Internet Chat ActiveX Server components: Lets you retrieve and display Conference Server information on Web pages
- Internet Chat ASC Sample templates: Includes sample templates for creating customized Web pages for chat topic searching and verification
- Internet Chat documentation: Supplies complete ICS documentation
- Internet Chat Client and OLE Custom Control (OCX): Provides the Microsoft Chat Client and OCX software needed for standalone chat and Web-based chat
For the basic installation, you need to install the ISM extensions, the Conference Server service, the documentation, and the Web-enabling OCX. For the most robust functionality, install the complete package and Microsoft's ActiveX Server. These additional components let you perform customized keyword searches for chat subject matter and assist you in developing customized Web-based chat interfaces.
You manage ICS, as you do other Internet services, with the ISM. Once you've installed the ICS software and opened ISM, simply double-click the chat server to open its property pages. You'll see these tabs: Banned Users, Classes, Channels, Channel Services, Logging, Portals, Security, Server Information, and Service. In these property pages, you'll find quite a few settings at your disposal. Rather than detail all these configuration settings, let's take a close look at what you need to know to get ICS up and running quickly with both private and public chat rooms (or channels) embedded in a Web page on your site.