When to use SharePoint 2010 Business Connectivity Services (BCS)
After viewing the usual conference sessions I was pretty enthusiastic about the possibilities of BCS. Seems to be nice at first, but when starting to design something real in the field I was thrown back to reality. BCS does give “free” things on your external data without too much coding. But there are some serious downsides like the one I described before.
My current plusses en minuses lists for making decisions about when to use BCS usage in solutions is:
+ Simple UI with SharePoint styling on your data without coding
+ Offline support via SharePoint workspaces
+ Single Sign On possibilities
+ Includes your data in search
+ MS office integration
+ The external data can be accessed by sandbox solutions
+ Out of the box throtling posibilities
- BCS directly calls into the external system, no caching. Is the external system fast enough to support your users? Or will it slow down your SharePoint site?
- No transaction support
- No bulk processing?
- Complex and custom types not properly supported
- Strict requirements on the WSDL/Type schema of the external system. Will almost never work in the real world unless you can control the schema. No complex types allowed.
- External Lists aren’t accessible via the SharePoint REST interface
- Very limited control over WCF configuration settings. Or only in very bad ways like for example timeout.
Hope it helps you to decide if BCS is the right solution. Let me know if I missed some plusses or minuses.