The EPM solution, based on Microsoft Office Project Server 2003, is designed as a three-tier system. This section describes software components for each tier.
You have some choices when it comes to what client application you use and when you use it. The client application you select mainly depends on your role in the organization and the task at hand. Are you a project manager who needs to adjust a project plan and reassign some of the resources on the project team, or are you a team member who needs to update and submit a timesheet for the current reporting period? The answer to this question determines what client application you use.
The client tier of the EPM solution includes Microsoft Office Outlook, Microsoft Office Project Professional 2003, Microsoft Office Project Web Access (PWA) client, and, possibly, any custom applications you may have developed to customize or extend the EPM solution.
Microsoft Office Project Professional 2003
Project Professional is a desktop application designed to enable project managers to create, edit, track, manage, and publish projects. In addition to scheduling and tracking tools, Project Professional provides project managers with enterprise resource and project portfolio management capabilities.
Project Server administrators will also use the Project Professional client to define and maintain components of the Enterprise Global template, which is a central tool for defining, maintaining, and enforcing corporate standards.
Microsoft Office Outlook
Project Server 2003 facilitates integration with Microsoft Office Outlook 2003. There are two integration points for Outlook.
The first integration point relates to email-generated reminders and notifications. Users can receive email reminders generated by an email server running the SMTP service that are based on the task assignments status and email notifications based on various events in their Inbox. Email reminders and notifications also can be received by other email clients such as Outlook Express or Eudora.
The second integration point is the integration of project task assignments with Outlook calendar items. Users can download the Microsoft Office Project add-in for Outlook from their home page in PWA. Subsequently, users can synchronize tasks from projects saved to the Project Server database directly with the Outlook calendar. The tasks are then visible in the Outlook as calendar items, and users can use the Microsoft Outlook calendar to track and submit the task assignments status.
Microsoft Office Project Web Access (PWA)
PWA 2003 is a web-based client designed for users who do not require the ability to directly edit, manipulate, and maintain project plans. These users can have roles of resource managers, executives, or team members in the organization.
PWA provides access to the following set of features:
Not all features may be available to all users. The final set of features available through the PWA interface depends on the user role and permission set associated with that role.
The PWA client consists of a set of Microsoft ActiveX controls and Hypertext Markup Language (HTML) pages presented to users by means of Active Server Pages (ASP). The first time a user accesses the server running Project Server through the PWA client, the ActiveX controls are downloaded and installed. To install and enable PWA on the client machine, the user must have the necessary Windows system permissionslog on to your computer as local administratorto install the ActiveX controls.
Office Web Components
Project Server 2003 requires that EPM solution users who will be using the Portfolio Analyzer views feature have Microsoft Office 2003 Web Components installed on their client computers. You can install Office 2003 Web Components in one of two ways:
The Portfolio Analyzer functionality depends and is built on the Microsoft Office Web Components; specifically it requires Microsoft Office 2003 Web Components.
If the client machine being used to access the Portfolio Analyzer feature does not have Microsoft Office 2003 installed, on the first access a dialog box appears and offers the opportunity to install a runtime version of the Microsoft Office 2003 Web Components. If this option is not accepted, the Portfolio Analyzer views are unavailable. If this option is accepted and the installation is successful, the Portfolio Analyzer views are available. However, the runtime version of the Microsoft Office 2003 Web Components does not support the "interactive mode" of Portfolio Analyzer. This essentially is the capability to modify and maintain the Portfolio Analyzer view.
To create or modify the Portfolio Analyzer view, the user requires a full installation of Microsoft Office 2003 Web Components.
Line of Business Applications
Many organizations use other enterprise line of business (LOB) applications or develop their own custom applications to handle business-specific processes and requirements. The examples of LOB enterprise systems are human resources application suites such as PeopleSoft Enterprise or financial and accounting applications such as mySAP Business Suite.
These applications integrate with Project Server 2003 via the Project Data Service (PDS). The PDS is a web service hosted within Internet Information Services (IIS) that also serves as an extensible XML-based API for Project Server 2003.
The application layer of the Microsoft EPM solution based on Project Server 2003 is comprised of three layers:
Web-Based Front-End Application Layer
The web-based front-end application layer has three components:
Figure 5.3 displays the architecture of the Microsoft EPM solution application layer and how it communicates with other components of the Microsoft EPM solution.
Figure 5.3. Focus on the area shown inside the red rectanglethat area documents all application layer components.
Each of these application layer components is dependent on IIS. One of the important considerations is how to deploy the components in the web-based front-end application layer when you are preparing plans for your Project Server 2003 configuration.
Microsoft Office Project Server 2003
Project Server 2003 is the central component of a Microsoft EPM solution and was designed as a highly scalable web-based server application that can communicate with several client tier applications, as well as the underlying Microsoft Windows Server 2000/2003 platform and Microsoft SQL Server 2000.
You can install Project Server 2003 on a single server or in a load-balanced server cluster to provide for future availability and scalability. Project Server 2003 can run on Windows 2000 Server or higher.
If you are running all Microsoft EPM solution components from a single server (perhaps it is the initial proof-of-concept evaluation server) and want to use WSS-based featuresdocument libraries, issues, and risksyou need to install and run the EPM solution on Microsoft Windows 2003 Server. WSS components cannot be run on Microsoft Windows 2000 Server.
If you do not have a clear idea about anticipated future growth for your organization, consider deploying Project Server in a single-node cluster so that you can add additional Project Server nodes as the load on your front-end application server increases.
It is recommended that you consider adding another Project Server node (node being another Project Server machine) when the total number of PWA users approaches 4,000. This is just a recommendation and not a hard-coded limit. Of course, this assumes that you have already done some performance tests to establish a need for an additional Project Server node.
For more details on Windows 2003 Server load-balancing and a technical overview of Windows Server 2003 clustering services, download ClusteringOverview.doc at http://www.microsoft.com/windowsserver2003/techinfo/overview/clustering.mspx.
Windows SharePoint Services (WSS)
WSS is an optional component of the Microsoft EPM solution that provides project team collaboration features such as document libraries and risk and issue tracking.
WSS is available as a free download from Microsoft at http://www.microsoft.com/downloads/details.aspx?FamilyID=e084d5cb-1161-46f2-a363-8e0c2250d990&DisplayLang=en.
WSS is supported only on computers running Windows Server 2003 and IIS 6.0, with ASP.NET enabled.
Microsoft SharePoint Team Services, shipped with Project Server 2002, is not supported for use with Project Server 2003.
WSS is a web-based application integrated with IIS and provides team collaboration features for PWA and Project Professional users. Depending on how heavily WSS-based collaboration features are planned to be used, WSS can be installed along with Project Server 2003 on a single server or a load-balanced cluster. It can also be installed on a separate server or its own load-balanced cluster.
Users generally use PWA to access the WSS features of Project Server, although it is also possible to connect to a standalone WSS site via Internet Explorer.
Project Data Service (PDS)
The PDS is the Project Server 2003 application programming interface (API). The PDS is implemented as a web service hosted within IIS.
The PDS is an important component of the Microsoft Project 2003 EPM solution. Clients such as Project Professional, PWA, or a custom client written by a solution-provider developer all access the PDS to obtain project and resource data.
The PDS also ensures that Project Server data stored in the database remains consistent and that data integrity is not compromised. In that respect, the PDS acts as an ultimate security gatekeeper for the Project Server database.
The PDS authenticates users first, checks for their permission set, and only then provides read-only or read/write access to the Project Server data that users are authorized to view or modify.
Client programs can also programmatically log on to Project Server and use Simple Object Access Protocol (SOAP) to call the PDS API methods. The PDS implements a SOAP listener, which receives method calls in Extensible Markup Language (XML) format and then returns an XML response to clients.
A client application queries the PDS for connection information to the Project Server database. Using this connection information, the application connects to the Project Server database and then queries database views to retrieve and update information for the projects and resources that the application is authorized to view.
In Figure 5.4, you can see the relationship between client applications and Project Server. The PDS is a middle-tier EPM solution component hosted within Microsoft IIS that acts as the security gateway for accessing Project Server data. The PDS receives XML client requests, maintains a connection on behalf of the clients to the Project Server database, queries the Project Server database, and returns XML responses to the client machines.
Figure 5.4. All requests from Project Professional clients to open or save project files first have to go through the PDS.
You can also query the Project Server database directly through SQL database views, which gives you access to project and resource information. After you have connected to the Project Server database, you can query the SQL database views to obtain required detailed information about your projects. The PDS provides programmatic methods to obtain the database connection information needed to connect to the Project Server database. You then can use views provided by the Project Server database to run queries against itfor example, to gather data for a customized cost or actual work report. These views ensure that client applications see only data that they have permission to see. As a matter of fact, client applications never access the actual Project Server database tables themselves.
Figure 5.5 documents the importance of PDS as a security gatekeeper during the process of project opening.
Figure 5.5. A request from a project manager using the Project Professional client to open a project file must go through security check-in PDS.
To maintain the data integrity of a Project Server database, any client application that needs to access Project Server data should operate within the Project Server 2003 security constraints as provided by the PDS, which here acts as a security gatekeeper for all Project Server data.
To access Project Server data, the client application has to do the following:
Figure 5.6 shows the process when a client application accesses the Project Server database.
Figure 5.6. The request from a client application for Project Server data has to go through the PDS before the data is available for consumption in the client application.
The PDS manages access to the Project Server database views by tracking connections based on the SPID of the client connection.
The Project Server database has two tables for managing access to views: the MSP_PROJ_SECURITY table for project views and the MSP_RES_SECURITY table for global resource views. For each table, access is tracked separately for read and read/write views for a given SPID.
A client application cannot retrieve data from the Project Server database views without first logging on to Project Server and requesting access via the PDS to a view. This additional security check ensures that a client application sees only Project Server data accessible to the specified Project Server user logon ID.
It may be a good idea that you configure IIS to use Secure Sockets Layer (SSL) for increased security. If you do not configure IIS to use SSL, potentially sensitive data will be sent in plain text between the clients and servers in your deployment.
All information exposed through the PDS is transmitted in plain text, including the SQL Server 2000 username and password.
For additional detailed information about the PDS, review the following Knowledge Base article: "Description of the Microsoft Project Data Service and the Microsoft Project Server security Architecture," located at http://support.microsoft.com/default.aspx?scid=kb;en-us;321377.
It is recommended that client-side applications perform only read operations on the Project Server database. If you need to create or update data, consider using a custom server-side PDS extension.
Project Server 2003 Services
The services layer of the application tier has two main components: the View Processing and the Session Manager services. These two services can be installed as part of a distributed Project Server 2003 architecture.
View Processing Service
The View Processing service processes requests to publish projects. The View Processing service also participates in building the SQL Server 2000 Analysis Services Online Analytical Processing (OLAP) cube.
The View Processing service is in charge of updating the View tables in the Project Server database each time a project or resource is added or modified.
By default, this service runs at below normal process and thread priority, which limits the system resources it uses. When the Project Server front-end application is installed in a load-balanced cluster, the View Processing service must be offloaded to a separate server machine. This offloading also allows the View Processing service to run at a normal thread priority on that server machine.
Even if you do not have the Project Server front-end deployed in a load-balanced cluster, you may consider offloading the View Processing service, if the average number of tasks per project reaches 800 to 1,000. Again, these numbers are for guidance only and require a careful interpretation. You need to consider not just the number of tasks per average project but also other project attributes such as number of resource assignments per task, number of custom task fields using formulas, and other project complexities.
The decision of whether to offload the View Processing service to a separate server machine depends on other factors such as the number of users in each role, the number of resource assignments per task, the length of the project, and the frequency of publishing based on the business rules identified.
The View Processing service only uses the resources from a single CPU, even if it is installed on a computer that has multiple CPUs. You may still want to use a multiple CPU computer to allow the View Processing service to use the maximum resources provided by one CPU while allowing other processes to access another CPU.
When a project manager saves a project, the entire project is saved to the Project tables and is available to other project managers, provided that they have permissions to open the project. After the project is saved in the Project Server database, it canautomatically or manuallybe published.
The views of saved projects, however, are not always immediately available to other PWA users. The View Processing service reads the project data from the tables in the project databaseProject tablesand then writes the project data in its fully expanded (time-phased) state to the View tables.
It is also important to understand that the View Processing service queues publish requests in serial and writes to views tables for only one project at a time. For this reason, depending on the sizes of the published projectssizes in terms of tasks as well as overall project durationproject views may not be available to PWA users for a short time until all the required view data tables get populated.
Session Manager Service
The Session Manager service maintains session state information for PWA users. Each user is issued a session ID when she connects via a PWA client to a computer running Project Server. This session ID is used to save and retrieve user-specific information, such as the last used PWA view settings when the user connected to Project Server.
When the Project Server front-end is installed as a load-balanced cluster, the Session Manager service can be offloaded to a separate server computer. Depending on the identified business requirements and expected user load characteristics, the Session Manager service can be run from the same computer on which the View Processing service is installed, or it can be offloaded to a server computer separate from both the Project Server front-end load-balanced cluster and the server computer running the View Processing service.
Even if you do not deploy Project Server in a load-balanced cluster, consider offloading the Session Manager service to a separate server when the total number of EPM system users reaches 5,000 to 8,000.
Offloading the Session Manager service to its own server machine enables the service to maintain session state information for all users independently of the Project Server machine they access. Unlike the View Processing service, by default the Session Manager service runs at normal priority.
When you install the Project Server front-end application in a load-balanced cluster, the Session Manager service can be installed on each computer running the Project Server front-end application. This is called session affinity, or sticky sessions. In this configuration, each instance of the Session Manager service maintains session state information only for the Project Server 2003 server it is installed on.
Project Server Email Layer
The optional email layer of the Microsoft EPM application tier may include an email server, such as Microsoft Exchange Server 2003, that is used to send task and assignment notification and reminder email messages to the appropriate users. All that is required to support email-based notification and reminder features is any Simple Mail Transport Protocol (SMTP)or Post Office Protocol (POP)compatible email server. Exchange Server may be a good choice because of the integration it provides, including Microsoft Outlook, a Windows-based email client, and Outlook Web Access, a web-based client.
Project Server Database Tier
The database tier in a Microsoft EPM solution is based on Microsoft SQL Server 2000. The database tier manages and stores all enterprise project and resource data and consists of several sets of database tables. These EPM solution data tables either can be stored on a single computer in the form of a single database running Microsoft SQL Server 2000 or can be partitioned in two or three separate databases across up to three separate database servers.
Organizations that require a centralized storage system of EPM solution data can take advantage of a storage area network (SAN).
Figure 5.7 represents the logical schema of a Microsoft EPM solution database comprised of four sets of database tables:
Figure 5.7. Project Server 2003 uses four table sets. All four sets of tables together constitute what is referred to as the Project Server database.
The Project database is a set of Microsoft SQL Server 2000 tables that project managers and others who need to create, edit, or maintain enterprise projects or resources access by using the Project Professional client. When a project manager creates or updates a project, all related enterprise project data is stored in this set of tables, including data from all versions of each project. The project database consists of the MSP_* tables.
The Views database is a set of Microsoft SQL Server 2000 tables that represent a fully expanded (time-phased) view of the project data stored in the Project database. When a project manager publishes or updates a project, the Project OLE DB Provider on the computer running the Project Server front-end application extracts the project and resource data and writes it to the Views tables. These read-only tables are used to generate a number of different views and reports used by PWA client users. The Views database consists of the MSP_VIEW_* tables.
Project Server Database
The Project Server database contains several sets of Microsoft SQL Server 2000 database tables primarily accessed by means of PWA. This database contains the MSP_WEB_*, MSP_VERSIONS, and MSP_CUBE_* tables, as well as views of tables in both the Project Server and Views databases.
OLAP Cube Staging Tables
MSP_CUBE_* tables are staging tables used for OLAP cube generation. These tables are populated from data in MSP_VIEWS_* tables and used to build the Project Server OLAP cube that is used by the Portfolio Analyzer feature.
A Project Server EPM database can be partitioned two or three ways. Partitioning enables you to place different project server sets of database tables on separate computers running Microsoft SQL Server 2000, thereby distributing data access by user role and activity type. For example, the project tables (MSP_* tables) can be accessed by project managers when opening or editing projects on one server running Microsoft SQL Server 2000, whereas the project views tables (MSP_VIEWS_* tables) can be accessed from a separate server running Microsoft SQL Server 2000 by users of PWA clients. This database partitioning improves overall response time for all clients and can provide means for greater solution scalability.
SQL Server 2000 Analysis Services is a set of tools that provides access to data stored in OLAP databases. The main component of Analysis Services is the Microsoft SQL Analysis Services server. The Analysis Services server constructs multidimensional OLAP cubes of data to speed up and assist with multidimensional data analysis and reporting. This aggregate multidimensional data cube can be used for complex analytical reporting on projects and resources such as monthly project progress across the whole project portfolio or future resource skills capacity and allocation reporting.
In multidimensional analysis, you want to analyze and view your project and resource database from different points of views. That capability is provided by enterprise outline codes that function as dimensions in the OLAP cube.
The primary data resource for Analysis Services is the OLAP cube. A cube is a multidimensional representation of both detail and summary data. Detail data is specific row data, whereas summary data is aggregate data. Cubes are constructed based on the analytical requirements set by the enterprise project and resource data itself.
It is important to define your EPM solution enterprise outline codes correctly. They are the dimensions for your EPM solution OLAP cube and determine the quality of reporting you will be able to perform later on with Portfolio Analyzer.
Each OLAP cube can represent a different business division or departmental project portfolio. You can think of the OLAP cube sides as different dimensions associated with your enterprise projects and resources.
Microsoft SQL Analysis Services is a required component if you want to use the Portfolio Analyzer feature available in Project Server 2003. The Portfolio Analyzer feature enables PWA users to view enterprise project and resource information efficiently, from different angles and in a variety of already well-known and familiar formats, such as a PivotTable or column chart.
To provide this functionality, Project Server uses Microsoft Office 2003 Web Components. These are a collection of ActiveX controls designed to let users view and publish fully interactive worksheets, charts, PivotTable reports, and databases to the web. If your users are familiar with Microsoft Excel PivotTable and Chart features, they will feel comfortable using Portfolio Analyzer in a PWA client.
Microsoft SQL Analysis Services can be installed on a server computer running Microsoft SQL Server 2000 (orfor small proof-of-concept or pilot projectson a computer running both Microsoft SQL Server 2000 and Project Server 2003). For large deployments with many active projects, you can improve EPM system performance significantly by installing Microsoft Analysis Services on a separate server computer. At some point, the OLAP cube generated for all your enterprise projects and resources may become fairly big, and the time required to generate the OLAP cube can exceed 10 hours. The OLAP generation process at that point may start to interfere with other system and Project Server processes because it consumes a significant portion of CPU cycles as well as available memory. If the Microsoft Analysis Services are run on the same server computer as your Microsoft SQL Server 2000, the access to Project Server database can be severely impacted for all EPM solution users until the process of OLAP generation is finished.
If the Microsoft SQL Analysis Services component is installed on its own server, or on a computer other than the computer running Project Server 2003, the Microsoft SQL Analysis Services Decision Support Objects (DSO) component of SQL Analysis Services must be installed on the computer or computers running Project Server 2003.