I'm new to Office 365/2013 but I've been working with on-prem SharePoint 2007/2010 for a while. I've mostly setup some simple webparts to pull data out of SQL/WCF and display it.

I'm wondering what the best approach is for exposing internal (firewalled) data in Office 365.

Would pulling this data in through BCS (ie. via an external WCF endpoint) and then setting up a content editor webpart with CSOM work?

Or would a provider hosted app be the better option?

  • Just an update. After struggling with BCS performance issues and working with Microsoft to no avail, we decided to go with provider hosted apps. Once you get the hang of working with their authentication model it becomes much clearer why provider hosted apps are the right choice. The biggest pain I've come across is having to work with iframes for any webparts you setup. Ensuring they're resized correctly in the context of ajax and dialog windows and everything is a bit challenging.
    – Chad
    Commented Sep 27, 2016 at 15:01

1 Answer 1


I would say the both approaches has pro's and con's

WCF with CSOM: it's a nice choice being an out of box functionality especially when you have very little things to do like just show a grid of records or some thing. it's more tedious to develop complex functionality since it all ends up in client side development. Additionally knowledge based on the BDC configurations needs to learnt. This is easy to manage since all resides in SharePoint.

Provider Hosted App:

This should a preferred option for complex functionality since it can be developed in C# and can directly interact with SQL with ado.net connections.But the app needs to be hosted either on azure or on-premises environment (web server) so deployment and managing the entire solution will be more time consuming and also additional cost will be associated compared to the previous solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.