38

SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Embed Size (px)

DESCRIPTION

Who are Brian and Elaine Brian Farnhill ► Solutions Architect, Extelligent Design ► SharePoint MVP ► Collab Platform vTSP ► Canberra SP User Group Organiser Elaine Van Bergen ► Architect, OBS ► SharePoint MCM ► SharePoint MVP ► Collab Platform vTSP ► Melbourne SP User Group Organiser (c) 2011 Microsoft. All rights reserved.

Citation preview

Page 1: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312
Page 2: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS

Brian Farnhill Elaine van BergenSolution Architect ArchitectExtelligent Design OBS

SESSION CODE: DEV-OFS312

Page 3: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

Who are Brian and ElaineBrian Farnhill► Solutions Architect,

Extelligent Design► SharePoint MVP► Collab Platform

vTSP► Canberra SP User

Group Organiser

Elaine Van Bergen► Architect, OBS► SharePoint MCM► SharePoint MVP► Collab Platform

vTSP► Melbourne SP User

Group Organiser

Page 4: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Session Agenda

► Introduction► Development tips and techniques

– Delegate Controls– Web Templates– Custom Service Application– Design Tips

► Review► Question and answer

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 5: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Introduction

Page 6: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Introduction

► Think big - Large scale applications need large scale planning and development

► Complex solutions need to have plans for how changes are managed in future

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 7: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

DELEGATE CONTROLSSupercharging your SharePoint 2010 Solutions

Page 8: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Delegate ControlsWhat are they?► Provide a framework for “place holders”► Additional controls are deployed and

managed through features► Allow for overriding of specific controls

without changing pages

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 9: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Delegate ControlsHow do they work?

(c) 2011 Microsoft. All rights reserved.

Feature 1

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Delegate Control

Id: TechEdSequence: 100

Content/Config Database

SharePoint:DelegateControlControlId: TechEd

AllowMultiple: False

Page 10: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Delegate ControlsHow do they work?

(c) 2011 Microsoft. All rights reserved.

Feature 1

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Delegate Control

Id: TechEdSequence: 100

Content/Config Database

Feature 2

Delegate Control

Id: TechEdSequence: 90

SharePoint:DelegateControlControlId: TechEd

AllowMultiple: False

Page 11: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Delegate ControlsHow do they work?

(c) 2011 Microsoft. All rights reserved.

Feature 1

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Delegate Control

Id: TechEdSequence: 100

Content/Config Database

SharePoint:DelegateControlControlId: TechEd

AllowMultiple: True

Feature 2

Delegate Control

Id: TechEdSequence: 90

Page 12: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

USING DELEGATE CONTROLS

Demonstration

Page 13: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Delegate ControlsReview

► Allow designs to be templated effectively► Provide ability to control functionality

through the UI rather than through deployment changes

► Framework can be extended to support advanced use scenarios

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 14: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

WEB TEMPLATESSupercharging your SharePoint 2010 Solutions

Page 15: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Site Definitions

► No Supported way to modify once deployed

► Can’t be used in Office365 as farm wide► Sites created from site definition remain

linked to definition► Site scoped features not activated in web

creation► Feature stapling possible

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 16: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Web Template’s

► Template can be upgraded

► Can be used in Office365 as site level is possible

► No feature stapling possible

► Can’t use variations

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 17: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Feature versioning

► Version Range – BeginVersion/EndVersion

► Upgrade Elements– CustomUpgradeAction– ApplyElementManifest– MapFile – FromPath/ToPath– AddContentTypeField

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 18: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

CREATING EFFECTIVE WEB TEMPLATES

Demonstration

Page 19: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Web TemplatesReview► Web templates replace site definitions for

most situations

► Plan your web template plus feature structure and add property bag identifier

► Use feature upgrading or scripts to upgrade existing sites

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 20: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

CREATING CUSTOM SERVICE APPLICATIONS

Supercharging your SharePoint 2010 Solutions

Page 21: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Service ApplicationsArchitecture

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Client AppsBrowsers (IE, Firefox)

Office ClientOneNoteInfoPathProjectOutlook

RSS ViewersSharePoint Workspace

SharePoint DesignerVisio

Access

