Monday, October 22, 2007
Multi-List SharePoint Synchronization to Microsoft Project Enterprise Resource Pool
I hope to get around to writing about Project Server, but these days I am solving a bunch of perimeter problems like integrating existing systems into a coherent source for our eventual Project deployment. One interesting problem came across my desk today. We use Microsoft SharePoint Team Services heavily, across all aspects of our business, to manage everything from sales to production. Of course, we struggle like most companies with establishing ownership of parts of our corporate schema or data model. This schematic delegation is hard...really hard. In the absence of an ERP system, most companies end up with integration at the core of their systems (or the lack of integration). Because we have multiple, distinct systems that each have their own definition of a customer, a resource, an event, or any other myriad components of our corporate schema, we have to integrate the systems to present a sort of federated data model to new systems. At the same time, we are looking to phase-out older systems that currently hold the token for certain components of our schema. What does this mean? It means we have a lot of SharePoint sites that are serving as temporary and even permanent solutions for our business. With Project Server coming in after the fact with respect to existing SharePoint solutions, I have a problem: how do I integrate data from multiple SharePoint workspaces, lists, and sites into our enterprise resource pool? For example, we have a list of all our employees that contains all the normal HR stuff you would expect like address, cell phone, years of employment, etc. There are certain restrictions regarding access to this information, so we have another view of the same data that is trimmed up for general consumption. We have lists of data about trainers as well--for example, the certifications they hold, the courses they are qualified to deliver, and other important attributes. An important part of our to-be information architecture is Microsoft Project Server and I need to build an enterprise resource pool from all of these SharePoint sources. The solution also has to accommodate the ongoing use of the existing SharePoint solutions. With both SharePoint and Project offering web services, all that is missing is a framework to tie the different data sources into the enterprise resource pool. So, I am working away building a data access layer with a source/field mapping mechanism to drive changes from the SharePoint sites (if they hold precedence over the data resident in the resource pool) into the enterprise resource pool. Our SharePoint lists become enterprise resource custom field “editors”. I am just getting into this, working on some prototypes and basic designs. If useful work comes out of it, I will try to post what I learn.