introducción a las apps para sharepoint
TRANSCRIPT
Introducción a las Apps para SharePoint
Alberto Diaz Martin (@adiazcan)Principal Team Leader en ENCAMINAMVP de SharePoint Server
Plataforma desarrollo Office 365Apps Contextuales Office 365 APIs
Documents Search
Calendar
People
Social
Herramientas flexibles
Apps ContextualesComplementa las apps en Office 365 En context con las actividades de los usuarios de NegocioEn Cliente Office, Office Online, y Apps
Introducción al modelo de AppsLas Aplicaciones SharePoint no “viven” en el servidor SharePointLa ejecución del código personalizado se realizer en el cliente, en la nube o en on-premisesSharePoint da permisos a las Apps via OauthLas Apps se comunican con SharePoint via RES/CSOM¿Cómo se instalan las Apps?
Catálogo de AplicacionesTienda Office Pública (con un proceso de solicitud)Despliegue manual
Desarrollo de AppApps
App catalog and store
Vacation request
Event planning
Expense calculator
Learning management
Risk management
Help-desksupport
Products and platforms
Services and data
Bloques de construcción en SharePointListas/BibliotecasWeb PartsColumnas de SitiosTipos de ContenidoReceptores de eventos remotos (Remote Event Receivers)Workflows
Arquitectura de AppsAzure
ApacheApp 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 2SQL
App 2Worker
Patrón Client-SideSharePoint environmentSite collection
Host web App web
ListsSite pagesCSS filesJavaScript files
Patrón Server-SideSharePoint environmentSite collection
Host web
IFrameApp web
IFrame
ASP.NET environmentOn-premises or in Microsoft Azure
Remoteweb
Remoteweb
Managed codeC# or VB
Managed codeC# or VB
SQL serverOn-premises data
SQL serverCloud-based data
Client-side object model calls
Patrón HybridSharePoint environmentSite collection
Host web
Custom JavaScript App web
Custom JavaScript
ASP.NET environmentOn-premises or in Windows Azure
Remoteweb service
Remoteweb 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
Modelo preferido para casi todos los tipos de Apps
Buena elección para aplicaciones pequeñas y almacenamiento de recursos
Todo el poder de la web — elige tu infraestructura y tecnología
Basadas en SharePoint; sin código de servidor
Puede requerir tu propio hosting Hospedadas automáticamente en SharePoint
Puede requerir el control del multitenancy y la administración de permisos
multitenancy y aislamiento heredado
Aislamiento de AplicacionesCuando se provisionan las Apps, se crea una nueva SPWeb (AppWeb) created hospedada en SPWebCada App reside en su propio SPWeb por aislamiento
Configuración DNS especial (app-123456.apps.misharepoint.com)
El SPWeb de la App vive en dominios separados (DNS)
Cada App se hospeda en su propia URL única porqueBlocks XSS: aislamiento a SPWeb bajo bloqueos de dominios especiales
Garantiza los permisos de las apps: las Apps se comunica con los sitios via CSOM/API y debén de concederse permisos para eso
Entendiendo la URL de la AppEscenario: App instalada en https://intranet.contoso.com
Disección de la URL de la App:
https://tenant-APPUID.domain.com/APPNAME
https://app-bf473b5225nn0f.contoso.com/SharePointAppTitle
APPUID
ID único para cada instalación de la App en el tenant
Permite que cada dominio de app sea único
APPNAME
Nombre del SPWeb donde la App es instalada
Desarrolladores tienen el control
Puntos de Entrada de una AppPuntos de entradaPágina de inicio
App Parts
Comandos personalizados de UI
El Control ChromeUsemos el control Chrome para heredar estilos y enlaces del Host Web en una aplicación cloud
Custom client code
_api
JavaScript library Silverlight library .Net CLR library
Execute query REST/
OData
…SearchLists and
librariesTaxonomy FeedsUser profile
Las APIs de cliente de SharePoint
Web scopePuede registrar y usar recursos del sitio padre o colección de sitios
Tenant scopePuede registrar la página de inicio, acciones personalizadas
Administradores del Tenant puede habilitar el acceso
(SharePoint-hosted tenant-scope apps no soportado)
Alcance de una App
Apps en la jerarquía de una colección de sitios
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
App de despliegue centralizado
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
Empaquetando y publicando AppsEmpaquetando AppsExtensión .app — un paquete típico incluye los siguientes archivos:
AppManifest.xml
AppIcon.png
Fichero de solución
Data tier application package
Auto hosted apps
Publicando AppsOffice Store
App catalogs
Llamadas cross domainUsando la librearía de cross domainAcceso al contenido de la App Web desde JavaScript en una web remota
SP.RequestExecutor.js
AppWebProxy.aspx
Usando el proxy webAcceso al contenido en SharePoint o donde sea desde JavaScript en una web remota
SP.WebRequestInfo
Sólo Dominios de confianza para llamadas cross domain
Azure
Apache
IIS web server
App 3WebV1.0.0.0
App 3SQLV1.0.0.0
App 3workerV1.0.0.0
VersionadoSharePoint
Web application
Site collection
Root site
App 1V1.0.0.0
App 2V1.0.0.0
App 3 V1.0.0.0
Sub siteApp 4V1.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 4V2.0.0.0
App 2WorkerV1.0.0.0
App 2WorkerV2.0.0.0
App 2WorkerV3.0.0.0
App 4SQLV1.0.0.0
App 4WebV1.0.0.0
App 4WebV2.0.0.0
App 4SQLV2.0.0.0
Marketplace
Proceso de actualización
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
Formas de una App for SharePoint Página completa
Implementa experiencia complete para satisfacer escenarios de negocio
PartsCreamos App Parts que pueden interactuar con la experiencia de SharePoint
Extensiones UI commandAñadimos nuevos commandos a la ribbon o menu de elemento
Formas de una App for SharePoint Página completa
Implementa experiencia complete para satisfacer escenarios de negocio
PartsCreamos App Parts que pueden interactuar con la experiencia de SharePoint
Extensiones UI commandAñadimos nuevos commandos a la ribbon o menu de elemento
Formas de una App for SharePoint Página completa
Implementa experiencia complete para satisfacer escenarios de negocio
PartsCreamos App Parts que pueden interactuar con la experiencia de SharePoint
Extensiones UI commandAñadimos nuevos commandos a la ribbon o menu de elemento
EntornoOffice 365 developer tenantOffice 365 individual developer site collectionOn-premises SharePoint server
ConclusionesImplementemos nuestras soluciones de negocio en Office 365Aprovechando las capacidades de la plataformaUsando la plataforma de desarrollo que necesites
Explore our developer centerhttp://dev.office.com
Calls to action
Give feedback Drive our roadmap http://aka.ms/OfficeDevFeedback
Get answershttp://aka.ms/AskSharePointhttp://aka.ms/AskOffice
Play with our code sampleshttp://dev.office.com/code-samples
Jumpstart into our traininghttp://dev.office.com/training
Transform your codeProviding App Model Patterns for common Full Trust Code scenarios
60+ 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/OfficeDevPnP
DeveloperPatterns & Practices
Microsoft Virtual Academy courses
2014
Aug Sept Oct
Introduction to Office 365 Development
2015
JanNov Dec
Deep Dive into the Office 365 App Model
Deep Dive into integrating Office 365 APIs with your standalone web application development
Deep Dive into integrating Office 365 APIs with your mobile device development
Shipping your Office 365 App to theOffice Store
Deep dive into the building blocks and services of the SharePoint platform
Feb
Deep Dive into Office 365 Development on non-Microsoft Stack
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.