Thursday 28 June 2012

SharePoint Architecture (SPA)


 These are the core components of SharePoint: What are those?
  1. Database Server
  2. Web Server
  3. SharePoint Application Server

SP 2010 Architecture
SharePoint supports only SQL databases to store SharePoint Contents

IIS Structure


Application Pool: What is it?

It is a logical container that groups set of web applications run on a physical win 32 process for better control and for better management.
Application Pool serves three purposes:
  1. Application Isolation in execution
  2. If multiple web application have same privilege then group them under same identity
  3. Application recycling
  • Process dumping. It may happen by resource throttling or idle time out.
  • Resource throttling can happen at two levels









Note: For every application pool a w3wp.exe is created.

Web Garden: What is it?
Set of worker process run together to load balance request

Web site: What is it?
Network port bound listener that handles incoming web request.
A logical directory that hides         specialized virtual directory that runs on different resource set
Physical directory from web           such as application pool

Integrated Pipeline mode: What is it?
IIS is set to integrated pipeline mode for SharePoint and that is the recommended mode for SP.
IIS configuration mode is up by three XML files
  • Application configuration
  • Application host configuration
  • Redirection Configuration – useful for shared configuration
WPAS – Windows process Activation Services (Spins the process)

Web Application: what is it?
It is a logical stuff to hide everything from IIS. When a web application is created following actions are performed.
  • Create content database
  • Register web application into SharePoint configuration database
  • Create set of Virtual Directories for page control and services
  • Create web.config with SharePoint settings

Web Application Extension with SharePoint Farm: what is it?
Another IIS gateway created based on existing web application to use same config file
Multiple sp servers joined together for scalable configuration of SharePoint Services and use same config file.

Zone: What is it?
Set of policy for internet websites.  For every web application you will have zone

Alternate access mapping: What is it?
For every web application, web application extensions created in the SharePoint, an AAM entry is registered in the configuration database to describe possible URLs using which content database can be accessed.

Web Site: what is it?
Any ASP.NET site which make use of SharePoint Features. Can be created in the root level/sub level

Site Quota: what is it?
Take control of size of the site collection to restrict the sandboxed points.   

SharePoint 2010 – Architecture Design


Biju Joseph
MCTS - SharePoint Application Development.


SharePoint 2010 – Work Flows

Pre-requisite for creating custom work flows
  1. NET Framework 3.5 (Web service | Ado.net | WCF)
  2. ASP.NET 3.5
  3. InfoPath 2010 – design and customise
  4. Windows Work Flow foundation 3.5
  5. SharePoint 2010


SP Work Flow is all about adding human/people interaction to business processes for

  • approval,
  • Awareness
  • Accountability
  • Take control over
  • Decision Making


SPWF is built on the top of Windows Work Flow Foundation API 3.5


Types of SP Work Flows

  1. Simple Content Approval(doesn’t use work flow foundation, it is a simple column status changes)
  2. Out of the box work flow templates(Available only on SharePoint Enterprise edition)
  3. Visio based
  4. SharePoint designer Work Flow
  5. Re-usable work flow
  6. Site work flow
  7. Custom work flow using Visual Studio


