MS BackOffice Unleashed

Previous Page TOC Next Page



— 14 —


BackOffice and Windows NT


Now that you have learned several of the topics related to the Windows NT Server operating system, let's link this to the other BackOffice products. This chapter takes the operating system's point of view. Specifically, what are the other BackOffice servers demanding of the operating system and what problems are they causing? The remaining sections of this book cover the individual BackOffice servers and will take their point of view when they discuss what the NT operating system is providing to them.

Design Integration Goals


This is a good place to review the integration goals that are part of the BackOffice design. This will set the stage for the discussions on the impacts that the various BackOffice components have on the NT operating system and its servers. The following is my short list of NT design features and goals that are important in the context of this chapter:

The first of these topics is the built-in networking. The Windows NT operating system provides networking utilities as a basic part of its functionality (see Figure 14.1). It is a rich networking environment that provides connectivity to a wide range of Microsoft and non-Microsoft computing environments. This permits a high degree of integration in a variety of computer environments that is standardized as part of the operating systems. Applications can take advantage of these networking services through standard interfaces without having to write their own networking interface code.

FIGURE 14.1. Built-in networking.

The second NT design feature that affects its applications is the built-in file and printer sharing services (see Figure 14.2). This goes beyond pure network communication and moves into the realm of higher-level networking services where you exchange information, not just communications signals. These standards allow applications to dispose print jobs to a standard location (a local print queue) and then have the operating system worry about how to get the actual printing accomplished. The file sharing standards provide a standard interface to determine all the files that are available to the user, both those on the network and on local storage devices. This frees the applications from worrying about the details of file systems, network transports, etc. The Universal Naming Convention (UNC) provides a standard means for referencing files in the format of \\server_name\share_name .

FIGURE 14.2. Built-in file and printer sharing services.

The third function provided by Windows NT that is used by applications that are designed for this environment is the ability to act as an efficient application server. Although many earlier PC server operating systems were designed almost entirely to perform the file and print server roles, Windows NT is actually an efficient place to run applications. For applications to run properly in the Windows NT environment, they must be designed for the Windows 32-bit application programming interface (API). In addition, there are a number of additional APIs that Microsoft has come out with to enhance this programming environment. Many of the BackOffice applications have their own APIs (MAPI, for example, that allows programs to send electronic mail to Exchange Server).

The next feature of BackOffice that is designed to be common is the security model. This model features a single login ID and password for use at both the operating system level and within applications. The operating system provides capabilities for applications to verify the security privileges assigned to a users. The key to this environment though is that applications use the basic security features of the operating system, providing extensions if needed, as opposed to implementing their own security systems.

A common set of administrative tools is another key element of the BackOffice environment. The basic tool set has been designed to be extended for individual application needs through a series of APIs. This alleviates the needs for each application to build its own administrative screens. It also guarantees that administrators only have to learn one way of doing business, that can save them a lot of time.

The common set of performance monitoring tools is another hallmark of the Windows NT and BackOffice environments. The Performance Monitor tool provides a very flexible and graphical means of viewing performance data from both the operating system and the application levels. All your applications have to be designed to do is track and report counters that are applicable to their internal processing to the Performance Monitor interface. You no longer have to worry about designing the graphs or reports because that is provided by Performance Monitor.

A final design feature that marks the BackOffice family is that each member has the capability to work with one another. This goes against many designers first instincts in that they could, for example, write a database management system that is more optimized to their particular needs. What this would mean though is that there would be additional database administrative work and that administrators would have to learn a new set of tools and have a separate entity to maintain. It also means that a lot of the programming resources would be devoted to rebuilding these common functions as opposed to focusing on the main functions of the application on that they are working. BackOffice has taken the position of using other components in the BackOffice architecture when it makes sense.

The integration of components to work together should continue in the future. Many of the new BackOffice server such as the Merchant Server will probably be dependent on both the Internet Information Server and SQL Server products. With the ISAPI interface, databases and IIS will continue to be more tightly integrated as Web sites add dynamic, database-driven content to their current static Web pages. There are a number of complex applications that are coming down the road and they will need the services of the existing foundation components.

With these design goals in mind, let's move on to how the various BackOffice components affect the Windows NT Server operating system. It is important for system administrators to understand these impacts to ensure that they have adequate resources to cover their needs. It also helps during performance monitoring and tuning to enable you to better understand the numbers that you see. Systems are really sensitive beasts. You can have a large amount of resources in your system- memory, CPU, disk drives. However, if you have just one component that is overloaded (for example, one of your many disk drives seems to receive almost all the data requests and cannot keep up with demand), system performance and user response time can degrade rapidly.

