Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager...

28
Project Server “12”: Project Server “12”: Developing Project Management Developing Project Management Solutions Solutions Phil Smail Phil Smail OFF311 OFF311 Program Manager Program Manager Microsoft Project Business Microsoft Project Business Unit Unit
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    5

Transcript of Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager...

Page 1: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Project Server “12”: Project Server “12”: Developing Project Management Solutions Developing Project Management Solutions

Phil SmailPhil SmailOFF311OFF311Program ManagerProgram ManagerMicrosoft Project Business UnitMicrosoft Project Business Unit

Page 2: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

AgendaAgenda

Architecture OverviewArchitecture OverviewTopologyTopology

Programming for Project Server “12”Programming for Project Server “12”Project Server InterfaceProject Server Interface

EventingEventing

ReportingReporting

Action for DevelopersAction for Developers

Page 3: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Next Generation ServerNext Generation ServerScalable and reliable server for distributed Scalable and reliable server for distributed organizationsorganizations

Leveraging WSSLeveraging WSSPWA is WSS AppPWA is WSS App

Setup & Setup & DeploymentDeployment

IntegrationIntegrationAdministrationAdministration

AuthenticationAuthentication Leverage WSSLeverage WSSProgrammabProgrammable and le and

ExtensibleExtensible

Scalable & Scalable & ReliableReliable

Productive Productive ReportingReporting

ProgrammabProgrammable and le and

ExtensibleExtensible

Leveraging WSSLeveraging WSS

Productive Productive ReportingReporting

Scalable & Scalable & ReliableReliable

Scalable & ReliableScalable & ReliableActive CacheActive CacheQueue ServiceQueue ServiceServer-Side Server-Side Scheduling + Scheduling + UpdatesUpdates

No client roundtrip!No client roundtrip!

Productive Productive ReportingReporting

Server-Side Server-Side Custom FieldsCustom FieldsSpecialized Specialized Reporting Reporting DatabaseDatabaseCube Building Cube Building ServiceService

Programmable & Programmable & ExtensibleExtensible

ASP.NETASP.NETProject Server Project Server InterfaceInterfaceEvent ModelEvent ModelWebPartsWebParts

Project Server Project Server 1212

Page 4: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

High-level ArchitectureHigh-level Architecture

Project Web Access

Project Server Business Objects

IE Custom AppProject Pro

Back endBack end

HTTP/SOAPHTTP/SOAP

SOAPSOAP

Server EventingSystem

DraftDraft PublishedPublished ReportingReporting ArchiveArchive

Project Server InterfaceServer

QueuingSystem

CacheCache

Page 5: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PWA -> PSI DrilldownPWA -> PSI Drilldown

PWA

Custom App

HTTP/SOAPHTTP/SOAP

SOAPSOAP

Project Server Interface

IE

HTTPHTTP

UI TierUI TierPSI Proxy PSI Proxy

LayerLayer

Page 6: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PWA -> PSI DrilldownPWA -> PSI Drilldown

PWA

PWA user accountPWA user account

Project Server Interface

IE

Mydomain\PhilMydomain\Phil

UI TierUI Tier

1.1. User hits PWAUser hits PWA

2. User is authenticated2. User is authenticated

3. User Context is created3. User Context is createdContextContext

4. Context is passed 4. Context is passed through to PSIthrough to PSI

5. PSI reads the Context5. PSI reads the Context

Page 7: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Programming For Project Server Programming For Project Server “12”“12”

Rich Web Services APIRich Web Services APIWe use it ourselves…We use it ourselves…

Main entry point for developersMain entry point for developers

Typed datasetsTyped datasetsADO.NET V2ADO.NET V2

ExceptionsExceptionsPass Error objectPass Error object

Unmanaged examples Unmanaged examples Outlook integrationOutlook integration

ActiveX gridActiveX grid

Project Server Project Server InterfaceInterface

Page 8: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Project Server “12” Web Project Server “12” Web ServicesServicesWeb Services Web Services

galore!!!galore!!!

CustomFieldsCustomFieldsLookupTablesLookupTablesNotificationsNotifications

ObjectLinkProviderObjectLinkProviderPortfolio ModelerPortfolio Modeler

AdminAdminAuthenticationAuthentication

AssignmentAssignmentCalendarCalendar

CubeAdminCubeAdmin

StatusingStatusingStatusReportsStatusReports

TimesheetTimesheetVersionsVersions

ViewsViewsWinProjWinProj

ProjectProjectPWAPWA

QueueSystemQueueSystemResourceResource

Status RulesStatus Rules

~ 350 PSI ~ 350 PSI methodsmethods

Page 9: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PSI ScenariosPSI Scenarios

Opens up Project Server as a work Opens up Project Server as a work management platformmanagement platform

Timesheet integrationTimesheet integrationPush data into LOB applicationPush data into LOB application

Resource managementResource managementPull data from LOB applicationPull data from LOB application

Project ProposalsProject ProposalsPush/Pull data from CRM systemPush/Pull data from CRM system

Page 10: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Simple PSI DemoSimple PSI Demo

Page 11: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PSI DatasetsPSI Datasets

Why DatasetsWhy DatasetsType safetyType safety

Client Side validation and constraintsClient Side validation and constraintsDatatablesDatatables

Visual Studio 2005 FriendlyVisual Studio 2005 FriendlyEasy databindingEasy databinding

Page 12: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PSI Datasets Cont’dPSI Datasets Cont’d

Project DatatableProject Datatable

PROJ_UIDPROJ_UID

VERS_UIDVERS_UID

PROJ_NAMEPROJ_NAME

PROJ_TYPEPROJ_TYPE

PROJ_VERSIONPROJ_VERSION

PROJ_PROP_AUTHORPROJ_PROP_AUTHOR

