SharePoint Server 2010 Introduction for Developers Paul Andrew Technical Product Manager Microsoft Session Code: OFS215
Microsoft SharePoint 2010 The business collaboration platform for the Enterprise and the Web Sites Connect and Empower People Cut Costs with a Unified Infrastructure Rapidly Respond to Business Needs Composites Communities Insights Content Search
SharePoint 2010 for Developers First Class SharePoint Developer Tools Faster Solution Debugging & Tuning Choice of Development Workstation Developer Productivity Comprehensive Data Access Line of Business Integration Workflow Advances Rich Platform Services Application Lifecycle Management Standardized Solution Packaging Deploy with Agility and Stability Flexible Deployment
SharePoint Application Landscape Business Collaboration Applications Portal for LOB Application Data SharePoint Core .NET | ASP.NET Single WebPart Solutions Customized SharePoint Server 2010 Workloads
TARGET APPLICATION TYPES SHAREPOINT SERVER 2010 WORKLOADS Run on Premises or Hosted Patterns and Practices SharePoint Guidance Sandbox Solutions Microsoft® Certification Exams Microsoft Official Curriculum Trained Administrators Run on SharePoint® Online MSDN® Forums Composites Widely Deployed Platform Microsoft Partner Program Search Communities One WebPart Solutions Visual Studio® 2010 SharePoint Tools Content Business Collaboration Applications Team Foundation Server Sites Insights InfoPath 2010 Portal for LOB Application Data SharePoint Designer 2010 Customized SharePoint Server 2010 Workloads MSDN SharePoint SDK USER INTERFACE Web Parts Common SharePoint UI BUSINESS LOGIC ASP.NET Code Behind Workflows Event Receivers DATA LAYER SharePoint Lists Business Connectivity Services ACCESS CONTROL SharePoint Sites SharePoint Groups TARGET APPLICATION TYPES DEVELOPER TOOLS COMMUNITY ECOSYSTEM SHAREPOINT SERVER 2010 WORKLOADS EXECUTION ENVIRONMENT
SharePoint 2010 for Developers First Class SharePoint Developer Tools Faster Solution Debugging & Tuning Choice of Development Workstation Developer Productivity Comprehensive Data Access Line of Business Integration Workflow Advances Rich Platform Services Application Lifecycle Management Standardized Solution Packaging Deploy with Agility and Stability Flexible Deployment
Development on Windows 7 or Windows Vista SP1 Either SharePoint Foundation or SharePoint Server Requires x64 OS Not Supported for Production Only for Stand Alone Installation Can be Disabled through Group Policy Just for Developers Requires Following Install Guide in SDK Windows 7
Visual Studio 2010 Developer Tools for SharePoint Develop, Deploy and Debug Web Part, BDC and Workflow designers Package and Deploy SharePoint projects Generate WSP for Production Deployment View SharePoint site in Server Explorer Team Foundation Server Integration Web Part Designer Broad SharePoint Support Support for SharePoint Sandboxed Solutions Import WSP from SharePoint Designer including Workflow Build Workflow Steps for SharePoint Designer Extensibility for Development of Additional SharePoint Artifacts SharePoint Business Connectivity Services support Project Types
SharePoint Designer 2010 No code tool for SharePoint Free for creating and editing SharePoint artifacts New Tools BDC Entities List Schema Custom Actions Task / Approval Designer Improved Tools Workflow Designer Page Editor SharePoint Designer work can be upgraded to Visual Studio 2010 “Save site as template” in SharePoint Site Settings creates WSP WSP imports into Visual Studio 2010 as new project
Developer Dashboard Quick Debug or Monitor Page Performance stsadm -o setproperty -pn developer-dashboard -pv ondemand Quick Debug or Monitor Page Performance
Windows 7 Visual Studio 2010 Developer Dashboard demo Tools Windows 7 Visual Studio 2010 Developer Dashboard
SharePoint 2010 for Developers First Class SharePoint Developer Tools Faster Solution Debugging & Tuning Choice of Development Workstation Developer Productivity Comprehensive Data Access Line of Business Integration Workflow Advances Rich Platform Services Application Lifecycle Management Standardized Solution Packaging Deploy with Agility and Stability Flexible Deployment
Business Connectivity Services Brings LOB Data Into SharePoint SharePoint List with External Data Read / Write SharePoint Foundation Built on the SharePoint 2007 Business Data Catalog Office Apps Client Runtime Offline Operations Cache Design Tools SharePoint Visual Studio 2010 Development Platform Business Intelligence Enterprise content mgmt Collaboration social Enterprise Search SharePoint Designer 2010 ECT Store Runtime Security Solution Packaging Out of the box UI .NET LOB Web Service WCF DB Web 2.0
Business Connectivity Services Demo Business Connectivity Services Build an External Content Type Visual Studio 2010
SharePoint List Improvements Collaborative Data Store Relationships with Cascade or Block Transacted Cascading Deletion Restriction of Deletion Validation with Excel Like Formula Formula-based Validation Ensure Uniqueness Lookup to Multiple Columns List Index Auto-Creation Scalability and Performance List Query Throttling And we keep from SharePoint 2007 Self Service List Creation Out of the Box List User Interface Built in Authorization Forms
XSLT Views for Lists View Design in UI and SPD Replaces CAML for Views CAML Still Used for Queries Better Performance Easier edit in SPD Ribbon UX: sort/filter/group, conditional formatting,… Simpler Coding Experience Standard language, shared default XSLT XSLT-based views are now default SharePoint Lists External Lists
Relationships and Validation Demo Relationships and Validation Create a Relationship Between Lists Create Validation on a List
Overview of Data Technologies REST APIs Strongly-typed lists Client OM Client-side Weakly-typed lists Data Platform Farm Site List Data External Lists Server OM Server-side Weakly-typed lists LINQ Strongly-typed lists New in 2010 Improved
LINQ to SharePoint Language Integrated Query Entity based programming Strong Types and Intellisense Supports List Joins and Projections Join lists on lookup field between them Join multiple lists (A->B->C) Project any field from joined list in a query without changes in list schema Example from o in data.Orders where o.Customer.City.Name == "London“ select o;
Client Object Model Runs on Remote Machine Simple API to Add, Retrieve, Update and Manage Data in SharePoint Commands batched for Performance SharePoint Data Consistent Efficient Client Application .NET CLR Silverlight CLR JavaScript
Client Object Model Sample .NET ClientContext context = new ClientContext("http://server"); Web site = context.Web; context.Load(site); context.ExecuteQuery(); site.Title = site.Title + " and Client OM"; site.Update();
REST APIs ADO.NET Data Services REST Protocols Atom, JSON feeds SharePoint list data and Excel spreadsheets Integration with growing set of Microsoft REST Technologies
REST and ADO.NET Data Services Demo REST and ADO.NET Data Services
SharePoint Events Improvements Reacting to Server Events Events Project Templates in Visual Studio 2010 After-Synchronous Events Simpler Event Behavior Site-scoped events Web creation events List creation events More User Interface Control Custom Error Pages
Workflow Improvements Popular and Successful Base in 2007 Visual Studio 2010 Initiation and Association Forms New Workflow Design Surface in SPD Import SPD Workflows into Visual Studio Build SPD Actions in Visual Studio Visio 2010 Workflow Design Browser Based Visualization High Privilege Workflows Control Where Service Runs Site Workflows Reusable Declarative Workflows List Workflow Event Receivers Pluggable Workflow Services Performance and Scale Fully Customizable OOB Workflow Approval Designer
Build a Workflow in Visual Studio 2010 Demo Workflow Build a Workflow in Visual Studio 2010
SharePoint Service Applications New Service App Architecture Upgrade to Shared Service Provider from SharePoint 2007 More Flexible Services Model Builds on WCF Knowledge Management Extensible Administration Roles User Interface and PowerShell Browser Consumer Web Part WFE SERVER Service Proxy WCF Contract Service Logic SERVER APP SQL Client App Content Config Custom
SharePoint Service Applications New Service App Architecture Common Infrastructure for ‘heavy’ tasks Web Service and Database provisioning Settings Store Sharing and cross-farms service discovery Service instance discovery within a farm Round-robin load balancer Browser Consumer Web Part WFE SERVER Service Proxy WCF Contract Service Logic SERVER APP SQL Client App Content Config Custom
Ribbon and Dialog Framework Client Site Custom Actions in Ribbon Context Sensitive Ribbon The Ribbon Status Bar Notification Area
Ribbon and Dialog Framework Replaceable SharePoint OOB forms Open as Web Page or as Dialog Dialog Framework
Silverlight 3 and SharePoint 2010 New UI Option Media Player Web Part Organization Browser List and Site Creation Office Web Applications Silverlight Web Part Simple way to upload Silverlight CLR compatible Client Object Model Call SharePoint API’s REST APIs Simplifies List data access Support for remotely hosted Silverlight applications Delegated authentication/application principals
SharePoint 2010 for Developers First Class SharePoint Developer Tools Faster Solution Debugging & Tuning Choice of Development Workstation Developer Productivity Comprehensive Data Access Line of Business Integration Workflow Advances Rich Platform Services Application Lifecycle Management Standardized Solution Packaging Deploy with Agility and Stability Flexible Deployment
Sandboxed Solutions Essential Agility Essential Stability Security & Stability Security & Stability Business Agility Business Agility Essential Agility Essential Stability Easy Deployment Iterative Development Access To Shared Servers SharePoint Online Safe for Other Users Limited API Access Monitored Resources Separate Process Site Collection Limits
demo Sandboxed Solutions
Upload Sandboxed Solution WSP SharePoint Online Upload Sandboxed Solution WSP
Upgrade and Packaging WSP as the SharePoint Installer WSS Solution Package (WSP) Visual Upgrade from version to version SharePoint UI Save To Template Better-defined Upgrade Semantics Declarative upgrade mappings Upgrade callouts for features Application discovery in SharePoint Sites WSPs as unified developer format Works in both site collections and on machine
Team Foundation Server Application Lifecycle Management Work Item Tracking Source Code Control Team Build Manage Test Cases Log Bugs Automated Testing Load Testing
SharePoint 2010 for Developers Visual Studio 2010 Install on Windows 7 SharePoint Designer 2010 Developer Dashboard Developer Productivity Business Connectivity Services LINQ, REST and Data Improvements Client Object Model Silverlight Web Part Workflow Improvements Rich Platform Services Team Foundation Server Sandboxed Solutions WSP Solution Upgrade SharePoint Online Flexible Deployment
Learn More about SharePoint 2010 Information for IT Pros at TechNet http://MSSharePointITPro.com Information for Developers at MSDN http://MSSharePointDeveloper.com Information for Everyone http://SharePoint.Microsoft.com
Questions I will be at: I am online at: The SharePoint kiosk frequently through the week I am online at: http://blogs.msdn.com/pandrew http://MSSharePointForums.com
Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!
Required Slide © 2009 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.