SharePoint Foundation

Config Content Workflow

Sandboxed Code Service Usage & Health Logging

Project Server 2010

Fast 2010

Project Web Access

FAST Search Service

Office Web App Services

3rd party services

SharePoint Service ApplicationsSearch Service

Excel Calc Service

User Profiles

Business Connectivity Service

InfoPath Services

Word Conversion Service

PowerPoint Broadcast Service

Web Analytics Service

Visio Graphics Service

Access Services

Managed Metadata

PerformancePoint

SharePoint Server

Page 22: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Service ApplicationsBenefits of using a service app► Scalability– Add instances to servers to increase scale– Internal round robin to select server when

called► Share and consume data– Publish service applications between farms

► Performance and stability– Much better suited for long running activities

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 23: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

Web Front EndApplication Server

Service ApplicationsService Object Model

SPFarm

SPServer SPService

SPServiceInstance

SPServiceApplication

SPServiceProxy

SPServiceApplicationProxy

Page 24: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Service ApplicationsHow to build a service app

1. Create a service application2. Create a WCF service application endpoint3. Write the service application installation code4. Install and provision the service application5. Create the service application proxy6. Write the service application proxy installation code7. Install and provision the service application proxy8. Create the service application consumers9. Install, deploy, and test the service application consumers

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 25: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

BUILDING A SERVICE APPLICATION

Demonstration

Page 26: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Service ApplicationsReview► Know when to build and when to use

alternatives► Understand the framework when building

custom service applications

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 27: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

DESIGN TIPS AND TRICKSSupercharging your SharePoint 2010 Solutions

Page 28: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Large Solution Tips

► Divide into separate wsp’s but don’t go overboard

► Think structure, naming and consistency► Avoid cross dependencies and shared

resources► Good architecture is possible even with

SharePoint involved

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 29: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Deployment

► Automate as much as possible !► PowerShell is one good option► Farm feature plus timer job for no-touch

option► High automation = Less documentation

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 30: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Caching Configuration

► Output – Generated HTML for future requests

► Object – Common objects and query results

► BLOB – Commonly requested files put on WFE disk

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 31: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Caching via code

► Consider if object is thread safe

► SPWEB is not therefore any item with embedded web like SPSListItemCollection can cause issues

► Lock and cache safe object such as datatable

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 32: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Querying techniques

► Search Object model solid performed but delayed data

► PortalSitemapProvider if data is low and relatively static

► SPQuery + ContentIterator

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 33: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Throttling

• List Throttling• Row and Column Throttling• Http Request• Unique Permissions• You can add your own

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 34: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

List throttling

• Any operation that impacts x amount of items is throttled

• Default is 5000 items, beware of table locks if you change

• Overrides for auditors and administrators only in OM

• Machine admin overrides all throttle limits• Happy hour(s)

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 35: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Final Review

► Delegate Controls► Web Templates► Custom Service Application► Design Tips

(c) 2011 Microsoft. All rights reserved.

Introduction Delegate Controls

Web Templates

Custom Service App Design Tips Review Q&A

Page 36: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

Enrol in Microsoft Virtual Academy TodayWhy Enroll, other than it being free?The MVA helps improve your IT skill set and advance your career with a free, easy to access training portal that allows you to learn at your own pace, focusing on Microsoft technologies.

What Do I get for enrolment?► Free training to make you become the Cloud-Hero in my Organization► Help mastering your Training Path and get the recognition► Connect with other IT Pros and discuss The Cloud

Where do I Enrol?www.microsoftvirtualacademy.com

Then tell us what you think. [email protected]

Page 37: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this

presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 38: SUPERCHARGING YOUR SHAREPOINT 2010 SOLUTIONS Brian FarnhillElaine van Bergen Solution ArchitectArchitect Extelligent DesignOBS SESSION CODE: DEV-OFS312

(c) 2011 Microsoft. All rights reserved.

www.msteched.com/Australia

Sessions On-Demand & Community

http:// technet.microsoft.com/en-au

Resources for IT Professionals

http://msdn.microsoft.com/en-au

Resources for Developers

www.microsoft.com/australia/learning

Microsoft Certification & Training Resources

Resources