Tuesday, December 10, 2013

Architectural Changes in SharePoint 2013


In this blog let’s get an overview of the architectural changes of SharePoint 2013. This post details the infrastructure improvements and service applications that are new in SharePoint 2013, as well as those that are deprecated or changed and the new application model. There are a number of platform-level improvements and capabilities of which you can take advantage, such as the following:

Request management

SharePoint can now recognize the origin of incoming requests; for example, from external search engines, from different types of browsers, or specific applications. It can then reduce the priority of certain requests and raise the priority of others, depending on different criteria. It can look at the packet headers, the requester’s IP address, or subnet and decide to block that request, redirect it to another server, SharePoint farm, or web application.

Workflow framework

SharePoint 2013 introduces a new, highly scalable workflow framework that is implemented by using the Workflow Manager, originally known as Windows Azure Workflow (WAW). In SharePoint 2013, the Workflow Manager farm is not installed by default. Therefore, a default installation of SharePoint 2013 can only use the same workflows that can be used in SharePoint 2010. When the Workflow Manager is installed, you can run both SharePoint 2010 and SharePoint 2013 workflows.

In SharePoint 2010, workflows run on the servers on which SharePoint is installed; that is, they run within the SharePoint farm. If your organization is a heavy user of workflows, this can have a detrimental effect on the performance of your farm because it is difficult to scale and distribute the SharePoint workflow components. SharePoint 2013 uses the same mechanism of managing SharePoint 2010 workflows as SharePoint 2010 and therefore suffers from the same limitations.

A Workflow Manager farm can be installed on your SharePoint servers or on any servers, however, it is not good practice to install it on domain controllers. With SharePoint 2013, if you are a heavy user of workflows, you should consider creating a Workflow Manager farm separate from your SharePoint farm. Thus, you should install Workflow Manager on one or more servers that do not have SharePoint installed. However, be aware that SharePoint 2010 workflows will still run on SharePoint 2013 servers in the legacy SharePoint workflow engine, also known as the SharePoint 2010

workflow host. Only SharePoint 2013 workflows can make use of the Workflow Manager farm.

UX improvements

Microsoft has redesigned the SharePoint UX to be clean and simple. If you use a browser that supports HTML5, you can now drag files to upload them. You can also perform bulk metadata edits, quickly access document previews and context, and take advantage of single-click tracking of documents so that you can monitor your most important work. Microsoft has also made infrastructure changes that affect the speed at which content pages are rendered in the browser.

Cache service improvements

SharePoint 2013 uses a distributed caching mechanism that spans all of the SharePoint servers in the farm. Specific SharePoint components are programmed to take advantage of distributed cache; for example, social feeds, search, and authentication. Information related to these components is not cached on a per-server basis; the distributed cache mechanism is able to synchronize the data so that the same information is available across every web server. When content is saved in distributed cache, no round trip to the content database is needed for the second request.

Support for mobile devices

SharePoint 2013 provides improvements in rendering content and location-aware lists that can aid in mobile application development. Lists are made to be location-aware by using a new geo-location field. This field cannot be added when you create a list by using the browser; it must be inserted programmatically, and a new .msi package, SQLSysClrTypes.msi, must be installed on every SharePoint server that responds to web requests.

Supported web browsers

SharePoint 2013 supports several commonly used web browsers. Internet Explorer 8, Internet Explorer 9, and Internet Explorer 10 (when in desktop mode) have full support for all collaboration actions in SharePoint 2013. Versions of Google Chrome, Apple Safari, and Mozilla Firefox (and 64-bit versions of Internet Explorer) offer limited support. Internet Explorer 6 and Internet Explorer 7 are explicitly not supported.

New service applications

SharePoint 2013 contains three new service applications:

·     Machine Translation

·     Work Management

·     App Management

Of these three new service applications, only the Machine Translation service application can be used as a cross-farm service application; that is, it can be configured to be accessible from multiple SharePoint farms within your organization. The other two can only be used within a single farm.

The Machine Translation service application

This connects to the Bing cloud-based translation service by which users can employ machine translation on sites, files pages, and term sets located in the Managed Metadata Service (MMS). MTS can be configured by using its management page as shown below:

The Work Management service application

The Work Management service application (WMSA) provides functionality to aggregate tasks. With it, users can view and track their to-do’s and tasks from one central location: their My Site. Tasks are aggregated from a number of Microsoft products, including Microsoft Exchange 2013, Microsoft Project Server 2013, and SharePoint 2013.

The tasks are cached in the user’s My Site with a two-way synchronization so that they can either be updated in the user’s My Site or updated in the product where they were originated. Information concerning tasks held in Exchange 2013 is obtained by using the Work Management Synchronize with Exchange timer job, which runs every 5 minutes.

