it camps apps office 365 valencia 2014

62

Upload: adrian-diaz-cervera

Post on 01-Jul-2015

247 views

Category:

Software


5 download

DESCRIPTION

Slides del IT camps de la Comunidad de Office 365 sobe el desarrollo de Apps para la Office Store, sus ventajas e inconvenites sobre la versión on premise. Los tipos de Apps que existen y como podemos sacarle partid

TRANSCRIPT

Page 1: IT Camps Apps Office 365 Valencia 2014
Page 2: IT Camps Apps Office 365 Valencia 2014

Serv

er

Virtu

aliz

atio

n

http://geeks.ms/blogs/adiazmartin

[email protected]

[email protected]

Alb

ert

o D

íaz

Page 3: IT Camps Apps Office 365 Valencia 2014

Serv

er

Virtu

aliz

atio

n

http://geeks.ms/blogs/jcgonzalez

[email protected]

[email protected]

J.C. G

onza

lez

Page 4: IT Camps Apps Office 365 Valencia 2014

Serv

er

Virtu

aliz

atio

n

http://blogs.encamina.com/desarrollandosobresharepoint

http://geeks.ms/blogs/adiazcervera

[email protected]

[email protected]

Adrián D

íaz

Page 5: IT Camps Apps Office 365 Valencia 2014

Serv

er

Virtu

aliz

atio

n

http://geeks.ms/blogs/santypr/

[email protected]

Santia

go P

orr

as

Page 6: IT Camps Apps Office 365 Valencia 2014

Introducción al Modelo de Aplicaciones

Page 7: IT Camps Apps Office 365 Valencia 2014

SitesSitio

s

Temas

PersonasApps

Page 8: IT Camps Apps Office 365 Valencia 2014
Page 9: IT Camps Apps Office 365 Valencia 2014
Page 10: IT Camps Apps Office 365 Valencia 2014

Utilizan OAuth

para

autenticación

Page 11: IT Camps Apps Office 365 Valencia 2014

Están enfocadas

a solucionar un

problema

puntual

Page 12: IT Camps Apps Office 365 Valencia 2014
Page 13: IT Camps Apps Office 365 Valencia 2014

También es posible crear Sistemas “híbridos”...

Alojado por

Proveedor

Alojado por

SharePoint

Any

SP

Page 14: IT Camps Apps Office 365 Valencia 2014
Page 15: IT Camps Apps Office 365 Valencia 2014

http://tenant-AppId.dominio.com/NombreApp/...?Parametros

Page 16: IT Camps Apps Office 365 Valencia 2014

Configuración del DNS

Configuración en SharePoint

Creación del Catalogo de

Aplicaciones

Page 17: IT Camps Apps Office 365 Valencia 2014

Sitio de Desarrollador

Configuración de

Aplicaciones

Monitoreo de Aplicaciones (solo

en SharePoint Server)

Page 18: IT Camps Apps Office 365 Valencia 2014

Aplicaciones residen en una Lista en el Sitio de Catalogo

de Apps

Usuarios pueden

solicitar

Aplicaciones

Page 19: IT Camps Apps Office 365 Valencia 2014

Atención: Use diferentes usuarios en Sistema de

Desarrollo

• Plantilla en Visual Studio 2012/2013

• Paquete de instalación “.app” (.zip con .wsp dentro)

• “Sitio de Desarrollador” para testeo

• Modelo de Objetos de Cliente y REST (+ OData + Oauth)

• Inversión en el futuro: JavaScript, JQuery, JSON, OData, OAuth

Page 20: IT Camps Apps Office 365 Valencia 2014

• Unificación de conceptos: todo es Apps en SharePoint (incluyendo

Listas, Bibliotecas, Tipos de Contenido, etc.)

• Cualquier desarrollador que pueda usar JScript se convierte en un

desarrollador de SharePoint

• Código no es desplegado al lado de los servidores (ventaja?... Mas que una

ventaja, una obligación debido a 365)

• Aislamiento (ventaja?)

Page 21: IT Camps Apps Office 365 Valencia 2014

• CSOM y REST usan un sub-set del API de SharePoint

• Herramientas de desarrollo de JScript y REST todavía no suficientemente maduras

(TypeScript?)

• Apps no se pueden instanciar en una plantilla

• Apps no se pueden comunicar entre ellas (“Conectadas”)

• Código JScript ejecuta en cliente disponible localmente Ofuscación

• Problemas con Backups/Restore

• Apps tienen que ser instaladas en el Catalogo por un administrador (no como Site Coll

Admin para SandBox)

• Apps no ejecutan en un SandBox...

• Apps en el MS Almacén son controladas, pero que tan bien?

• Migración?

• Soporte futuro? (Sandbox fatalidad...)

Page 22: IT Camps Apps Office 365 Valencia 2014

BIPOS 365 V1

2013

20xx

365 V2 365 Vxx

SSOM (Local)

Server Side Object Model

CSOM (Nube)

Client Side Object Model

Page 23: IT Camps Apps Office 365 Valencia 2014

Visual Studio 2012/2013, que es nuevo, que es diferente

