SharePoint Architecture
AgendaSharePoint Foundation 2010 ArchitectureASP.NET 3.5 integrationSharePoint Sites, List, Document LibrariesSite Columns & Content TypesSharePoint Site Page Customization
Picking Your Topology
Availability
Perfo
rman
ce
SharePoint EnvironmentSharePoint data and content stored in SQL Server
Provides foundation for scaling to Web farm environmentConfiguration data stored in WSS configuration databaseSite content and customizations stored in content databases
SharePoint TerminologyFarmSPFarmSPFarm
Web ApplicationsSPWebApplicationSPWebApplication
Site Collections Site collectionSPSiteSPSite
Site SPWebSPWeb
Root Site
Sub sites
Field 1 Field 2 Field 3Item 1Item 2Item 3Item 4
Item -SPListItemSPListItem
List - SPListSPListField 1 Field 2 Field 3
File 1File 2File 3File 4
File – SPFileSPFileFolder - SPFolderSPFolder
Document Library - SPDocumentLibrarySPDocumentLibrary
Lists
Important WSS v3 ConceptsFarm
The highest-level scope for a SharePoint deploymentAn installation of one of more Web servers and back-end serversEach WSS farm has one and only one configuration DB
Web Application (a.k.a. Virtual Server) An IIS Web site extended with WSSEntry point capable of hosting 10,000s of site collections
Site Collection (a.k.a. Site)Unit of scale and ownership containing top-level siteStored in one specific content DB
Site (a.k.a. Web)Many per site collectionUses same content DB as parent site
MOSS 2007Windows SharePoint Services (WSS v3)
Site and Workspace Provisioning EngineOut-of-the-box Collaboration Services
Microsoft Office SharePoint Server (MOSS)User Profiles, Search, Workflows, WCMBDC, Excel Services, Forms Services, ECM
Windows SharePoint Services 3.0 (WSS v3)
Browser Clients
MS Word Clients
MS Outlook Clients
Microsoft Office SharePoint Server 2007 (MOSS)
Windows Server 2003 or 2008 (32-bit or x64)
Internet Information Services 6.0 or 7.0
.NET Framework 3.0
SharePoint Server 2010An evolved version of MOSS and WSS v3
Microsoft SharePoint Server 2010Microsoft SharePoint Foundation 2010 Development can now be done on client OS
Significant enhancement for many development teams
Microsoft SharePoint Foundation 2010
Browser Clients
MS Word Clients
MS Outlook Clients
Microsoft SharePoint Server 2010
Windows Server 2008 (x64 only) for Production Environments Windows 7 or Vista (x64 only) for Development Environments only
Internet Information Services 7.0
.NET Framework and ASP.NET 3.5 SP1
New Databases
SharePoint 2010 Team Site
Pages Everywhere
Every team site has a pages libraryCreate a new page with a single click
Just enter a nameReady to go
[[Wiki Linking]] to PagesListsItemsDocuments
Edit Like in Word
Single click editing experienceTransition to edit is quick and seamless
Type into page and format text like in WordFull set of rich text controls for formatting and layout
Streamlined insert experience for images, linksAsset library
Safe and Simple
Auto-save every minute, no data-loss
Only save if user made changes
Edit\Stop Editing – no promptsWhoops Protection
Rich Text Editor has undo stackVersioning turning on, in case you want to revert
Central Admin UI
Contextual
Ribbon
Server 2008 Style UI
Easier to find.
Site Settings
Site SettingsSite SettingsTitle, Description & Appearance
SharePoint as a Solution Platform
Microsoft SharePoint Foundation 2010 supplies core workspace services
Particularly suited for building scalable Web-enabled applicationsMicrosoft SharePoint Foundation 2010 provides out-of-box collaboration solutions
Operating System Services
Database Search Workflow
ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc.)
SharePoint Foundation 2010 Core Workspace Services
StorageRepositoryMetadataVersioningBackup
SecurityRights/RolesPluggable AuthPer ItemRights Trimming
MgmtAdmin UXDelegationProvisioningMonitoring
TopologyConfig MgmtFarm ServicesFeature PolicyExtranet
Site ModelRenderingTemplatesNavigationVisual Blueprint
APIsFields/Forms OM and SOAPEventsDeployment
Sites Communities
Portal Content Search Insights Composit
SharePoint Server 2010 Solutions Built On SharePoint Foundation 2010
Microsoft SharePoint Foundation
2010
ASP.NET Integration
ASP.NET 3.5
SharePoint Foundation 2010
ASP.NET 2.0
Windows SharePoint Services 3.0
WindowsSharePointServices
“Version 3”
SharePoint Foundation 2010SharePoint Foundation 2010 is built on ASP.NET 3.5
WSS integration in line with best practice ASP.NET extensibilityASP.NET 3.5 provides parser for .aspx pages from databaseASP.NET 3.5 provides new Web Part infrastructureASP.NET 3.5 offers Master Pages feature for page templatesASP.NET 3.5 offers rich navigation infrastructure
SharePoint Application Landscape
Customized Customized SharePoint SharePoint
Server 2010 Server 2010 WorkloadsWorkloads
Portal for LOB Portal for LOB Application DataApplication Data
Single Web PartSingle Web PartSolutionsSolutions
Business Business Collaboration Collaboration ApplicationsApplications
SitesA SharePoint site is a storage container for content
Site can contain lists which store list itemsSite can contain document libraries which store documentsSite can contain child sites help to partition and organize content
A SharePoint site provides a browser-based UISite provides customizable home page via Web PartSite provides Form pages for each list and document librarySite provides access to shared application pages
A SharePoint site provides a built-in security modelSite access configured in terms of users and groupsPermissions applied at site collection, site, list and item level
ListsList types designed to store content in form of items
Each list type defines schema including set of columnsList type includes Form pages (e.g. AllItems.aspx)List type can have multiple views
Creating a list instance from a list typeCreate list instance using WSS built-in list types (e.g. Contacts)Create list instance from custom list and define columnsUsers can add/remove/modify columns on list instance
List template used to create list type from instanceList instance can be template-ized from list settings pageList templates create new list types scope at site collection
Document LibrariesSharePoint Document Library is a hybrid list type
Provides support for uploading/storing documentsProvides support for document check-in/check-out Provides support for document versioningDocument images store in SQL Server content DB
Document Library has a document templateDocument template used when user clicks New command
Document Library can contain custom columnsProvide easy way to add metadata to documents
Data Storage ScenariosConsider the concept of the "list"
atomic unit of storage from prehistoric timesgrown up significantly since the days of flat-file databasesLists have been the foundation of each versions of WSS
The "list" in the EnterpriseHuge document libraries, record repositories, knowledge bases, web content, etc.
Key RequirementsScalable storageAccessible and discoverableMore server-side control over contentHighly customizable behaviors
Managing Content IssuesProblems with managing content in large companies
Many document types identified in an organization, but there is no clear way to enforce standardsThere's a need to create different types of documents and store them all in one central locationContent management application should make list of actions available to users depend on the type of content or document
WSS provides new features to solve these problems
Site ColumnsContent Types
Site ColumnsSite column is a reusable column definitions
Site column can be reused across multiple listsSite column scoped to site and stored in Site Column GallerySite column visible within site collection to all child sites
Using a Site Column in a ListSite Columns can be used in List Definitions
Site column represents a reusable, named column definitionSite column used in lists, document library or content typesUpdates to a site column can optionally be pushed out to lists, document libraries and content types where it has been used
Content TypesFoundation for content management in SharePoint
Reusable definition for list schema Defines constraints and requirements for an item typeCreated by users and developersReused and extended by users
Examples for Content TypesProposals for software projects
Requires authorRequires data for scheduling and budgetingRequires reviews by technical and finance departments
Customer presentationRequires authorRequires reviews by legal and art departments
Customer report for consulting workRequires consultant nameRequires hourly billing information
Content TypesA content type definition can include…
Columns to represent metadata or propertiesA document template on which to base documents of this typeCustom forms for New, Edit, and Display use with content typeEvent handlersWorkflows
Supporting Multiple Content Types
Lists can support multiple content typesMakes it possible to support heterogeneous content“New button” becomes a dropdown listInput and display forms change depending on content type
Inheriting Content TypesAllows base definition reuse across multiple types
Core properties can be defined in base content typeBase content type inherited by more specific content types Base Document
Litware Document
Litware Presentation
Litware Customer Report
Litware Proposal
Web Pages in SharePoint SitesSharePoint Sites have two kinds of pages (.aspx files)
Site pages that can be customized on a per site basisApplication pages that cannot be customized on a per site basis
Site pages are initially uncustomizedUncustomized version stored once on front-end Web serverUncustomized page also known as "ghosted" pageUpon editing, customized site page stored in content DB
Application pages only live on front-end Web server
Single copy of application page used for all WSS sitesServed out of the _layout virtual directory
The _layouts directory_layouts directory provides common point for sites
Configured as virtual directory for all WSS Web applicationsC:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS
Provides standard relative URL for all sites in Web Application/_layouts/SiteSettings.aspx
Used for WSS system application pagesCan also be used for custom application pages
Images directory configured in _layouts directoryUsed by Microsoft to deploy standard WSS images/_layouts/images/ALLUSR.GIF
Can also be used to deploy custom images/graphics
Child SitesWSS site can contain one or more child sites
Site hierarchy can be designed to partition and manage contentSecurity can be configure differently for each site in hierarchy