intro to apps anatomy of an app app architecture

20
Building apps for Office and SharePoint 2013 – Part 1 (using the web technologies you know and love) Keenan Newton Rolando Jimenez 3-020

Upload: dominic-patterson

Post on 28-Dec-2015

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intro to Apps Anatomy of an App App Architecture

Building apps for Office and SharePoint 2013 – Part 1(using the web technologies you know and love)Keenan NewtonRolando Jimenez3-020

Page 2: Intro to Apps Anatomy of an App App Architecture

Agenda

Intro to AppsAnatomy of an

AppApp

Architecture

Page 3: Intro to Apps Anatomy of an App App Architecture

Apps for Office and SharePoint

3

Apps

App catalog and store

Vacation request

Event planning

Expense calculator

Learning management

Risk management

Help-desksupport

Products and platforms

Services and data

Page 4: Intro to Apps Anatomy of an App App Architecture

Types of Apps for SharePointShape Description Example

Immersive App(Full Page)

App that implements a new scenario for customers

Resource Tracking, Budgeting

App Part Provides new parts you can add to your sites

Weather, Team Mascot, News

Extension App(Custom Action)

Add new actions for documents and items

Display Document Visualization, Print to Print Service Vendor

Page 5: Intro to Apps Anatomy of an App App Architecture

Types of Apps for OfficeTask Pane App for Office (Document-centric)Assists user working with one or more documentsWorks in Word, Excel and Project

Content App for Office (Document-centric)Adds embedded content/functionality into documentOnly used in Excel Application and Excel Web Application

Mail App for Office (Mailbox-centric)Outlook Client and Outlook Web App (OWA) Extends Outlook items with custom UI and behaviorsOutlook items can be messages and eventsRequire Exchange 2013

Page 6: Intro to Apps Anatomy of an App App Architecture

Common App ArchitectureBrowser

Office JSOM

SharePoint JSOM

Web Server

Other Devices

Client-side CodeHTML / CSS / JavaScript

APP

Server-side CodeAny language

SharePoint

CSOM CSOMREST

Autohosted Provider-hosted

Other

E.g. LAM

P

IIS / ASP.N

et

Windows AzureWeb Sites

Workflow

SQL

Cloud Services

Page 7: Intro to Apps Anatomy of an App App Architecture

Agenda

Intro to AppsAnatomy of an

AppApp

Architecture

Page 8: Intro to Apps Anatomy of an App App Architecture

App for Office Anatomy

App for Office

App ManifestWeb Page<XML><script

src="Office.js"/>

Page 9: Intro to Apps Anatomy of an App App Architecture

Developing Apps

Use any tools you likeAny editor that can manipulate text filesNotepad, UltraEdit, Eclipse, etc.

Visual Studio 2012 Experience App project templatesExcellent productivity featuresOne tool to accomplish all of your development needs

Great Looking AppsWe will provide CSS, controls and templates

Page 10: Intro to Apps Anatomy of an App App Architecture

App Deployment

Web Server Catalog Server

App for Office

App ManifestWeb Page<XML><script

src="Office.js"/>

Page 11: Intro to Apps Anatomy of an App App Architecture

Office Store or App Catalog

Consumers &Corporate Users

Developer

Web Server(Internet or Intranet)

App manifest (.xml)or .app package

DocumentSharing

App Deployment

Page 12: Intro to Apps Anatomy of an App App Architecture

Agenda

Intro to AppsAnatomy of an

AppApp

Architecture

Page 13: Intro to Apps Anatomy of an App App Architecture

The Power of the Cloud App Model

Bring the Web into Office & SharePoint

Plat

form

App

Client Code: HTML / CSS / Javascript

Server Code: Any Language

SharePoint(online or on-premises)

Ser

vice

s

On Premises

SharePoint & Exchange Servers

On Premises PlatformIIS

WorkflowSQL

Cloud

Office 365 Services

Azure RuntimeAzure Web SitesAzure Workflow

SQL Azure

REST, OAuth, OData, Remote Events

3rd Party ServicesBing, SalesForce, SAP, Twitter, Facebook

Page 14: Intro to Apps Anatomy of an App App Architecture

Apps for Office, Templates and SharePoint Apps

Rich Web content YouTube Video,Photo Gallery

Data Visualization, Analysis & Mashup

Maps, Custom charts,Lookups

Reference Tools Translation, Definitions, Dictionary, Help, Research

Content Authoring & Publishing

ContextualContent &

Services

Workflow and Collaboration

Doc builders,Print services

Business data lookup (CRM), Contextual forms (surveys)

Project tracking, Coauthoring

Content Authoring &

Publishing

Resumes, Contracts

DashboardsData Analysis, Data Mashups

Forms &Reports

Legal Forms,Financial Reports

Business Processes Sales & Marketing,Finance, HR

Team Collaboration Content & Project Management

Workflow Document Approval, Expenses

App for SharePoint

App

Document Template

App App

App AppApp App

Document Template

App App

Page 15: Intro to Apps Anatomy of an App App Architecture

Inside the Election Tracker App

Page 16: Intro to Apps Anatomy of an App App Architecture

Election Tracker Architecture

Azure Website

ElectionTracker Web Service

Cross-domaindata access

Page 17: Intro to Apps Anatomy of an App App Architecture

Election Tracker – Common considerationsHosting• Windows Azure Websites

Cross-domain data Access• Server-side proxy

Security & Authentication• SSL, basic authentication

Performance• Client-side and server-side caching

Page 18: Intro to Apps Anatomy of an App App Architecture

• Today – B92 Stinger – Building Apps for Office and SharePoint, Part 2

• Tomorrow 3:30 PM – B92 Odyssey – Apps for Office and SharePoint Development…

• Thursday 8:30 AM – B92 Odyssey – Building end-to-end apps on SharePoint…

• Thursday 12:00 PM – B92 Stinger – Developing an App for SharePoint Autohosted…

Related Sessions

Page 19: Intro to Apps Anatomy of an App App Architecture

• http://dev.office.com

• http://blogs.msdn.com/b/officeapps

Office & SharePoint Resources

Please submit sessions evals on the Build Windows 8 Appor at http://aka.ms/BuildSessions

Page 20: Intro to Apps Anatomy of an App App Architecture

© 2012 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.