CAL_UIDCAL_UID

CAL_NAMECAL_NAME

PROJ_PROP_CATEGORYPROJ_PROP_CATEGORY

Etc…Etc…

PROJ_UIDPROJ_UID

PROJ_NAMEPROJ_NAME

Project.ReadProjectProject.ReadProjectListList

Page 13: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PSI Datasets Cont’dPSI Datasets Cont’d

Project DatatableProject Datatable

PROJ_UIDPROJ_UID

VERS_UIDVERS_UID

PROJ_NAMEPROJ_NAME

PROJ_TYPEPROJ_TYPE

PROJ_VERSIONPROJ_VERSION

PROJ_PROP_AUTHORPROJ_PROP_AUTHOR

CAL_UIDCAL_UID

CAL_NAMECAL_NAME

PROJ_PROP_CATEGORYPROJ_PROP_CATEGORY

Etc…Etc…

Project Project DatatableDatatable

Tasks Tasks DatatableDatatable

Task Custom Task Custom Fields DatatableFields Datatable

Project Project Resource Resource DatatableDatatable

Project Project Resource Resource

Custom Fields Custom Fields DatatableDatatable

Project Custom Project Custom Fields DatatableFields Datatable

Assignment Assignment DatatableDatatable

Assignment Assignment Custom Fields Custom Fields

DatatableDatatable

Dependency Dependency DatatableDatatable

Page 14: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Advanced PSI DemoAdvanced PSI Demo

Page 15: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

PSI: TakeawaysPSI: Takeaways

Project and Work management APIProject and Work management APIHow can you integrate this into your How can you integrate this into your apps?apps?

.NET Framework 2.0 Datasets.NET Framework 2.0 Datasets

All requests go through the PWAAll requests go through the PWATo PSI via Proxy LayerTo PSI via Proxy Layer

Page 16: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Proposal ExampleProposal Example

Page 17: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

EventingEventing

Server-side programming modelServer-side programming modelMain mechanism for third parties to Main mechanism for third parties to extend the platformextend the platformOut of process for process safetyOut of process for process safetyUses app domains to support in-hostingUses app domains to support in-hosting

Project Server Business Objects

Project Server Interface

Project DBS AProject DBS A Project DBS BProject DBS B

Server EventingSystem

App Pool A

App Pool B

Page 18: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Eventing Cont’d.Eventing Cont’d.

Event arguments provide some data, Event arguments provide some data, more is accessible using the more is accessible using the PSI/Reporting databasePSI/Reporting database

Pre (synchronous & cancelable) Pre (synchronous & cancelable) eventsevents

““Publishing”Publishing”

Post (asynchronous) eventsPost (asynchronous) events““Published”Published”

UI to register assemblies to ease UI to register assemblies to ease farm deploymentsfarm deployments

Page 19: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Eventing ScenariosEventing Scenarios

Eventing provides a lot of Eventing provides a lot of opportunitiesopportunities

User/Resource creation validationUser/Resource creation validationResources all have valid company email Resources all have valid company email addressaddress

Project/Timesheet approvalProject/Timesheet approvalProject needs to go through a workflow Project needs to go through a workflow approval process external to Project Serverapproval process external to Project Server

Legal legislationLegal legislationProjects cannot be saved unless they have Projects cannot be saved unless they have specific fields setspecific fields set

Page 20: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

EventingEventing

Page 21: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Eventing: TakeawaysEventing: Takeaways

Extensibility model for Project Server Extensibility model for Project Server “12”“12”

Partner opportunitiesPartner opportunities

Workflow, Workflow, WorkflowWorkflow, Workflow, WorkflowWindows Workflow FoundationWindows Workflow Foundation

Validation, Validation, ValidationValidation, Validation, Validation

Page 22: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Reporting InfrastructureReporting Infrastructure

Focused around the Reporting DBSFocused around the Reporting DBSSimilar tables to Published DBSSimilar tables to Published DBS

The only DBS we will documentThe only DBS we will documentAccess Draft and Published through PSIAccess Draft and Published through PSI

We’ll maintain the schemaWe’ll maintain the schema

Project Server Platform

DraftDraft PublishedPublished ReportingReporting ArchiveArchive

PSI

Page 23: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Reporting Infrastructure Reporting Infrastructure Cont’d.Cont’d.

Report Data ServiceReport Data ServiceInvoked automatically after Invoked automatically after Project.PublishProject.Publish

Pulls data from the Published DatabasePulls data from the Published Database

Transforms data into reporting-friendly Transforms data into reporting-friendly formatformat

Cube Building ServiceCube Building ServiceConfigure the data you want in the Configure the data you want in the cubescubes

Map data to Map data to dimensions/measures/propertiesdimensions/measures/properties

Page 24: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Reporting ScenariosReporting Scenarios

Timesheet integrationTimesheet integrationJoin your data to Project’s timesheet Join your data to Project’s timesheet datadata

Project status integrationProject status integrationIntegrate into PPM system’s reporting Integrate into PPM system’s reporting modulemodule

Page 25: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Reporting: TakeawaysReporting: Takeaways

This is your databaseThis is your databaseFully documentedFully documented

What data do you want to join it with?What data do you want to join it with?

Page 26: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Actions For DevelopersActions For Developers

Look at Visual Studio 2005Look at Visual Studio 2005Typed Datasets make life a lot easierTyped Datasets make life a lot easier

Consider how to integrate project and Consider how to integrate project and works management into your works management into your processesprocesses

Page 27: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

Project Conference 2006Project Conference 2006

http://www.msprojectconference.com/

Page 28: Project Server “12”: Developing Project Management Solutions Phil Smail OFF311 Program Manager Microsoft Project Business Unit.

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.