publication of the International Legal Technology Association
Issue link: https://epubs.iltanet.org/i/306297
ILTA WHITE PAPER: APRIL 2014 WWW.ILTANET.ORG 31 drives up TCO through long-term interest costs in the form of: • Environments that are less stable • Capacity planning made more difficult • QA processes that need to be more rigorous • A product forced to remain in the legacy version • Deployment models that are clumsy • Additional environmental complexities • Developers with specialized knowledge that cost more Microsoft attempted to address some of the shortcomings of the full-trust solution model with what they called "sandboxed Web parts." However, that was a failed experiment; the approach has since been deprecated. THE NEW WAY: THE APP MODEL There is a widely accepted design principle in software engineering called "separation of concerns" (SoC). SoC promotes the use of a loosely coupled architecture that encapsulates code into modular units that address individual tasks. Separating concerns reduces complexity and makes swapping out pieces of the system less challenging by reducing dependencies. The SharePoint 2013 app model fully embraces this mantra by mandating that no custom code ever run on the SharePoint server directly. Custom application code must run either in the Web browser (i.e., HTML/CSS/JavaScript) or on a separate server altogether. Instead of building directly on SharePoint, you are building alongside it, which differs from the fully trusted solution approach. In addition to the changes in architecture, the app model also changes the underlying technologies used to deliver custom functionality. The fully trusted approach uses server-side solutions typically written in C#, leveraging the server-side object model (SSOM). Apps are not deployed on the SharePoint server, so they can be written in many server-side technologies. While this opens many doors, the app model approach necessitates the need to interact with SharePoint using the client-side object model (CSOM) via a REST-based API usually accessed through JavaScript. Some SharePoint apps can use client-side code that runs in the browser exclusively, eliminating the need for any server-side infrastructure. MORE BENEFITS OF THE APP MODEL 1. Hire Fewer Staff with Specialized Skill Sets: According to an annual study by Dice.com, the national unemployment rate for software developers is under two percent as of late 2013. The rate is expected to stay at or below this level in 2014. When the labor market is this tight, it puts upward pressure on payroll costs and makes attracting and retaining talent challenging. This is especially true in the legal industry. While there are innovative and technology-driven law firms out there, the industry is not perceived as progressive or cutting-edge. Law firms usually are not the first place talented technical professionals have on the radar. Regardless of how you feel about that perception, it can make competing for and retaining top technical talent even more challenging for law firms. Using apps to deliver custom functionality now requires less SharePoint-specific knowledge because developers use industry-standard technologies to build apps, such as HTML, JavaScript, CSS, REST, JSON, OData and OAuth. Developers must still have a working knowledge of SharePoint objects and how to interact with them using the CSOM, but several development and deployment nuances of full-trust solutions have been reduced or eliminated with apps. This lowers entry barriers for developers by reducing the amount of specialized SharePoint domain knowledge required. More developers know how to build apps using open standards over the old SharePoint solution model. The app model reduces the required amount of SharePoint-specific expertise, expanding the pool of candidates in an already tight talent pool. 2. Upgrade and Secure with Fewer Issues: Full-trust solutions are entwined with SharePoint's underlying infrastructure, so upgrading a customized environment can be extremely high-risk. Even applying patches and service packs could break customizations. Keeping SharePoint up to date is THE APP MODEL — BUILD ALONGSIDE, NOT ON, SHAREPOINT