intro to share point 2010 for developers

Upload: therobmandotnet

Post on 06-Apr-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Intro to Share Point 2010 for Developers

    1/36

    Introduction to

    SharePoint

    Development

    for .NET developers

  • 8/2/2019 Intro to Share Point 2010 for Developers

    2/36

    About me

    Rob Wilson MCT, SharePoint MCTS/MCITP

    SharePoint 200320072010

    Email: [email protected] Twitter: @theRobManDotNet

    Blog(s):

    http://sharepointblog.kellerschroeder.com

    http://www.therobman.net/blog

    mailto:[email protected]://sharepointblog.kellerschroeder.com/http://www.therobman.net/bloghttp://www.therobman.net/bloghttp://sharepointblog.kellerschroeder.com/mailto:[email protected]
  • 8/2/2019 Intro to Share Point 2010 for Developers

    3/36

    Agenda

    Introduction to SharePoint Platform

    Overview of SharePoint Development Tools

    .NET Development Environment for SharePoint

    Visual Studio Solutions for SharePoint 2010

    SharePoint 2010 Solution Architectures

    Some New SharePoint 2010 Features

  • 8/2/2019 Intro to Share Point 2010 for Developers

    4/36

    The SharePoint Platform

    SharePoint Foundation 2010 (f.k.a. WSS 3.0)

    SharePoint Server 2010 (f.k.a. MOSS 2007)

    Why should Idevelop on a

    platform?

    Whichedition is

    right for me?

  • 8/2/2019 Intro to Share Point 2010 for Developers

    5/36

    Why Platforms?

    Authentication

    Menus

    Authorization

    Content Management

    Error Handling

    Business Apps

    Custom Code

    Authentication

    Menus (Menu Control)

    Authorization

    Error Handling

    Business Apps

    MVC Framework

    Uniformity

    Separation of Roles

    Standards-Based

    SEO Friendly

    RAD

    Platform

    Business AppsMuch Other Stuff

    Search

    Administration Area

    Authentication

    Menus

    Authorization

    Error Handling

    Content Management

    Uniformity

    Separation of RolesStandards-Based

    SEO Friendly

    RAD

    Administration Area

    Search

    10-15% of the effort.Lost projects because

    of one-time costs.

    Significant costreduction andstandardization.

  • 8/2/2019 Intro to Share Point 2010 for Developers

    6/36

    When the requirements

    call for it Not a brochure site

    Authentication and search required Does not have to be a large-scale project

    No-brainer for most intranets

  • 8/2/2019 Intro to Share Point 2010 for Developers

    7/36

    When you need self-service

    Web Parts (re-usability)

    Subscriptions and alerts

    RSS Recycle Bin

    My Site

    Connecting with peers

    Publishing

  • 8/2/2019 Intro to Share Point 2010 for Developers

    8/36

    When you need

    personalization/socialization From a webmasters perspective

    Targeted content

    From a visitors perspective

    Ability to customize look and feel

    Tagging and newsfeeds

    Organizational chart and peer suggestions

  • 8/2/2019 Intro to Share Point 2010 for Developers

    9/36

    When you need workflow

    Based on Workflow Foundation

    In addition:

    SharePoint front-end

    Document libraries and task lists

    Workflow history lists

  • 8/2/2019 Intro to Share Point 2010 for Developers

    10/36

    When you want flexible

    development options

    Web Parts

    Object model

    Client object model (managed code,JavaScript, SilverLight)

    Web services

    Separation of development roles GUI expert, workflow developer, reports and

    queries, event handlers

    Varying levels of experience on a project team

  • 8/2/2019 Intro to Share Point 2010 for Developers

    11/36

    When you want focus on

    the business requirements

    Do not worry about how someone will findyour application or how it integrates with thesecurity model

    Eliminate the headache of external contentrepositories

  • 8/2/2019 Intro to Share Point 2010 for Developers

    12/36

    When you want consistency

    in your support footprint

    Common user interface

    Vocabulary

    Standardized code base

  • 8/2/2019 Intro to Share Point 2010 for Developers

    13/36

    When you want to take

    advantage of the inherent

    features of the platform

    Collaboration

    Portal

    Content Management

    Search

    Business Intelligence

    Forms and Business Processes

  • 8/2/2019 Intro to Share Point 2010 for Developers

    14/36

    When you want to offset

    the cost of development More time spent in the planning and design

    stages should surface more out-of-the-box

    features [that should save time later]

    Out-of-the-box features should reduce thecost of custom software development

    Developer focus should shift immediately tothe business needs and extending the out-of-the-box features

  • 8/2/2019 Intro to Share Point 2010 for Developers

    15/36

    When you need SOA

    Rest API expose SharePoint content

    Use the object model to create your own webservices/WCFs

  • 8/2/2019 Intro to Share Point 2010 for Developers

    16/36

    When you need composite

    applications Dashboards, Mash-ups

    Business Connectivity Services All levels of your organization

  • 8/2/2019 Intro to Share Point 2010 for Developers

    17/36

    When you need composite

    applications

    ERP

    CRMLegacy

    SystemsMiddleware

    BeforeSharePoint

  • 8/2/2019 Intro to Share Point 2010 for Developers

    18/36

    When you need composite

    applicationsERP

    CRM

    LegacySystems

    SharePoint

  • 8/2/2019 Intro to Share Point 2010 for Developers

    19/36

    When you need Single Sign On

    Multiple built-in authentication options

    Support for third-party authenticationproviders

    Built-in SSO provider

    Manages credentials for other apps on your

    intranet

  • 8/2/2019 Intro to Share Point 2010 for Developers

    20/36

    When you need off-line

    support of your data

    Office Integration

    Importing/exporting lists from/to excel

    Linked tables with Access Calendar/Task List integration with Outlook

    Groove/SharePoint Workspace

  • 8/2/2019 Intro to Share Point 2010 for Developers

    21/36

    When you need auditing and

    retention policies Log just the events you need for what lists are

    of interest to you

    Develop auditing reports using SSRS

    Develop/customize workflows for contentretention and disposal

  • 8/2/2019 Intro to Share Point 2010 for Developers

    22/36

    When a development community

    is important to you

    Blogs and forums

    Community video tutorials

    User Groups

    CodePlex

    Commercial/Open Source Features and WebParts

  • 8/2/2019 Intro to Share Point 2010 for Developers

    23/36

    http://www.tinyurl.com/sp2010editions

    Editions

    http://www.tinyurl.com/sp2010editionshttp://www.tinyurl.com/sp2010editions
  • 8/2/2019 Intro to Share Point 2010 for Developers

    24/36

    Overview of SharePoint

    Development Tools

    InfoPath 2010

    smtp4dev

  • 8/2/2019 Intro to Share Point 2010 for Developers

    25/36

    SharePoint Development

    Environment for .NET SharePoint no longer required on

    development machine in some cases, but

    recommended

    Virtual environment

    64-bit is a must

    RAM is your friend

  • 8/2/2019 Intro to Share Point 2010 for Developers

    26/36

    Visual Studio Solutions

    for SharePoint

    Formerly 2

    Gaps filled withCodePlex add-ons

    Now 14 OOB

  • 8/2/2019 Intro to Share Point 2010 for Developers

    27/36

    SharePoint Solution

    Architectures

    Object Model Web Services*Client Object

    Model

    Web Parts

    Event Handlers

    Workflows

    Desktop Apps

    * New Client Object Model for Managed .NET, Silverlight and ECMA Script

  • 8/2/2019 Intro to Share Point 2010 for Developers

    28/36

    Feature Activated

  • 8/2/2019 Intro to Share Point 2010 for Developers

    29/36

    Feature Deactivated

  • 8/2/2019 Intro to Share Point 2010 for Developers

    30/36

    Client Object Model Files

    Managed Client (CLR based) C:\Program Files\Common Files\Microsoft Shared\Web

    Server Extensions\14\ISAPI Microsoft.SharePoint.Client (281 kb)

    Microsoft.SharePoint.Client.Runtime (145 kb) FYI: Microsoft.SharePoint.dll is 15.3 mb

    JavaScript Client C:\Program Files\Common Files\Microsoft Shared\Web

    Server Extensions\14\Template\Layouts SP.js (380 kb) SP.Core.js (13 kb) SP.Runtime.js (68 kb)

  • 8/2/2019 Intro to Share Point 2010 for Developers

    31/36

    Client Object Model Files

    Silverlight Client

    C:\Program Files\Common Files\MicrosoftShared\Web Server

    Extensions\14\Template\Layouts\ClientBin Microsoft.SharePoint.Client.Silverlight (262 kb)

    Microsoft.SharePoint.Client.Silverlight.Runtime

    (138 kb)

  • 8/2/2019 Intro to Share Point 2010 for Developers

    32/36

    Client Object Model

    Allows you to write SharePoint applicationsthat run on different platforms w/o using webservices

    Traditional .NET, Web/JavaScript andSilverlight developers can use familiar syntax

  • 8/2/2019 Intro to Share Point 2010 for Developers

    33/36

    New Features

    Ease of deployment Publish and run if SharePoint on local host

    Package and deploy if SharePoint remote

    Debugging Step through code if SharePoint on local host

    Sandbox solutions

    Allow applications to be deployed at the sitecollection level by a site collection administrator(as opposed to farm-level equivalent)

  • 8/2/2019 Intro to Share Point 2010 for Developers

    34/36

    New Features

    LINQ Support

    No longer restricted to just CAML queries ifwriting server-based code

    Create strongly typed SharePoint objects usingSPMetal utility

  • 8/2/2019 Intro to Share Point 2010 for Developers

    35/36

    New Features

    Dialog framework

    External Lists

    Looks and behaves like a SharePoint list

    Stored in SQL Server or some other data source

  • 8/2/2019 Intro to Share Point 2010 for Developers

    36/36

    For More Information

    Hands On Labs:http://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enOr

    http://bit.ly/sp2010hol

    Developer Training Kit

    http://bit.ly/sp2010devkit

    MSDN Training Videos

    http://www.mssharepointdeveloper.com

    http://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://bit.ly/sp2010holhttp://bit.ly/sp2010devkithttp://www.mssharepointdeveloper.com/http://www.mssharepointdeveloper.com/http://bit.ly/sp2010devkithttp://bit.ly/sp2010devkithttp://bit.ly/sp2010devkithttp://bit.ly/sp2010holhttp://bit.ly/sp2010holhttp://bit.ly/sp2010holhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=c010fc68-b47f-4db6-b8a8-ad4ba33a35c5&displaylang=en