280 likes | 477 Views
Project Server “12”: Developing Project Management Solutions . Phil Smail OFF311 Program Manager Microsoft Project Business Unit. Agenda. Architecture Overview Topology Programming for Project Server “12” Project Server Interface Eventing Reporting Action for Developers.
E N D
Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit
Agenda • Architecture Overview • Topology • Programming for Project Server “12” • Project Server Interface • Eventing • Reporting • Action for Developers
Programmable and Extensible Programmable and Extensible Productive Reporting Productive Reporting Scalable & Reliable Scalable & Reliable Next Generation ServerScalable and reliable server for distributed organizations • Leveraging WSS • PWA is WSS App • Setup & Deployment • Integration • Administration • Authentication • Productive Reporting • Server-Side Custom Fields • Specialized Reporting Database • Cube Building Service • Programmable & Extensible • ASP.NET • Project Server Interface • Event Model • WebParts • Scalable & Reliable • Active Cache • Queue Service • Server-Side Scheduling + Updates • No client roundtrip! Leverage WSS Leveraging WSS Project Server 12
High-level Architecture Cache Project Pro IE Custom App HTTP/SOAP Project Web Access SOAP Project Server Interface Server Eventing System Server Queuing System Project Server Business Objects Draft Published Reporting Archive Back end
PWA -> PSI Drilldown Custom App IE HTTP HTTP/SOAP PWA UI Tier PSI Proxy Layer SOAP Project Server Interface
PWA -> PSI Drilldown IE • User hits PWA Mydomain\Phil 2. User is authenticated PWA 3. User Context is created Context 4. Context is passed through to PSI UI Tier 5. PSI reads the Context PWA user account Project Server Interface
Rich Web Services API We use it ourselves… Main entry point for developers Typed datasets ADO.NET V2 Exceptions Pass Error object Unmanaged examples Outlook integration ActiveX grid PSI Project Server Interface Programming For Project Server “12”
Statusing StatusReports Timesheet Versions Views WinProj Web Services galore!!! Project PWA QueueSystem Resource Status Rules Admin Authentication Assignment Calendar CubeAdmin CustomFields LookupTables Notifications ObjectLinkProvider Portfolio Modeler Project Server “12” Web Services ~ 350 PSI methods
PSI Scenarios • Opens up Project Server as a work management platform • Timesheet integration • Push data into LOB application • Resource management • Pull data from LOB application • Project Proposals • Push/Pull data from CRM system
PSI Datasets • Why Datasets • Type safety • Client Side validation and constraints • Datatables • Visual Studio 2005 Friendly • Easy databinding
PSI Datasets Cont’d Project Datatable Project.ReadProjectList PROJ_UID VERS_UID PROJ_NAME PROJ_TYPE PROJ_VERSION PROJ_PROP_AUTHOR CAL_UID CAL_NAME PROJ_PROP_CATEGORY Etc… PROJ_UID PROJ_NAME
Project Datatable Task Custom Fields Datatable Project Resource Datatable Project Custom Fields Datatable Assignment Datatable Dependency Datatable Tasks Datatable Project Resource Custom Fields Datatable Assignment Custom Fields Datatable PSI Datasets Cont’d Project Datatable PROJ_UID VERS_UID PROJ_NAME PROJ_TYPE PROJ_VERSION PROJ_PROP_AUTHOR CAL_UID CAL_NAME PROJ_PROP_CATEGORY Etc…
PSI: Takeaways • Project and Work management API • How can you integrate this into your apps? • .NET Framework 2.0 Datasets • All requests go through the PWA • To PSI via Proxy Layer
Eventing • Server-side programming model • Main mechanism for third parties to extend the platform • Out of process for process safety • Uses app domains to support in-hosting Project Server Interface Server Eventing System App Pool A App Pool B Project Server Business Objects Project DBS A Project DBS B
Eventing Cont’d. • Event arguments provide some data, more is accessible using the PSI/Reporting database • Pre (synchronous & cancelable) events • “Publishing” • Post (asynchronous) events • “Published” • UI to register assemblies to ease farm deployments
Eventing Scenarios • Eventing provides a lot of opportunities • User/Resource creation validation • Resources all have valid company email address • Project/Timesheet approval • Project needs to go through a workflow approval process external to Project Server • Legal legislation • Projects cannot be saved unless they have specific fields set
Eventing: Takeaways • Extensibility model for Project Server “12” • Partner opportunities • Workflow, Workflow, Workflow • Windows Workflow Foundation • Validation, Validation, Validation
Reporting Infrastructure • Focused around the Reporting DBS • Similar tables to Published DBS • The only DBS we will document • Access Draft and Published through PSI • We’ll maintain the schema PSI Project Server Platform Draft Published Reporting Archive
Reporting Infrastructure Cont’d. • Report Data Service • Invoked automatically after Project.Publish • Pulls data from the Published Database • Transforms data into reporting-friendly format • Cube Building Service • Configure the data you want in the cubes • Map data to dimensions/measures/properties
Reporting Scenarios • Timesheet integration • Join your data to Project’s timesheet data • Project status integration • Integrate into PPM system’s reporting module
Reporting: Takeaways • This is your database • Fully documented • What data do you want to join it with?
Actions For Developers • Look at Visual Studio 2005 • Typed Datasets make life a lot easier • Consider how to integrate project and works management into your processes
Project Conference 2006 http://www.msprojectconference.com/
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.