A nearly universal element of EPM (enterprise project management) deployments is the implementation of custom business processes. Each organization has their own methodology for proposing projects, asking for resources to fund or staff a project, taking dependencies, changing dates or scope, etc. P12 adds server-side events to support customers in building business processes tightly integrated into Project Server.

P12 provides Pre- and Post- event for most PSI methods. Pre events are fired before data is saved to the database. They are synchronous and allow a method to be canceled. Post events are fired after the data is saved to the database.

Event handlers (code you write) are implemented as managed code using the .Net Frameworks 2. Each event can support multiple event handlers. You can specify the order in which the event handlers are executed. Event handlers are deployed to the application/middle tier servers in a farm.

For more complex business processes, you likely will need a workflow engine. As mentioned in prior posts, Project Server 12 is built on Windows SharePoint Services (WSS). WSS will be shipping with a hosted version of the Windows Workflow Foundation, a new workflow component in Windows Server. Windows Workflow Foundation provides an orchestration engine and a framework for eventing, queues, authoring, etc. The workflow solution provided by WSS uses WSS lists and document libraries as queues. Office 12's enterprise content management (ECM) features are built on this new workflow infrastructure. The net is that you can build workflows around state changes of list items and doc libs.

When you put the PSI together with Project Server Events and the Windows Workflow Foundation, you end up with a rich platform for building custom business processes ... and this can all be accessed easily from Visual Studio.Net. We are working hard on a few surprises for The Project Conference that will show off how you (customers and partners) can leverage this platform. The demos should be cool!

Thanks to Ameya for the content for this post ... courtesy of his presentation at the P12 Airlift.

Just as a quick reminder: I appreciate all your comments and I do read them at least once a week. Now and then, I will roll up and post answers to the PLATFORM questions. I won't respond to questions around UI or application features until at least after Beta 1. I have more than enough content on the P12 platform to keep this blog busy for several weeks!