Microsoft's choice of product code names has always fascinated me. I believe that they give insight into Microsoft's vision and strategies for the products they represent, so the code name Normandy makes perfect sense to me.
Historically, Normandy was a key offensive action of World War II, giving the Allies the morale boost of a huge success and gaining them key ground to battle the Axis Powers. Some historians believe that if the Allies had lost the battle of Normandy, they would have lost the war. I think Microsoft has this same feeling about its Normandy platform: It is poised to invade the Internet with a set of new technologies designed to give UNIX a run for its money, loosening its dominance in providing Internet services. To Microsoft, the enemy is UNIX, the battlefield is the Internet, and the most important addition to Microsoft's vast arsenal is the Normandy platform.
Normandy was the code name for Microsoft's Commercial Internet System (CIS), a new collection of Internet services--founded on Windows NT and other parts of BackOffice--that offer businesses a highly scalable option for providing Internet services. The CIS suite addresses the intricacies of Web content publishing and site management and offers services that help companies conduct business online. The suite contains an array of services that all work with each other to form a tightly integrated platform for corporate intranets and the Internet. With CIS, an Internet site can employ live conferencing, news, email, secure Web transactions, content personalization, customer tracking and billing, information retrieval, and easy data replication across multiple servers--and that list just scratches the surface of basic functionality. Most of the CIS suite is customizable, which leaves the boundaries of functionality limited only by your own imagination. The entire product line is integrated with the Internet Service Manager (ISM) just as Internet Information Server (IIS), FTP, Gopher, and Proxy services are.
The CIS platform runs on top of NT and other parts of BackOffice. Figure 1 presents the BackOffice family, including CIS systems and services. Each CIS service or system has specific requirements and prerequisites. Using the entire CIS platform requires the use of NT Server, SQL Server, IIS, and the ActiveX Server (Denali), although you can run some components without SQL and Active Server.
At first you may think these requirements are a way for Microsoft to force you to adopt (and purchase) other Microsoft products to use CIS. In fact, the strategy also makes scaling-up your setup and optimizing your software investments easier, instead of inventing redundant systems for each product's needs: Why create a new database model for user management and mail routing in a mail server when SQL Server can handle the job? And why develop a new standalone merchant Web server when you can easily add that functionality to IIS with additional software components? You get the picture.
Let's take a quick look at the components of CIS and then examine each part to get an idea of how to deploy these products. The Release Candidate 1 (RC1) version of CIS includes nine systems and services:
- Membership System
- Internet Address Book Server
- Personalization System
- Conference Server
- Commercial Internet System News Server
- Commercial Internet System Mail Server
- Merchant Server
- Information Retrieval System
- Content Replication System
The Microsoft Membership System (MMS) is the core product that all other CIS servers and services rely on to work together within an online community. MMS provides the mechanisms to accept new users, collect information about them, and manage what the customer can and cannot access. MMS maintains a database of users and associated information, such as membership plans and access to private or restricted areas of content.
Together, MMS and the Microsoft Membership Broker (MMB) handle user identification and authentication. This capability lets the administrator control access to services according to individual membership plans. Membership plans allow the creation of several tiers of service, including a free membership level and various paid tiers. Because security tokens are integrated into NT's built-in access control systems, MMS uses a single user ID and password combination to identify a user to each CIS service you offer.
MMS encapsulates the key components you'll need to build distributed online service offerings for the Internet. MMS lets you deploy servers anywhere on the Internet, where it can link the systems for centralized authentication, authorization, and billing.
MMB is the part of the MMS that lets a server identify users on connection, control their access to content, and bill them for server activities (if you charge for access). MMB even lets users request access to restricted content areas.
Other CIS components, such as the News Server or Chat Server, can identify and authenticate a user with MMB and determine what content a user is allowed to access. (For more information about Chat Server, see "Conversing on the Internet.")
With MMB, a content provider can establish paid online services and track usage statistics to bill the user accordingly. Suppose your company sells software or consulting information. You can easily establish a live online area on your Web site to sell product updates and other valuable information to visiting customers, eliminating the need for sales staff members or phone order workers.
Internet Address Book Server
Microsoft's Internet Address Book Server (ABS) is commonly referred to as white pages. This online directory service provides information about people and businesses.
What? More privacy-invasion mechanics? No, no, no. The ABS white pages system helps users share information about themselves. Such information can include email addresses, personal Web pages, chat groups they use, news groups they monitor, personal interests, hobbies, and almost anything else that identifies the characteristics of a person or business.
Wouldn't you like to be able to locate everyone on a network who had an interest in something as rare as nuclear particle physics or something as simple as growing petunias? Or maybe you just want to locate a business that can help you write that new NT application. That's what ABS is designed to do--help you locate users based on the informational characteristics they provide about themselves.
ABS provides two standard interfaces for the service: a Web interface that uses HTML pages and a standards-based Lightweight Directory Access Protocol (LDAP) interface for accessing ABS through custom LDAP clients. ABS can support more than 5 million user profiles per server, handle millions of queries per day, and support multiple-server query chaining.
I want to mention one important feature for the privacy conscious: ABS includes an anti-mining feature. It reduces the possibility that online marketers will misuse confidential information.
The anti-mining feature prevents someone from dumping out an entire ABS database and using it to fill your mailbox with silly offers to buy a bridge in Brooklyn. Someone querying the ABS must specify categories of information (general, personal, and organizational) they want to display. This requirement limits the information they can extract.
Internet Personalization System
The script-language-based Internet Personalization System (IPS) personalizes the content of Web pages based on a user's preferences. Maybe you've already seen Web sites that you can personalize, such as Microsoft's Network (MSN) at , where you can tailor the look and content of the home page to your preferences.
IPS uses a server-based user profile database to store a user's personal preferences and gives you all the support programs you need to take advantage of the latest Web craze--personalization. You can store the user's personal information properties on either the client or the server, where the client-side information is always kept in synch with the server-side information.
Many Internet sites now employ cookies (a small string of identifying data stored on the client's Web browser) to help store personalization properties. But cookies have one obvious limitation: They are restricted to only a few hundred bytes. IPS's user database system removes this limitation.
Perhaps your firm produces dozens of products or product lines or offers several service suites, and your home Web page lists all those categories. With IPS, users can tailor the Web site to include only the items that interest them and eliminate the rest, which they might perceive as clutter. Personalization increases the likelihood that users will return to your Web site.
When a visitor pulls up your home page, the system attempts to authenticate the user with an ID and password combination, or by extracting a cookie from the client's Web browser. If the user is successfully authenticated, the personalization system determines whether the user has defined a customized view of your Web site. If so, the system uses those customization options to dynamically build and present further Web pages from your site. If not, the user can click a link (which you insert) on your site. This link contains the customization options. Once the user has selected the specific content to include, the user submits the form back to the server, which stores the choices in the user preference database or on the client's browser in the form of a cookie. From that point on, each time the user visits your site, the personalization system authenticates the user and presents the personalized view of your site.
The Microsoft Conference Server (MCS) consists of two parts: an Internet Relay Chat (IRC)-compatible Internet Chat Server (ICS) component that lets users carry on conversations in realtime using text-based messages typed into a chat client; and the Internet Locator Server (ILS), which lets users easily locate other users online and assists in connecting users of realtime collaborative conferencing applications. (For more on MCS, see "Cartoons Come to Life.")
The ICS is compatible with most of the numerous IRC clients for most platforms. IRC is incredibly popular and is a main attraction of the Internet for many users. In addition to the ordinary IRC functionality, ICS can provide a platform for custom chat clients, groupware, and even gaming applications.
In a typical chat server setting, users meet in chat rooms (often called chat channels) where they can chat privately among a few users or openly participate in large-group conversations. A user, the channel host, controls the chat room. The chat rooms can have specific topics of discussion or be completely open, allowing discussion of any subject. The ICS administrator can control user rights, including a user's ability to act as a channel host, create new channels, control data flow, and access specific chat rooms. You can also integrate live, realtime chat rooms directly into a Web page, which is a nice feature not found in an average IRC server. No reloading of the Web page is necessary to view new messages because the Web-based chat client is a realtime ActiveX chat client control that acts and performs like an ordinary IRC client, except that it's embedded in a Web page.
You can use the ICS for a variety of events: You can host a group conversation pertaining to your line of business, an online seminar, question-and-answer sessions, or collaborative efforts, for example. Microsoft provides a software development kit (SDK), the Chatsock API, that lets a developer customize chat functions, such as live data tickers. The Chatsock API is compatible with the standard IRC protocol.
The ILS provides a locator directory for Microsoft's NetMeeting (a realtime Internet communications client--), which supports Internet telephony and data conferencing. (For more information about NetMeeting, see "Microsoft Enables Collaborative Conferencing," December 1996.) NetMeeting lets users share applications, collaborate on documents, enter into electronic whiteboard sessions, perform file transfers, and launch text-based chats. To start a NetMeeting conferencing session on the Internet, you first have to know whether the other participants are online and what their current IP address is.
ILS facilitates obtaining this information. ILS maintains a dynamic database of users currently online and their associated IP address. ILS is based on the LDAP Real Timer (RT) person object. ILS differs from ABS in that ILS stores persistent user information in a dynamic database stored in RAM, and ABS maintains a static database on disk. ILS is constantly updated with transient information as users connect and disconnect from the site or service.
NetMeeting has a configuration dialog box that lets users enter personal and organizational information about themselves. The user can choose (with a check-box setting) whether to make this information available to an ILS server on the network. NetMeeting examines this check-box setting each time the user starts the program. If the box is checked, the user's information is sent to the specified ILS server. Now when other users query the ILS, they'll see everyone who's currently online running NetMeeting. When users close NetMeeting, their information is removed from the ILS automatically, so others will know the user is now unavailable.
Internet News Server
The Internet News Server (INS) is a Network News Transfer Protocol (NNTP)-compliant service that can feed USENET newsgroups from the Internet or establish private newsgroups for limited or restricted use. People have been using news servers on the Internet for awhile, and news servers are a popular communication method.
Newsgroups are a public messaging system, unlike email, which is a private messaging system. You can think of newsgroups as the bulletin board at your local grocery store: You can write a message and pin it up for everyone to read and respond to.
Newsgroups are structured around topics. The more than 20,000 Internet newsgroups cover a wide range of topics.
I've used several NNTP news servers designed for NT and found that they are all intimidating for the administrator, even if the administrator is a UNIX guru with a background in running news services. But Microsoft's configuration interface lets you very easily understand what you are doing, unlike UNIX-based news servers. All the configuration options and settings are in one centralized administrative interface, which you can launch easily through the ISM. My hat is off to Microsoft for creating this easy-to-use interface.
Internet Mail Server
The Internet Mail Server (IMS) is a distributed Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP3) mail server that works with SQL Server. SMTP and POP3 are the standard Internet mail transports. IMS offers businesses a scalable, Internet-ready mail solution.
Doesn't Exchange Server also offer this capability? Yes and no.
IMS and Exchange Server's scalability let a network operator host millions of mail users. But, Microsoft designed IMS to facilitate simple mail services only, and corporations that require sophisticated groupware, scheduling, and public folder capabilities need Exchange Server instead.
SQL Server builds and maintains IMS's mail-routing database, which moves mail to the correct recipients. SQL Server requires a lot of overhead for a small shop, but you can run all four of the pieces (NT, IIS, SQL, and IMS) that are necessary if you want to build a small-scale mail system on one server with a Pentium and 32MB of RAM.
IMS can host mail for numerous Internet domains, a useful capability in large organizations, and MIME lets users attach files to mail messages. IMS is client-independent and compatible with all SMTP/POP3 client software.
Microsoft's Merchant Server is an expansion on the ever-popular IIS and lets you conduct commerce on the Internet, as opposed to just publishing content. You can host multiple online malls and other online point-of-sale systems on one server, maximizing the use of your current investments and simplifying management and maintenance.
The Merchant Server is Open Database Connectivity (ODBC)-compliant, so you can use any current relational database management systems (RDBMSs) you have in place. The software also generates Web pages dynamically, so you can include information extracted from a database on your Web pages.
Merchant Server sports a built-in search engine that allows quick authoring of SQL database queries. This capability can be handy for interacting with product catalog databases. Additionally, a Web client can use Microsoft's Wallet and Shopping Basket ActiveX controls, which allow cross-merchant shopping and even let a user review a product offline before making a purchase. (For more information on Merchant Server, see Ronald K. Arden's "Safe Internet Shopping with Microsoft Merchant System," November 1996.)
Information Retrieval System
We all know how frustrated we can get when we can't locate what we're looking for quickly and easily. The Information Retrieval System (IRS) solves this problem, offering an information-gathering, indexing, searching, and presentation system that helps users find relevant information based on their expressed needs.
The Internet is great for gathering information. Today, many firms acquire information from a variety of sources. As luck would have it, this information appears in a variety of different formats. The information can be stock quote histories, news items, periodical extracts, white papers, documentation, press releases, product announcements, and just about anything else you can think of. Users need to search across various servers and different formats. And the search engines must handle the heavy search loads of growing user communities.
IRS meets these needs. It offers cross-platform searching, cross-file-format searching, content update notifications, and full-text indexing. Transparently to the user, IRS can search over several servers, giving users a much better chance of finding the information they need. The Internet encompasses an ocean of information, and casting your net strategically so that you can find what you want, can really be a chore. IRS helps users sort through all that bounty.
The new direction in networking is using Web technology to publish useful content. But creating content is only part of the big picture. After you create content, you must publish it to your Web server, or in most cases, multiple Web servers. Often, publication can be as simple as copying files from one system to another, but this simple task can quickly become quite complex in large-scale or heavy-traffic operations. Users who publish large amounts of content, or even small amounts of heavily used content, need reliable ways to replicate their files. Microsoft's Content Replication System (CRS) answers this need.
The CRS is a handy tool that updates and moves any file system content to multiple content servers across a network, even servers in physically separate locations. This ability comes in handy when a firm uses multiple servers to balance and reduce system loads; CRS is an easy way to mirror information among the servers. Replication also creates a nice little by-product called fault tolerance. If one of your servers fails, one of your replication sites can take over instantly.
The CRS is easy to install and manage. Once the software is installed, it runs without administration. CRS automatically checks for inconsistencies during data transfer to ensure reliable replication. And, if a replication session disconnects in midstream, CRS reconnects the session and re-authenticates and re-exchanges the information. In addition, CRS can replicate data in parallel. It can update several sites simultaneously, thereby reducing overall replication time. You can configure CRS to replicate data at regular intervals and immediately after data has changed. You can manage and administer the whole system remotely with a standard Web browser.
Any business that runs more than one informational server can benefit from CRS. The software is well suited for wide-area publishing needs. For example, Microsoft used CRS to continuously update MSN's Super Bowl site with new pictures and information during the 1996 game. CRS greatly eases administrative duties in multiserver environments, no matter where the servers are.
Be Ready for the Future
CIS covers a lot of ground, doesn't it? Each product has its place and purpose, and each provides much-needed capabilities in today's rapidly exploding intranet/Internet world. Microsoft is positioning CIS as a suite for major commercial network operators, but that fact doesn't mean you can't use CIS on a private network. For that matter, it doesn't mean you must have a big network before you'll benefit from CIS.
You can use the entire suite, or any of the parts you prefer, in any sized network environment as long as you need the service. For example, a small corporate LAN can benefit from IMS or find functionality in IRS. The platform is scalable; a small network can benefit from the suite, but large networking giants such as CompuServe can use the suite without reaching software limitations.
Before you try to hunt down this new software, be aware that the products have only recently entered wide-area beta testing. (Development of this suite is moving fast, and the first release might be available by the time you read this.) Microsoft is releasing the components for testing one by one. They are available to the public only through Microsoft's CIS Web site ().
You can download the CRS, the Personalization System, the News Server, and the Conference Server from the CIS Web site now. If you're running UNIX-based chat or news servers, I highly recommend you look closely at the CIS solutions in these areas. I can tell you from firsthand experience that CIS solutions are easier to use and configure than the typical UNIX services. The Microsoft products can directly save you time and money--not to mention the headaches and attitudes!
Microsoft will systematically release other components of CIS for testing. Most of the betas expire on March 31, 1997, so you'll have plenty of time to test them. As I mentioned earlier, to test the entire CIS suite of services, you'll need to have at least NT Server, SQL Server 6.5, and IIS 2.0.