VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Architecture.

Slides:



Advertisements
Similar presentations
June 4-8 Orlando. WSS Object Model Fundamentals Working Remotely with Lists and Document Libraries Cross-Site Data Queries Exploring New WSS Classes.
Advertisements

Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Forms Authentication, Users, Roles, Membership Ventsislav Popov Crossroad Ltd.
Developing for SharePoint with Visual Studio Jason Keicher
Programming SharePoint Object Model, Web Services, and Events Michael Morton 4/15/03.
Todd Klindt Solanite Consulting.  WSS MVP since 2006  Speaker, writer, consultant, Aquarius  Personal Blog
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
27. to 28. March 2007 | Geneva, Switzerland. Fabrice Romelard ilem SA Level 200.
Internet Information Server (IIS)
Windows SharePoint Services 3.0 (WSS v3) Browser Clients MS Word Clients MS Outlook Clients Microsoft Office SharePoint Server 2007 (MOSS) Windows.
Module 2 Deploying SharePoint Portal Server 2003.
Sharepoint Portal Server Basics. Introduction Sharepoint server belongs to Microsoft family of servers Integrated suite of server capabilities Hosted.
WSS 3.0 Architecture and Enhancements Ashvini Shahane Member – Synergetics Research Lab.
Edwin Sarmiento Microsoft MVP – Windows Server System Senior Systems Engineer/Database Administrator Fujitsu Asia Pte Ltd
A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
EDUCATION YOU CAN TRUST ® Windows SharePoint Services Course Review Review provided by: DNS Computing Services, LLC
Classroom User Training June 29, 2005 Presented by:
Module 8 Configuring and Securing SharePoint Services and Service Applications.
Microsoft Office SharePoint Training Course
OBJECT REFERENCE. Objective How to work with objects in SharePoint by using classes?
Course ILT Internet/intranet support Unit objectives Use the Internet Information Services snap-in to manage IIS, Web sites, virtual directories, and WebDAV.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Overview Scale out architecture Servers, services, and topology in Central Administration.
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
WSS “v3” for Developers Jan Tielens Blog: Architect & Trainer U2U, Brussels.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
SharePoint Security Fundamentals Introduction to Claims-based Security Configuring Claims-based Security Development Opportunities.
HOW SHAREPOINT WORKS By Gary Newman. Root Folder Virtual Directories SP Farm DNS Iterative Forward DNS query for A host record HTTP request HTML & JS.
Module 4 : Installation Jong S. Bok
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Module 10 Administering and Configuring SharePoint Search.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
New & Improved Events List Relationships and Joins Large List Support Field & List Item Validation.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Building Secure Web Applications With ASP.Net MVC.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. SharePoint API and Development in ASP.NET Creating “Hello World” application Working with.
Windows SharePoint Services Managing users and rights.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
Solutions using Microsoft Content Management Server 2002 Connector for SharePoint Technologies Sue Corke Mark Harrison Microsoft UK.
What’s New in SharePoint 2010 SharePoint 2010 Development Primer New Developer Tools for SharePoint 2010 SharePoint 2010 Integration with PowerShell.
Web Access. Overview  Purpose  Prerequisites  Install Components  Enable Virtual Directories  IIS Configuration & Security  Troubleshooting.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
Module 9 User Profiles and Social Networking. Module Overview Configuring User Profiles Implementing SharePoint 2010 Social Networking Features.
Microsoft SharePoint Server 2007 Technical Overview Romeo Pruno nonaka.eu.
Module 1: Overview of Microsoft Office SharePoint Server 2007.
Windows Sharepoint Services , Tracking, And Other Collaboration Applications Mike Ormond Developer & Platform Group, Microsoft Ltd
Extending SharePoint through Web Parts and ASP.NET 최승현 대리 한국마이크로소프트.
Understanding & Developing with Microsoft SharePoint Services David Gristwood, Paul Appleby, Mike Taulty. Developer & Platform Group Microsoft Ltd.
Programming the Microsoft SharePoint Products and Technologies Object Model Paul Appleby Developer & Platform Group
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Databases Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – SharePoint Database.
Programming the Microsoft SharePoint Products and Technologies Object Model Paul Appleby Developer & Platform Group
ArcGIS for Server Security: Advanced
Integrating Enterprise Applications Into SharePoint® Portal Server
Netscape Application Server
Beyond the BDC\BCS Model
Building Dynamic Applications with the SharePoint Client Object Model
What is SharePoint and why you should care
Programming SharePoint Object Model, Web Services, and Events
Microsoft Dynamics.
Chapter 23 – ASP.NET Outline 23.1 Introduction NET Overview
SharePoint Object Model
ASP.NET Module Subtitle.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
敦群數位科技有限公司(vanGene Digital Inc.) 游家德(Jade Yu.)
Designing IIS Security (IIS – Internet Information Service)
Microsoft Dynamics.
Presentation transcript:

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Architecture & Object Model Overview.: Michael Williams :. June 9, 2005

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 2 I.Architecture Overview II..Net Windows SharePoint Services Object Overview III.Resources IV.Questions Session Agenda

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 3  Web Server  ISAPI Filter  ISAPI Application  ASP.NET Handler  ASP.NET  Config DB  Web Farm Config  Content DB Map  Content DB  Documents, Lists  Portal DB  Site, Profile Service  Portal Services  Search, Index, Job Architecture Overview - System Architecture Web Team DB Config DB Index Job Portal DB Profile DB Service DB Search

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 4  ISAPI Filter  Inclusions / Exclusions  Static Page Gets  ASP.NET Handler  Direct ( _layouts )  Safe (lists, topics, etc.)  ASP.NET  Page Rendering  Unmanaged Code  List / View Rendering  Portal managed objects  Content, Profile, Service, and Config DB access Architecture Overview - Web Server Components IIS ASP.NET Handler Filter Config Static Pages FrontPage RPC DAV.aspx.asmx HTTP Requests ASP.NET Content SharePoint Unmanaged Code Direct Safe ISAPI Ext ADO.NET Profile Service

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 5  HTTP Listener  Domain, Port, IP Resolution  Virtual servers  Authentication  Anonymous, NTLM, or Basic  Application Pools  Process Identity  Process Isolation  Application Recycling Architecture Overview - Internet Information Server IIS ASP.NET Handler Filter Config Static Pages FrontPage RPC DAV.aspx.asmx HTTP Requests ASP.NET Content SharePoint Unmanaged Code Direct Safe ISAPI Ext ADO.NET Profile Service

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 6  SharePoint provisions at the virtual server level  No per-site collection or per-site/web metabase entries  Filter directs SharePoint requests to ISAPI Application  No data I/O in filter  Managed Path Inclusions & Exclusions  Exclusions –  Directories SharePoint ignores  example: /customapp →  Inclusions –  Directories where sites reside  Explicit Inclusions (specific site names)  example: / →  example /sitename →  Wildcard Inclusions (specific folder for sites)  example /teams/* → Architecture Overview – ISAPI Filter

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 7  Purpose  Defines URL namespaces managed by WSS  example:  Defines self-service site creation paths  example: Restrict creation to  Excluded paths – Unmanaged by WSS  Code cannot reference WSS  Included paths – Managed by WSS  Explicit inclusion - Includes the specific path set only  Wildcard inclusion – Includes path and all sub-sites  eg.  Administrative Tools  SharePoint Central Administration Web-based UI  Command line - stsadm  example: stsadm -o addpath -url -type wildcardinclusion Architecture Overview – Managed Paths

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 8  Handler filters ASP.Net pages  Direct mode - normal page execution  Used for SharePoint application pages  example: create new list, edit view, etc.  Identified by directory ( _layouts )  example: )  Pages live outside the web without need for customization  Safe mode - restricted page execution  Only a specific set of web form controls can run  Used for SharePoint user pages  example home page, list pages, smart pages, topics, etc.  Pages live inside the web for customization Architecture Overview – ASP.Net Handler

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 9  Application pages (static)  Direct mode  Page uses SharePoint managed code object model  Object model makes calls into WSS unmanaged code  User pages (customizable)  Safe mode  Web part framework adds web parts to ASP.NET page object based on page and current user  SharePoint View Web Parts call into SharePoint unmanaged code to render HTML Architecture Overview – ASP.Net Page Rendering

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 10  Web Parts are equivalent to ASP.NET Web Form Controls  SmartPage - controls on page determined by database  URL of the page  ID of the current user (personalization)  SmartPages work in safe mode only Architecture Overview – Web Part Framework ASP.NET Page Zone 2 Zone 1 Zone 3 Web Part Framework Content DB ASP.NET Page Web Form Controls

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 11  Bulk of WSS logic lives in unmanaged code  FrontPage server extensions  DAV (Distributed Authoring & Viewing)  View rendering  Static document gets  Database I/O Architecture Overview – WSS Unmanaged Code IIS ASP.NET Handler Filter Config Static Pages FrontPage RPC DAV.aspx.asmx HTTP Requests ASP.NET Content SharePoint Unmanaged Code Direct Safe ISAPI Ext ADO.NET Profile Service

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 12 Architecture Overview – Developer Perspective  Managed Code.NET Object Model  Two ways to write code using the WSS OM directly .aspx pages are Direct mode  Web parts are Safe mode  WSS Web services model built on top of WSS OM available

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 13.Net WSS Object Overview – Introduction  Managed code object model on the server  Accessible via ASP.NET or any other server process  Implemented in C#  Exposes almost of all of the data stored in WSS  Examples of what can be done with the Object Model -  Add, edit, delete, and retrieve data from SharePoint Lists  Create new lists and set list metadata, i.e. fields in a list  Set web properties  Work with documents in document libraries.  Perform administrative tasks such as creating webs, adding users, creating roles, etc.  Pretty much any functionality in the UI can be automated through OM

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 14.Net WSS Object Overview – Example of Typical Objects  List Data  SPListCollection  SPList  SPListItemCollection  SPListItem  SPFieldCollection  SPField  SPView  Administration  SPGlobalAdmin  SPQuota  SPVirtualServer  Security  SPGroupCollection  SPGroup  SPSite  SPUserCollection  SPUser  Documents  SPDocumentLibrary  SPFileCollection  SPFile  SPFolder

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 15.Net WSS Object Overview – WSS Namespaces  Always add references to the WSS namespaces when using WSS OM using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; using Microsoft.SharePoint.Administration;

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 16.Net WSS Object Overview – Important Objects  The object model has four top-level objects:  SPWeb - Represents an individual site  SPSite - Represents a site collection, which is a set of web sites  SPVirtualServer - Represents a virtual server  SPGlobalAdmin - Global administration settings  Always get an SPWeb object to perform actions on data within a web

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 17.Net WSS Object Overview – Key Object - SPWeb  Initial object to get at web site Lists, Items, Doc’s, Users, Alerts, etc.  Examples:  Web.Lists - Returns a collection of lists  Web.Title - Returns the title of the site  Web.Users - Returns the users on the site  In a Web Part or.ASPX page, the following line gets an SPWeb object:  SPWeb myweb = SPControl.GetContextWeb(Context);

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 18.Net WSS Object Overview – WSS List Data Access  Obtain an SPList or SPDocumentLibrary object -  SPList mylist = web.Lists[“Events”];  Call the.Items property to retrieve all of the items -  SPListItemCollection items = mylist.Items;  Call GetItems method and pass SPQuery object for subset of items -  SPListItemCollection items = mylist.GetItems(query);  Specify field name in SPListItem indexer to get field data – foreach(SPListItem item in items) { Response.Write(item["Due Date"].ToString()); Response.Write(item["Status"].ToString()); Response.WRite(item["Title"].ToString()); }

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 19.Net WSS Object Overview – List Data Access Code Example SPWeb web = SPControl.GetContextWeb(Context); SPList tasks = web.Lists["Tasks"]; SPListItemCollection items=tasks.Items; foreach(SPListItem item in items) { output.Write(item["Title"].ToString() + item["Status"].ToString() + " "); }

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 20.Net WSS Object Overview – Updating Property Data  Immediate data updates are atypical in WSS upon property changes  Must first call Update() method on the object  Minimization of SQL queries improved overall perfomance  Example: SPList mylist = web.Lists[“Tasks”]; mylist.Title=“Tasks!”; mylist.Description=“Description!”; Mylist.Update();

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 21.Net WSS Object Overview – Add User to a Web  Get the appropriate SPRole object:  SPRole admins = web.Roles["Administrator"];  Call the AddUser method:  admins.AddUser(“ \\

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 22.Net WSS Object Overview – Eliminate Query Intensive Code  Frequently creating and destroying objects may needlessly invoke SQL queries -  Example of SQL-intensive code: SPWeb web = SPControl.GetContextWeb(Context); web.Lists["Tasks"].Title="mytitle"; web.Lists["Tasks"].Description="mydescription"; web.Lists["Tasks"].Update();  Example of improved code: SPWeb web = SPControl.GetContextWeb(Context); SPList mylist = web.Lists["Tasks"]; mylist.Title="mytitle"; mylist.Description="mydescription"; mylist.Update();

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 23.Net WSS Object Overview – Event Handling  Events are supported on document libraries -  Operations such as add, update, delete, check-in, check-out, etc.  Events are asynchronous  Events call a managed interface

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 24.Net WSS Object Overview – Part to Part Web Parts  Allows Web Parts to send & received basic types of data  Cell, Row, List, etc.  Uses standardized set of interfaces  Allow completely independent parts to connect  Enable end users to form connections  Browser  FrontPage

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 25.Net WSS Object Overview – Part to Part Supported Interfaces

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 26.Net WSS Object Overview – Web Services  Content can be accessed via web services layer built on top of the OM  Allows manipulation of Lists, Webs, Views, List Items, etc.  Functionality similar to WSS object model with fewer interfaces  Optimized to minimize transactions  Office 2003 extensively uses web services to access data from WSS

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 27.Net WSS Object Overview – Web Services Interface Methods  GetListCollection  GetListItems  GetWebCollection  UpdateList  UpdateListItems  GetWebInfo  GetWebPart  GetSmartPageDocument  etc…

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 28.Net WSS Object Overview – Coding Web Services  Create a Windows Application  In Visual Studio, choose ‘ Add Web Reference ’  Access the lists web service -  Enter /_vti_bin/lists.asmx  Other services include:  UserGroups.asmx – Users and groups  Webs.asmx – Web information  Views.asmx – View information  Subscription.asmx – Subscriptions  Send logged on users’ credentials from client  Set web reference object’s constructor - public Lists() { this.Url = " /_vti_bin/lists.asmx"; this.Credentials=System.Net.CredentialCache.DefaultCredentials; }

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 29.Net WSS Object Overview – Developer Best Practices  SPGlobalAdmin and SPSite are the only SharePoint objects created with ‘New’; All other objects are opened off another object  The URL taken by the SPSite constructor must be absolute and must refer to the actual computer name (not the load-balanced name)  The URL taken by SPSite.OpenWeb can be server relative if it starts with a ‘ / ’ else it is site relative. Empty opens the SPSite URL  Optimize performance with foreach() stepping through collections; Iterating through collections by index can result in expensive DB calls  Calls to collections such as List.Items are expensive; Preserve the collection rather than requesting it again  Use SQL Profiler to minimize # of queries that application makes to DB

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 30 Resources Microsoft SharePoint Microsoft SharePoint Server Customization Microsoft Developer Introduction to Web Parts us/odc_SP2003_ta/html/sharepoint_northwindwebparts.asp Microsoft SQL Server

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 31 Questions?

VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Architecture & Object Model Overview 32 VITALE, CATURANO & COMPANY PC