1 / 45

Enterprise Project Management: Developer Options

OFC339. Enterprise Project Management: Developer Options . Larry Duff Engagement Manger Microsoft Corporation. Session Objectives and Agenda. Objective. Understand programmatic interface points of the Enterprise Project Management solution. Agenda.

dutch
Download Presentation

Enterprise Project Management: Developer Options

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OFC339 Enterprise Project Management: Developer Options Larry Duff Engagement Manger Microsoft Corporation

  2. Session Objectives and Agenda Objective Understand programmatic interface points of the Enterprise Project Management solution Agenda Project Portfolio Server Architecture & Programmability Project Server Architecture & Programmability … and Demos throughout 

  3. EPM 2007 Solution Architecture Project Managers Team Members Executives Resource Managers Team Members Executives Portfolio Analysts Line of Business Systems Clients Business Servers Platform

  4. Microsoft Office Project Portfolio Server 2007

  5. Projefct Portfolio Server Architecture External Application PPSI Web Access Business Object Layer Project Server Gateway Data Access Layer Portfolio Server

  6. Project Portfolio Server Data Access External Application Read Only Web Access PPSI Business Object Layer Read/ Write Read Only Data Access Layer Read/ Write Account Data Account Index

  7. Project Portfolio Server Interface Overview • The Project Portfolio Server Interface (PPSI) are read-only Web service APIs which expose a subset of Portfolio Server data • Seven Web services exposed • LoginWindows, LoginForms • Portfolio, Program, Project, Application • Attribute • Filter • PPSI does not expose data to support complex reports • Data is returned as custom Microsoft ADO.NET 2.0 datasets • Key datasets • PortfolioServerDataSet • AttributeDataSet • PortfolioServerAttributeValueDataSet

  8. Using PPSI • Not all Project Portfolio Server data will be exposed via the PPSI—only an important subset • PPSI exposes the following attributes • Default Attributes • For example Project Name, Project ID, Workflow Class, Workflow Status, etc. • Custom Attributes • Attributes created by users via the Attribute Definition wizard • Any PPSI call will be authenticated based on the Portfolio Server Authentication model • Supports both Windows Integrated authentication and user name/password-based authentication supported by Project Portfolio Server • User needs to have “Access to PPSI” permission on the Project Portfolio Server to access PPSI

  9. PPSI Call Example PortfolioServerDataSetReadProject( intprojectID, boolincludePortfolios, boolincludeProgram, boolincludeNativePortfolio, PortfolioServerDataSet. PortfolioServerResultFilterDataTableresultFilter) ResultDS = ProjectWS.ReadProject( projectID, chkIncludePortfolios.Checked, chkIncludeProgram.Checked, chkIncludeNative.Checked, RFTable);

  10. demo Project Portfolio Server Interface (PPSI)

  11. Microsoft Office Project Server 2007

  12. Office Server 2007 Technologies Taxonomy of the Microsoft Office Server Collaboration ECM Portal Search BPM BI Project Applications/ Solutions DiscussionsCalendarsE-MailPresenceProject Mgt. “Lite”Offline AuthoringApprovalWeb PublishingPolicy/AuditingRights MgtRetentionMulti-LingualStaging MySitesTargetingPeople FindingSocial NetworkingPrivacyProfiles IndexingRelevanceMetadataAlertsCustomizable User Exper. Rich FormsWeb FormsBiz Data CatalogData in ListsLOB ActionsSingle Sign-OnBizTalk Integr. Server Calc.Web RenderingKPIsDashboardsReport Ctr.SQL RS Int.SQL AS Int. TasksSchedulesResourcesBudgetsDeliverablesReports Core Workspace Services Storage Security Management Topology Site Model APIs Admin UX Delegation Provisioning Monitoring Repository Metadata Versioning Backup Rights/Roles Pluggable Auth Per Item Rights Trimming Config Mgmt Farm Services Feature Policy Extranet Rendering Templates Navigation Visual Blueprint Fields/Forms OM and SOAP Events Deployment Operating System Services Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc.

  13. Office Server Integration • Common setup andprovisioning framework • Integrated farm-level operations • Integrated authentication framework • Web Part Framework allows easy assembly of role-based workspaces • Cross-project workspace reporting on • Issues • Risks • Commitments

  14. Integrated Security • ASP.NET 2.0 Membership Providers • Tested with • Windows • SQL Auth • LDAP (AD) • Other Providers • SSO • ADFS • AD/ADAM

  15. Project Server Architecture: Details External Application Cache HTTP/ SOAP HTTP HTTP/ SOAP Project Web Access SOAP Project Server Interface (PSI) Eventing Queuing Business Objects Scheduling Engine etc … Project Task Resource Assignment Data Access Layer (DAL) Content Config Draft Published Archive Reporting

  16. Microsoft Office Project 2007 Programmability • New Server API (PSI) • Web services • Server-side events • Reporting database • Server scheduling engine • Windows SharePoint Services platform • Continued support for Visual Basic for Applications (VBA) in Project Professional 2007

  17. Project Server Interface (PSI) • New server API—replaces PDS • Web services • Extensive data and functionality coverage • Over 350 public methods • Factored by business entities (17 Web services) • Accessed via SOAP over HTTP • Firewall-friendly (works over port 80, 443) • Managed code (.NET Framework 2.0) • Data transfer via ADO.NET datasets • Supports managed and unmanaged clients

  18. demo Project Server Interface (PSI)

  19. Creating a Project via PSI public voidQueueCreateProject ( GuidjobUid, ProjectDataSet dataset, boolvalidateOnly) public ProjectRelationsDataSetQueuePublish ( GuidjobUid, GuidprojectUid, boolfullPublish, stringWssURL ) public JobStateGetJobCompletionState ( GuidjobUID, out stringerrorString )

  20. Update Project Team via PSI public voidCheckOutProject ( GuidprojectUid, GuidsessionUid, stringsessionDescription) public voidQueueUpdateProjectTeam ( GuidJobUid, GuidsessionUid, GuidprojectUid, ProjectTeamDataSet dataset) public voidQueueCheckInProject ( GuidjobUid, GuidprojectUid, bool force, GuidsessionUid, stringsessionDescription)

  21. Benefits • Improved productivity • IntelliSense • Better design-time control • Development skills—developing in managed environment (Microsoft Visual C#, Microsoft Visual Basic .NET, ADO, etc.) • Plays well with Service Oriented Architecture

  22. Working Published Archive Business Objects Internet Explorer Scheduling Engine PSI Forwarder PSI Proxies Project Professional Third-party apps Authentication Context Eventing Service Queueing Service How Does the PSI Work? Client applications Context passed to PSI 4 PSI Runs in the context of the user 1 User accesses PWA 5 2 PSI PWA authenticates user PWA DAL PSI SOAP 3 PWA generates user context domain\user

  23. Working Published Archive Business Objects Scheduling Engine Context Eventing Service Queueing Service How Does the PSI Work? Line-of-business (LOB) applications LOB App Connector PSI Other Enterprise App DAL PSI <Impersonation> *TRUSTED PROCESS* 1 Component runs as a trusted process (runs with special credentials)

  24. PSI Method Properties • Synchronous • Asynchronous (Queue* methods) • Server Queue • Bulk data changes • Transactional/restartable • Raise server events (More than 100 events)

  25. Data Sets • ADO.NET 2.0 datasets used for data transfer • Typed datasets = Business Entities • Typed datasets benefits • Familiar to developers • Type safety • Design-time validation • Data presented via an object/relational model (tables) • Improved performance

  26. demo Working with PSI Datasets

  27. Datasets Unlock Project Server

  28. Project Server Server-side events • New server-side programming model • Out of process,and "farm friendly” • AppDomains for scalable in-hosting • Event arguments provide data, it can be supplemented with RDB and PSI calls • Pre- and post-events

  29. Project Server Event Types • Pre- and post-events • Pre-events • Before the data is saved to the DB • Cancelable • Synchronous • Post-events • After the data has been saved to the DB • Non-cancelable • Asynchronous or synchronous

  30. PWA PWA PWA PSI Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Event Handler Business Objects Business Objects Business Objects PSI Project Server Events Architecture Events Process Eventing Service Config DB Process boundary

  31. demo Server-Side Events

  32. The Anatomy of an Event public class ProjectAuditEventReceiver: ProjectEventReceiver { public override void OnPublished( PSLibrary.PSContextInfocontextInfo, ProjectPostPublishEventArgs e) { ProjectChange pc = new ProjectChange(contextInfo, e); ProjectChangeFile.Write(@"C:\AuditFiles", pc); base.OnPublished(contextInfo, e); } } // Part of serialize: return projectWs.ReadProject(projectUid, ProjectWS.DataStoreEnum.PublishedStore);

  33. Project Server Data Engine

  34. Three Schemas – One Database

  35. demo Project Server Reporting

  36. Workspace Customization

  37. demo Workspace Customization

  38. Summary • Office Project Portfolio Server • Web service API (PPSI) • Read-only API • Office Project Server • Web service API (PSI) • Firewall-friendly • Reporting greatly enhanced • Server-side eventing • Customize UI via SharePoint Services technology • Samples available in Project SDK and on my Blog • http://blogs.msdn.com/lduff

  39. Q&A

  40. Related Content Breakout SessionsOFC241 - Deploying and Configuring Microsoft Office Portfolio Server 2007 OFC339 - Enterprise Project Management: Developer Options • Chalk-TalksOFC03-TLC - Enterprise Reporting with Microsoft Office • Project Server 2007 • OFC04-TLC - Microsoft Office SharePoint Server 2007 Integration with • Microsoft Office Project Server 2007 • Hands-on LabsOFC19-HOL - Microsoft Office Project Server 2007 Development

  41. Resources Technical Communities, Webcasts, Blogs, Chats & User Groups http://www.microsoft.com/communities/default.mspx Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet Trial Software and Virtual Labs http://www.microsoft.com/technet/downloads/trials/default.mspx Project Server and Portfolio Server SDKs http://www.microsoft.com/downloads/details.aspx?familyid=2672f6f9-7028-4b30-99a2-18cb1eed1abe&displaylang=en http://www.microsoft.com/downloads/details.aspx?FamilyId=18848D8B-6784-4E6A-B716-96D571EEB676&displaylang=en

  42. Announcing! The Microsoft Office SharePoint Conference 2008 March 3rd – 6th 2008 at the Washington State Convention and Trade Center, Seattle, USA Sign up for more information and registration notification at http://www.mssharepointconference.com

  43. Complete an evaluation on CommNet and enter to win!

More Related