it camps apps office 365 valencia 2014

Post on 01-Jul-2015

247 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

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

Serv

er

Virtu

aliz

atio

n

http://geeks.ms/blogs/adiazmartin

adiaz@comunidadoffice365.com

adiazcan@hotmail.com

Alb

ert

o D

íaz

Serv

er

Virtu

aliz

atio

n

http://geeks.ms/blogs/jcgonzalez

jc.gonzalez@lks.es

jcgonzalezmartin1978@hotmail.com

J.C. G

onza

lez

Serv

er

Virtu

aliz

atio

n

http://blogs.encamina.com/desarrollandosobresharepoint

http://geeks.ms/blogs/adiazcervera

adiaz.cervera@comunidadoffice365.com

addiacer@gmail.com

Adrián D

íaz

Serv

er

Virtu

aliz

atio

n

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

santypr@gmail.com

Santia

go P

orr

as

Introducción al Modelo de Aplicaciones

SitesSitio

s

Temas

PersonasApps

Utilizan OAuth

para

autenticación

Están enfocadas

a solucionar un

problema

puntual

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

Alojado por

Proveedor

Alojado por

SharePoint

Any

SP

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

Configuración del DNS

Configuración en SharePoint

Creación del Catalogo de

Aplicaciones

Sitio de Desarrollador

Configuración de

Aplicaciones

Monitoreo de Aplicaciones (solo

en SharePoint Server)

Aplicaciones residen en una Lista en el Sitio de Catalogo

de Apps

Usuarios pueden

solicitar

Aplicaciones

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

• 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?)

• 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...)

BIPOS 365 V1

2013

20xx

365 V2 365 Vxx

SSOM (Local)

Server Side Object Model

CSOM (Nube)

Client Side Object Model

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

Plantilla

Aplicación para

SharePoint 2013

Manejo

Lenguaje

Dinámico

Mismos Servicios

Versión

OnPremise

WYSIWYG

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

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

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

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

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

• 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

• 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

}

}

• 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

• 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

• 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

• 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

• 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

• 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

• 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

• 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)

top related