Work flow Features

  1. Built in support to work flow persistence secured and stored in content databases
  2. Different types of work flow templates provides out of the box for common senarios
    1. Approval
    2. Collect Feed back
    3. Collect signature
    4. Three state
    5. Disposition approval
  3. Options to extend and customize out of the box work flow templates
  4. Multi stage approval support to the built in templates
  5. Visio based work flow templates(It clearly separates abstract business process flow designed by Business Analyst and concrete implementation by developer)
  6. Options to export work flow implementation to Visio diagrams
  7. Options to work flow implementation into wsp deployment package.
  8. Visio based work flow visualization summary
  9. SP designer based work flow for
  10. API for building custom activities for SPD based work flow
  11. Parallel execution option support in SharePoint designer based work flow
  12. New work flow event receivers to respond to workflow run time state changes (event receivers are specialized components that handle events generated by SP infrastructure for custom actions.
    1. Types of Event Receivers
      1. Feature event receivers
      2. List ER
      3. Item ER
      4. Work Flow ER
      5. Incoming Email ER
  13. Visual studio project templates for custom work flow
  14. Work Flow object model and web service support for programmatic access
  15. Site work flow for handling interaction with multiple libraries and lists.
  16. Reusable work flow for supporting multiple content types
  17. SharePoint designer improvements with regards to creating InfoPath forms for site work flow , re-usable work flow and SPD work flow

SharePoint 2010 - Features


1.       Repository to share any kind of Information  in the form of list & library
a.       External list Representation of external data
b.      Allow to custom list in the form of InfoPath
c.       Content Retention Policy(Multi State Policy)
d.      Storing list content outside the database
a.       RBS – Remote Blob Storage
b.      Define the limit for what to be stored outside the database
e.      List Throating – defines quires with row limits
f.        Server side Pagination – 2007 only client side pagination was allowed
g.       CAML is used to query SP database, CAML – collaborative application mark-up language, SP take advantages of it.
2.       Provide classic features to repositories
a.       Versioning
b.      History of Changes
c.       Item Level Security
3.       Columns – provide metadata property management to repositories
a.       Clusters or non-clusters indexes PK/FK
b.      List or Library columns, Site columns
c.       Clusters or non-clustered indexes on columns (limited to have only 20 indexes)
d.      Referential integrity improvements (PK, FK, Cascade delete and restricted delete
e.      Column validation
f.        Content Rating
g.       Managed Meta Data(Taxonomy Services and Foxonomy)
Taxonomy
Foxonomy
Structured
No Structured
Hierarchical
May not be hierarchical
Managed by Administrators
Managed by users
h.      Meta data based navigation
i.         Search result refinement support based on Meta data, Meta data is eligible for search refinement.
4.       Provides Template Management Support.
1.       Content Type Hub – to distribute using publishes and subscribe model (In 2007 administrator had to install in every site one after another after each changes.)
2.       Reusable Workflow support to content type ( In 2007 you create a work flow and attach to a content type, in 2010 we can have a work flow and it can be reused for any number of content type wherever applicable)
5.        Provides enhanced authentication & authorization features:  2007 takes advantage of ASP.NET Authentication and provides either windows/forms authentication. (2010 Takes advantage of windows card space API and allows claims based authentication. Integrate third party authentication methods )
1.       Windows authentication
2.       Claims based authentication(Multiple and different types of authentication – external site authentication integration-single sign on feature)
6.       Provides user specific personalization – allowing users to design pages at run time. Ex. Opting for different web parts.
7.       Provide customization for organization branding. Customization happens at server level. Personalization happens in the client side. Ex. Master Page, branding. It is there from 2007 onwards. Develop your own pages, design and plug in. Most of the time it happens by admin/developer at server side.
8.       Provide E-form support for E-Governance ( InfoPath is a tool that helps to design and generate UI out of XML complaint documents)
a.       InfoPath form Library (people can create InfoPath form and save it. It is dumped as xml documents)
b.      InfoPath form service for browser support
c.       *InfoPath form viewer web part, allows multiple InfoPath form in an aspx page.
d.      *InfoPath viewer control (embed anywhere in the page), InfoPath is AJAX enabled.
                                                               i.      InfoPath processing instructions are added to the xml page and thus it is eligible to be viewed in the InfoPath. InfoPath form is created based on some schema.
9.       Provide profile Management (User Meta data, SP 2010 helps to connect to external data to get profile data. It allows you to take the changes back to the AD also)
a.       AD Integration
b.      LDC Directory Service, Noval, IBM Devoli
c.       External System such as SAP, SQL Server Support
d.      Synchronization with AD support
10.   Provide Target Audience Management support
a.       Targeting right content to right audience
b.      Your list items target audience support
c.       Search result target audience support
11.   Provide integration solution with external systems or LOB applications = BCS (Needs an XML based Enterprise feature that will tell me how to connect to External System without writing much code, Service that helps to connect to business applications why for querying in transactions, used external data as metadata, search. 2007 it was BDC, it failed because improper tools to help it. In 2010, we have BCS. Something like ORM, enable SP to connect to external system.)
a.       Available from MSF
b.      Transaction support(writing the changes back to)
c.       WCF service Support
d.      Enterprise Search
12.   Provide workflow support to collaborative application or solution. (For approval, decision making, accountability, awareness we need human interaction. We have to keep the application live until the process is complete, need to persist. SP provides a Run time (Work Flow Foundation) that will help developer to develop human integrated business components)
a.       SCA – Simple Content Approval built in
b.      Extensible and customizable out of box (built in) work flow templates for common tasks. (Approval, disposal etc.). In 2007 out of box were not customizable.
c.       Visio based workflow design
d.      SharePoint designer based workflow for role based actions
e.      Site work flow, new in 2010
f.        Reusable work flow, independent to list and libraries
g.       Custom work flow
13.   Provide Web Part Frame Work for building custom components to render dynamic contents as part of pages [We have BCS but we don’t want SP to know the details.]
a.       Silverlight hosting
b.      Server side AJAX support
c.       Inter page connectable web part
d.      Media web part – client side streaming. Server side streaming is possible with IIS media streaming
e.      Charting and graphing web part support
14.   Provide APIs to support external system to use SharePoint features (Talk to SP from other applications - 2007 there was only limited features with SOM and that too the support was available only in the same server where SP was installed)
a.       Server Side Object model (SOM)
b.      Client Side Object model
c.       ECMAScript Object model
d.      Silverlight Object Model
e.      LINQ to SharePoint
f.        REST services, everything is URL based
g.       WEB and WCF Services
15.   Provide ECM Capabilities
a.       Web Content Management
b.      Document Management
c.       Record Management
d.      Digital Asset Management
e.      Information Rites Management (IRM)
                                                               i.      Content Extraction restriction
                                                             ii.      Content Expiry(window information rites management)
16.   Provide Credential MAP management for single sign on in SharePoint. It is called SSS(Secured Store Services)
17.   Provide Enterprise Search ---(Query, index and crawling)
a.       Enhanced people search
b.      Phonetic Search
c.       Wild card Search
d.      Boolean operated search
e.      Search result refinement panel
f.        Federated Search
g.       Improved full text and free text search based on dictionary
18.   Provide Social Networking Features
a.       Blogging
b.      Wiki Site
c.       Activity Feeds
d.      Micro Blogging
e.      Mobile Blogging
f.        Content Rating
g.       Tag/Clouds
h.      Organization Browser
i.         RSS and ATOM feeds
19.   Provide BI Capabilities
a.       Excel Services
b.      Visio Services
c.       Access Services
d.      Chart Web Parts
e.      KPI – Key Performance Indicators
f.        Dashboard Pages
g.       SSRS integration
h.      SSAS integration
i.         Performance Point Service for score card, decomposition tree, dashboard reporting
20.   Other Features
a.       Service Application Framework (Extensible)
                                                               i.      Can Share across multiple farms
                                                             ii.      A web application can be connected to multiple service applications
                                                            iii.      On demand basis configuration
b.      Re-designed SP Central Administration
c.       For command line support PowerShell (.NET based command line tool)
d.      Granular backup and restore
e.      Remote blob storage
f.        Office ribbon menu integration with User Interface
g.       Health Analyser rules for health monitoring
h.      Search usage reporting for web analytics
i.         Error co-relation identifier
j.        Developer dashboard for tracing web page performance