Implications for NT of Microsoft Mail


Microsoft Mail is the grandfather of the BackOffice family. This product evolved in the era where file and print sharing was about all you got from your servers. Therefore, it is not a sophisticated client server application that takes advantage of the advanced capabilities of the Windows NT platform as an application server. Instead, it merely uses the server as a place to store files that the users will need to access to exchange electronic mail.

Figure 14.3 is a graph for the Microsoft Mail product, showing the resource implications of the BackOffice products on the NT server. The various major server performance and processing components are shaded to show the relative demands of the various BackOffice components. Nonshaded areas show little or no load, and the two shades of gray show increasing loads.

FIGURE 14.3. Effect of Microsoft Mail on a server.

The typical Microsoft Mail installation has the following effect on a server:

One of the features of mail system utilization that you commonly see is that it is subject to very strong peaks during the business day. The typical game plan is that everyone checks their e-mail first thing in the morning, just after lunch, and just before they go home. Surrounding these peaks are periods of relative calm. It does mean that you will have to design your server to provide adequate response times during the peak periods as opposed to using just a daily average loading in your design calculations.

Implications for NT of Exchange Server


The son of Microsoft Mail and the product that Microsoft plans to use in future versions of BackOffice is Exchange Server. It is a radically different design concept than that used in Microsoft Mail. It is designed specifically to take advantage of the application server capabilities of Windows NT in a client server environment. Actually, it strongly resembles a client server database management system in a number of ways (transaction logs, background processes servicing memory areas, and so forth). This was no accident. There were a number of design goals that required this type of architecture including:

Based on this different architecture compared with Microsoft Mail, you expect a somewhat different set of effects on your server. Figure 14.4 illustrates the effects of Exchange Server on Windows NT, which are as follows:

FIGURE 14.4. Effect of Exchange Server on a server.

I want to leave you with a few final comments on the effects of Exchange Server on your system. First, much as in my discussion of Microsoft Mail, Exchange Server is often subject to high peak usage periods. Typical examples of these peak periods are first thing in the morning, after lunch and just before everyone goes home. This can be somewhat minimized if you have client workstations that have enough memory to enable you to run the Exchange clients minimized on the user's desktops at all times. People can easily send mail when they think up an idea and their recipients get the mail soon thereafter as opposed to whenever they next log in to the mail system.

Another subject that will soon come to the forefront is the Internet newsgroup server technology that will be a part of Exchange Server in the fall of 1996 or so. If you choose to allow your users to access Internet newsgroups from your server, you will have to pay special attention to system loading. First, there are an enormous number of newsgroups that are out there. Many of these newsgroups receive hundreds of messages per day. There are also newsgroups that contain large binary files (most often images, many of which you may not want to display in a professional office environment) that take up huge amounts of disk space. You have to select the newsgroups that you carry carefully to ensure that the load on your system is reasonable. This includes considering the transfer capacity of your network card (remember, many PC network cards are designed to be cost competitive and are therefore do not always have high transfer rates). It also includes considering how many files and how long you store these files. One feature that I have seen a number of Internet service providers have trouble keeping up with is the newsgroups (even on DEC Alpha servers)—just a word of caution to keep a close eye on things for a while as users try this new service and see how useful it can be.

In summary, Exchange Server is a very useful tool that can have a serious performance impact on your server computer. This comes from a combination of factors. First, it addresses one of the primary needs of users—to communicate ideas with each other. It adds to this the ability to attach a wide variety of documents and files, which means it serves as an effective transfer mechanism using an interface with which the users are already familiar (sending electronic mail). Finally, it does this all in a rather friendly manner for the users. This ease of use and powerful functionality means that users will use it. This is good, but also means that the server administrator has to keep an eye on disk space utilization, network transfer needs and server processing capabilities.

Implications for NT of SQL Server


SQL Server is the next member of the BackOffice family to consider here. Similar to Exchange Server, it is a true server application as opposed to merely being a database that allows users to share data files that are stored on a shared network directory (dBase or Microsoft Access files, for example). As with Exchange Server, SQL Server has extended the processing capabilities of early PC databases to provide the power and functionality of database management systems that have been developed for larger computer systems ranging from mainframes to UNIX servers. Along with this additional power comes additional loading for the server and that is what this section is all about.

The following are the additional functions that distinguish SQL Server from the smaller PC-based databases that many of you are familiar with. With SQL Server, you can do the following:

