Here, SharePoint is used as a replacement for a SQL database!
All the required tables will be created as SharePoint Lists. Any additional document storage will be managed using SharePoint libraries.
Figure 1: SharePoint as a Backend
Here the CRUD is managed using SharePoint REST CSOM code.
You can use OData filters for performing filtering on list items.
Other advantages of using SharePoint as a backend
The following are the advantages on cost, time and effort:
- No need of a separate database.
- No need to design SQL tables.
- No need to write CRUD codes.
- No need to manage Scalability.
- No need to write Authorization code.
- No need to write Search code.
- No need to write WCF/Service code.
The advantages are gained once you have an existing SharePoint implementation with Scalability taken care of.
Wait a second! Consider the following factors too before making a decision:
- Response Delay: The SharePoint REST API can perform a little bit slower than your WCF services. Ensure your project NFR (Non-functional Requirements) accommodate this delay.
- Skill Shortage: Developers with SharePoint REST API skills can be rare. Ensure you have an expert/trained developer.
The following are a few examples of SharePoint as a backend:
- .NET App: If you are writing an ASP.NET application that requires database tables, you can use .Net code to access the CSOM of SharePoint.
- Document Storage App: If you are writing a document management application, you need not worry about SQL Server tables and BLOB storage. You can use SharePoint REST/OData API for doing that.
SharePoint as a backend can save you a lot of time and effort. Please do your valuations appropriately.