The WMSA is based on Provider model so that other systems can be integrated in the future.

The Central Administration website does not provide any management pages for this service application.

Any integration with this service must be done programmatically.

App Management Service

The App Management Service is used to access SharePoint Apps, which is a new application architecture for SharePoint 2013.

Deprecated/changed service applications

In this section let us discuss service applications that have changed or been deprecated.

Search Service Application

SSA has been completely re-engineered and is built on functionality from SharePoint Server 2010 enterprise search and FAST Search for SharePoint 2010. Now FAST Search does not exist as a stand-alone project.

SharePoint 2013 search uses a single object model for all SharePoint 2013 products. This means that SharePoint Foundation 2013 and the Standard or Enterprise editions of SharePoint Server 2013 all have the same underlying search object model.

SharePoint Search 2013 is not only used to help you locate content or people, it is also used in other components of SharePoint 2013, including eDiscovery, navigation, topic pages, and Internet-facing sites. Therefore, it should be one of the first service applications to be created.

Managed Metadata Service Application

MMS has become more robust. Tags can now have properties, and you can use these properties for site-based navigation. You can control how users create tags, and you can now “pin” terms to prevent accidental duplication of tags. MMS also includes improvements and additional capabilities in a multilingual environment, without the need to install language packs.

Office Web Apps

Office Web Apps is no longer a service application. It is now packaged as a separate product and installed on its own set of servers (farm). This way, you can scale, manage, and maintain Office Web Apps as a separate entity without affecting the installation of the SharePoint farm.

There is no licensing required for viewing documents in SharePoint 2013. But, if you want to create or modify documents by using Office Web Apps in SharePoint 2013, licenses will need to be purchased.

Office Web Apps needs to be installed on either Windows Server 2008 R2 or Server 2012. It does not need access to an SQL Server, because it does not create any databases. Office Web Apps uses a shared XML configuration file called Farm-Settings.xml for the farm, and then each server in the farm has its own Machine_Name.xml file. You cannot install Microsoft Exchange, SharePoint, Microsoft

Lync, SQL, or any version of the desktop Office programs on the same servers on which Office Web Apps is installed.

Web analytics

This is no longer a separate service application; it is now part of SharePoint’s search engine. Now, search provides social analytics that also provides information on what users are doing. You can find the analytic information for a site in an Excel file named usage.xlsx. This file can be accessed, on the site settings page, in the Site Administration section, under Popularity Trends.

SharePoint 2013 does not support the Web Analytics Web Part. When a site is upgraded to SharePoint 2013, any pages that include the Web Analytics Web Part will render a message that informs the user that the Web Part is no longer supported.

Microsoft SharePoint Foundation Subscription Settings Service

This service provides multitenant functionality or if you plan to use SharePoint Apps or host-named site collections, you will need to create this service application.

It still tracks subscription IDs and settings for service applications that are deployed in partitioned mode. All service apps in SharePoint 2013 can be partitioned. However, it still can only be deployed by using Windows PowerShell.

The User Profile service application

Users had difficulties with the User Profile service application (UPSA) in SharePoint

Server 2010. Following improvements have been done to resolve these problems:

·     Performance has been optimized.

·     Compatibility with Common Directory Service configurations, including Forefront Identity Manager (FIM) and generic Lightweight Directory Access Protocol (LDAP) providers.

·     Ability to monitor profile synchronization performance and stability.

·     The User Profile Replication Engine (UPRE) was a separate download in SharePoint 2010. This is now part of SharePoint Server 2013. Using UPRE, you can replicate user profile information and some social information between multiple farms.

Business Connectivity Service

Improvements to the Business Connectivity Service (BCS) in SharePoint 2013 include the following:

·     An additional connection protocol, Open Data (OData), has been included. This is an industry standard web protocol that is used to query and update data. In SharePoint 2013, you can now connect to an external data source by using OData.

·     Developers can create event receivers in SharePoint 2013 that are triggered when data in the external system has changed, as long as the external system provides a subscription and notifications interface. The application or user needs to subscribe to the external system for this to work.

·     Support for SharePoint Apps has been added. Business Data Connectivity (BDC) information can be included within a SharePoint App. The BDC runtime then creates an External Content Type (ECT) that is scoped at the SharePoint App level. In SharePoint 2010, ECTs could only be scoped at the service-application level.

·     SharePoint 2013 provides an event listener. This makes it possible for SharePoint users and custom code to receive notifications of events that occur in the external system.

·     External list performance improvements and the ability to export an external list to an Excel spreadsheet.

Access

There are now two service applications, as described here:

·     Access Services 2010 This represents the Access service application on SharePoint 2010, by which the tables in Microsoft Access database are stored as SharePoint lists on the site that was built from the Access web database site definition.

