Welcome to the SharePoint Tutorials. The intent of these tutorials is to provide you an in-depth understanding of Microsoft SharePoint products. In these tutorials, we will cover topics such as SharePoint Architecture, Security, WebParts, Pages, etc.
In addition to SharePoint Tutorials, you can find interview questions, how-to tutorials, issues, and their resolutions.
Microsoft SharePoint is a web application platform developed by Microsoft. First launched in 2001, SharePoint has historically been associated with web content management and document management, but recent versions have significantly broader capabilities.
SharePoint is a multi-purpose tool designed to cater to web requirements common for most organizations. By default, SharePoint provides a Microsoft Office-like interface and is heavily integrated with the Office suite of tools. The tools are designed for non-experts to leverage web tools and functions without having to understand the underlying technical platform. SharePoint's tools can facilitate intranet portals, document & file management, collaboration, social networks, extranets, websites, enterprise search, and business intelligence. It also has capabilities around system integration, process integration, and workflow automation.
Learn SharePoint by Tekslate - Fastest growing sector in the industry. Explore Online "SharePoint Training"and course is aligned with industry needs & developed by industry veterans. Tekslate will turn you into SharePoint Expert.
SharePoint Foundation 2010 provides the core engine, services, and facilities for creating and using templates. This core functionality employs Microsoft programming and Web platforms, such as ASP.NET; it can be enhanced and extended by developing custom templates, Web Parts, and code.
SharePoint Server 2010 significantly extends the functionality and capability beyond the core services offered by SharePoint Foundation. There are different editions of SharePoint Server 2010; some of the service applications and functionality discussed in this paper will only be available in Enterprise Edition.
In SharePoint 2007 the versions we became very familiar with were:
For SharePoint 2010 it has changed to:
SharePoint 2010 has not changed from a Tier perspective. There are Web, Application, and Database tiers. What’s important is it to understand is how to architect those tiers. For SharePoint 2010 the Application tier has changed significantly as it is more sophisticated than what was available in SharePoint 2007. Some things that we will get into within this series are creating service farms and partitioned services.
SharePoint offers integration and ease-of-use benefits when used in conjunction with Microsoft Office Client applications. For example, documents stored in a SharePoint library can be directly opened from Microsoft Word, PowerPoint, or Excel. Also, from within Microsoft Outlook, users can subscribe to and display list items from a SharePoint site or RSS feeds provided by a SharePoint-powered blog. Users can also create blog entries directly from Word. This integration makes data stored in a SharePoint infrastructure more accessible to end-users.
SharePoint Designer 2010 is a client application that simplifies the creation of custom sites, templates, applications, and WebParts. SharePoint Workspace 2010 enables synchronization with SharePoint document libraries and provides the ability to access view, and edit documents when working offline.
Integrating with Other Microsoft Server Applications Installing a server farm for SharePoint Server 2010 requires the inclusion of certain infrastructure and services to fully exploit all SharePoint features and functionality. For example, Active Directory (AD) is a pre-requisite, because it provides authentication and authorization among the servers in a farm and can be used to import user profile information from AD into SharePoint. If your farm is heavily used, adding additional directory servers may be necessary to handle the authentication traffic.
When designing and maintaining a SharePoint solution, it is important to understand the various levels at which information is organized and contained. The containers within a SharePoint infrastructure are outlined in Table 1. The most granular individual items are located at the bottom of the table, and the level of aggregation increases as you progress to the top of the table. These containers provide physical and logical boundaries to consider while designing and deploying a SharePoint infrastructure.
|SharePoint Farm||A set of servers that collectively provide the databases, applications, and Web services that comprise a SharePoint solution|
|SharePoint Servers||Individual servers that run the operating system and application software required to perform roles or provide services for the SharePoint farm. Examples include a Web front-end server, an application server, and a database server|
|IIS Application Pool||A container that is configured within the Internet Information Server (IIS) to constrain a defined set of content to operate within a defined set of system processes. Application Pools provide logical barriers that protect against the threat of a compromised site being used as a vector to attack other sites hosted on the same Webserver|
|IIS Web Application||An IIS Web site with a unique domain name that is created and used by SharePoint products. Three Web applications must be configured: Central Administration, Shared Services Provider (SSP), and content. Additional Web applications may be useful for providing content isolation or for establishing distinct management or SLA boundaries within the farm.|
|SharePoint Database||Individual SQL Server databases that are used to store information about or data from within a SharePoint farm. The core databases used by SharePoint are Configuration, Administration, SSP, Search, and Content. Depending on its architecture and needs, a farm may feature multiple SSP, Search, and Content databases|
|Site Collection||A set of sites that feature the same owners and administrative settings (such as content types or quotas). A site collection features a top-level Web site and may also contain several sub-sites. Generally, all of the sites within a site collection share a common navigational design. One content database can host multiple site collections, but data from a given site collection must reside in the same content database. Similarly, one or more site collections may be configured within the same Web application|
|Site||A set of Web pages stored within a site collection that delivers common features or content to users. Sites may be structured, such as a top-level portal site, or maybe ad hoc, such as team sites for collaboration. MOSS provides templates for several types of sites, such as blogs, wikis, team sites, and portals|
|List||A means of collecting, storing, and organizing data within a site. Some common examples include document collections, calendars, and tasks|
|Item||An individual data object within a list. Some common examples include document or image files, contacts, and calendar entries|
To summarize, SharePoint Server is a system with the following capabilities:
SharePoint products and technologies provide a scalable architecture that can be appropriate for several users or 100,000 employees of a large corporation. For websites outside the firewall, SharePoint Server 2010 for Internet Sites enables you to build scalable, flexible websites that you can maintain with the ease of maintaining a SharePoint site.
SharePoint integration with the Microsoft Office 2010 system is important. You can take advantage of this integration to build solutions in such a way that—regardless of whether the users are in an Office client application or in a web browser—the features of your application are discoverable and convenient for them..
You can find much information about SharePoint capabilities from the Microsoft SharePoint 2010 Product Overview. The capabilities include the following:
What are the varieties of applications that SharePoint developers build? This resembles asking the question about the varieties of applications that you can build on an operating system. Developers are creating uses for SharePoint that cover many scenarios. Here are several varieties of applications.
Although many examples of SharePoint applications fit into one of these categories, this list is definitely incomplete.
Changes in end-user functionality added in the latest version of SharePoint include:
Support for SharePoint Workspaces 2010
Major Server-side or Developer changes include:
Additional changes exist in paid/advanced versions of SharePoint 2010 SharePoint 2010 Overview
SharePoint 2010 Architecture
The most common uses of SharePoint include:
A SharePoint intranet portal is a way to centralize access to enterprise information and applications on a corporate network. It is a tool that helps a company manage its data, applications and information more easily. This has organizational benefits such as increased employee, centralizing process management, reducing new staff on-boarding costs, and providing the means to capture and share tacit knowledge (e.g. via tools such as wikis/blogs)
SharePoint is often used to store and track electronic documents or images of paper documents. It is usually also capable of keeping track of the different versions created by different users. In addition to being a platform for digital record management systems that meet government and industry compliance standards, SharePoint also provides the benefit of a central location for storing and collaborating on documents, which can significantly reduce emails and duplicated work in an organization.
SharePoint can be used to provide password-protected, web-facing access to people outside an organization. Organizations often use functionality like this to integrate third parties into supply chain or business processes, or to provide a shared collaboration environment.
Using the 'Publishing' feature, SharePoint can be used to manage larger public websites.
Configuration and customization Web-based configuration
SharePoint offers a fluent ribbon user-interface that should be familiar to users of Microsoft Office. This interface provides a general user interface for manipulating data, page editing ability, and the ability to add functionality to sites.
Broadly, the web-based interface provides the ability to:
Customizations may be surfaced via
Core platform functionality
A SharePoint Site is a collection of pages, lists, and libraries configured for the purpose of achieving an express goal. A site may contain sub-sites, and those sites may contain further sub-sites. Typically, sites need to be created from scratch, but sites can also be created according to pre-defined templates that provide packaged functionality. Examples of Site templates in SharePoint include: Blogs, My Sites, collaboration (team) sites, document workspaces, group work sites, and meeting workspaces.
Sites have navigation, themes/branding, custom permissions, workflows, and have the ability to be configured or customized in a number of ways. In order to achieve a greater degree of maintainability, sites typically inherit site-level settings from their parent sites.
Lists and libraries are stored in SharePoint Sites. A List can be thought of as a collection of pieces of information — all of which (typically) have the same properties. For instance, you can have a list of links called "my links", where each item has a URL, a name, and a description.
Lists have many features such as workflows, item-level or list-level permission, version history tracking, multiple content-types, external data sources, and many more features. Some of these features depend on the version of SharePoint that is installed.
A Library is a list where each item in the list refers to a file that is stored in SharePoint. Libraries have all the same behaviors as lists, but because libraries contain files, they have extra features. One of these is the ability to be opened and modified through a compatible WebDAV client (e.g. Windows Explorer).
Microsoft SharePoint comes with some pre-defined list and library definitions. These include: Announcement Lists, Blogs, Contacts, Discussion Boards, Document Libraries, External Content (BCS) lists, Pages, Surveys, and Tasks.
Some of these pre-defined lists have additional integration. For example, lists based on the contact content-type can be synced directly with Microsoft Outlook.
Web-parts are sections that can be inserted into Pages in SharePoint sites. These sections are UI Widgets whose typical uses are
Web-parts based on completely custom code can be built in Microsoft Visual Studio 2010 and uploaded by end-users to SharePoint as packaged, sandboxed features. Due to the prevalence of SharePoint, third-party vendors often provide SharePoint web-parts for intranet sites.
SharePoint Web-parts were formerly implemented separately from ASP.NET Web-parts, but as of SharePoint 2007, SharePoint's Web-parts are now based on it.
SharePoint has three primary page content-types: Wiki pages, Web-part pages, and Publishing Pages. Unlike prior versions of SharePoint, the default page type is a 'Wiki Page', which enables free-form editing based on the ribbon toolbar. It is possible to insert Web-parts into any page type.
SharePoint Foundation contains a limited search engine. Microsoft produces a free product called Microsoft Search Server Express to complement SharePoint Foundation. Different SharePoint search versions offer different features, including the ability to search within documents and - except in cloud environments: across external data sources (such as file systems). You can read a SharePoint Enterprise Search features deep comparison .
The SharePoint platform is a flexible, n-tier service-oriented architecture (SOA). It can be scaled down to operate entirely from one machine, or scaled up to be managed across hundreds of machines.
A SharePoint farm is a logical grouping of SharePoint servers that share common resources. A farm will typically operate stand-alone, but it can also subscribe to functionality from another farm, or provide functionality to another farm. Each farm has its own central configuration database, which is managed through either a Power Shell interface, or a Central Administration website (which relies partially on Power Shell’s infrastructure). Each server in the farm is able to directly interface with the central configuration database. Servers use this to configure services (e.g. IIS, windows features, database connections) to match the requirements of the farm, and to report server health issues, resource allocation issues, etc.
Web Applications (WAs) are top-level containers for content in a SharePoint farm, and are typically the interface through which a user interacts with SharePoint. A web application is associated with a set of access mappings or URLs which are defined in the SharePoint central management console, then automatically replicated into the IIS configuration of every server configured in the farm. WAs are typically independent of each other, have their own application pools, and can be restarted independently in IIS
A site collection is used to provide a grouping of 'SharePoint Sites'. Each web application will typically have at least one site collection. Site collections may be associated with their own content databases, or they may share a content database with other site collections in the same web application.
Service Applications (SAs) provide granular pieces of SharePoint functionality to other web and service applications in the farm. Examples of service applications include the User Profile Sync service, and the Search Indexing service.
An SA can be turned off, exist on one server, or be load-balanced across many servers in a farm. SAs are designed to be as independent as possible, so depending on the SA — restarting an SA, experiencing an SA failure, or misconfiguring an SA may not necessarily prevent the farm from operating. Each SA enabled on the farm typically has its own process that requires a certain amount of RAM to operate, and typically also has its own configuration database and Active Directory (AD) service account. SharePoint Server and SharePoint Enterprise include all the SharePoint Foundation SAs, as well as additional SAs.
The modular nature of SharePoint's architecture enables a secure 'least-privileges' execution permission best practice
SharePoint Central Administration (the CA) is a web application that typically exists on a single server in the farm; however it is also able to be deployed for redundancy to multiple servers. This application provides a complete centralized management interface for web & service applications in the SharePoint farm, including AD account management for web & service applications. In the event of the failure of the CA, Windows Power Shell is typically used on the CA server to reconfigure the farm.
The structure of the SharePoint platform enables multiple WAs to exist on a single farm. In a shared (cloud) hosting environment, owners of these WAs may require their own management console. The SharePoint 'Tenant Administration' (TA) is an optional web application used by web application owners to manage how their web application interacts with the shared resources in the farm.
Important changes that you should be aware of:
Knowing what we now know, when scaling out these services we will take the following into consideration:
Some side notes:
Given this flexibility in service configuration you now can:
We will put these rules for Service Applications into action in the next part of this series.
In SharePoint 2007 we commonly had to configure the following services:
In many cases with SharePoint 2007 implementations services were not configured correctly. This resulted in poor performance and the inability to scale to meet business demand. Many people implementing SharePoint 2007 did not understand that both a logical and physical architectures have to be aligned to how SharePoint services will be utilized. This will be a problem for many on the 2010 platform.
As discussed the service architecture has changed for SharePoint 2010 in many ways. Before we dive into all of the strategies of how services should be aligned in both the logical and physical architectures let us understand what the new services are.
Here is a list of services for SharePoint 2010. I found several pieces of information and I manually created this table with the information that I have.
|Services||Description||Service Application||Cross Farm||Partitioning||Available On|
|Access Database Services||New service that allows for viewing, editing and interacting with MS Access through a browser.||Yes||No||Yes **||SharePoint Server 2010 Enterprise|
|Application Registry Service||Enables users to search and collaborate around business data. Provides backward compatibility to BDC service.||No||No||NA||SharePoint Foundation 2010 and up|
|Business Data Connectivity||Access to line of business systems. Service now supports writing to data services.||Yes||Yes||Yes||SharePoint Foundation 2010 and up|
|Central Administration||Central Admin Site||No||No||NA||SharePoint Foundation 2010 and up|
|Document Conversions Launcher Service||Schedules and initiates document conversions.||No||No||NA||SharePoint Foundation 2010 and up|
|Document Conversions Load Balancer Service||Balances document conversions across the SharePoint farm.||No||No||NA||SharePoint Foundation 2010 and up|
|Excel Calculation Services||Ability to interact with Excel files in a browser. New extended functionality.||Yes||No||No||SharePoint Server 2010 Enterprise|
|Lotus Notes Connector||Index service connector to index Lotus Notes Domino Servers.||Yes||Yes||Yes||SharePoint Server 2010 Standard and up|
|InfoPath Service||Supports hosting InfoPath forms in SharePoint.||No||Yes||Yes **||SharePoint Server 2010 Enterprise|
|Managed Metadata Service||New service that manages taxonomy structures and definitions.||Yes||Yes||Yes||SharePoint Server 2010 Standard and up|
|Microsoft SharePoint Foundation Incoming E-mail||Email service. This will run on the machine where the web application is running.||No||No||NA||SharePoint Foundation 2010 and up|
|Microsoft SharePoint Foundation Subscription Settings Services||New service used to track subscription IDs and settings for services that deployed in partition mode.||Yes||NA||NA||SharePoint Foundation 2010 and up|
|Microsoft SharePoint Foundation User Code Service||New service runs code deployed as part of a sandbox solution and runs in restricted mode. Must be started on any machine in the farm that needs to run Sandbox code.||No||NA||NA||SharePoint Foundation 2010 and up|
|Microsoft SharePoint Foundation Web Application||The service that runs the web application.||No||No||NA||SharePoint Foundation 2010 and up|
|Microsoft SharePoint Foundation Workflow Timer Service||Responsible for running timer jobs.||No||No||NA||SharePoint Foundation 2010 and up|
|PerformancePoint||BI Dashboard services.||Yes||No||NA||SharePoint Server 2010 Enterprise|
|PowerPoint||New services that allows viewing, editing and broadcasting PowerPoint in a browser.||Yes||No||Yes **||SharePoint Server 2010 Enterprise|
|Project||Host project server 2010.||Yes||No||Yes||Additional server product.|
|Search Query and Site Settings Service||Service that performs a query across built indexes.||Yes||Yes||Yes*||SharePoint Server 2010 Standard and up|
|Secure Store Service||Service provide SSO authentication.||Yes||Yes||Yes||SharePoint Server 2010 Standard and up|
|SharePoint Foundation Search||Service that provides search capabilities for SharePoint Foundation Search only. For SharePoint Server 2010 Standard and Enterprise this service will perform online Help search.||No||No||NA||SharePoint Foundation 2010 and up.|
|SharePoint Server Search||Crawls content, creates indexes and performs queries. Automatically configured.||Yes||Yes||Yes*||SharePoint Server 2010 Standard and up|
|State Service||New services that provides temporary storage of user session data for SharePoint components.||Yes||No||Yes **||SharePoint Server 2010 Standard and up|
|Usage and Health Data Collection||Reporting services that provide farm wide usage and health.||Yes||No||Yes||SharePoint Foundation 2010 and up|
|User Profile||New and expanded social networking services and features.||Yes||Yes||Yes||SharePoint Server 2010 Standard and up|
|User Profile Synchronization Service||Synchronizes user and group profile information that is stored in the SharePoint Server 2010 profile store with profile information that is stored in directory services across the enterprise. Works with AD, BDC, Novel LDAP and Sun LDAP (more info).||Yes||Yes||Yes||SharePoint Server 2010 Standard and up|
|Visio Graphics Service||Ability to view published Visio diagrams in a browser.||Yes||No||Yes **||SharePoint Server 2010 Enterprise|
|Web Analytics Data Processing Service||Captures data for analytics.||Yes||Yes||Yes||SharePoint Foundation 2010 and up|
|Web Analytics Web Service||Web service interfaces for analytics.||Yes||Yes||Yes||SharePoint Foundation 2010 and up|
|Word Automation Services||Service that performs automated bulk document conversions.||Yes||No||Yes **||SharePoint Server 2010 Standard and Up|
* FAST Search cannot be partitioned. ** Supports partitioning but is not needed because there is no tenant data.
SharePoint 2010 Changes
The biggest change in SharePoint 2010 is the flexibility you now have with the configuration and re-use of services. In the previous blog in this series I identified several rules that you should know which will directly apply to how the logical architecture of SharePoint 2010 would be done. Here they are again:
In the following sections I have indentified some common scenarios for configuration of SharePoint 2010 logical topology based on these rules. It will not be possible in this blog to go over every permutation these rules.
As well best practices for the configuration of these services is still not very well known other than the information is being provided to us by Microsoft and our experiences with SharePoint 2007. However you should be able to take these examples and use them as a way to start doing some early planning for implementation SharePoint 2010.
Side Note – If you are familiar with some of the logical topology diagrams that are provided by Microsoft they usually include Application Pools in those diagrams. I have decided to exclude that from these diagrams to make understanding the logical topology simple. Albeit understanding how the Applications Pools are incorporated into the topology is extremely important (security and fault tolerance). Usually when architecting a SharePoint topology I start with understanding how I want to organize service to achieve the best possible performance, security and redundancy. Once I have that organized, I will then use Application Pools to help attain those tenants.
Single Farm Single Service Group
This first topology depicts a standard SharePoint farm that has a single service group that is shared across all types of sites. Any time new sites are added within this farm, they will have access to all of the services that are available in the Default Application Group.
Single Farm Multiple Service Groups
This second example is a reconfiguration of the previous farm; the difference is that multiple Application groups have been created. There is a Default Application Group which has some of the core Service Applications that can be used by all the sites. Some sites, however, will have dedicated services. You will want to have dedicated services for scalability, performance and security reasons and this will be covered later on from a physical perspective.
Second you will notice that Search has been centralized as part of the default application group and has been made a resource to all the sites. This is because it is a resource intensive process and it is not likely
In this farm configuration we have broken it out and created several independent SharePoint farms that still use central services farm.
Multi-Farm with Application Service Partitioning
This farm configuration introduces service partitioning into the pervious diagram. Service partition is introduced in the previous blog in this series. It is recommended that all services be partitioned when they are initially set up, even if one partitioned is only used. It is not possible to change a service to allow for partitioning after it has been started in an un-partitioned state.
Hosted Partitioned Farm
The last farm configuration I will introduce to you is the concept of a completely hosted farm. This is a very interesting scenario because you were not empowered to do this very well with SharePoint 2007. Some SharePoint service companies provided SharePoint hosted solutions but given what was available in SharePoint 2007. Now with SharePoint 2010 and Microsoft Azure those limitations have been removed.
SharePoint 2010 Database Layer
Microsoft SharePoint Server 2010 introduces both new databases and databases whose distribution and purpose differs over previous versions of Microsoft SharePoint Products and Technologies. This post details the changes in the Microsoft SharePoint Server 2010 database layer. This section provides information about Shared Service Applications that have a database dependency and is not an exhaustive list of all Shared Service Applications available in Microsoft SharePoint Server 2010. At the time of publication this is not 100% complete.
Usage and Health Data Collection Service
The Usage and Health Data Collection Service collects and logs SharePoint health indicators and usage metrics for analysis and reporting purposes.
The logging database is the Microsoft SQL Server, MSDE, or WMSDE database that stores health monitoring and usage data temporarily, and can be used for reporting and diagnostics.
The Administration Database is what the Shared Services Provider database was in Microsoft Office SharePoint Server 2007 and is instantiated once per Search application aligning with the Administration Component. The Administration Database hosts the Search application configuration and access control list (ACL) for the content crawl.
The Property Database stores crawled properties associated with the crawled data to include properties, history data, crawl queues, etc.
The Crawl Databases host the crawled data and drives crawl - the Crawl Database is what the Search database was in Microsoft Office SharePoint Server 2007.
Web Analytics Service
The Web Analytics Service provides rich analytics giving you insights into your web traffic, search, and SharePoint assets enabling you to better understand your user and deployments. With SharePoint Web Analytics, you’ll be able to tailor the system to meet the needs of your users, optimize how they use and discover information, and create targeted content for your sites.
The Web Analytics Staging database is the working database that stores un-aggregated Fact Data, asset metadata, queued batch data, and provides short term retention of this content.
The Web Analytics Reporting database stores aggregated standard report tables, Fact Data aggregated by Site Group, date, and asset metadata in addition to diagnostics information.
The configuration database handles all administration of the deployment, directing requests to the appropriate database, and managing load-balancing for the back-end databases. When a front-end Web server receives a request for a page in a particular site, it checks the configuration database to determine which content database holds the site's data. You can run the
configuration database on the same computer as a Web server or on a remote computer running Microsoft SQL Server. The configuration database concepts are relatively unchanged in Microsoft SharePoint Server 2010. In Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0 the Sitemap table was stored in the configuration database which provided information about which content database contains data for a given site. When Windows SharePoint Services or Microsoft Office SharePoint Server 2007 received the URL of a request, settings in this database determine which content database contains data for the site. In Microsoft SharePoint Server 2010 and Windows SharePoint Services 4.0 the Sitemap is serialized to disk to improve performance and reduce database callback operations that could result in contention when serving requests on large server farm deployments.
The back-end content database stores all site content, including site documents or files in document libraries, list data, and Web Part properties, as well as user names and rights. All the data for a specific site resides in one content database on only one computer.
Central Administration Content Database
See also Content Database.
Shared Services Provider (SSP)
The Shared Services Provider layer is obsolete in Microsoft SharePoint Server 2010 replaced with Shared Services Applications, to understand changes in database design associated with the Shared Services Provider database, see also Search and People in this section.
A Microsoft Office SharePoint Server 2007 Shared Services Provider when upgraded will result in a new Search, User Profile, Excel Services, Application Registry Backwards Compatibility, and Managed Metadata Service shared services applications. New databases will be created as required to support the upgrade and Web application settings are preserved through establishing a proxy for each service application.
You liked the article?
Like : 0
Vote for difficulty
Current difficulty (Avg): Medium
TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.
Get stories of change makers and innovators from the startup ecosystem in your inbox