Answered SharePoint Online and external database interoperability

  • Wednesday, May 20, 2009 8:04 AM
     
     
    Hello,

    The (small) company I work for is using a custom made PHP-MySQL intranet/CRM and is seriously considering SharePoint Online solutions as an ECM and workflow tool. However, as we haven't used SharePoint technologies before, we are not sure how well it can integrate with the current infrastructure. Furthermore, I have read that SharePoint Online development possibilities are limited compared to the Server version.

    How well does SharePoint Online integrate with non-Microsoft data sources, and how?
    Would it be possible for example to synchronize a list of clients in SharePoint Online with a MySQL client table?

    Thanks for helping out a SharePoint beginner!

Answers

  • Wednesday, May 20, 2009 9:22 AM
     
     Answered
    SharePoint Online has a web service API which you can use to push and pull data to/from SharePoint lists. So, you could have a scenario where a job runs on your MySQL server that does the synchronisation on a regular schedule. This list synchronisation functionality is already built in to Microsoft Access 2007 and works very well.

    McGeeky
  • Wednesday, May 20, 2009 4:48 PM
    Owner
     
     Answered
    McGeeky's solution is your best bet. You can use Access or write your own custom code to push this data to SharePoint Online. If, however, you need real-time data then you will need to pull the data to SharePoint Online. There are two options here. You can use the data view web part to pull data from your on-prem CRM app. Though you would need to expose the data as a web service since the necessary ports for direct database connections are not available. The other option is you could write a Silverlight control that was hosted on your SharePoint site. This control could display the data or even do the synchronization of data to SharePoint lists.

All Replies

  • Wednesday, May 20, 2009 9:22 AM
     
     Answered
    SharePoint Online has a web service API which you can use to push and pull data to/from SharePoint lists. So, you could have a scenario where a job runs on your MySQL server that does the synchronisation on a regular schedule. This list synchronisation functionality is already built in to Microsoft Access 2007 and works very well.

    McGeeky
  • Wednesday, May 20, 2009 4:48 PM
    Owner
     
     Answered
    McGeeky's solution is your best bet. You can use Access or write your own custom code to push this data to SharePoint Online. If, however, you need real-time data then you will need to pull the data to SharePoint Online. There are two options here. You can use the data view web part to pull data from your on-prem CRM app. Though you would need to expose the data as a web service since the necessary ports for direct database connections are not available. The other option is you could write a Silverlight control that was hosted on your SharePoint site. This control could display the data or even do the synchronization of data to SharePoint lists.
  • Friday, May 22, 2009 1:42 AM
     
     
    The data view web part (DVWP, also called data form web part, DFWP) is very powerful.  Here are a bunch of links about it: http://delicious.com/pagalvin/dvwp

    The last link in that list is actually about a web service and may be a good starting point for you to do some proof of concept work.
    --Paul Galvin, Arcovis
      Microsoft MVP - SharePoint
      Blogging @ http://feeds.feedburner.com/PaulGalvinsSharePointSpace
      Twitter @ http://www.twitter.com/pagalvin
  • Monday, May 25, 2009 2:22 PM
     
     
    Thank you all for your insights!
    I think I will follow the path of programming a small client-manager tier that'll update the SharePoint lists through SharePoint Online's webservice API, each time a new client is created or modified in the external CRM. McGeeky's suggested MySQL job seems indeed to be a good workaround to SharePoint Online's limited functionnality. Hopefully SharePoint Online will support workflows with webservices one day?
  • Tuesday, May 26, 2009 4:57 PM
    Owner
     
     
    Dokterdok,

    What workflow functionality are you looking for in Web services? Via web services you can add items to a doc library or list which is already configured to automatically trigger a workflow or you can manually trigger a workflow directly from within Web services.
  • Tuesday, May 26, 2009 5:45 PM
     
     

    Troy,

    What I was looking for is a workflow action that pushes a newly created list element in SharePoint Online to an external webservice, in a similar way some Business Process Management tools (like XPert Ivy) can do. That would mean real-time sync with external databases and no timer job required on the exeternal DB side. However, this implies that SharePoint Designer would need to implement "Element to SOAP object mapping" and exceptions management in its workflow wizard.
  • Tuesday, May 26, 2009 10:22 PM
    Owner
     
     
    That makes sense. I've added this to my list of developer asks. Thanks.