Introduccion Desarrollo Office 365
-
Upload
bruno-alonso-palma-avila -
Category
Documents
-
view
213 -
download
0
description
Transcript of Introduccion Desarrollo Office 365
Meet Jeremy Thake | @jthake
• Jeremy recently joined Microsoft as Technical Product Manager for the Visual Studio Developer story for Office 365 development
• He has been heavily involved in the SharePoint community since 2006 – SharePoint MVP award 4 years in a row– Chief Architect shipping two Apps to the Office Store
Meet Scott Hillier | @ScotHillier
• Independent consultant and Microsoft SharePoint Most Valuable Professional (MVP)– http://www.shillier.com
• SharePoint Conference 2014– SPC230: Building Search Driven Applications with SharePoint 2013– SPC136: JavaScript Best Practices for Developing Apps– SPC005: A Primer in HTML5 and JavaScript
• Authored over 20 books– Professional SharePoint 2013 Development– Inside Microsoft SharePoint 2013
Jump Start Target Agenda
Office 365 Development
Module 1: Getting started with Apps for SharePoint and Apps for Office
Module 2: Intro to the Office 365 APIs
Module 3: Moving Full Trust Code to the Cloud Using Repeatable Patterns and Best Practices
Getting started with Apps for SharePoint and Apps for Office
Jeremy Thake Technical Product Manager, Microsoft
Scot HillierSharePoint MVP, Scot Hillier Technical Solutions, LLC
Office 365 development platform Contextual apps Robust Office 365
APIs
Documents Search
Calendar
People
Social
Flexible tools
Contextual appsSurface your apps in the Office 365 platformIn context of your business users productivity activitiesIn Office Client, Office Online, and modern apps
Introducing the app modelSharePoint apps do not “live” on the SharePoint serverCustom code executes in the client, cloud or on-premisesApps are granted permissions to SharePoint via OAuth Apps communicate with SharePoint via REST/CSOMAcquire apps via centralized location
App catalogPublic store (via submission process)APIs for manual deployment
Modern app development Apps
App catalog and store
Vacation request
Event planning
Expense calculator
Learning management
Risk management
Help-desksupport
Products and platforms
Services and data
SharePoint building blocksLists/librariesWeb partsSite columnsContent typesRemote event receiversWorkflows
Architecture of appsAzure
AphacheApp 3web
App 3mySQL
App 3worker
IIS web serverApp 4web
App 4SQL
App 4Windowsservice
SharePoint
Web application
Site collection
Root site
App 1SP hosted
App 2provider hosted
App 3 provider hosted
Sub siteApp 3provider hosted
App 4provider hosted
App 2web
App 2mySQL
App 2worker
Client-side patternSharePoint environmentSite collection
Host web App web
ListsSite pagesCSS filesJavaScript files
Server-side patternSharePoint environmentSite collection
Host web
IFrameApp web
IFrame
ASP.NET environmentOn-premises or in Microsoft Azure
ASP.NETpage
ASP.NETpage
Managed codeC# or VB
Managed codeC# or VB
SQL serverOn-premises data
SQL serverCloud-based data
Client-side object model calls
Hybrid patternSharePoint environmentSite collection
Host web
Custom JavaScript App web
Custom JavaScript
ASP.NET environmentOn-premises or in Windows Azure
ASP.NETweb service
ASP.NETweb service
Managed codeC# or VB
Managed codeC# or VB
Client-side object model calls
SQL serverOn-premises data
SQL serverCloud-based data
Provider versus SharePoint hostedProvider hosted apps Provider hosted apps
SharePoint hosted apps
Preferred hosting model for almost all types of apps
Good for smaller apps and resource storage
Full power of web—choose your infrastructure and technology
SharePoint-based; no server-side code
May require your own hosting Automatically hosted in SharePoint
May require you own handling of multitenancy and permission management
Inherent multitenancy and isolation
Application isolationWhen apps are provisioned, new SPWeb (AppWeb) created within hosting SPWebEach app resides within it’s own SPWeb for isolation
Special DNS address configured by administrators
App SPWeb’s live in separate domain (DNS)
Each app hosted on it’s own unique URL becauseBlocks XSS: isolation to special SPWeb under special domain blocks cross site scripting
Enforces app permissions: apps communicate with sites via CSOM/API and must be granted to do so
Understanding the app URLScenario: App installed in https://intranet.contoso.com
Dissecting the app URL:
https://tenant-APPUID.domain.com/APPNAME
https://app-bf473b5225nn0f.contoso.com/SharePointAppTitle
APPUID
Unique ID given to each app installation in tenancy
Makes each app domain unique
APPNAME
Name of SPWeb under where app is installed
Developers have control
App entry pointsApp entry pointsStart page
App parts
UI custom commands
The Chrome ControlUse the Chrome Control to inherit style and links from the host web in a cloud app
Web scopeCan register and use resources in parent site, site collection
Tenant scopeCan register start page, custom actions
Tenant admins can filter-enable on sites
By site collection, managed path, template type
(SharePoint-hosted tenant-scope apps not available)
App scoping
Apps in site collection hierarchy
https://intranet.contoso.com/sites/groupx
1
2 2
4
4
Root
Sub site AppWeb
3
Root
News Organization Teams Search AppWeb
https://intranet.contoso.com/sites/team
https://*.contosoapps.com
app
Centrally deployed app
1
Root
AppWeb AppWeb
2https://intranet.contoso.com/sites/
catalog
https://intranet.contoso.com/sites/orgZ 4Root
News Organization Teams Search AppWeb
Root
Sub site
https://intranet.contoso.com/sites/team 4
https://*.contosoapps.com
app3
Packaging and publishing appsPackaging apps.app file extension—a package typically includes the following files:
AppManifest.xml
AppIcon.png
Solution file
Data tier application package
Auto hosted apps
Publishing appsOffice Store
App catalogs
Cross domain callsUsing the cross domain libraryAccess content in the app web from JavaScript in a remote web
SP.RequestExecutor.js
AppWebProxy.aspx
Using the web proxyAccess content in SharePoint or elsewhere from JavaScript in a remote web
SP.WebRequestInfo
Trusting domains for cross domain calls
AuthenticationAzure
AphacheApp 3web
App 3mySQL
App 3worker
IIS web serverApp 4web
App 4SQL
App 4Windows service
SharePoint
Web application
Site collection
Root site
App 1SP hosted
App 2provider hosted
App 3 provider hosted
Sub siteApp 3provider hosted
App 4provider hosted
App 2web
App 2mySQL
App 2worker
VersioningAzure
AphacheApp 2WebV1.0.0.0
App 2SQLV1.0.0.0
IIS web serverApp 3WebV1.0.0.0
App 3SQLV1.0.0.0
App 3workerV1.0.0.0
SharePoint
Web application
Site collection
Root site
App 1V1.0.0.0
App 2V1.0.0.0
App 3 V1.0.0.0
Sub siteApp 2V1.0.0.0
App 3V1.0.0.0
App 2WebV1.0.0.0
App 2SQLV1.0.0.0
App 1V2.0.0.0App 1V3.0.0.0
App 2V2.0.0.0
App 2WebV2.0.0.0
App 2SQLV2.0.0.0
App 2V3.0.0.0
App 2WebV3.0.0.0
App 2SQLV3.0.0.0
App 3WebV2.0.0.0
App 3SQLV2.0.0.0
App 3workerV2.0.0.0
App 3 V2.0.0.0
App 3WebV3.0.0.0
App 3SQLV3.0.0.0
App 3workerV3.0.0.0
App 3 V3.0.0.0
App 2V2.0.0.0
App 2WebV2.0.0.0
App 2SQLV2.0.0.0
App 3WebV3.2.0.0
Marketplace
SP app upgrade process
Parent site
Child Site A
Child Site B
Child Site C
Meetings appV1.0.0.0
App1.0.0.0
New version available
App1.0.1.0
Meetings appV1.0.0.0
Meetings appV2.0.0.0
Meetings appV2.0.0.0
App scopesSPSite—site collectionSPWeb—websiteSPList—listTenancy—the tenancy scope is at http://<sharepointserver>/<content>/<tenant>/performing search queries, accessing taxonomy data, user profiles, etc.
App rightsRightsRead-only
Write
Manage
Full control (not supported in Store)
Not customizable if an app is granted permission to a scopeThe permission applies to all children of the scope
Setting app rightsApp rights are set whenAn app is installed by an SPWeb administrator
An app is explicitly granted permission by a tenant administrator or SPWeb administrator
An end-user gives consent
An app is removed
Once provisioned, the rights for an app cannot change—they can only be revoked in wholeThis ensures the app will not have to account for missing rights, i.e., become broken after installation
App shapes for SharePointFull pageImplement complete app experiences to satisfy business scenarios
PartsCreate app parts that can interact with the SharePoint experience
UI command extensionsAdd new commands to the ribbon and item menus
App shapes for SharePointFull pageImplement complete app experiences to satisfy business scenarios
PartsCreate app parts that can interact with the SharePoint experience
UI command extensionsAdd new commands to the ribbon and item menus
App shapes for SharePoint
Full pageImplement complete app experiences to satisfy business scenarios
PartsCreate app parts that can interact with the SharePoint experience
UI command extensionsAdd new commands to the ribbon and item menus
Office 2013 development scenariosWeb and cross-device readyIntegrate rich web content in Office contentInclude contextual content within apps for Office
Pre-Office 2013
Extending Office ribbon
COM add-in
Macro VSTO
Office 2013
Extending Office ribbon
COM add-in
Macro VSTO
App for Office
Document template
App for SharePoint
Office 2013 development optionsPre-Office 2013 developmentExtending Office ribbon
COM add-in
Macro
VSTO
Office 2013 web apps
Content app
Mail app
Office 2013 desktop apps
Task pane app
Content app
Mail app
Office 2013 development example scenarios
Business processes Sales and marketing, finance, and HR
Team collaboration Content and project management
Workflow Document approval and expenses
App for Sharepoint
Document template
App for Office
App for Office
App for Office
App for Office
Translation, definitions, dictionary, help, research
Business data lookup (CRM), contextual forms (surveys)
Rich web content YouTube video and photo gallery
Data visualization, analysis and
mashups
Maps, custom charts, and lookups
Reference tools
Content authoring and
publishingContextual
content and services
Workflow and collaboration
Doc builders and print services
Project tracking, coauthoring
App for Office
Content authoring
Resumes and contracts
Dashboards Data analysis and data mashups
Forms andreports
Legal forms and financial reports
Document template
App for Office
App for Office
App for Office
App for Office
App shapes for Office
Task paneApp adjacent to the document
ContentApp in the body of the document
Mail Inline pane on an email or appointment item
App shapes for Office
Task paneApp adjacent to the document
ContentApp in the body of the document
Mail Inline pane on an email or appointment item
App shapes for Office
Task paneApp adjacent to the document
ContentApp in the body of the document
Mail Inline pane on an email or appointment item
EnvironmentOffice 365 developer tenantOffice 365 individual developer site collectionOn-premises SharePoint server
ConclusionSurface your business solutions in Office 365 user interfaceLeverage the building blocks of the platform
Explore our MSDN libraryhttp://dev.office.com
Play with our code sampleshttp://aka.ms/OfficeDevSamples
Follow our patterns & practiceshttp://aka.ms/OfficeDevPnP
Get answershttp://aka.ms/AskSharePointhttp://aka.ms/AskOffice
Give feedback Drive our roadmap http://aka.ms/OfficeDevFeedback
Calls to action
Patterns and practicesProviding App Model Patterns for common Full Trust Code scenarios
30+ Visual Studio projectsCommon scenarios• Branding• Site provisioning• Remote event receivers • Large file support• Taxonomy driven navigation• And much more…
ContributeOpen source coming soon!
aka.ms/OfficeAMS
©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics 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.