12
SUMMARY OF PROJECT SERVER PSI Version 1.0 Prepared by PHUONG NGUYEN Coastal Point Solution 10/31/2011

Summary Project Server Psi

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Summary Project Server Psi

OF

Version

Prepared by PHUONG NGUYEN

Coastal Point Solution

10/31/2011

Page 2: Summary Project Server Psi

for Page ii

Table of ContentsRevision 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

Page 3: Summary Project Server Psi

for Page iii

Revision historyName Date Reason for changes VersionPhuong Nguyen 10/31/2011 First version 1.0

Page 4: Summary Project Server Psi

for 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 SuggestionsThe audiences for this document specification are the Coastal Point Manager, Coastal Point Program Manager.

2. Overview Project Server 2010 ArchitectureProject 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.

Page 5: Summary Project Server Psi

for Page 5

Figure 1 –Project Server 2010 Architecture

Project Server InterfaceThe 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 ObjectsThe 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.

Page 6: Summary Project Server Psi

for 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 DatabasesThe 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.

Page 7: Summary Project Server Psi

for 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.

Page 8: Summary Project Server Psi

for 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.

Project Manages 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.

Page 9: Summary Project Server Psi

for 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.

TimeSheet Manages 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.

Page 10: Summary Project Server Psi

for Page 10