To accomplish these additional tasks, SQL Server has a number of design features that are different from common PC-based applications. The following are some of the more important design consideration:

Based on this design, the effects on your server of this database management system are shown in Figure 14.5.

FIGURE 14.5. Effect of SQL Server on a Server.

I can't leave this section without giving you a few parting remarks. The first is that you really need to take tuning to heart on SQL Server installations. Even if you are not overloading your system in large scale terms (for example, your CPU is at 100 percent capacity all day long), you can often do a lot to reduce user response times which helps them with their productivity. It can often be as simple as spreading out the various database files across several disk drives to balance the load more evenly.

The next item that you need to keep an eye on during the design process is the use of stored procedures. These can be wonderful tools to increase application performance. It is a time-consuming process to take the data from the server's disk drives, transfer it over the network and then process it on the remote workstation. It is much easier if you can eliminate a lot of the network traffic. Also, you have much greater control over software that is stored in a central, secure location compared with software that is distributed to every workstation in your organization. However, in most cases, there is more processing capacity and memory in the many user workstations than there is on the relatively few servers. If you are going to be asked to support a lot of stored procedures, make sure that you are given adequate processing capacity.

Another feature of most database systems is that you can have wide variances in the processing load. Often there are massive update jobs that can take up the entire processing capacity of the system. Some downloads may require that user are not permitted to access the system during the course of the download for consistency purposes. Finally, you have to be really careful about the queries that users issue. I have seen poorly formed queries that had to be terminated after an hour of processing that could be tuned to take less than 30 seconds. If you have developers writing new reports or users forming their own queries in ad-hoc reports, make sure that they are at least moderately qualified in the Structured Query Language (or are only using a controlled set of tables and views which are efficient). If they issue a demanding query, it can severely degrade performance for all the users for quite some time.

Finally, you will probably need to get into a real capacity planning mindset when you work with databases. I can think of only a handful of databases that I have run across that do not grow rapidly. When you first install the system, it may get a moderate amount of use. People are not familiar with the system capabilities and use it only when they have to. Soon however, if your application design is good, people will find new ways to use the system to look up information. Your usage will start to grow in both amount of processing and amount of information stored. Therefore, you need to keep an eye on usage trends (data storage, temporary storage, and so forth) over time so that you can identify when additional capacity is needed long before your system becomes overloaded. You may also want to ensure that your backup subsystem is up to storing this additional information according to your backup schedule.

Implications for NT of Internet Information Server


The Internet Information Server is a relatively new application in the BackOffice family. It started out as a downloadable add-on to NT 3.51 in the spring of 1996. It became a built-in feature with the release of Windows NT Server 4.0. It also represents the first real gateway for NT computers to the enormous world of computer users that is out there. Oh yes, Microsoft has been working for years to increase SQL Server's abilities to handle large numbers of users (hundreds). The domain architecture is designed to enable you to use a single security architecture for access to resources even if you have many thousands of users scattered across the world on your wide area network. These examples are small change compared with the millions of users who are out there on the Internet.

You may only want to use Internet Information Server for your local area network or perhaps your corporate network. That is OK. Internet Information Server will meet your needs and get the job done. From a performance standpoint, it will probably resemble a file server in terms of loading unless you implement a number of the ActiveServer components to shift processing load to your server. Remember, static HTML pages are really just another form of document. True, if you want to have a "good looking" Web page, you will probably include more graphics and art work than you would typically include in a business memorandum done on your word processor.

If you are a site on the Internet, however, your load can go straight through the roof. There are a number of search engines on the Internet that you can register with or one of your users can register you by themselves. Once you start appearing in these searches, any number of people can log into your site and start downloading your information. Perhaps, as in the case of a marketing-based Web page, this is good news for your company. However, it can be a significant problem for the system administrator. When you were designing the system, everyone told you that there would be some moderate usage level. Now that the equipment is in place, everyone wants to access your page. Therefore, you have to carefully consider the effect of number of users on your server and have some contingencies (for example, the capability to add another processor, upgrade the disk drives or network cards).

Although it is difficult to state the effects of Internet Information Server on its host computer given the wide variation in number of users and content, I decided to give you my best estimate in Figure 14.6. These effects break down as follows:

FIGURE 14.6. Effect of Internet Information Server on a server.

Another effect that you should consider when implementing an Internet/intranet server is the security effect. Although it is true that Web server can only access files in a given directory tree (unless you build server-side Web applications that do otherwise), the access is pretty much there for all. You have to go out of your way to implement some form of security and this is really a relatively new discipline. Therefore, you should carefully consider your content before you make it available on a Web server, especially one that is accessible from the Internet (where all your competitors are located).