Page 24: IT Camps Apps Office 365 Valencia 2014

Plantilla

Aplicación para

SharePoint 2013

Page 25: IT Camps Apps Office 365 Valencia 2014

Manejo

Page 26: IT Camps Apps Office 365 Valencia 2014
Page 27: IT Camps Apps Office 365 Valencia 2014

Lenguaje

Dinámico

Page 28: IT Camps Apps Office 365 Valencia 2014
Page 29: IT Camps Apps Office 365 Valencia 2014
Page 30: IT Camps Apps Office 365 Valencia 2014

Mismos Servicios

Versión

OnPremise

Page 31: IT Camps Apps Office 365 Valencia 2014
Page 32: IT Camps Apps Office 365 Valencia 2014
Page 33: IT Camps Apps Office 365 Valencia 2014
Page 34: IT Camps Apps Office 365 Valencia 2014
Page 35: IT Camps Apps Office 365 Valencia 2014

WYSIWYG

Page 36: IT Camps Apps Office 365 Valencia 2014
Page 37: IT Camps Apps Office 365 Valencia 2014
Page 38: IT Camps Apps Office 365 Valencia 2014
Page 39: IT Camps Apps Office 365 Valencia 2014

Colección de Sitios, Webs, Listas, Elementos de Lista,

Vistas, Schemas de listas, Campos y Carpetas

A que puedo Acceder con CSOM

Web Parts, Seguridad, Tipos de Contenidos, Plantillas de

Sitios

Perfiles de usuario, Suministro de Noticias, Búsqueda,

Taxonomía, Publicación

Flujos de Trabajo, E-Discovery, IRM, BCS

Llamadas de domino cruzado

Page 40: IT Camps Apps Office 365 Valencia 2014
Page 41: IT Camps Apps Office 365 Valencia 2014

Context.Web.Lists

CSOM

Context.Web.Lists[guid]

Web.Lists.GetByTitle ("Title")

Context.Web.Lists[guid].Fields

Context.web.SiteUsers

/_api/web/lists

REST

/_api/web/lists(‘guid’)

/_api/web/lists/getbytitle(‘Title’)

/_api/web/lists/getbytitle(‘Title’)/Field

/_api/web/siteusers

Page 42: IT Camps Apps Office 365 Valencia 2014
Page 43: IT Camps Apps Office 365 Valencia 2014
Page 44: IT Camps Apps Office 365 Valencia 2014
Page 45: IT Camps Apps Office 365 Valencia 2014

2007

El código de la GAC se ejecuta en el mismo

proceso (w3wp.ex) que la Aplicación Web

2010

El código se ejecuta en un proceso especial

(SPUCWorkerProcess.exe) o bien llama a client.svc (CSOM)

2013

El código se ejecuta fuerade SharePoint y aprovechalas capacidades expuestas

en _api

Page 46: IT Camps Apps Office 365 Valencia 2014

App Web

(de WSP)

Sitio

Padre

SharePoint-hosted AppProvisiona un subsitio aislado bajo un

sitio padre

Reutiliza elementos web

(lists, files, out-of-box web parts)

• No se permite código en el lado

del servidor; usar JavaScript

Autohosted App (Azure)Windows Azure + SQL Azure

provisionadas de forma “invisible”

mientras la app se instala

Azure

(desde

WebDeploy

, DacPac)

Sitio

SharePoint

Suscribirse a eventos

remotos de SP

Usar CSOM/REST +

OAuth para operar

con SharePoint

Cloud-based Apps

Provider-Hosted App“Necesitas su propia infraestructura de

hosting”

Los desarrolladores tienen que aislar

los tenants

Sitio

SharePoint Su Sitio de

Hosting

Page 47: IT Camps Apps Office 365 Valencia 2014

SharePoint Hosted Cloud Hosted

App Scope SharePoint Site Site o Tenancy

Arquitectura Web Site Multi-Tenant App

Skillset Desarrollador SharePoint + HTML/JS Cualquiera

Tecnologias de UI SharePoint + HTML/JS Cualquiera (Web)

Codigo de Servidor No Cualquiera

Storage Listas y Libreriarias de Doc

Cualquiera

Limitaciones No Server Code Experiencia de hosting Requerida

Page 48: IT Camps Apps Office 365 Valencia 2014
Page 49: IT Camps Apps Office 365 Valencia 2014
Page 50: IT Camps Apps Office 365 Valencia 2014
Page 51: IT Camps Apps Office 365 Valencia 2014

• Son clases, definidas en servicios de Windows Communication Foundation (WCF)

• Permiten a las Aplicaciones responder a eventos que tienen lugar en elementos de

SharePoint (Listas, Elementos de Listas)

• Aplicaciones (en equipos remotos) pueden responder a eventos en la granja de SharePoint

localmente

• También responden a eventos en listas especiales (Listas Externas)

• Manejadores de Eventos Remotos permiten detectar:

• La adición o borrado de un campo de una Lista

• La adición o borrado de un elemento de Lista o de un adjunto de un elemento de

Lista

