Project Server 2010 Architecture
Microsoft Project Server 2010 is a true multi-tiered system that extends the architecture introduced in Microsoft Office Project Server 2007. The Project Server architecture includes Microsoft Project Professional 2010 and Project Web App clients in the front-end tier. The front-end applications communicate with the middle tier only through the Project Server Interface (PSI) Web services, which in turn communicate with the business object layer. Business objects use the databases through the data access layer (DAL). Client applications do not directly access the primary databases; Project Server hides business objects and the DAL from clients.
The major differences between Project Server 2010 and Office Project Server 2007 are the following:
- Project Server 2010 requires Microsoft SharePoint Server 2010 to be installed on the computer running Project Server and on all Project Web App servers within a SharePoint farm.
- The PSI includes both the Windows Communication Foundation (WCF) interface and the ASMX interface for Web services.
- The Project Server workflow platform is integrated in the PSI, business object layer, and DAL, and built on Windows Workflow Foundation (WF) in the SharePoint platform.
- In Project Server 2010, you can use the WCF or the ASMX interface of the PSI. The Project Web App and Project Professional 2010 clients both use the WCF interface.
- The PSI Forwarder in the following diagram consists of two components, a WCF Forwarder and a Web Service Forwarder. Clients that use the ASMX interface call the PSI through the Web Service Forwarder. Clients that use the WCF interface call the PSI through the WCF Forwarder.
- The SharePoint Web Services site is part of SharePoint Server 2010 and is not shown in the following diagram. The SharePoint Web Services site includes the Project Service Application with the PSI virtual directory for the ASMX and WCF services. The Project Service Application in Project Server 2010 replaces the Shared Services Application in Project Server 2007.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaQmVJR5835wAdyQMfvzuLtXPVQP60Og1WjEEO7xhmW6zXCQ6hCWJEvay8OUsgV5Dte-MFjw6XiPCKp_lbHOiv2eOK2dL_F5rq4uVoxIzWC8m32oLWTD8PuRkvqDezqfhIctDvoOPPEXyQ/s320/fig1.gif)
Architecture of Project Server 2010 |
- The front-end tier includes third-party applications, Project Professional, and Project Web App. Project Web App uses Internet Explorer to display Microsoft ASP.NET 3.5 pages. The Project Web App pages use Project Server Web Parts that communicate with the PSI and also use standard SharePoint Server 2010 Web Parts.
- Client applications on separate computers call the PSI through service proxies. External clients that use the WCF interface access the PSI through http://ServerName/ProjectServerName/_vti_bin/psi/ProjectServer.svc. Clients that use the ASMX Web service interface use one of the Project Web App URLs, such as http://server1/pwa/_vti_bin/psi/project.asmx. If applications do not have intranet access to Project Server, they can use a Project Web App server in a perimeter network.
- If they can directly access the Project Server computer, client applications and back-end components of line-of-business (LOB) Web applications can use PSI proxies that use the Project Server service application URL for the PSI Web services, such as http://server1:32843/ProjectServiceApplication/project.asmx. Port 32843 is the default port for the SharePoint Web Services application in SharePoint Server 2010. Direct access to the Project Service Application virtual directory should be used only when an application needs to use impersonation or run with elevated permissions.
- The middle tier includes the PSI and the business logic layer, which consists of logical business objects that represent Project Server business entities. Business objects include Project, Task, Resource, Assignment, and so forth. The PSI and the business logic tier are tightly coupled and are located on the same server. A client application calls the PSI Web services, and the PSI invokes business objects in the business logic tier.
- The DAL provides communication between the middle tier and the database. All Project Server data is stored in Microsoft SQL Server databases. The Project Server databases are factored into the following stores: Draft, Published, Archive, and Reporting. Client applications can read the Reporting database for project data. Clients should use only the PSI to access the Draft, Published, or Archive databases. The Reporting Data Service (RDS, which is not shown in Figure 1) updates the Reporting database from published data in nearly real time. In Project Server 2010, all of the Project Server databases can be located on separate servers.
- The Project Web App components of Project Server also use the SharePoint Foundation 2010 configuration database for project site setup and the content database for project site content such as custom pages, workflows, management settings, documents, and lists of issues, risks, and commitments. The SharePoint configuration and content databases support additional features for project management, such as project templates and workspaces, custom lists for team collaboration, and reports.
The PSI is the API of Project Server. The PSI object model exposes Project Server functionality to all external applications. Project Professional 2010, Project Web App, LOB, and other third-party applications use the PSI to access Project Server data in the Draft, Published, and Archive databases. The PSI is available through WCF services and through ASMX Web service calls by back-end LOB applications, or through a PSI proxy.
Data Access Layer and Databases
The DAL is internal to Project Server and is not exposed to external applications. The DAL translates between the logical business entity representation of the data and the physical database tables. Each logical entity is stored in a number of different tables. The DAL encapsulates the work required to manage connections, execute queries, and begin/commit/roll back transactions.
Project Server data is partitioned into four databases in SQL Server.
- The Draft database contains tables for saving unpublished projects from Project Professional and other applications. Project Web App does not show project data in the Draft database.
- The Published database contains all of the published projects and enterprise resources, the enterprise global template, and other project templates. Published projects are visible in Project Web App. The Published database also contains tables that are specific to Project Web App (timesheets, models, views, and so on), and global data tables (custom fields, lookup tables, security, and metadata).
- The Archive database saves backup versions of projects and other data.
- The Reporting database (RDB) is the staging area for generating reports and OLAP cubes. Data in the Reporting database is comprehensive and is updated nearly in real time. The tables and views are optimized for read-only report generation; for example, the RDB tables are denormalized to provide redundant data and reduce the number of relational tables.
No comments:
Post a Comment