a close look inside the sharepoint engine randy williams, mvp moss synergy corporate technologies...

24
A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies [email protected] om

Upload: lee-stevens

Post on 26-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

A Close Look Inside the SharePoint Engine

Randy Williams, MVP MOSS

Synergy Corporate Technologies

[email protected]

Page 2: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Session Overview

• SharePoint as a Product and Technology• Provisioning Engine

● IIS● SQL Server● Application / Site Pages (12 Hive)

• Execution Engine● ASP.NET

• Virtualization and Redirection

Page 3: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SharePoint Product Stack

Windows Server

IIS

.NET Framework

WSS

ADSQL

Server

MOSS

Page 4: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SharePoint Layers

.NET 2.0 Framework

.NET 3.0 Framework

WSS & MOSS UI

Windows APIOS

.NET

SharePointTechnologies(API)

Web Services

SharePointProducts

SharePoint Object Models

Page 5: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Layers in Action

Object Model

UI

Windows API

Web Services

.NET Framework

WordBrowserClient

Server

External Systems

Page 6: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Role of IIS

• Requests are directed to IIS Web Site● Defined by IP address, port & host header

• Virtual Directories• Application Pools

● Defines worker processes (w3wp.exe) ● Isolation vs efficiency● Process identity

• Coordinates authentication● Active Directory (Kerberos/NTLM/Basic)● LDAP / FBA

Page 7: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

ASP.NET

• Part of .NET Framework 2.0• Integrates with IIS via ISAPI extension

● aspnet_isapi.dll• Provides processing engine for pages

● .aspx, .ascx, .master, etc.• Configured using web.config

Page 8: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

web.config

• XML file for SharePoint configuration• One per web application• Controls provisioning engine• Controls authentication• Defines security

Page 9: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Provisioning Web Applications

• SharePoint creates/extends IIS Web Site● Creates files inside inetpub\wwwroot● Customizes web.config● Creates four virtual directories● Replicates this on multiple WFEs

• Done using Central Admin or stsadm• Requires farm-level admin• All site collections and webs are virtual

Page 10: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Role of SQL Server

• Repository for config, search, and content databases

• Config database● Farm-wide configuration settings

• Accessing tables directly is strongly discouraged and unsupported

Page 11: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SQL Content Database

• Container for site collections● Holds all SharePoint content

• Basic rules● Web application can have more than one● One database cannot span Web applications● One site collection cannot span db’s

• With Windows authentication, login to SQL is with app pool identity

Page 12: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SQL Content Database

• When creating a site collection● SharePoint selects “most available” db

• Based on site warning and max number levels

● STSADM –o createsiteinnewdb to specify● STSADM –o mergecontentdbs to move

• Best practices● Keep db’s small (< 100-200 GB)● Spread site collections among multiple db’s

Page 13: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Demo - Provisioning Web Application

Page 14: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

12 Hive

• SharePoint’s file system components● C:\Program Files\Common Files\Microsoft Shared\

web server extensions\12\

• Contains:● Application pages● User controls● Web services● Assemblies and executables● Site definitions● Features

Page 15: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

12 Hive

• Web Service files

• Admin Pages

• User Controls

• Features

• Images

• Application Pages

• Site Definitions

• Custom Field Types

Page 16: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SharePoint as a Provisioning Engine

• Primary design goals● Scalable● Flexible (Customizable)

• Challenges in achieving both• The solution is to support different types of

pages● Application pages● Site pages

Page 17: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Application Pages

• Farm wide - stored in 12 Hive● Referenced in _layouts virtual directory

• Shared by all webs, site collections and web applications

• Example● http://contoso/_layouts/settings.aspx● http://contoso/web/_layouts/settings.aspx● http://www.contoso.com/_layouts/settings.aspx

Page 18: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Site Pages

• Consist of list pages, home pages, master pages, new pages created, and others● NewForm.aspx, default.aspx, mypage.aspx

• Can be stored in 12 Hive or content database

• Can be customized using SPD● Customized vs uncustomized

Page 19: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Uncustomized Pages

• Similar to application pages• Stored in 12 Hive

● SiteTemplates & Features folders• Page is virtualized across multiple

SharePoint webs• Pages are compiled and code is cached• Very scalable• AKA ghosted pages

Page 20: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Customized Pages

• Site page that has been modified using SPD

• Now stored in content db• Page is not compiled

● Security risks• Page is not cached• Much slower due to overhead• Very flexible

Page 21: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Virtualization and Redirection

• Q: How does SharePoint support both customized & uncustomized pages?

• A: By a virtual path provider called SPVirtualPathProvider

• Part of SPRequest HTTP module● Referenced in web.config

• Based on ASP.NET 2.0 technology

Page 22: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

SharePoint’s HTTP Request Pipeline

Browser W3wp.exe

ASP.NET ISAPI

SPVirtualPathProvider

Content db

File System

Customized

Uncustomized

HTTP.SYS

Page 23: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Site Page Rendering

Master Page

NavCSS JS

Images

WebPartManager

Site Page

Master PageWeb

Parts

WebPartZoneWebPartZones

DelegateControls

ContentPlace

Holders

Page 24: A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Questions?

• My blog● http://sharepointhawaii.com/randywilliams