Another point to consider is that your usage patterns for an Internet-based server are controlled by the outside world and not your organization's normal work hours. If you have a site that appeals to regular consumers, much of your activity may occur during the evening hours when people are home to surf the Web. In other cases, you may even be subject to traffic at all hours of the day (that is, your site becomes popular around the world). This can have effects on other system activities such as shutting databases down in the middle of the night for backup. Night in your time zone is the middle of the business day somewhere in the world.

A good impact issue to address here is how do you handle the situation where your server faces overloading from the millions of people on the Internet who are anxious to see what you have got? You could just unplug the Internet connection when you see the server load going through the ceiling. However, that would form a bad impression. You could just stop the Web server service, but again that would lead to a bad impression. One of the easiest to deal with techniques that I have run across on the Web is swapping the pages around to control load. Remember a Web page is nothing more than an ASCII file written in HTML format. If the Web page has a hot spot that lets you download a file, then the user can perform that action. However, if the page does not contain these high load features, then the users will not be able to put as much of a load on the system. You could design a multimillion-dollar system that swaps in less demanding Web pages in place of those that are overloading your system. Of course, you could also just type up a quick batch file that uses the DOS copy command to move files from a staging directory of content to the actual Web server directory. I am not much for elegance, so I tend to choose the old batch file route. You can even put a message on these less capable pages as to when the download services will be available.

Finally, a Web/FTP server can become quite a maintenance task. As you will learn in the next section, it is blissfully simple to set up the Internet Information Server product. A child can do it with ease. However, that is just the beginning of the maintenance process. Web pages are getting to be a form of art. They are a combination of text, graphics, software programs, and other active components that are used to make an impression on your visitors. As such, people from the CEO on down will have opinions as to the message that you are trying to get across with your Web site. These opinions turn into a lot of work—updating the pages and building active controls and miniature applications. Perhaps this is the responsibility of someone else. If it is not, it could turn into quite a task. Major vendors in the computer industry such as Microsoft and Oracle redesign the look, feel and content of their Web pages every couple of days. They even do major look-and-feel changes every couple of months. Make sure you clarify who is going to do this work before you get involved with having a Web server on your computer.

Implications for NT of Systems Management Server


Another newcomer to the BackOffice family is the Systems Management Server. This is a powerful tool for managing that vast sea of computers that are sitting on your user's desks. It can also help keep all your servers up to date and functioning at maximum efficiency. As with every wonderful thing that computers can do, there is also an effect on the computers themselves.

To quickly review, here are some of the major functions of the Systems Management Server:

The help desk support functions are important and interesting, but usually have little effect on the server. The other two functions, on the other hand, can have a substantial impact on your server as shown in Figure 14.7. These effects include the following:

FIGURE 14.7. Effect of Systems Management Server on a server.

One of the interesting design features built into Systems Management Server is the capability of distributing software in a hierarchical fashion as shown in Figure 14.8. This scheme is especially useful in limiting network transmissions in a network that includes some form of routing (for example, there are network devices that transmit signals from one side to the other if the signals are intended for a computer on the other side thereby eliminating unnecessary signals from your network segment). In this scheme, your master server sends out the changes and orders to a number of other servers. These servers then send the upgrades to their clients. You could implement a number of such tiers to control upgrades for a large organization.

FIGURE 14.8. Hierarchical software distribution scheme.

One of the keys to controlling the effect of Systems Management Server on your systems is scheduling. These transfers can be large and may tie up the client computers while they are receiving their upgrades. A large upgrade can cause a large amount of network traffic that can interfere with other processing activities. It is usually best to schedule upgrades to occur automatically during off hours (at night, for example). This will require you to train your people to leave their PCs powered on and logged off at night. It may also mean a few headaches for you in that you will probably want to check how things are going during the time that you would normally be sleeping or surfing the Internet.

A final effect that is positive that Systems Management Server provides for your network is license security. Many companies are worried about violating software licensing agreements. There are so many computers out there and many have replaced previous computers that had software licenses that you think were transferred to the new machine. There probably have also been a number of upgrades to previous licenses, etc. Systems Management Server provides a central database to help keep track of the licenses. The best feature is the one that lets you audit your network to see what is actually in use. This task would take up quite a bit of time if you had to send someone out to find every computer on your network and look at the applications.

Implications for NT of SNA Server


