Office Project 2007 Platform
The Microsoft Office Project 2007 platform includes the Project client applications, Project Server, the client and server APIs, and the necessary infrastructure such as Microsoft SQL Server, Windows SharePoint Services 3.0, and some components of Microsoft Office SharePoint Server 2007. The Office Project 2007 platform offers redesigned and extended Project 2003 core client applications and entirely new server components to take advantage of improvements in the Microsoft Windows platform.
This topic provides an introduction to the Project 2007 platform from a developer's point of view.
Project Client Applications
The Project client applications include the two Microsoft Windows desktop clients, Microsoft Office Project Standard 2007 and Microsoft Office Project Professional 2007, which can work without Project Server and are designed for use by project managers. If Project Server is not available or planned to be available, a project manager can use Project Standard to manage independent projects. Microsoft Visual Basic for Applications (VBA) remains the way to automate Project Standard and Project Professional.
The object models for Project Standard and Project Professional provide additions to the Project 2003 client object models, and are generally backward-compatible with macros written for Project 2003. Project 2007 deprecates or hides some earlier objects, methods, and properties, and adds new objects, methods, properties, and events to support new features.
Project Web Access is a client that runs in Internet Explorer and requires Project Server.
Project Standard remains the desktop application for stand-alone project management. As with Project Standard 2003, Project Standard 2007 cannot be used with Project Server.
Project Standard includes object model additions in VBA that support many new features for ease of use, such as the following:
Calculation change highlighting
Costs and budget
Calendar exceptions and effective calendar dates
Revised custom field structure
The Project Guide has only minor changes from Project Standard 2003, including support for multilevel undo in some Project Guide pages. Development of custom Project Guides and custom views remains the same.
For information about the new features in Project Standard, see Microsoft Office Online or Project Standard Help. For information about changes in the VBA object model, see VBA Help in Project Standard 2007 or the online MSDN Library.
Project Professional is the standard desktop client application for enterprise project management (EPM), and is the application that project managers typically use with Project Server. Project Professional 2007 includes an active cache on the client side, to enable offline editing without creating separate copies of a project and to reduce the amount of data sent over the network between the client and Project Server. When you make changes offline in a Project Professional project that is stored on Project Server and save the changes, Project Professional stores the changes in the local cache. When it is connected again, Project Professional sends a message to the Project Server Queuing Service to save just the changes.
Project Server 2007 requires Project Professional 2007 as the full-featured desktop client. Project Professional 2003 cannot be used with Project Server 2007 because of changes in the platform architecture.
The Project Professional VBA object model includes support for all of the features of Project Standard plus several new objects, methods, properties, and events for interacting with Project Server 2007. The following new features relate to server-side projects:
Conversion or mapping of local custom fields, calendars, and resources to enterprise objects
Enterprise formula validation
Queuing Service events
Ability to import a Windows SharePoint Services project
Ability to save a local copy of a Project Server project
Project Web Access
Project Web Access is designed for use by all project team members, administrators, and anyone who needs access to detailed Project Server data and project team collaboration features. Project Web Access is a set of Microsoft ASP.NET 2.0 applications that use the Web services of the Project Server Interface (PSI). Project Web Access requires Microsoft Internet Explorer 6.0 or Windows Internet Explorer 7 or later, and Project Server 2007 Web Parts. Project Web Access is built upon Windows SharePoint Services 3.0 for ease of use, improved administration, and ease of customization and integration with other applications.
Team members who use Project Web Access only for timesheet updates and status reports no longer need to download the ActiveX Project Grid Control. The Grid Control is still used on some pages that project managers typically use, such as Project Central and the project details pages.
Some Project Web Access pages, for example Project Server Administration pages, include Web Parts that are locked from modification except for site-wide theme changes (color and fonts). Developers can easily modify many other Project Web Access pages, add pages to Project Web Access, or create and add Web Parts using Microsoft Visual Studio 2005 or Microsoft Office SharePoint Designer 2007.
You can install Project Web Access with Project Server on the same computer, and you can also install it on one or more separate servers. For information about the new features in Project Web Access, see Microsoft Office Online or Project Web Access Help.
Project Server Components
Project Server 2007 is built using the Microsoft .NET Framework 2.0 and provides improved functionality, security, reliability, and extensibility. The Project Server architecture has an efficient multitier design with the new PSI Web services, Project Web Access, discrete business objects, server-side events and scheduling engine, queuing services, a common data access layer (DAL), multiple databases, and close integration with Windows SharePoint Services. Following are brief descriptions of the major components of Project Server 2007:
Web service API The PSI is the new managed-code API for Project Server. The PSI replaces the Project Data Service (PDS) in Project 2003 and provides a comprehensive API for Project Server 2007. Project Professional and Project Web Access interact with Project Server only through the PSI Web services. The PSI provides functional parity with most XML-based PDS methods in Project Server 2003. For more information, see PDS Parity in PSI Web Services.
Scheduling engine In Project 2003, the scheduling engine is available only in the client (Project Professional 2003 or Project Standard 2003). Project Server 2007 also includes a scheduling engine to enable many programmatic updates of projects without requiring a roundtrip through Project Professional. However, some project updates still require Project Professional. For more information, see Project Scheduling on the Server in Project Server Programmability.
Multiple databases Project Server includes the Draft, Published, Archive, and Reporting databases. You cannot access projects in the Draft database with Project Web Access. The Reporting database is designed for near real-time, read-only access for generating reports.
We strongly advise developers to use the PSI to access Project Server data in the Draft, Published, and Archive databases rather than accessing the databases directly. The PSI helps to maintain referential integrity and integrates with the middle-tier Project Server business entities (project, task, resource, and so forth), queuing system, security, and permissions infrastructure. You should be aware that the Project Professional cache, the Publishing database and the Reporting database all rely on a cache synchronization protocol that can be disrupted by direct data editing.
If you damage your Project Server databases or corrupt Project Professional client-side caches by using direct access to change data, be warned that product support won't be able to help!
The Project Server databases require SQL Server 2000 Service Pack 3 (or later), or SQL Server 2005 Service Pack 1. Project Server 2007 does not require any of the new capabilities in SQL Server 2005, but system administrators and developers can use several of the new features to improve the overall solution. New SQL Server 2005 features include enhanced security options, read consistency with snapshot isolation, database mirroring, improved Analysis Services and Reporting Services, and others.
MSDE is no longer supported. Customers who require a free evaluation environment should use Microsoft SQL Server 2005 Express Edition or an evaluation edition of SQL Server 2000 or SQL Server 2005.
Project 2007, unlike Project 2003, does not include an OLE DB Provider. The Reporting database is used for read-only, server-side data access. Data access to local .mdb files from Project Standard or Project Professional is accomplished through the VBA object model. You can also save projects as XML files for access to project data.
Eventing service The system-level Project Server Eventing Service manages the Project Server events. Other applications can subscribe to Project Server pre- and post-events and register event handler methods through Project Web Access. Event handlers can check business rules and cancel an operation through a pre-event (for example, ProjectPublishing), or extend Project Server with additional processing such as workflow using a post-event (for example, ProjectPublished).
Queuing service There are two Project Server queues that operate in the system-level Microsoft Project Server Queuing Service. The Timesheet queue handles submission and updates of timesheet and status reports, and effectively manages heavy peak loads. The Save and Publish queue manages new and incremental save operations of working projects to the Draft database and also manages publishing a project: that is, moving the project from the Draft to the Published database.
For diagrams and more information about the Project Server components, see Project Server Architecture.
The Full Project Platform
The Project 2007 platform is designed for developing extensions and integrating with Microsoft Office applications and other enterprise project management applications. The full Project 2007 platform includes the following:
Windows SharePoint Services 3.0 Project Server uses Windows SharePoint Services as a system foundation to provide the administrative and user interface infrastructure for Project Web Access, the infrastructure for user management, single sign-on, team collaboration, and integration with Project Server reporting features. The integration with Windows SharePoint Services is much deeper than in Project Server 2003.
Office SharePoint Server 2007 Project Server integrates with the core shared services of Office SharePoint Server 2007 for advanced collaboration, workflow services, and reporting features. Office SharePoint Server 2007 includes additional Web Parts and components for integration with line-of-business (LOB) applications such as SAP Financials or Siebel CRM.
For a diagram and more information, see Integration with Office SharePoint Server 2007.
Other ResourcesProject Server Architecture
VBA Object Model Changes
Project Server Interface (PSI) Overview
PDS Parity in PSI Web Services
Integration with Office SharePoint Server 2007
Project Server Programmability
Top 30 Features of SQL Server 2005
Visual Studio 2005 Developer Center
Project Developer Portal
Windows SharePoint Services Developer Center
SharePoint Server 2007 Developer Portal