Building Sandbox Solutions for SharePoint 2010 Scott Jamison Managing Partner, Jornata LLC

Slides:



Advertisements
Similar presentations
Getting Started with SharePoint 2013 Apps
Advertisements

An Introduction to SharePoint Applications using InfoPath 2010
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Designing InfoPath Forms: The Dos and Donts Deploying InfoPath Forms: Making the right choice Adding custom business logicin case the built-in stuff isnt.
SP Business Suite Deployment Kick-off
Microsoft SharePoint 2010 technology for Developers
Presented by Dennis Bottjer. Predictability and stability Manageable change Enough time to react Long term planning was enough Rapidly changing needs.
Microsoft SharePoint® Online: Extensibility and Customization
Randy Williams, MOSS MVP Senior Consultant Synergy Corporate Technologies.
SharePoint 2010 First Look: What's new for Developers in Microsoft SharePoint 2010 Matthew McDermott, MVP Aptillon, Able
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
St. Louis Day of Dot Net 2011 Jump Start: SharePoint Development Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET, MCTS
SharePoint Saturday Sponsors Gold Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Becky Bertram SharePoint MVP
Site Provisioning Options Web Template Fundamentals Web Templates and App Webs Custom Solutions for Site Provisioning Wrap Up.
Fraser Technical Solutions, LLC
Intro to Apps Minnesota SharePoint User Group Raymond April 2014.
SPC220 Web Template FundamentalsCreating Web Templates Using Web Templates Web Templates and App Webs Wrap Up.
Update your servers to service pack 2. Ensure that the environment is fully functioning. Migrate to 64 bit servers is necessary. REVIEW UPGRADE BEST PRACTICES.
Introduction to SharePoint Development with VS2010 Paul Yuknewicz Lead Program Manager
Protecting Your SharePoint Environment from the Evil Developers Robert Bogue Thor Projects
Building Dynamic Applications on both Office 365 and on-premise.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies
Workflow and SharePoint Presented by Ben Geers. Overview What is workflow? Windows Workflow Foundation How does workflow apply to SharePoint? WSS v3 vs.
SharePoint 2010 Pragmatic implementation and use at a corporate level Carol Van der Donck.
PRESENTED BY: K2 blackpoint Fundamentals Module 1: Understand J SCOTT PITMAN –
Spicing Up Web Parts Randy Williams SharePoint Hawaii User Group May 11, 2011.
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Workflow Development Overview Architecture Requirements Types of workflows Stages of workflow.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
Module 13 Implementing Business Continuity. Module Overview Protecting and Recovering Content Working with Backup and Restore for Disaster Recovery Implementing.
Module 7 : Configuration I Jong S. Bok
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
SharePoint Online – Developing Solutions for the Cloud Chris Mayo Microsoft Corporation
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
Michael Hofer Senior Consultant Microsoft Corporation.
Practical Workflow Services Peter Goodman. Agenda  Why Workflow?  The Workflow Runtime  Workflow Services  Windows Server AppFabric  Demo.
Chief Architect & CEO.
Yaroslav Pentsarskyy Involved in SharePoint since 2003 SharePoint MVP (2009- Present) Blog: sharemuch.com.
Developer Design, build and test customizations Administrator Install and monitor customizations Site Collection Owner Activate and use customizations.
Application Hosting and Customization Introducing Sandboxed Solutions Executing Code in the Sandbox Sandbox Resource Monitoring.
Administration - I Jong S. Bok
Microsoft SharePoint 2010 The business collaboration platform for the Enterprise and the Web.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
Taking the Red Pill: Working with and Entering the World of SharePoint Development John Huschka Portals and Collaboration Lead, Coldwater Software September.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Virtual techdays INDIA │ November 2010 SharePoint 2010 – Your one stop shop for all portal requirements Saranya Sriram │ Developer Evangelist, Microsoft.
Sandboxed Solutions June 30th, 2010 Jason Rivera RJB Technical Consulting Philadelphia.
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
Doug Perkes Senior Consultant Microsoft Corporation.
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
St. Louis Day of Dot Net 2011 Jump Start: SharePoint Development
Business Connectivity Services in SharePoint 2010 and Office 2010
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer
BIWUG | SPSaturday Sandboxed Solutions
Accessing and Surfacing LOB Data in SharePoint 2010
0x - Lecture Title Andrew Connell, MVP
SharePoint Server 2010 Introduction for Developers
Building Office 365 Solutions with Azure
Getting Started with SP2013 Apps
Visual Studio 2010 SharePoint Development Tools Overview
SharePoint Development
Developing with Microsoft SharePoint Server 2010 Sandboxed Solutions
5/17/ :57 AM OSP305 Developing Collaboration Solutions in the Cloud with Microsoft SharePoint Online Chris Mayo Snr. Technical Evangelist, Office.
St. Louis Day of Dot Net 2011 Building Web Parts for an Office 365 SharePoint Site Becky Bertram Independent SharePoint Consultant SharePoint MVP, MCSD.NET,
Presentation transcript:

Building Sandbox Solutions for SharePoint 2010 Scott Jamison Managing Partner, Jornata LLC

Session Info Part 1: Why Sandboxed Solutions? Part 2: Building and Deploying a Sandboxed Solution Part 3: Managing Sandboxed Solutions

Part 1: Why Sandboxed Solutions?

Issues With SharePoint Solutions Non-code solutions (SPD, Lists) are easy to deploy but are limited Code-based solutions require either: ▫Lengthy deployment process (not agile), or ▫Developer access to production (not safe)

Sandboxed Solutions – Why?

Farm Solutions vs User Soluitons Farm Solution: Code is deployed in the solution store via stsadm –o addsolution, just like in MOSS 2007 User Solution: Code is uploaded via the solutions gallery directly by the user/developer ▫a.k.a. ‘Sandboxed Solutions’

Part 2: Building and Deploying a Sandboxed Solution

What is a ‘Sandbox’? A separate process for the Sandboxed solutions Limited functionality: ▫Subset of Microsoft.SharePoint API ▫Code Access Security policy Gallery for deployment ▫Site Collection Solution Gallery Administration for managing/monitoring solutions ▫Central administration

A Separate Process User Code Service (SPUCHostService.exe) Sandbox Worker Process (SPUCWorkerProcess.exe) Sandbox Worker Process Proxy (SPUCWorkerProcessProxy.exe)

A Subset of Microsoft.SharePoint API Microsoft.SharePoint Except SPSite constructor SPSecurity object SPWorkItem and SPWorkItemCollection objects SPAlertCollection.Add method SPAlertTemplateCollection.Add method SPUserSolution and SPUserSolutionCollection objects SPTransformUtilities Microsoft.SharePoint.Navigation Microsoft.SharePoint.Utilities Except SPUtility.Send method SPUtility.GetNTFullNameand FromLogin method Microsoft.SharePoint.Workflow Microsoft.SharePoint.WebPartPages Except SPWebPartManager object SPWebPartConnection object WebPartZone object WebPartPage object ToolPane object ToolPart object In concept: From the site collection down

Code Access Security Policy SharePointPermission.ObjectModel SecurityPermission.Execution AspNetHostingPermission.Level = Minimal Note: A fully-trusted “proxy class” can be created to gain access to additional resources

Solution Gallery Site Collection library located at /_catalogs/solutions Upload, delete, activate, deactivate, upgrade solutions

DEMO Building and Deploying a Sandboxed Solution

Supported Solution Types Content Types, Site Columns Custom Actions Declarative Workflows Event Receivers, Feature Receivers InfoPath Forms Services (not admin-appr) JavaScript, AJAX, jQuery, Silverlight List Definitions Non-visual web parts Site Pages SharePoint OnLine

Part 3: Managing Sandboxed Solutions

Central Administration Farm Management  Manage User Solutions Block Solutions Configure Load Balancing

Central Administration Farm Management  Site Collection Quotas Quotas Locks

Load Balancing Partial Trust can run in one of two modes Local Mode ▫Execute code on WFE ▫Low administration overhead ▫Lower scalability Remote mode ▫Execute on back-end farm machine ▫Load balanced distribution of code execution requests  Create custom Load balancers

Solution Monitoring Farm Administrators ▫Set absolute limits Site Administrators ▫Identify expensive solutions SharePoint Tracks Server Resources: CPU, Memory, SQL, Exceptions, Critical Errors, Handles, Threads, …

Resource ‘Quota’ Points AbnormalProcessTerminationCount CPUExecutionTime CriticalExceptionCount InvocationCount PercentProcessorTime ProcessCPUCycles ProcessHandleCount ProcessIOBytes ProcessThreadCount ProcessVirtualBytes SharePointDatabaseQueryCount SharePointDatabaseQueryTime UnhandledExceptionCount UnresponsiveprocessCount

Resource Quotas Central Admin Solution Gallery Measured in ‘Resource Points’

DEMO Managing Sandboxed Solutions

Summary Sandbox Solutions… ▫Balance agility and stability ▫Run in a separate process ▫Are built using Visual Studio 2010 ▫Use a subset of the SharePoint API ▫Are now the preferred solution type Contact Info: Scott Jamison