The Project Server Interface (PSI) for Microsoft Office Project Server 2007 can be extended with custom Web services. PSI extensions tightly integrate with Project Server, can call other PSI methods, and can use the same security infrastructure that the rest of the PSI uses. The following article in the SDK describe how to perform a PSI extension: Walkthrough: Creating a PSI Extension – http://msdn2.microsoft.com/en-us/library/bb428837.aspx
Mike Shughrue and I recently did a presentation on this subject and we came up with the following reasons why one might consider such customisation:
1. Mining data from the Reporting database – create a custom web service that return the exact data you are interested in and call that WS from your favourite reporting tool (Excel, Reporting Services …)
2. Mining data not in the Reporting database – not all EPM data reside in the Reporting database, for instance you could retrieve the timesheet audit data from the Published database.
3. Real time data – Let’s say the cube building service is schedule every night at 2am and you are doing your financial closing and you need the latest project data from the Reporting database right away; a PSI extension could address that need.
4. Consolidating information from multiple data sources (EPM, line-of-business …) – for instance you want to extract Actual Work data and match timesheet line to account code from your external accounting system. You could have an account to TS line mapping table in the Reporting database and pull the data with the corresponding mapping.
5. Performing impersonation for specific jobs – for instance users who are not part of the EPM resource pool need to access data from the Reporting database. External suppliers/consultant or someone from another department, an accountant for instance needs to query the actual work entered by EPM resources for the current billing cycle. Since these people are not part of the EPM resource pool you could create a specific user that has only access to that PSI extension (via and EPM security group).
6. Integration with line of business applications – third party application can easily “pull” data from EPM 2007 by calling a PSI extension with the data in the correct format. For instance a timesheet extract could contain all relevant information in the proper format for the LOB to “consume” it.
I am sure there are other reasons why one might consider PSI extension so feel free to respond to this post.Next I will a post a “lessons learned when creating a PSI extension”.