Showing posts with label CSOM. Show all posts
Showing posts with label CSOM. Show all posts

Monday, November 20, 2023

CSOM vs JSOM vs SSOM vs REST

CSOM (Client-Side Object Model), JSOM (JavaScript Object Model), SSOM (Server-Side Object Model), and REST (Representational State Transfer) are different approaches or models used in SharePoint development for interacting with SharePoint data and functionality. Each has its own characteristics, advantages, and use cases. Here's an overview of each:


1. CSOM (Client-Side Object Model):

  • Language Support: Primarily used with .NET languages such as C#.
  • Execution Environment: Runs on the client side, usually within a .NET application.
  • Usage: Ideal for scenarios where the code needs to be executed on the client side (e.g., in a Windows Forms application, WPF application, or a console application).

2. JSOM (JavaScript Object Model):

  • Language Support: Primarily used with JavaScript.
  • Execution Environment: Runs on the client side, typically in a browser.
  • Usage: Well-suited for scenarios where client-side code (e.g., in a web page) needs to interact with SharePoint data and services.

3. SSOM (Server-Side Object Model):

  • Language Support: Primarily used with .NET languages such as C#.
  • Execution Environment: Runs on the server side, within the context of a SharePoint server.
  • Usage: Typically used in scenarios where server-side code is necessary (e.g., in custom SharePoint server-side solutions, timer jobs, and event receivers).

4. REST (Representational State Transfer):

  • Language Support: This can be used with a variety of languages, as it relies on HTTP and standard web technologies.
  • Execution Environment: Runs on the client side or server side, depending on the implementation.
  • Usage: Suitable for scenarios where a lightweight and language-agnostic approach is required. Can be used in web applications, mobile apps, or any scenario where HTTP requests can be made.

Key Points:

  • CSOM and JSOM: Both are client-side models but are tailored to different development environments and languages.
  • SSOM: Runs on the server side and is more suitable for server-side SharePoint solutions.
  • REST: Offers a flexible and lightweight approach, making it suitable for a variety of scenarios and programming languages.


When choosing between these models, developers often consider factors such as the type of application, the development environment, and the specific requirements of the SharePoint solution being developed. Additionally, with the evolution of SharePoint and the emphasis on modern development practices, REST and client-side models like CSOM and JSOM are often preferred for their flexibility and compatibility with various platforms.