SlideShare a Scribd company logo
1 of 24
@BASPUG @Bob1German

Relearning SharePoint
Development
The New Way to Develop Solutions and Apps
@BASPUG @Bob1German

BlueMetal Architects


We are experts at building solutions that exactly meet the needs
of our customers by apply the right people, processes and
platforms.



Our focus is on modernizing applications through expertise in
Creative, Social, Development and Data.



We have offices in Boston, New York, and Chicago.

Bob German
Principal Architect at BlueMetal Architects

Developer and architect on the SharePoint platform
since it was called “Site Server 3.0”
Co-author of SharePoint 2010 Development with
Silverlight for Addison-Wesley
http://blogs.msdn.com/BobGerman

About the Speaker

@Bob1German
2003
2001

• ASP Classic “Digital Dashboard”
• CAML is born

2003

• First .NET version; limited API
• No documented deployment model

2007

• Well documented model with
“Features” and “Solutions”

2010

• Added Sandbox
• Added Client APIs

2013

• Deprecated Sandbox
• Added App Model, more Client APIs

Key concept:

Microsoft wants us to start
developing outside of SharePoint
• Similar to Facebook and other online service “apps”
• Code runs in browser or an external web site;
access SharePoint via Client API’s
• Works in Office 365 and other hosted services
• Helps with stability, upgradability on-premises as
well

A Brief History of SharePoint Development
2003
2001
2003

@BASPUG @Bob1German

• ASP Classic “Digital Dashboard”
• CAML is born
• First .NET version; limited API
• No documented deployment model

approaches to SharePoint
development:

1

2007

Hosting:

2010

• Added Sandbox
• Added Client APIs

2013

• Deprecated Sandbox
• Added App Model, more Client APIs

3

Farm Solution

• Well documented model with
“Features” and “Solutions”

2
Sandboxed

App

On-prem

On-prem,
O365

On-prem, O365

Code runs: In browser or
On
SharePoint
servers

In browser or
In SP user
code service
process

In browser or
On external site,
out of
SharePoint

Capability: Unlimited

Very Limited

Emerging

API:

Server

Server
(limited)

Client

Security:

Code can be
omnipotent

Code runs as a Code runs as
user
app or user

A Brief History of SharePoint Development
Welcome
to the App
Model
Host
Web

App
Web
External
Hosting

The Maturing of SharePoint
Development
• Complete App isolation
• Isolated execution (outside of SharePoint)
• Isolated storage (SharePoint “App Web”)
• SharePoint can completely clean up when
app is removed

• Granular App Permissions – Control
what each app can do on behalf of
users
Welcome
to the App
Model

@BASPUG @Bob1German

App is
installed
here

App runs
here

Host
Web

App
Web
SharePoint
Hosted App

Host
Web
App Web

(optional)

App

Azure
or other provider

Provider or
Auto-Hosted App
App Web
 Provisioned by SharePoint on app
installation
 Code in Javascript on browser
No Server Code – period!
(though you can leverage
installed ASP
.NET controls)
 May contain declarative, webscoped features (lists, site pages,
client script, images, css)
 Access host web via cross-domain
library

“Cloud”
(Provider or Autohosted)
 Auto-hosted apps are provisioned
by Office 365 on app installation
(Office 365 only; not yet released)
 Any hosted web site can work;
pretty much anything goes
 Access host and app webs via
OAuth – run under:
 End user’s permissions
 App permissions
Host

Using the App Web and the Cloud

Web
App
Web
@BASPUG @Bob1German

Host
Web

http://myserver/sites/myweb/
App Web

Cross-Domain
Library

http://app12345/sites/myweb/

(optional)

App

Azure
or other provider

OAuth

http://whatevs.com/somepath/
Different domain names leverage
browsers’ same-origin policy

App Isolation
The Good
 Complete isolation
 Apps can’t interfere with the operating
system
 Apps can’t interfere with other apps
 Apps have granular permissions – no more
omnipotent code

 Central distribution
 Vet and control apps

 No more messes
 The system can clean remove an app
completely
 App isolation should make upgrades easier

The Bad and The Ugly
 Applications are restricted
 Can’t take advantage of server APIs
 More difficult to interact with other apps
 Can’t elevate privileges –
