SVR330 Introduction to The Microsoft Office Project 2003 Software Development Kit (SDK) Bob Walker IW Product Technical Specialist - EPM EPG Microsoft Ltd
Overview Project Introduction Components Architecture Project 2003 SDK Getting Started with Project Development Finding and using the SDK Examples of how the SDK is used SDK Futures Q/A, and Resources
Line of Business Systems Microsoft Office EPM Architecture
Logical Architecture Project Server WSS IIS, ASP.NET PWA IIS, ASP Pages PDS Web Service Project Server Projects WindowsSharepointServices Project Server Views Project Server Core
Project 2003 SDK Main Areas for Project on MSDN MSDN Online Office Developer Center MSDN Online Library: Office Solutions Development Technical Articles SDK downloads Global SDK download Separate downloads: PDS Reference Project Guide 101 Project Server Web Parts and URL Options Solution Starter: Portfolio Analyzer OLAP Extensions Solution Starter: Project Server to ERP Connector
Sections in the SDK Overview Solution Starters BizTalk Server Workflow Project Server to Siebel Portfolio Analyzer OLAP Extensions Enterprise Reporting ERP Connector PDS Reference includes Service for EDM Project Guide 101 Custom Project Guides, Custom Views Project Server Integration Project Server Components and Authentication InfoPath Web Parts and URL Options Project Server Integration (cont.) Windows SharePoint Services Modify the PWA Site Definition Create Project Web Sites in WSS Using the Object Link Provider Programming Tasks Create a COM Add-in (VB 6) Create Managed COM Add-in (C#) Extracting Timephased Data: Use Project client with ODBC, or use Project Server database Project Renamer PDS Extender (C#) References PWA Grid Control Project Server Security Object VBA Reference (updated) XML Schema Reference
Installing and Using the Project 2003 SDK
Getting Started Development for Project Clients Project Object Model: VBA Updated reference in SDK.NET Automation: Visual Studio Tools for Office Primary Interop Assembly (PIA): Microsoft.Office.Interop.MSProject Custom Project Guides Custom Views COM Add-ins Visual Basic 6.0 Managed Code: Visual Basic.NET or C# OLE DB Provider: read-only for reporting (see pjoledb.htm)
Getting Started Development for Project Server Project Data Service (PDS) XML-based API Access through SOAP or HTTP POST Extensible Service for Enterprise Data Maintenance (EDM) File-drop service, SOAP, or HTTP POST Project Server Web Parts URL options in Project Web Access Custom Web Parts.NET Assembly for SPS Object Link Provider (OLP) PjObjPrv.dll is the basis for integration with WSS and SPS
Custom Project Guides Summary Location-independent protocols pgcontent:// path to XML schema for goal areas and tasks pgmainpage:// path to HTML layout file Use hard paths with Windows XP SP2 Add custom files directory to Trusted Sites Many ways to deploy: Project_Open or other macro (and set security) Configure manually, by templates, or in registry
Using Custom Project Guides Location-independent Project Guides
Integrating with InfoPath Summary User Services tier Microsoft Office InfoPath form Windows SharePoint Services form library Business Services tier JScript code runs when certain events occur on the form Data Services tier Access to project data via the PDS
Integrating with InfoPath Creating project plans using business rules and workflow
InfoPath Integration: Summary Key Benefits: Collaboration Security – limit access to Project Server Validation and business rules in middle tier Three-tier application User Services Business Services Data Services WSS Form Library InfoPath Form JScript event handlers NET Assembly PDS 3
BizTalk Server Workflow Summary BizTalk Server for Orchestration Project Server for Timesheet and Project Data SQL Server for State Management Message Queuing Services for Data Flow COM and Script Components, and PDS and Custom PDS Extenders, for Application and Business Logic and Processing
What Is The PDS? Middle tier ProjectsStatus ResourcesStatus Timesheet API’s Security gatekeeper ProjectsAccess ResourcesAccess
PDS Extension Interface XMLRequestEx (ByVal sXML As String, ByVal sPDSInfoEx As String, ByRef nHandled As Integer) As String sPDSInfoEx is an XML data structure with the remaining parameters Current user and connection information BasePath (for security object usage) SOAPRequestCookie (for callbacks) HTTPRequestCreate (for callbacks)
Using the PDS in a Web Application Project Server and Windows authentication
Using the PDS in a Web App Summary PDS request / reply PS authentication PS Cookie No Windows credentials Windows credentials Set IIS for Windows authentication Exclude site from WSS PDS Web service uses SOAP over HTTP: OK for Project Server authentication Windows authentication No anonymous access Configure Kerberos for remote browser Add menu item in PWA Add as Custom View in Project Pro IISIIS PDSPDS PS Logon Remote Browser ASP.NETASP.NET HTTP Post HTTP Get PDS Web Service SOAP HTTP PS Cookie
Using Project Server Web Parts with SPS: Summary Default Project Server Web Parts Designed for WSS provisioned by Project Server Custom Web Parts: Modify.dwp file for SharePoint Portal Server or Use the Custom Web Part Assembly Install in the GAC Needs no Project Server provisioning for WSS or SPS Manages multiple unmodified.dwp files Extend to manage Web applications as Web Parts
Enterprise Field Maintenance EnterpriseOutlineCodesHierarchical EnterpriseOutlineCodeUpdate EnterpriseCustomFields EnterpriseCustomFieldsUpdate
Service For Enterprise Data Maintenance SOAP Calls or file drop Makes combinations of PDS calls including business logic Three available services Enterprise Custom Field Maintenance Project Team Member Maintenance Resource Data Maintenance
PDS Extensions
Lessons Learned Using PDS is safer than directly accessing the database PDS participates in the Project Server security model Extensions allow developer to add functionality There are some areas that may need extensions
Developer Opportunity The PDS makes it easier for a developer to connect Microsoft Project Server with a variety of LOB applications The PDS Extension interface gives developers the control and power to extend Microsoft Project Server
Summary Project Development with the SDK To get started: consider the options Client and Server Database access Development technologies Use the PDS where you can SDK suggestions and feedback:
Project SDK Futures Upcoming articles for Project 2003 Project Initiation with a Custom App Using SQL Server Reporting Services Project 12 Beta 2 SDK: Publish on MSDN Project Server 12 architecture Project Server 12 object model reference Project client object model changes (VBA) Project client automation using VSTO 2005 SDK suggestions and feedback:
Project 2003 SDK How to Find It msdn.microsoft.com SDK Overview Technical Articles Office Developer Center Global SDK download Separate SDK downloads: PDS Reference Project Guide 101 Project Server Web Parts and URL Options Portfolio Analyzer OLAP Extensions
Microsoft Resources for Project Development Project Portal: Office Online Project Developer Center Getting Started with Project Development us/odc_pj2003_ta/html/odc_pjgetstarted.asp us/odc_pj2003_ta/html/odc_pjgetstarted.asp Project 2003 Solutions Directory Windows SharePoint Services SDK TechNet Resource Kits Project 2003 Resource Kit (TechNet) Office 2003 Resource Kit Microsoft Download Center (~160 downloads for Project) 023A3-F612-4DA2-ACB8-FDA8F850D645&CategoryID=&freetext=&DisplayLang=en&DisplayEnglishAlso=&sortCriteria=date 023A3-F612-4DA2-ACB8-FDA8F850D645&CategoryID=&freetext=&DisplayLang=en&DisplayEnglishAlso=&sortCriteria=date 50 Most Popular Downloads for Project
Resources Project 2003 SDK Portal Office Developer Center for Project: SDK online and downloads, Solution Starters, newsgroup Includes Project Server Web Parts and URL Options article Suggestions for Project SDK: Microsoft Download Center 60 downloads for Project 2003: Keyword: 2003 Product: Project Project Community Project Server Experts: Project MVP site:
Project Community Resources Project MVP site MPA (The Official Industry Association for Microsoft Office Project) Project Server Experts community site Woody’s Project Watch Project Newsgroups ?dg=microsoft.public.project ?dg=microsoft.public.project.server ?dg=microsoft.public.project.developer
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.