sharepoint app model architecture & design considerations - sean hester

28
‹#› SharePoint Saturday Atlanta |SharePoint Saturday Atlanta Please thank our sponsors! Platinum Sponsors

Upload: threewill

Post on 20-Aug-2015

3.720 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Please thank our sponsors!Platinum Sponsors

Page 2: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Please thank our sponsors!Gold Sponsors

Page 3: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Please thank our sponsors!Silver Sponsors

Page 4: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Lunch Snack

SharePint

Please thank our sponsors!Item & Event Sponsors

Speaker ShirtsAttendee Shirts

Abel Solutions

Speaker Dinner

Page 5: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta

Sean Hester – Senior Research Engineer, ThreeWill

SharePoint 2013 Application Models: Architecture & Design Considerations

Page 6: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Sean HesterSenior Research Engineer, ThreeWill [email protected]@seansageek@threewilllabs

Research Emerging Technologies & Best PracticesWeb Dev 1997 / .NET 2001 / SharePoint 2008MCSD Web Apps, MCTS SharePoint

About your presenter…

Page 7: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

You Might Think You’ve Got Two Or Three Choices for SharePoint App Model Development: 1.App Web App (SharePoint-Hosted)2.Host Web App (SharePoint-Hosted)3.Provider-Hosted

#BoldStatement

Page 8: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

#BoldStatementI Say You’ve Only Got One:

1.Where Are You Going To Host Your Provider-Hosted App?

Page 9: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

2001

Team Services 1.0No There There

(Dev-Wise)

2003

WSS/Portal Server 2.0.NET

Web PartsCustom Forms

2007

WSS/Portal Server 3.0Application PagesCustom Features

2010

WSS/Portal Server 4.0Custom AdminListData.svc

Sandbox Solutions

2013

SharePoint Server 2013SharePoint Online / O365

Hosted SolutionsExpanded REST + CSOM

You Are

Here

BPOS.NET 1.0

Web MVC

(Struts)

ASP.NET MVC CTP

ASP.NET MVC

1.0

AngularBackbo

ne(i.e.

SPAs)

NHibernate

(.NET ORM)

EF 1.0

SharePoint’s Fundament

al Web Technologie

s

HTML 5.NET 4.5

MVC 5.0

EF 6.0Web API

2Signal R

Page 10: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Don’t Panic

Page 11: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

App Web App

Page 12: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

SharePoint (Farm or Online)

Host Web

OotB / Out-of-Band1.Users2.CAML

(Lists… Anything)

3.Web Parts4.App Pages5.Controls6.Etc.

Browser

App Web API

SharePoint-Hosted App1. CAML (Lists,

Fields)2. Web Artifacts

(HTML, JS, CSS)3. App Parts4. Custom Actions

Cloud Friendly

SharePoint Only

Simple Structure

No Middle

Tier

Fragile Integrati

on

Exposed Flanks

Design Limitations

Data Limitations

Reduced Productivit

y

~

Page 13: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

1.All Your Use Cases Are Strictly UX Related

2.You Don’t Need Private Logic3.You Don’t Need App-Specific Security4.Your Data Needs Are Simple5.You Don’t Have Strict Availability

Requirements

Sweet Spot

Page 14: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Host Web App

Page 15: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

SharePoint (Farm or Online)

Host Web

OotB / Out-of-Band1.Users2.CAML

(Lists… Anything)

3.Web Parts4.App Pages5.Controls6.Etc.

Browser

App Web API

SharePoint-Hosted App1. CAML (Lists,

Fields)2. Web Artifacts

(HTML, JS, CSS)3. App Parts4. Custom Actions

Cloud Friendly

SharePoint Only

Simple Structure

No Middle

Tier

Fragile Integratio

n

Exposed Flanks

Design Limitations

Data Limitations

Reduced Productivit

y

~

Page 16: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

SharePoint (Farm or Online)

Host Web

OotB / Out-of-Band1.Users2.CAML

(Lists… Anything)

3.Web Parts4.App Pages5.Controls6.Etc.

API

Browser

App WebHost Web

OotB / Out-of-Band1.Users2.CAML

(Lists… Anything)

3.Web Parts4.App Pages5.Controls6.Etc.

SharePoint-Hosted App1. CAML (Lists,

Fields)2. Web Artifacts

(HTML, JS, CSS)3. App Parts4. Custom Actions5. ???

No Silo

Improved Data

Security… More Fragile Integration

Out-of-Band Sync

Reduced Host Security

ImprovedIntegration

Page 17: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

1.All Your Use Cases Are Strictly UX Related

2.You Don’t Need Private Logic3.You Don’t Need App-Specific Security4.Your Data Needs Are Simple5.You Don’t Have Strict Availability

Requirements

Sweet Spot

Page 18: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Sweet Spot

6.Your Data Already Exists In A SharePoint Web

7.You Want Your Data To Live In The Host Web (For Whatever Reason)

Page 19: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Provider-Hosted App

Page 20: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

“Provider” (Azure or Wherever)

Provider Web / Services

Provider App

1.CSOM (Broad Support) 2.Events3.Timer Jobs4.Workflow 5.App Services6.Anything!

SharePoint (Farm or Online)

App WebHost Web

OotB / Out-of-Band

API

Browser

SP App

API

SQL NoSQL Queue *Stable(r) Integratio

n

DesignChoices

Performance Controls

Revenue OptionsALM

Full Featured

Integration

Full Middle Tier! !

Page 21: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

“Provider” (Azure or Wherever)

Provider Web / Services

Provider App

1.CSOM (Broad Support) 2.Events3.Timer Jobs4.Workflow 5.App Services6.Anything!

SharePoint (Farm or Online)

App WebHost Web

OotB / Out-of-Band

API

Browser

SP App

API

SQL NoSQL Queue *

Complex

Increased Effort

Learning Curve

Tooling LackingReduced Capability (vs Farm Solutions)

Page 22: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

1.Your Use Cases Exceed UX2.You Need Private Logic3.You Need App-Specific Security4.You Need Complex and/or App-Specific

Data5.You Have Strict Availability

Requirements6.You Want To Leverage Server Side Code7.You Need Agency Beyond A Browser

Sweet Spot

Page 23: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Sweet Spot

8.You Have Tolerance For Complexity9.You Have Time To Learn

Page 24: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Capability Farm App Web Host Web ProviderAvailability, Stability 4 3 3 4

Schema, Data Management 5 3 3 5Design Flexibility

5 2 2 5

Operational Capability 4 3 3 4Packaging, Distribution, Deployment 4 2 2 4

Productivity, Resourcing, Tooling 5 2 2 3

User Experience 4 4 4 5

User Management, Security 5 1 1 5Biggest Delta

Page 25: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Where Are You Going To Host Your Provider-Hosted App?

Page 26: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Presentation DeckDemo Code

Complete Absence & Vacation Request, Help DeskPartials of Extranet Time & Task Entry

Reference ListWhite Paper (Coming Soon!)

Materials Available

Page 27: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Questions, Comments, Accusations…

Page 28: SharePoint App Model Architecture & Design Considerations  - Sean Hester

‹#› SharePoint Saturday Atlanta|SharePoint Saturday Atlanta

Sean HesterSenior Research

Engineer, [email protected]@seansageek@threewilllabs

End of SessionWe value your feedback… please

complete event evaluation