no more omnipotent code

 Central distribution
 Need to configure, host apps

 Version 1 Challenges
 No auto-hosted apps on prem or in Store
 Limited functionality
 Can’t

change host web page (e.g.
branding)
 Client API’s much better but not complete

 Can’t be provisioned in site templates

The App Model Today

 Most solutions need to be
rewritten
@BASPUG @Bob1German
Is my organization ready
for SharePoint 2013?

Will the app model
be another flash in the
pan like Sandboxed
Solutions or Silverlight?

Will Sandboxed solutions
really go away, and when?

Will Microsoft stop
supporting Farm Solutions
some day?

Where are we supposed to
host provider-hosted apps?

Will Auto-hosted apps be available
on premises?
And if they are – will they run on
premises or in Windows Azure?

Will my organization want
to run SharePoint in
the cloud?

What’s a SharePoint
Professional to do?
Develop
Outside
the Box

Instead of…

Start to…

Running code on the  Run code in the
server
browser
Using the Server API  Use the Client API
Designing solutions  Design solutions that
the traditional way
are structured like
apps
Buying products that  Buy products that
work only on
work in Office 365
premises
Pretend you might be going to Office 365…
• It’s a good bet Microsoft will invest in development
approaches that work on Office 365
• You will enjoy the stability and ease of
administration that Office 365 requires
Develop Outside the Box

@BASPUG @Bob1German

 Visual tracking of issues across a large department
 Common uses:
 Track service requests (help desk, etc.)
 Track workflow performance (used with an audit list)
 Dashboard to display SharePoint list data

 The challenge:

 The solution: Run it all in a Content Editor Web Part
(or in a SharePoint Hosted App)

Real World Scenario: IT Issues Dashboard
1. Develop in the Browser

Browser Programming and SharePoint Hosted Apps

2. Develop in the Cloud

Programming in Azure and External Web Sites

3. Develop in Workflow Manager

SharePoint 2013 and Workflow Foundation 4.5

Develop
Outside the
Box
1. Developing on the

Client
@BASPUG @Bob1German

 Lists and provisions child sites using a custom
Web Template
 Common uses:
Manage sites within a department site collection
Manage project sites
Automatic navigation to child sites

 Began its life humbly as a sandboxed solution
 Now living a dual life:
In a Content Editor Web Part in SharePoint 2010
In an App in SharePoint 2013

Site Provisioning Tool
1
HTML and CSS

2
Get SP Context

1

3, 4, 5

1

2

3
Get and display sites
4
Find WebTemplate

3, 4, 5
2

5
Create Child Site

2010
Code Walk-through

2013
2. Developing in the

Cloud
@BASPUG @Bob1German

 Geocodes list items and displays them on a map
 Common uses:
Display store or customer locations
Adapt to plot events or photos on a map
Get ready for the new GeoLocation features in SharePoint 2013

 This one started as a SharePoint Provider Hosted App
 Now moonlighting:
As a server-side event handler and
Visual Web Part in SharePoint 2010
As a remote event handler and Client Web Part
in a SharePoint Provider Hosted App

Location Mapping Tool
1
GeoLocation Field

2

2
Locations List

1

5
1
4
2

3
HTML and CSS
4
Handle List Event

5
6

5
Geocode; Update list

7

3

3
6
Get SP Context

6

2010

Code Walk-through

7
Display Map

4

7

2013
3. Developing for

Workflow Manager
SharePoint
Designer 2013

Visual Studio
2012

SharePoint 2013
SharePoint 2010
Workflow Engine

ClientOM
REST Services

SQL Server and
Windows Server
Workflow in SharePoint 2013

Workflow
Manager
1.0

 Workflow
Manager
hosts WF 4.5
workflows
 Workflows are
100%
declarative
 Extend via
web services,
not installed
assemblies
New App
Model
(Code runs outside of
SharePoint)

Old Packaging
New Approach
(Code runs outside
of SharePoint)
Traditional SharePoint
Development
(Code runs on
SharePoint servers)
SharePoint
Developer

Microsoft Moved the Cheese
@BASPUG @Bob1German

 Prepare for the future:
