SharePoint 2013 Inside SharePoint App development

SharePoint development history: SharePoint purely development solution history started with SharePoint 2007 version released. Microsoft came with the first fully managed solutions also known as farm solutions. Next release was SharePoint 2010 where Microsoft extended the option for hosted options available to developers by introducing sandboxed solution deployment as an alternative to farm solution deployment that enable the developer to write the code for hosted environment office 365 with some limitation. Most of the companies small scale IT companies move to the Office 365 environment and it is very popular. As other vendors come up with the Apps(Apple etc.). Microsoft comes with App model with this current version 2013 and its mostly focus on the cloud. So there was no big changes for Farm Solution, main focus on the App development (Sandboxed solutions are deprecated in SharePoint 2013).

Farm Solution: SharePoint 2007 represents the first version of SharePoint technologies where Microsoft invested to create a true development platform by introducing features and farm solutions. 
  • Managed solutions also known as farm solutions will be hosted within the main SharePoint worker process (w3wp.exe). 
  • Full trusted solutions can be installed on any scope (Farm, Web App, Site Collection, Sites). 
  • The deployment, most farm solutions require a Farm Administrator to do the deployment and mostly restarts the IIS on all the WFEs, which causes a disruption in the service. 
  • Down time considerations 
  • Cost 
  • High Availability and Disaster recover changes 
  • Monitoring 
  • Integrate with other applications using BCS (Business Connectivity Service), Web Services or build your own service application, this provided the end users with limited experience integrating with external applications. 
Sandbox Solution: SharePoint 2010 where Microsoft extended the options available to developers by introducing sandboxed solution deployment as an alternative to farm solution deployment. 
  • Sandbox solutions will run within the SharePoint sandbox worker process (SPUCWorkerProcess.exe). 
  • Sandbox solution or partially trust a solution is scope limited to Site Collections. 
  • Down time considerations 
  • Cost 
  • High Availability and Disaster recover changes 
  • Monitoring 
  • Only resources that are available on the server that is running the sandboxed worker process can be accessed. An external database, for example, cannot be accessed. This means that a BCS Model cannot be deployed in a sandboxed solution. 
  • Although the deployment of Sandbox solutions is a lot easier and straight forward but there’s no indication on whether or not it’s safe to activate this sandbox solution without actually activating it and giving the code inside aces to all the site collection’s content. Not required to reset the IIS. 
  • Sandbox Solution best use for Office 365. 
  • The limitation of sandbox solution 
App Solution: SharePoint 2013, Microsoft has now added a third option for SharePoint developer with the introduction of SharePoint apps. It is different from Farm and Sandbox Solution. Why it is different? The main reason “App runs 100% outside of the SharePoint server, and their custom code executes either within the context of the client browser or on other servers that are not running SharePoint such as Web servers in the cloud.” 

  • Get rid of the custom code; that gives increases the scalability of SharePoint Farm. 
  • Farm Solution during migration creates problems while upgrade WSP from one version to another. 
  • No Need to maintained two solutions that runs Office 365 as well as in Farm Solution. Now the whole point of an App is you don’t worry where it’s hosted or deployed as it should behave the same on both On-Premise and Cloud environments. 
  • Not required to learn SharePoint object Model for App development. As App Model provides a loosely coupled architecture for building Apps in SharePoint 2013. Gives the freedom of choice for developers in the technologies they use to not only host their applications, but also the tools they use to write them. Apps can leverage industry web standards such as HTML, JavaScript, jQuery, JSON, REST, OData and OAuth to provide an integrated user experience. 
  • Visual studio 2012 templates support the App. 
  • Newly added event receivers that specially works for Apps. 
  • Debug your code by using Remote Debugging option. 
  • Deploy your app at “Site Scope” and “Tenancy Scope” level. 
  • Sandbox solution deprecated by the Microsoft for 2013 release. So only the App model will be used for development app that runs both on- Premise and cloud environments. 
  • Apps provide you with the simplest marketing and sales system based on a Microsoft-provided online app store. 
  • You can use the create the reusable solution to your farm later if you want you can sell the same on the Market Place to sell your app and generate revenues for your company. 

Disadvantage of App Model 
One explicit limitation of the SharePoint App Model is that server side code is explicitly prohibited from residing on the SharePoint farm as part of an App. Any server side code that is utilized in the context of an App must be hosted outside of SharePoint either in the cloud or on-premises. 

Popular posts from this blog

SharePoint RPC Protocols Examples Using OWSSVR.DLL

STS CryptographicException Error : Key set does not exist

Query suggestions in SP 2013 Using Rest API (/_api/search/suggest)