We are looking to deploy an Intranet using SharePoint Foundation. I am targeting the Client Object Model for this project to avoid Master Page customization and building custom Webparts and leverage HTML5 for the look and feel. I was told that the Server Object Model will be a better approach as it runs on the Sharepoint Server, thus avoiding the use of Web Services and the associated network latency and data conversion.

My only concern is if retrieving Data from Sharepoint programatically with either approach will be slow.

Can someone please advise the advantage and relative performance of solutions based on the client object model and the server object model? Has anyone ever undertaken a project like this and successfully deployed the portal?

2 Answers 2


I have done extensive work with Client object model and it is definately slower then using the sharepoint core libraries. the reason for this is because if you use the client object model. you have to go through the network to get to sharepoint. where as the core libraries access 14hive directly. so if you do have the option to use the core libraries i would definately use the core libraries. simply because it is faster and more robust in terms of communication, compared to Client Object Model

  • Thanks Billy. Would you be able to recommend a good site for tutorials regarding Core Libraries?
    – MSC708
    Feb 17, 2012 at 16:28
  • I have recently posted an article on my own blog about this very topic if you are getting started with SharePoint Development: e-junkie-chronicles.blogspot.com/2012/02/… Included are some links to get you started with the server object model.
    – James Love
    Feb 17, 2012 at 18:11
  • yes a blog is a very good way to get you started but if you want to get in depth knowledge i will always suggest the API msdn.microsoft.com/en-us/library/… Feb 19, 2012 at 16:24

Client Object Model is based on concept of the batch processing, where you define in advance what data will be returned as a part of the result set. This can cause problems, when you start requesting to much data in advanced, just to avoid asynchronous data requests.

Server-side API is simpler to use and does not introduce all the complexities connected with loading data asynchronous (COM). There is definitely more options for performance tuning on server-side (e.g. correct usage of CAML queries, query throttling, caching data).

If you are worried about SharePoint performance, you can read Designing large lists and maximizing list performance (SharePoint Server 2010) article on technet. This will give you better insight in what are the limitation and options when it comes to SharePoint lists performance.

There is nothing that should stop you from developing solution based on mix of custom web services, COM and Server-side API, as performance in your case is just another feature of your solution (e.g. network latency is something that should be considered in all HTML5-heavy-apps, not only SharePoint based).

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.