Pretend you might be going to Office 365
 Update Development Skills
 Learn client side development (Javascript, jQuery, Client OM, etc.)
 Learn SharePoint App design patterns
 Learn Azure and Oauth

 Develop more in the browser, less on the server
 Favor client APIs over server APIs
Architectural Overview

http://bit.ly/FutureProof-A

SP-Hosted – Site Creation Sample

http://bit.ly/FutureProof-B

Provider-Hosted – Locations Sample

http://bit.ly/FutureProof-C

Workflow – Site Creation with REST

http://bit.ly/SiteCreationWorkflow

Slides

Summary and Call to Action
BOSTON | NEW YORK | CHICAGO
44 Pleasant Street, Watertown, MA 02472
www.bluemetal.com
Blog.bluemetal.com
@bluemetalinc

Thank You!

More Related Content

What's hot

Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...NCCOMMS
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyBob German
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...NCCOMMS
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...European Collaboration Summit
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Fabio Franzini
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
 
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft StreamECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft StreamEuropean Collaboration Summit
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018serge luca
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentChris O'Brien
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
Share point apps the good, the bad, and the pot of gold at the end of the r...
Share point apps   the good, the bad, and the pot of gold at the end of the r...Share point apps   the good, the bad, and the pot of gold at the end of the r...
Share point apps the good, the bad, and the pot of gold at the end of the r...Bill Ayers
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenNCCOMMS
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per officeFabio Franzini
 
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Thomas Daly
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSean McLellan
 
Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePointFabio Franzini
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?European Collaboration Summit
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectSPC Adriatics
 
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...European Collaboration Summit
 

What's hot (20)

Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 apps
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the Ugly
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft StreamECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
ECS19 - Michael Greth - Best Practice with Company Video on Microsoft Stream
 
Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Share point apps the good, the bad, and the pot of gold at the end of the r...
Share point apps   the good, the bad, and the pot of gold at the end of the r...Share point apps   the good, the bad, and the pot of gold at the end of the r...
Share point apps the good, the bad, and the pot of gold at the end of the r...
 
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas VochtenO365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
O365Con18 - Hybrid SharePoint Deep Dive - Thomas Vochten
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
 
Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
 
