1. SUMMARY
OF
PROJECT SERVER PSI
Version 1.0
Prepared by PHUONG NGUYEN
Coastal Point Solution
10/31/2011
2. Summary for PROJECT SERVER PSI Page ii
Table of Contents
Revision history ............................................................................................................................................ iii
1. Introduction .......................................................................................................................................... 4
1.1. Purpose ......................................................................................................................................... 4
1.2. Intended Audience and Reading Suggestions ............................................................................... 4
2. Overview Project Server 2010 Architecture ......................................................................................... 4
Project Server Interface ........................................................................................................................ 5
Business Objects ................................................................................................................................... 5
Data Access Layer and Databases ......................................................................................................... 6
3. Project Server Interface (PSI) ................................................................................................................ 7
3. Summary for PROJECT SERVER PSI Page iii
Revision history
Name Date Reason for changes Version
Phuong Nguyen 10/31/2011 First version 1.0
4. Summary for PROJECT SERVER PSI Page 4
1. Introduction
1.1.Purpose
Microsoft Project Server provides greate features for a team as well as manager to manage and keep
track the progress of everything of the project. It also allows a manager request a report in a periodically
from someone, i.e. daily report, weekly report…
Coastal Point Solution used PSI to customized and developed some add-on features to Microsoft Project
server to enhance some functionalities as well as develop new feature related to Microsoft Project
Server..
1.2.Intended Audience and Reading Suggestions
The audiences for this document specification are the Coastal Point Manager, Coastal Point Program
Manager.
2. Overview Project Server 2010 Architecture
Project Server is built on the Microsoft .NET Framework 3.5 and Microsoft SharePoint Server 2010
Enterprise version. This document addresses the way to customize on Project Web App(PWA) to
manage Resource, Estimation Effort, Actual Effort, the comparison between Allocation – Estimation –
Actual.
The functions will be implemented application page for SharePoint 2010. This feature will allow Project
Manager to review report, input customer in project page.
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.
5. Summary for PROJECT SERVER PSI Page 5
Figure 1 –Project Server 2010 Architecture
Project Server Interface
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.
Web methods in the PSI typically produce or consume typed DataSet objects as the means to exchange
information with the business objects. The PSI reference includes DataSet documentation.
Business Objects
The internal object model of Project Server includes the business objects. Client applications access
business objects only through the PSI and only business objects can call the DAL.
6. Summary for PROJECT SERVER PSI Page 6
Business objects are logical entities that can be classified into three types:
Core entities are objects such as projects, tasks, assignments, resources, and calendars. The core entities
include basic business logic such as permissions and naming rules.
Business entities are objects such as timesheets, portfolios, and models. Business entities include
additional business logic and usually are built from a combination of the core entities.
Support entities are objects such as security and validation.
Developers need not be directly concerned with business objects. The PSI handles mapping of the API to
business objects.
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 renormalized to provide
redundant data and reduce the number of relational tables.
You should access the Draft, Published, and Archive databases only through the PSI. You can add data
tables, fields (properties), and entities that are not defined in the Project Server 2010 database schema
to the Reporting database. If you add tables to the core databases, you must also provide the full stack
of a custom assembly, Web service, business objects, and data access. You can easily modify the
Reporting database; we recommend that you do not modify the core Project Server databases.
7. Summary for PROJECT SERVER PSI Page 7
3. Project Server Interface (PSI)
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.
Following are all of the classes that contain the PSI Web methods.
Admin Includes methods that are used in the Project Server Administration pages in Project Web App
Defines fiscal years. Manages status and currency settings, reporting periods, the audit log, and settings
for the Active Directory service.
Archive Includes methods for managing backup and restoration of projects, security categories, custom
fields, resources, system settings, views, and the enterprise global project. Reads and updates the
archive schedule. Archives all projects or deletes specified archived projects. Back up to the Archive
database and restore to the Published database.
Authentication Includes method for internal use only by Project Professional and Project Web App.
Access to the Authentication service is available only through the ProjectServiceApplication URL.
Calendar Manages enterprise calendar exceptions. Checks out and checks in resource calendars.
Creates, deletes, lists all, updates, or returns calendar exceptions.
CubeAdmin Manages OLAP cube settings. Gets Analysis Server, database status, and list of cubes. Puts a
Cube Build Service request on the queue. Reads and updates calculated member definitions and field
settings for dimensions and measures in the cube.
CustomFields Manages enterprise custom fields. Checks out, checks in, reads, creates, deletes, and
updates.
Driver Manages portfolio analysis drivers and driver prioritization for project creation and demand
management. Includes the create, read, update, and delete (CRUD) methods for project drivers.
Events Manages Project Server event handler associations. Includes the CRUD methods for Project
Server event handler associations for a specific event, or for all event handler associations.
ExchangeSync This is an internal Project Server service that handles Microsoft Exchange Server events.
Project Web App uses ExchangeSync to synchronize assignments between Project Server and Exchange
Server, rather than directly with the Microsoft Office Outlook client as in Microsoft Office Project Server
2007.
Access to the ExchangeSync service is available only through the ProjectServiceApplication URL. The
ExchangeSync classes and members are not supported for third-party development.
8. Summary for PROJECT SERVER PSI Page 8
LoginForms Provides the Login and Logoff methods with Forms-based authentication. Access to the
LoginForms service is available only through a Project Web App site.
LoginWindows Provides the Login and Logoff methods, used for Windows authentication in multi-
authentication (claims and Forms-based) Project Server 2010 installations.
LookupTable Manages lookup tables, multilanguage lookup tables, and their corresponding code masks.
Checks out, checks in, reads, creates, deletes, and updates.
Notifications Manages alerts and reminders. Includes methods that get, set, register, and unregister
notifications.
ObjectLinkProvider Manages Web objects and links for documents and list items on SharePoint sites.
Creates, deletes, or reads project, project-linked, task, or task-linked Web objects.
PortfolioAnalyses Includes the CRUD methods for project dependencies, and for Optimizer, Planner,
and Analysis solutions.
ProjectManages projects. Checks out, checks in, creates, deletes, reads, or updates projects in the Draft
or Published database. Puts a message on the queue for publishing.
Creates or deletes entities within projects (tasks, resources, assignments, and so forth). Gets
information about or updates the project team or project site address. Gets project status, a list of
projects in the Draft database, all summary tasks, tasks available for assignment to a specified resource,
or all projects where a resource has assignments.
Creates and manages commitments, creates lightweight projects from SharePoint task lists, or finds
project/master project relationships.
PWA Contains many methods that are optimized for Project Web App, including the methods for task
update approval rules and for managing status reports. The Project Web Appmethods are often
specialized and somewhat redundant compared to equivalent methods in other PSI services. Project
Web App methods use or return many of the same datasets as the other PSI methods.
Access to the PWA service is available only through the ProjectServiceApplication URL. The PWA classes
and members are not supported for third-party development.
QueueSystem Manages the Project Server queue. Gets job count, job and job group wait time, status of
all jobs, specified jobs, jobs owned by the caller, or jobs for specified projects. Manages job correlation
and configures the queue.
Resource Manages enterprise resources. Checks out, checks in, updates, or creates resources or Project
Server users and their authorization settings; finds resources by name or GUID; reads resource or user
data, the resource breakdown structure (RBS) and related security information; gets all assignments for
a resource; and resets user passwords. The Resource class includes new CRUD methods for user
delegations.
9. Summary for PROJECT SERVER PSI Page 9
ResourcePlan Manages resource plans. Checks out, checks in, creates deletes, publishes, reads, and
updates resource plans.
Security Includes the CRUD methods for security templates security categories, organizational and
global permissions, and group permissions. The Security class includes new methods for project
categories.
Statusing Manages status updates and assignments. Applies status updates or approvals, submits status
updates, sets summary information for submitted updates, deletes approved status updates or approval
history for a specified user, or deletes all status information for a set of projects. Creates, gets, or
delegates assignments; sets assignment work duration. Gets new assignments for the current user; gets
assignment or task transaction history, the timephased actuals, or the summary task hierarchy.
Previews or imports timesheet data, or reads a user's working and nonworking schedule. Finds pending
status updates, information for submitted updates, or a transaction record of changes in a submitted
update. Reads team status.
TimeSheetManages timesheets. Creates, deletes, submits, updates, reads, or recalls timesheets. Finds
timesheets that are late or pending approval; finds timesheets by date or period. Gets list of timesheet
approvers. Preloads actuals and validates a timesheet line. The TimeSheet class includes the new
ReadProjectTimesheetLines and SubmitTimesheetLines methods.
View The View service is designed for use only within Project Web App. Methods in the View class
manage views and view reports and read fields in views.
Access to the View service is available only through the ProjectServiceApplication URL. The View
methods are not supported for third-party development.
WinProj The WinProj service is designed for use only by Project Professional. Third-party developers
should not use WinProj methods for programming with Project Server.
Some WinProj methods use datasets such as ProjectRelationsDataSet and ResourceDataSet that the
Project and Resource services also use, but require specific properties and functions in Project
Professional.
Access to the WinProj service is available only through the ProjectServiceApplication URL. The WinProj
methods are not supported for third-party development.
Workflow Includes the CRUD methods for enterprise project types and for managing workflow phases
and stages. Run workflows, set status information, and manage project detail page (PDP) stages in
demand management workflows.
WssInterop Manages project sites. Creates and deletes project sites. Gets information about and
updates the SharePoint settings and administration sites. Synchronizes and updates the project site
memberships and groups.