SharePoint Development

Post on 10-Jul-2015

107 views 0 download

description

SharePoint Development has many potentials with to the massive opportunity its creating with increasing number of users. This will be a good place to jump-start for SharePoint development.

Transcript of SharePoint Development

SharePoint Development

Malin De Silva

SharePoint Specialist

Overview

• What is SharePoint?

• History

• Opportunity

• SharePoint Architecture

• Core Concepts

• Types of Development

What is SharePoint?

• Create sites and work in teams• Integrated with Windows and Office• In built content authorization mechanisms for users• Multiple forms of information management

– Documents– Digital assets

• Facilitates business process management• Interactive reports, dashboards and insights• Connect with existing LOB data• Social networking with colleagues• Search

History

• 2001– Microsoft SharePoint Portal Server

• 2002– Microsoft SharePoint Team Services

• 2003– Windows SharePoint Services 2.0 (Free)– Microsoft SharePoint Portal Server 2003 (Commercial)

• 2007– Windows SharePoint Services 3.0 (Free)– Microsoft Office SharePoint Server 2007 (Commercial)

• 2010– Microsoft SharePoint Foundation 2010 (Free)– Microsoft SharePoint Server 2010 (commercial – Standard & Enterprise)

• 2013– Microsoft SharePoint Foundation 2013 (Free)– Microsoft SharePoint Server 2013 (Commercial – Standard & Enterprise)– Office 365 – SharePoint online

Opportunity

• 75% of the Fortune 500– 22% have all employees using

• As a standalone business– 125 million licenses

– 65,000 customers

• Better utilizing data– US health care industry: over $300 billion annually

– Retailer operating margin increase by 60%

– Production and assembly cost reduction by 50%

SharePoint Architecture

Core Concepts

Farm Service Applications Web Application

Site Collection Site List

List Item Document Library

Demonstration

• SharePoint Farm

• Service Applications

• Web Applications

• Site Collections

• Sites

• Lists

• Document Libraries

Types of Development

1. Out Of The Box (OOTB)

2. SharePoint Designer

3. PowerShell

4. Farm solutions

5. Sandboxed solutions

6. Apps for SharePoint

7. REST API implementations

1. Out of the box

• Performed in SharePoint

• Managed through web application

• Less time consuming work are usually taken

• Good place to start development

Advantages

• No or less code• No external tools• No development skills required• Fewest upgrade issues

Disadvantages

• Not enough most times• Sometimes can go wrong

2. SharePoint Designer

• Free development tool• Performs operations through web services• Essential for branding development• HTML, CSS, XML, JavaScript skills required

Advantages

• More options for development• Look and feel customization• Remote development• Workflow support

Disadvantages

• Still has limitations• Deployment is messy

3. PowerShell

• Used for scripting, not for solutions

• Eg:

– Configure farm

– Delete a list

– Deploy a solution

Advantages

• Perfect for “run once” logic that may not make sense to deploy as a feature

Disadvantages

• Not an option for the cloud

4. Farm Solutions

• Runs full trust code

• Deploys DLLs to GAC

• Available APIs

– Server-Side object model

– Client-Side object model

– REST api

Advantages

• Almost all operations available• Can access custom DLLs in the GAC

Disadvantages

• Can affect farm stability• Need farm administrator to deploy

5. Sandboxed Solutions

• Deploys at site collection level• Strict Code Access Security policies• Deprecated• Runs in an isolated process but in the

farm• Available APIs

– Server-Side object model– Client-Side object model– REST api

Advantages

• Considered much safer• Easy to manage

Disadvantages

• Limited development components• Architecture provides overhead

6. Apps for SharePoint

• Introduced with SharePoint 2013• Multiple APIs for development• Available APIs

– Client-Side object model– REST api

• Hosting options– Provider-hosted– SharePoint-hosted

Advantages

• Considered much safer• Easy to manage

Disadvantages

• Limited development components• Architecture provides overhead

7. REST API

Thank You!

Questions?