[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?[Pinto] Is my SharePoint Development team properly enlighted?
[Pinto] Is my SharePoint Development team properly enlighted?
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices Project
 
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
 

Similar to Relearning SharePoint Development

2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to AppsGilles Pommier
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Giuseppe Marchi
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureTobias Lekman
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionNCCOMMS
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 
Office 365 development
Office 365 developmentOffice 365 development
Office 365 developmentyounjw
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appJoris Poelmans
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapEuropean Collaboration Summit
 
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014Non-Developer Options in SharePoint 2013 - Fest Chicago 2014
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014Asif Rehmani
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGEd Musters
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGEd Musters
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psUsama Wahab Khan Cloud, Data and AI
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 

Similar to Relearning SharePoint Development (20)

2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365Prepararsi a spostare le proprie applicazioni share point su office 365
Prepararsi a spostare le proprie applicazioni share point su office 365
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in action
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Office 365 Development Overview
Office 365 Development OverviewOffice 365 Development Overview
Office 365 Development Overview
 
SPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business AppSPS Gulf : SharePoint 2013 Cloud Business App
SPS Gulf : SharePoint 2013 Cloud Business App
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
Office 365 development
Office 365 developmentOffice 365 development
Office 365 development
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
 
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014Non-Developer Options in SharePoint 2013 - Fest Chicago 2014
Non-Developer Options in SharePoint 2013 - Fest Chicago 2014
 
SharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUGSharePoint 2013 Web Content Management for Developers TSPUG
SharePoint 2013 Web Content Management for Developers TSPUG
 
SharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUGSharePoint 2013 Web Content Management for Developers HSPUG
SharePoint 2013 Web Content Management for Developers HSPUG
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv ps
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Relearning SharePoint Development

  • 1. @BASPUG @Bob1German Relearning SharePoint Development The New Way to Develop Solutions and Apps
  • 2. @BASPUG @Bob1German BlueMetal Architects  We are experts at building solutions that exactly meet the needs of our customers by apply the right people, processes and platforms.  Our focus is on modernizing applications through expertise in Creative, Social, Development and Data.  We have offices in Boston, New York, and Chicago. Bob German Principal Architect at BlueMetal Architects Developer and architect on the SharePoint platform since it was called “Site Server 3.0” Co-author of SharePoint 2010 Development with Silverlight for Addison-Wesley http://blogs.msdn.com/BobGerman About the Speaker @Bob1German
  • 3. 2003 2001 • ASP Classic “Digital Dashboard” • CAML is born 2003 • First .NET version; limited API • No documented deployment model 2007 • Well documented model with “Features” and “Solutions” 2010 • Added Sandbox • Added Client APIs 2013 • Deprecated Sandbox • Added App Model, more Client APIs Key concept: Microsoft wants us to start developing outside of SharePoint • Similar to Facebook and other online service “apps” • Code runs in browser or an external web site; access SharePoint via Client API’s • Works in Office 365 and other hosted services • Helps with stability, upgradability on-premises as well A Brief History of SharePoint Development
  • 4. 2003 2001 2003 @BASPUG @Bob1German • ASP Classic “Digital Dashboard” • CAML is born • First .NET version; limited API • No documented deployment model approaches to SharePoint development: 1 2007 Hosting: 2010 • Added Sandbox • Added Client APIs 2013 • Deprecated Sandbox • Added App Model, more Client APIs 3 Farm Solution • Well documented model with “Features” and “Solutions” 2 Sandboxed App On-prem On-prem, O365 On-prem, O365 Code runs: In browser or On SharePoint servers In browser or In SP user code service process In browser or On external site, out of SharePoint Capability: Unlimited Very Limited Emerging API: Server Server (limited) Client Security: Code can be omnipotent Code runs as a Code runs as user app or user A Brief History of SharePoint Development
  • 5. Welcome to the App Model Host Web App Web External Hosting The Maturing of SharePoint Development • Complete App isolation • Isolated execution (outside of SharePoint) • Isolated storage (SharePoint “App Web”) • SharePoint can completely clean up when app is removed • Granular App Permissions – Control what each app can do on behalf of users
  • 6. Welcome to the App Model @BASPUG @Bob1German App is installed here App runs here Host Web App Web SharePoint Hosted App Host Web App Web (optional) App Azure or other provider Provider or Auto-Hosted App
  • 7. App Web  Provisioned by SharePoint on app installation  Code in Javascript on browser No Server Code – period! (though you can leverage installed ASP .NET controls)  May contain declarative, webscoped features (lists, site pages, client script, images, css)  Access host web via cross-domain library “Cloud” (Provider or Autohosted)  Auto-hosted apps are provisioned by Office 365 on app installation (Office 365 only; not yet released)  Any hosted web site can work; pretty much anything goes  Access host and app webs via OAuth – run under:  End user’s permissions  App permissions Host Using the App Web and the Cloud Web App Web
  • 8. @BASPUG @Bob1German Host Web http://myserver/sites/myweb/ App Web Cross-Domain Library http://app12345/sites/myweb/ (optional) App Azure or other provider OAuth http://whatevs.com/somepath/ Different domain names leverage browsers’ same-origin policy App Isolation
  • 9. The Good  Complete isolation  Apps can’t interfere with the operating system  Apps can’t interfere with other apps  Apps have granular permissions – no more omnipotent code  Central distribution  Vet and control apps  No more messes  The system can clean remove an app completely  App isolation should make upgrades easier The Bad and The Ugly  Applications are restricted  Can’t take advantage of server APIs  More difficult to interact with other apps  Can’t elevate privileges – no more omnipotent code  Central distribution  Need to configure, host apps  Version 1 Challenges  No auto-hosted apps on prem or in Store  Limited functionality  Can’t change host web page (e.g. branding)  Client API’s much better but not complete  Can’t be provisioned in site templates The App Model Today  Most solutions need to be rewritten
  • 10. @BASPUG @Bob1German Is my organization ready for SharePoint 2013? Will the app model be another flash in the pan like Sandboxed Solutions or Silverlight? Will Sandboxed solutions really go away, and when? Will Microsoft stop supporting Farm Solutions some day? Where are we supposed to host provider-hosted apps? Will Auto-hosted apps be available on premises? And if they are – will they run on premises or in Windows Azure? Will my organization want to run SharePoint in the cloud? What’s a SharePoint Professional to do?
  • 11. Develop Outside the Box Instead of… Start to… Running code on the  Run code in the server browser Using the Server API  Use the Client API Designing solutions  Design solutions that the traditional way are structured like apps Buying products that  Buy products that work only on work in Office 365 premises Pretend you might be going to Office 365… • It’s a good bet Microsoft will invest in development approaches that work on Office 365 • You will enjoy the stability and ease of administration that Office 365 requires
  • 12. Develop Outside the Box @BASPUG @Bob1German  Visual tracking of issues across a large department  Common uses:  Track service requests (help desk, etc.)  Track workflow performance (used with an audit list)  Dashboard to display SharePoint list data  The challenge:  The solution: Run it all in a Content Editor Web Part (or in a SharePoint Hosted App) Real World Scenario: IT Issues Dashboard
  • 13. 1. Develop in the Browser Browser Programming and SharePoint Hosted Apps 2. Develop in the Cloud Programming in Azure and External Web Sites 3. Develop in Workflow Manager SharePoint 2013 and Workflow Foundation 4.5 Develop Outside the Box
  • 14. 1. Developing on the Client
  • 15. @BASPUG @Bob1German  Lists and provisions child sites using a custom Web Template  Common uses: Manage sites within a department site collection Manage project sites Automatic navigation to child sites  Began its life humbly as a sandboxed solution  Now living a dual life: In a Content Editor Web Part in SharePoint 2010 In an App in SharePoint 2013 Site Provisioning Tool
  • 16. 1 HTML and CSS 2 Get SP Context 1 3, 4, 5 1 2 3 Get and display sites 4 Find WebTemplate 3, 4, 5 2 5 Create Child Site 2010 Code Walk-through 2013
  • 17. 2. Developing in the Cloud
  • 18. @BASPUG @Bob1German  Geocodes list items and displays them on a map  Common uses: Display store or customer locations Adapt to plot events or photos on a map Get ready for the new GeoLocation features in SharePoint 2013  This one started as a SharePoint Provider Hosted App  Now moonlighting: As a server-side event handler and Visual Web Part in SharePoint 2010 As a remote event handler and Client Web Part in a SharePoint Provider Hosted App Location Mapping Tool
  • 19. 1 GeoLocation Field 2 2 Locations List 1 5 1 4 2 3 HTML and CSS 4 Handle List Event 5 6 5 Geocode; Update list 7 3 3 6 Get SP Context 6 2010 Code Walk-through 7 Display Map 4 7 2013
  • 21. SharePoint Designer 2013 Visual Studio 2012 SharePoint 2013 SharePoint 2010 Workflow Engine ClientOM REST Services SQL Server and Windows Server Workflow in SharePoint 2013 Workflow Manager 1.0  Workflow Manager hosts WF 4.5 workflows  Workflows are 100% declarative  Extend via web services, not installed assemblies
  • 22. New App Model (Code runs outside of SharePoint) Old Packaging New Approach (Code runs outside of SharePoint) Traditional SharePoint Development (Code runs on SharePoint servers) SharePoint Developer Microsoft Moved the Cheese
  • 23. @BASPUG @Bob1German  Prepare for the future: Pretend you might be going to Office 365  Update Development Skills  Learn client side development (Javascript, jQuery, Client OM, etc.)  Learn SharePoint App design patterns  Learn Azure and Oauth  Develop more in the browser, less on the server  Favor client APIs over server APIs Architectural Overview http://bit.ly/FutureProof-A SP-Hosted – Site Creation Sample http://bit.ly/FutureProof-B Provider-Hosted – Locations Sample http://bit.ly/FutureProof-C Workflow – Site Creation with REST http://bit.ly/SiteCreationWorkflow Slides Summary and Call to Action
  • 24. BOSTON | NEW YORK | CHICAGO 44 Pleasant Street, Watertown, MA 02472 www.bluemetal.com Blog.bluemetal.com @bluemetalinc Thank You!