Project Server “12”: Developing Project Management Solutions

Download Report

Transcript Project Server “12”: Developing Project Management Solutions

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
Next Generation Server
Scalable and reliable server for distributed organizations
Programmable
&
Productive
Leveraging
WSS
Scalable
&
Reliable
Extensible
Reporting
Active
PWA
isCache
WSSCustom
App
ASP.NET
Server-Side
Queue
Fields
Project
Server
Setup &Service
Interface
Server-Side
Specialized
Deployment
Scheduling
+ Updates
Reporting
Database
Event Model
No client
roundtrip!
Integration
Cube
Building
WebParts
Service
Administration
Programmable Leveraging
Authentication
Leverage WSS
WSS
and Extensible
Project Server 12
Productive
Reporting
Scalable &
Reliable
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
1. User hits PWA
Mydomain\Phil
PWA
Context
2. User is authenticated
3. User Context is created
4. Context is passed
through to PSI
5. PSI reads the Context
UI Tier
PWA user account
Project Server Interface
Programming For Project Server “12”
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
Project Server Interface
Project Server “12” Web Services
Web Services galore!!!
Project
PWA
QueueSystem
Resource
Status Rules
Admin
Authentication
Assignment
Calendar
CubeAdmin
CustomFields
LookupTables
Notifications
ObjectLinkProvider
Portfolio Modeler
~ 350 PSI
methods
Statusing
StatusReports
Timesheet
Versions
Views
WinProj
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
Simple PSI Demo
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…
PSI Datasets Cont’d
Project Datatable
Project Custom
Fields Datatable
Project
Datatable
PROJ_UID
VERS_UID
Task Custom
Fields Datatable
Tasks Datatable
Project Resource
Custom Fields
Datatable
Project Resource
Datatable
PROJ_NAME
PROJ_TYPE
PROJ_VERSION
PROJ_PROP_AUTHOR
Assignment
CAL_UID
Custom Fields
Datatable
Assignment
Datatable
CAL_NAME
PROJ_PROP_CATEGORY
Etc…
Dependency
Datatable
Advanced PSI Demo
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
Proposal Example
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
Project Server Business Objects
Project DBS A
Project DBS B
Server
App
App
Eventing
Pool A
Pool B
System
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
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.