Introducción a las Apps para SharePoint

44
Curso Desarrollo Office 365 Marzo 2015

Transcript of Introducción a las Apps para SharePoint

Curso Desarrollo Office 365Marzo 2015

Introducción a las Apps para SharePoint

Alberto Diaz Martin (@adiazcan)Principal Team Leader en ENCAMINAMVP de SharePoint Server

Agenda Introducción al modelo de AppsApps for SharePointGetting started

Plataforma desarrollo Office 365Apps Contextuales Office 365 APIs

Documents Search

Mail

Calendar

People

Social

Herramientas flexibles

Introducción al modelo de Apps

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

AÑADIENDO NUESTRA PRIMERA APP

demo

Apps for SharePoint

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

EJEMPLOS DE APPS PARA SHAREPOINT

demo

Getting started

Visual Studio 2013

EntornoOffice 365 developer tenantOffice 365 individual developer site collectionOn-premises SharePoint server

CONSTRUYENDO LA PRIMERA APP FOR SHAREPOINT

demo

ConclusionesImplementemos nuestras soluciones de negocio en Office 365Aprovechando las capacidades de la plataformaUsando la plataforma de desarrollo que necesites

Dev. .comOffice

One stop shop for Office Developer Platform

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.