Project Server supports horizontal scaling by allowing you to offload some of the resource-intensive software services onto their own application servers. By way of review of Chapter 4 the following Project Server components may be distributed:
Project Web Access: The IIS ASP application
Project Server database: The database containing project data
SharePoint Team Services: Provides the document and issues management services accessed through Project Web Access
SQL Analysis Services: Provides OLAP services for Analyzer views and the modeler
Microsoft Session Manager Service: Replaces ASP sessions for Project Server and tracks user sessions
Views Notification Service: Handles the updating of information between the Project tables in the database and the Web tables that drive Project Web Access views
You can distribute some or all of the Project Server core application services to one or more application servers. You build an application server by using the Microsoft Project Server Distributed Setup Tool to install Project Server services on top of IIS. You should first establish your Project Server full installation on the primary Web server before you use the tool to build application servers.
Microsoft provides a tool to assist you with your distributed application setup. You’ll find this tool at the Microsoft Download Center at http://www.microsoft.com/download. The actual link is too long to cite. Select Microsoft Project as your product and search on the keywords distributed Setup. Download the 6MB .exe file and run the self-extracting installation. The file prjsbox.msi is added to a subdirectory of Program Files called Microsoft Project 2002 Resource Kit. This directory is created if it doesn’t already exist.
Install the self-extracting file on your new application server. Navigate to the Distributed Setup Tool subfolder of the Microsoft Project 2002 Resource Kit folder and double-click prjsbox.msi. In the User information box, enter your username, initials, and organization as you entered them for Microsoft Project Server. After you accept the license agreement, the Microsoft Project Server Distributed 2002 dialog box shown in Figure 7-18 displays. The drop-down lists allow you to select to run all from your computer, or you can selectively choose services to install. For this example I’ll move all the services onto one application server. Therefore, I’ll set all services to run on my computer.
Figure 7-18. Microsoft Project Server Distributed 2002 dialog box
Click Next to move to the database information entry dialog box shown in Figure 7-19. Enter the database server name and the database name from your original installation. Click Next when you’ve entered the information completely.
Figure 7-19. Enter the database server and database information.
The system displays the database account information dialog box shown in Figure 7-20. The installation routine created these accounts on the first server. The names are typically as shown in Figure 7-20, but they may vary for your system. Harvest the usernames and the corresponding passwords from the registry according to the instructions contained in the “Creating Multiple Project Server Instances” section earlier in this chapter. Click Next to continue.
Figure 7-20. Enter the database account information.
Enter the Analysis Services server name and the domain account information for the COM+ identity used to access Analysis Services in the dialog box shown in Figure 7-21. This is the OLAP administrator account you created for the original setup. Click Next when your entry is complete.
Figure 7-21. Enter Analysis Services information.
Enter the SMTP mail server information in the next dialog box, and complete the SMTP Mail Server, Port, and From Address fields. This is the same information you entered in Microsoft Project Web Access. To view this information in your current installation, select Admin Customize Microsoft Project Web Access Notifications and Reminders. Click Next and then click Finish to install core services on your application server. When the Microsoft Project Server Distributed Setup Tool completes, the system displays a confirmation, as shown in Figure 7-22.
Figure 7-22. The Distributed Setup Tool reports success.
For the final step in this process, create a new domain logon. Then, open Windows Explorer and navigate to the installation drive. Expand the Program Files\Microsoft Project Server\Bin\ViewsDrop\ directory. Right-click this folder and share it as a public share. Make the domain user account you created a user of the folder, and under Properties grant Change and Read permissions to the user account.
Another approach to building an application server is to install a full version of Project Server instead of running prjsbox.msi. To manually install core services on an application server, enter the correct database information during the installation, but select “Enter this information later” for all of the optional features except SMTP and Analysis Services if these are required for the services you intend to have running on your application server. For example, this information is required for an application server running the Views Notification service. After you install the full version, start Internet Services Manager and navigate to the Microsoft Project Server virtual directory on the new application server; delete it.
Once you’ve created an application server, it’s necessary to point the original server at the new application server. You accomplish this by editing the registry on the first server to point it at the new server, and then stopping and disabling the services on the original server. In this chapter’s example I’m moving all the core services onto one server. You can use these directions to point your original Project Server at two or more application servers, observing the limit of one server, or server cluster, per service.
Click the Start button, select Run, and type regedit. Expand the registry key HKEY_LOCAL_MACHINE\Software\Microsoft\ Office\10.0\MS Project. Refer back to Figure 7-1 for visual guidance. Under the \WebClient Server\ <Virtual Directory>\Services\SessionMgr folder, open the folder that has the GUID for the server running Microsoft Project Server, as shown in Figure 7-23. Double-click the (Default) registry entry, and change the value to the name of the new application server. The current value will be the current Microsoft Project Server computer.
Figure 7-23. Enter the name of the new application server in the default string.
Working again from the MS Project folder in the registry, under \Services\ Configuration\Views Notification\ folder add the following registry entry by right-clicking the folder and choosing new string value:
Type = String
Name = ForwardUNC
Value = pathname to the ViewsDrop directory on the designated notification processor on the application server
Once you’ve completed the registry changes, you’ll need to shut down the services running on the original server. To do this, click the Start button and select Settings Control Panel. Then open the Administrative Tools folder and launch the Services tool as shown in Figure 7-24. Locate the services beginning with “Microsoft Project.”
Figure 7-24. Locate the services in the Services dialog box.
Open the Microsoft Project Server Scheduled Process Service properties dialog box by double-clicking the service. On the General tab, click Stop to stop the service as shown in Figure 7-25. If this service isn’t needed, use the Startup type drop-down selector to select Disabled to prevent this service from running when the server is started. Click OK. Repeat this process for the Project Session Manager Service as required.
Figure 7-25. Stop the service and change the Startup type.
Next, you’ll need to change some properties on the Microsoft Project Views Notification service. Open this service as you did the previous services, and then click the Log On tab, as shown in Figure 7-26. Click the This account radio button and enter the username and password for the user granted Change and Read permissions that you created in a previous step.
Figure 7-26. Enter the domain logon you created earlier.