• Agregar o eliminar un sitio en una colección de sitios

Page 52: IT Camps Apps Office 365 Valencia 2014

• Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012

• Cree la(s) Lista(s) necesarias

• Agregue un elemento de tipo "Receptor de eventos remotos“

• Configure el Evento a capturar

• VS añade carpeta "Services“ al proyecto Web con:

• Un servicio WCF que implementa la lógica del Manejador de

Eventos

• Modulo para código del servicio del proyecto Webpublic class CategoriasRER : IRemoteEventService

{

public SPRemoteEventResult ProcessEvent(RemoteEventProperties

properties)

{

SPRemoteEventResult result = new SPRemoteEventResult();

//Código para eventos síncronos

return result;

}

public void ProcessOneWayEvent(RemoteEventProperties properties)

{

//Código para eventos asíncronos

}

}

Page 53: IT Camps Apps Office 365 Valencia 2014

• SharePoint 2013 dispone de dos tipos de Flujos de Trabajo: 2010 y 2013

• Apps solo pueden utilizar Flujos de Trabajo de SharePoint 2013

• Flujos son “declarativos”

• Flujos de Trabajo para Aplicaciones se pueden crear con:

• SharePoint Designer 2013

• Visual Studio 2012

Page 54: IT Camps Apps Office 365 Valencia 2014

• Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012

• Cree la(s) Lista(s) necesarias

• Agregue un elemento de tipo “Flujo de trabajo“

• Configure el flujo usando el diseñador grafico

Page 55: IT Camps Apps Office 365 Valencia 2014

• Usa el “Servicio de Conectividad a Datos Empresariales” (BCS, Business Connectivity

• Services) de SharePoint

• Permite integrar datos disponibles en sistemas externos de información

• Da acceso a datos externos desde una Aplicación

Page 56: IT Camps Apps Office 365 Valencia 2014

• El sistema externo expone los datos de negocio

• Orígenes de datos de servicios soportados: OData, servicios WCF y BBDD SQL Server

• La Biblioteca de documentos ("BusinessDataMetadataCatalog“) almacena los modelos de

metadatos del BDC

• El "Runtime" de BDC:

• Usa un modelo de metadatos y representar los datos del sistema externo en una Lista

externa

• La Lista externa que proporciona acceso a la información

Page 57: IT Camps Apps Office 365 Valencia 2014

• Use la Plantilla de Aplicaciones de SharePoint en Visual Studio 2012

• Agregue un elemento de tipo “Tipos de contenido para un origen de datos externo“

• Visual Studio agrega:

• El archivo ".bdcm" que contiene la definición del modelo de metadatos de BDC

• Un elemento del tipo "External Content Types“

• Una Lista Externa

Page 58: IT Camps Apps Office 365 Valencia 2014

• Motor de Búsqueda totalmente modificado en SharePoint 2013

• Búsquedas funcionan de forma normal en Apps:

• Información dentro de la App es indexada

• Security-trimming

• Resultados de información en la App visibles en la granja

• Motor de Búsqueda funciona cada vez mas como un “agregador”

• WebPart “Búsqueda de Contenido” no esta disponible en O365

• CSOM y REST disponibles para dar resultados de búsquedas

Page 59: IT Camps Apps Office 365 Valencia 2014

• Usando CSOM y

JavaScript:

• Usando REST

var keywordQuery = new

Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);

keywordQuery.set_queryText(“SharePoint”);

var searchExecutor = new

Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context);

results = searchExecutor.executeQuery(keywordQuery);

context.executeQueryAsync(onQuerySuccess, onQueryFail)

http://server/_api/search/query?query_parameter=value&query_parameter=‘SharePoin

t’

http://server/_api/search/query?querytext='sharepoint'&sourceid='8413cd39-2156-

4e00-b54d-11efd9abdb89‘

http://server/_api/search/query?querytext='sharepoint'&rankingmodelid=CustomRank

ingModelID

http://server/_api/search/query?querytext='sharepoint'&selectproperties='Title,Autho

r‘

http://server/_api/search/query?querytext='sharepoint'&culture=1044

http://server/_api/search/query?querytext='sharepoint'&refinementfilters='fileExtensi

on:equals("docx")‘

http://server/_api/search/query?querytext='sharepoint'&trimduplicates=false

Page 60: IT Camps Apps Office 365 Valencia 2014

• El Almacén de Office es la tienda de referencia empresarial de Office y SharePoint

• El Almacén se encargada de validar y certificar las Aplicaciones a publicar en el Panel del

Vendedor

• El Panel del Vendedor permite publicar y administrar las Aplicaciones de SharePoint y

Office

• Para publicar una Aplicación se necesita:

• Cuenta para el Panel de Vendedor

• Información sobre la Aplicación (nombre, descripción, etc.)

• Microsoft valida y aprueba la Aplicación

• Varios modelos para monetización: gratis, con publicidad, de venta

• SDK de SharePoint ofrece un Framework para validar licencias (uso debe ser programado)

Page 61: IT Camps Apps Office 365 Valencia 2014
Page 62: IT Camps Apps Office 365 Valencia 2014