The SNA Server is not designed to perform a lot of local area network processing. Instead, it is designed to act as a gateway from the local area network to the IBM mainframe and AS/400 world. Mainframe types might be comfortable with this type of connection. They feel comfortable with terms such as channel attached and the like. Those from the PC world might find some of these terms to be a bit alien. There should also be a healthy amount of concern when you attach your server to a computer that is as big as most mainframes. Mainframes are designed to process huge volumes of information and spit the data out in the form of enormous reports and data files. The client server world is designed to have the user ask a specific question and receive a response on an as-needed basis. Most networks were not designed to handle large batch jobs that produce thousand page printouts (in which a user might look up a few numbers of interest). If not controlled properly, users could saturate your server and network with jobs that were never intended for the local area network environment.

Here are the potential effects of SNA Server (see Figure 14.9):

FIGURE 14.9. Effect of SNA Server on a server.

One of the most important variables in the load placed on your NT server by SNA Server is the type of connection used to communicate with the IBM mainframe or AS/400. There are a number of means of hooking into the mainframe that vary from extremely high speeds (right into the main communications bus, for example) to relatively slow speeds (that are used for common mainframe terminals, for example). The data transfer needs of your users need to be coordinated with the mainframe systems staff to ensure that you have an adequate transfer capability based on the number of users and the size of the data transfers. This will affect your choice of interface technologies in your server. These options are discussed in more detail in the SNA Server section.

Working to Keep the Environment Integrated


One of the most impressive features of BackOffice is the tight integration between the products. They are good at using the standard security and administrative features provided by the Windows NT operating system. This integration (see Figure 14.10) reduces the administrative burdens, improves security, and reduces the number of interfaces that you have to learn. You have the opportunity to mess things up and slip back into old habits, however, so let's look at how you can keep the Windows NT and BackOffice environment working together.

FIGURE 14.10. Integrated BackOffice environment.

The first challenge to your integrated environment will often come from your local application developers. They have grown up using operating systems that had little or no security. What security and administrative features the operating system did provide were not accessible to developers. Therefore, most developers are used to developing their own security systems and administrative systems for every application. Although this may work, they typically do not have enough control over the functions of the operating system to have a fully bullet proof security system. It also means that you have to go through a number of additional administrative steps (such as creating user IDs and passwords for the operating system and the database management system).

There is no easy way to enforce this. Your developers and management may feel it necessary to use a commercial product that cannot interface with the NT security and administrative system. However, if you do have a choice, always recommend a product that can interface with the operating system utilities. You should lobby with local application developers to use the operating system tools rather than build their own.

The registry is a specific operating system feature that you should use for locally developed applications. This is a centralized repository where all the initialization data is stored. Earlier versions of the Windows operating system used a number of ini files to store this information. They were scattered all over the hard disk (some in the applications directory, others in the Windows directory). The registry enables you to store the data in a system "database" of information that has values both for individual users and the system as a whole. This is much easier to troubleshoot and maintain than the scattered collection of files so at least try to lobby for its use with your developers.

A final subject to consider is keeping up with all the new tools and features that come out for Windows NT. There are some environments where the vendors tell you not to apply a patch unless you absolutely need it (if your system has crashed, for example). One common flavor of UNIX had hundreds of patches out there including almost one major patch to the operating system kernel itself on an almost weekly basis. In this environment, you never were sure where you stood or whether you could run a new product on your system.

Windows NT and BackOffice are somewhat different. It is a good idea in this case to keep up with the service packs and upgrades to these products. Because these products are so tightly coupled with one another, you may often find that you need to have the latest service pack for the operating system installed in order to load a new version of a BackOffice component. A nice feature of the service packs is that a later service pack includes all the changes of the earlier service pack plus the new changes. This makes it easy to keep up to date. Best of all, most of these upgrades can be found on the Microsoft Web page making it very easy to keep up to date (you no longer have the excuse that the vendor never sent you the upgrade disks).

Summary


This chapter has covered a lot of ground. My goal was to cover how the various components of BackOffice affected the Windows NT operating system and computer systems on which they are running. These interactions often depend on the exact uses to which you are putting the components in your particular environment. You have to be careful, therefore, when planning out a new server to ensure that you have adequate capacity.

The effects of the BackOffice components on your server can be generalized as follows:

This chapter ended with a few words on keeping the BackOffice environment integrated. There are a number of benefits for administrators and users alike that are derived from the integrated environment. You must remain vigilant however when integrating new products to try to use the operating system services as opposed to application specific tools. This is especially true of locally developed applications where you have (you hope!) some input into the development process.

Previous Page Page Top TOC Next Page