·     Access Services has been completely rebuilt When Access 2013 databases are published to SharePoint 2013, an Access web app site is created and data is now stored in a full-fledged SQL Server database, which is automatically generated in the SQL Server 2012 installation that was selected by a SharePoint administrator. SharePoint 2013 Access web app will not have the same limitations that SharePoint 2010 Access web databases had in terms of numbers of fields and sizes of tables.

·     Advanced users who are familiar with SQL Server will be able to directly connect to this database for advanced reporting and analysis with familiar tools such as Excel, Microsoft Power View, and SAP Crystal Reports. Access web app site now has far more capabilities for rich forms and reports than were provided in SharePoint 2010.

SharePoint development changes

Everything within SharePoint is now called an app—custom code is an app, a document library is an app, announcements list is an app, and access databases that you host within SharePoint are apps.

Developers now have the option of recomposing anything created in SharePoint 2010 as apps that can run on a different server or in the cloud, or can run on SharePoint 2013 servers.

The trend across the Internet with regard to services such as Facebook or LinkedIn is that when people add apps to those services, they are not adding code to the Facebook or LinkedIn servers. Apps are registered and published on those services. The app is run on other servers in the cloud, but they can integrate deeply with Facebook or LinkedIn.

You can publish your SharePoint 2013 or Office 2013 apps uniformly whether

your SharePoint installation is on-premises or in the cloud. SharePoint 2013 has support for the online SharePoint store, where you can use publically available apps which you might have to purchase or might be free. Alternatively, you can have an internal market place or you could use both the public store and an internal market place.

While developing a new solution, choices will be between farm solutions and SharePoint Apps. Sandboxed solutions will still work in SharePoint 2013; however, there are no improvements that Microsoft has made to them, other than they are tested for backward compatibility

SharePoint Apps management

Using or developing SharePoint Apps when SharePoint is hosted in the cloud is slightly easier than when using or creating them for an on-premises installation of SharePoint 2013. Microsoft has provided “Napa” Office 365 development tools with which developers can build apps for Office and/or SharePoint by using a browser window, with no need to install any other tool such as Microsoft Visual Studio. Before users can add a SharePoint App to their site and use it, SharePoint farm administration needs to complete a number of tasks to support SharePoint Apps in an on-premises installation of SharePoint 2013.

When you add a SharePoint App, a SharePoint App permission request is displayed, which you need to accept to use the SharePoint App. SharePoint Apps that have been added to a site from the Microsoft Online Marketplace then appear on the Your Apps page, in the Apps You Can Add section, on any site in the SharePoint farm. They can also be seen on the Site Contents page.

Database improvements

Two areas in which major improvements have taken place in SharePoint 2013 are the following:

·     Taking advantage of Microsoft SQL Server functionality.

·     Using shredded storage reduces the size of content databases when storing file versions and optimizes network traffic by reducing the need to transfer the entire document at one time.

SQL Server-related improvements

SharePoint 2013 can be used with either the 64-bit edition of Microsoft SQL Server 2008 R2 SP1 or Microsoft SQL Server 2012. SQL Server 2012 is Microsoft’s latest cloud-ready information platform. It extends the functionality found in Microsoft SQL Server 2008 R2.

SharePoint 2013 database improvements include the following:

·     All databases conform to Microsoft SQL Azure compliance criteria.

·     Redundant and unused tables are removed as well as indices to track links.

·     The design reduces Input/Output (IO) operations while browsing document libraries.

·     In SharePoint 2010, when a list contains more columns than can fit in a row in the content database, multiple rows are used. Such a list is known as a wide list. The occurrence of these lists is reduced in SharePoint 2013, which uses features such as sparse columns.

Shredded storage

This enhancement reduces the amount of data that is saved within the SQL Server content databases and reduces the amount of network traffic between the SharePoint web servers and the SQL servers. If a user downloaded a 200-KB Microsoft Word document from a SharePoint 2010 document library and then changed just one character in a sentence, the single change between the two files is not saved; instead, two 200-KB files are saved in the content database. In SharePoint 2013, only the changes made while editing a file are stored in the content database. This is known as shredded storage.

As a result, user can open a previously cached document, even if the SharePoint server is offline or not available. When a user saves a document to SharePoint, the document is uploaded to the server in the background; thus it seems as if the save happens immediately and control of the application is returned to the user nearly instantaneously, providing a great UX. It is not limited to Office-formatted files; it will work on any file type, such as PDFs. The SQL Server is able to manage the changes because the document is now not saved as one blob. Instead, it’s saved as multiple blobs.

 

Thus we see that Microsoft has channeled its efforts in making SharePoint 2013 a self-service product, heavily encouraging on no-code solutions, using browser and office applications for business needs..

Enjoy SharePointing!