¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

44
¿Es posible extender SharePoint? Probablemente en + de una forma J.C. González (@jcgm1978) MVP de SharePoint Server http://geeks.ms/blogs/ciin

description

En esta presentación se resumen las principales posibilidades de extensibilidad de la plataforma SharePoint 2013 mediante desarrollo haciendo foco especial en el nuevo modelo de Aplicaciones.

Transcript of ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Page 1: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

¿Es posible extender SharePoint?

Probablemente en + de una forma

J.C. González (@jcgm1978)MVP de SharePoint Serverhttp://geeks.ms/blogs/ciin

Page 2: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Madrid, 10th

October 2013

Workshops & sesiones organizadas en tracks paralelos: IT PRO, Negocio (BIZ) y Desarrollo(DEV)

+ Información: www.iberiansharepointconfe

rence.com

@IberianSPConf [email protected]

Page 4: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

# 16 ya disponibleCompartiMOSS.com

Con la colaboración de:

La revista digital de habla hispana en la que se escribe de SharePoint y todo lo relacionado con este

Page 5: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Introducción• Herramientas de desarrollo• APIs disponibles• Modelo de Aplicaciones

Agenda

Page 6: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Introducción

Page 7: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Introducción

• De qué vamos a hablar

MO Servidor

API REST

Tipos de Apps

MO Cliente

Herramientas de Desarrollo

Office Store

OAuth

SharePoint 2013 es una plataforma de desarrollo con múltiples puntos de

extensibilidad

Page 8: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Introducción

• SharePoint 2013 proporciona una plataforma de colaboración que permite construir rápidamente soluciones usando herramientas conocidas y sobre la base de una serie de características a la caja:

• Productividad con Visual Studio 2012 (VS 2012) y SharePoint Designer 2013 (SPD 2013)

• Nuevas herramientas de desarrollo: NAPA Microsoft Access 2013 Visual Studio LightSwitch

• Soporte para ALM con Visual Studio Team System (VSTS)• Integración de datos LOB en SharePoint 2013 vía Business Connectivity

Services (BCS)• Soluciones Sandbox para limitar el impacto sobre el usuario final de

soluciones pobres

Page 9: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Introducción

• Características a la caja (cont.):• Nuevo modelo de Aplicaciones menos intrusivo aún que las Soluciones

Sandbox:• Las aplicaciones pueden residir fuera de SharePoint (Autohosted /

Provider-Hosted) o en una Colección de Sitios aislada (SharePoint Hosted)

• Se da pie a hablar de marketplace corporativo vs marketplace global (Office Store) de aplicaciones

• Se usa OAuth cómo protocolo de autorización para permitir que las aplicaciones puedan interactuar con datos y servicios de SharePoint

Page 10: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Introducción

• Opciones de extensibilidad

Farm

• Soluciones Full Trust

• Personalizaciones a nivel de directorio de instalación

• Modelo clásico desde SP 2007

Sandbox

• Elementos declarativos

• Código “Partiallly Trusted”

• Escenarios dónde se necesita código de servidor, pero “sin tocarlo”

SP Apps

• Nuevo modelo• Desplegadas desde el catalogo corporativo o el Office Store

• Administrar permisos y licencias específicos

• Opción recomendada

Page 11: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

¿Qué puedo desarrollar?

List Definition

schema.xmlallitems.aspx

Database

Site Definition & Web Templates

onet.xmlDefault.aspx

all work and no playmakes Jack a dull boyall work and no playmakes Jack a dull boy

/bin o GAC

WebPart1.dllWebPart2.dll

SharePoint

Browser:HTTP GET

http://server/appname

IIS / ASP.NETAssemblies:Web PartsEvent ReceiversPoliciesWorkflow ActivitiesWorkflow AssembliesTimer Jobs…

Recursos ASP.NET:Site PagesApplication PagesImagesStyle SheetsUser ControlsMaster PagesNavigation Controls…

Manipulación Datos:(via Object Model)

API REST & Client OM(llamando al modelo de objetos)

Clientes Remotos

Servicios:Calculation, Rendering,Data Access, Migration, etc…

Schema:Site DefinitionsWeb TemplatesFeature DefinitionsList DefinitionsContent Types/FieldsDocument Templates…y Aplicaciones

Modelos:• SharePoint – Hosted• Autohosted• Provider-Hosted

Posibilidades:• Artefactos clásicos: Listas, Custom Actions, …• Manejadores remotos• Aplicaciones Web de Servidor• Aplicaciones Web de Cliente

Page 12: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

¿Qué puedo desarrollar?

• Dos grandes escenarios:

Solución de SharePoint (*.wsp)

App para SharePoint (*.app)

Solución de Granja

Braning & UX personalizado

Herramientas de Administración

Solución Sandbox

Procesos de negocio automatizados mediante Flujos

Plantillas de sitio, lista, bibioteca

SharePoint-Hosted App

Calculadora Gastos

Petición de Vacaciones

Provider-Hosted App

Sistema de registro en eventos

Help Desk

Auto-Hosted App (Azure)

BD de seguimiento de defectos en productos

¡Deprecadas!

Page 13: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Herramientas

Page 14: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Herramientas

• Herramientas para extender SharePoint - Por un lado tenemos las opciones clásicas:

Desarrollo

API REST

Modelo de Objetos en cliente

Apps

Soluciones Sandbox

Visual Studio 2012

Information Workers

Plantillas de sitio

Páginas maestras

Flujos de trabajo (sin código)

SharePoint Designer 2013

Configuración (Out-of-the-Box)

Listas, bibliotecas

Plantillas de sitio

Flujos de trabajo

Web Parts

Page 15: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Herramientas

• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:

NAPA

Page 16: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Herramientas

• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:

Page 17: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Herramientas

• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:

LightSwitch

Page 18: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Desarrollo en SharePoint 2013 - Herramientas

• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:

Access 2013

Page 19: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• NAPA:• Entorno de desarrollo accesible a través de la web• Es una Aplicación de SharePoint en si misma qué permite crear aplicaciones

para Office y para SharePoint (por el momento únicamente de tipo SharePoint-Hosted)

• Sólo está disponible en SharePoint Online en Office 365, pero las aplicaciones creadas se pueden portar a Visual Studio 2012 Se pueden desplegar en On-Premise

Desarrollo en SharePoint 2013 - Herramientas

Page 20: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• NAPA - ¿Qué necesito para poder utilizarlo?• Una suscripción MSDN de Visual Studio Ultimate o Premium que incluye como

beneficio una suscripción de desarrollador de Office 365 vigente durante un año

• Una suscripción de desarrollador de Office 365 de pago, que tiene un coste de 6,70 € mensuales (impuestos no incluidos)

• Adquiriendo un plan de tipo mediana empresa o empresarial, planes E1 o E3 respectivamente, de Office 365

• Una subscripción trial de Office 365 (desarrollador o empresarial)

Desarrollo en SharePoint 2013 - Herramientas

Page 21: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Visual Studio LightSwitch:• Extensión de Visual Studio que incorpora plantillas y asistentes para facilitar

la creación de aplicaciones departamentales que faciliten visualizar, añadir y modificar datos

• Permite crear dos tipos de aplicaciones para SharePoint:• Autohosted, es decir, se hospedan y ejecutan en Azure• Provider-Hosted, es decir, se hospedan y ejecutan en un servidor propio

o ajeno a una organización

Desarrollo en SharePoint 2013 - Herramientas

Page 22: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Access 2013:• Facilita la creación y publicación rápida a través de los Servicios de Access

de aplicaciones departamentales:• Completamente escalables• Tanto para SharePoint 2013 On-Premise como para SharePoint Online

• Se trata de centrarse en el conocimiento del negocio para crear rápidamente, sin desarrollo, una aplicación

Desarrollo en SharePoint 2013 - Herramientas

Page 23: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Access 2013 para desarrollo RAD de Apps

Page 24: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles

Page 25: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles

• + opciones para el desarrollador :

MO ServidorAPI

REST

ODataMO Cliente

Lenguajes .NET

Lenguajes no .NET

A nivel de desarrollo, no sólo desarrolladores de SharePoint pueden

extender la plataforma. Un desarrollador web también puede

Page 26: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles – MO de Cliente

Nuevos Ensamblados

Microsoft.SharePoint.Client.UserProfilesMicrosoft.SharePoint.Client.PublishingMicrosoft.SharePoint.Client.Taxonomy

Se puede acceder al servicio client.svc

_apiEnmascara las

llamadas al servicio

client.svc

ListData.svcSe mantiene por

razones de compatibilidad

Mismos sabores (.NET, SL,

ECMAScript) + REST + OData

Page 27: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles – MO de Cliente

• ¿Qué se puede hacer?

_api

Lists

Sites

Security

User Profiles

Search

Taxonomy

_api

Feeds

Publishing

Sharing

Workflow

E-Discover

y

IRM

Page 28: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles – MO de Cliente

• Acceso consistente a datos y servicios:• REST / OData:

• https://contoso.sharepoint.com/_api/web/Title• Código manejado:

• Código JavaScript:

ClientContext ctx = new ClientContext("https://contoso.sharepoint.com");ctx.Load(ctx.Web.Title);ctx.ExecuteQuery();

var ctx = new SP.ClientContext("https://contoso.sharepoint.com");ctx.load(ctx.get_web().get_title());ctx.executeQueryAsync();

Page 29: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

APIs disponibles – MO de Cliente

_api

MO en Servidor

BD de Contenido

s

MO ECMAScript

Proxy

MO Manejado

Proxy

Lógica y Controles Manejados

JavaScript Controls and Logic

Petición XML

Petición XML

Respuesta JSON

Respuesta JSON

Navegador

Cliente Manejado

SharePoint 2013

Arquitectura

Page 30: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

MO de Cliente

Page 31: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Nuevo modelo de Aplicaciones

Page 32: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Aplicaciones

HTML 5, JS, …

.NET vs no .NET

OAuthAzure

Dominio Aislado de Ejecución

Tipos de Apps

Office Store

Catálogo de

Apps.

Branding

Nuevo marco de extensibilidad de SharePoint, tanto On-Premise como Online

Page 33: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Aplicaciones - ¿Por qué?

• Se trata de modernizar la plataforma:

Mercado Actual Tendencias actuales Filosofía de Microsoft

Page 34: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Aplicaciones – El nuevo modelo

• Y este es el resultado: un nuevo modelo de aplicaciones en la nube

Page 35: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Aplicaciones - Tipos

App Web (de WSP)

Sitio Padre

SharePoint-hosted AppProvisiona un subsitio aislado bajo un sitio padreReutiliza elementos web(lists, files, out-of-box web parts)

• No se permite código en el lado del servidor; usar JavaScript

Autohosted App (SPO)Windows Azure + SQL Azure provisionados de forma “invisible” mientras la app se instala

Azure (desde

WebDeploy,

DacPac)

SitioSharePoi

nt

Suscribirse a eventos remotos de SP

Usar CSOM/REST + OAuth para operar con SharePoint

Cloud-based Apps

Provider-Hosted App“Necesitas tu propia infraestructura de hosting”Los desarrolladores tienen que aislar los tenants

SitioSharePoi

nt

Tú Sitio de

Hosting

Según el tipo de hosting

Page 36: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Aplicaciones - Arquitectura

Al detalle

Page 37: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Ejemplos de Aplicaciones

Page 38: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Desde el punto de vista de extensibilidad, SharePoint 2013 es una plataforma de desarrollo a la que se le puede añadir funcionalidad adicional en la forma de:

• Soluciones• Aplicaciones

• Las soluciones de tipo Sandbox se consideran en principio “deprecadas” y a día de hoy no están recomendadas por Microsoft

• A la hora de extender SharePoint mediante desarrollo, se recomienda hacerlo mediante Aplicaciones y sólo si no es posible hacer uso de soluciones (de tipo granja)

• A nivel de herramientas, junto con Visual Studio 2012 aparecen en escena tres nuevos entornos de desarrollo específicos para crear Aplicaciones:

• NAPA, que permite crear aplicaciones en el navegador• Visual Studio LightSwitch para crear aplicaciones Autohosted• Microsoft Access 2013

Conclusiones

Page 39: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Se distinguen tres grandes tipos de Aplicaciones en el nuevo modelo de SharePoint 2013:

• SharePoint-Hosted: Lógica JavaScript, no se permite código de servidor• Autohosted, específicas para SharePoint Online en Office 365. Se despliegan

en Windows Azure• Provider-Hosted, desplegables en Azure o en servidores especializados.

Habilitan crear Aplicaciones para SharePoint tanto con tecnología .NET como con otras tecnologías

Conclusiones

Page 40: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

Descuentos Campus MVP

10% de descuentoen todos nuestros cursos y libros hasta el 31 de diciembre

Introduce el cupón PECIIN12SN al realizar tu compraen nuestra tienda online.

Page 41: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• CloudShare:• http://www.cloudshare.com/• Disponen de varias plantillas de SharePoint 2013 listas para probar

Prueba SharePoint a tope

Page 42: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

• Foro de desarrollo:• http://social.msdn.microsoft.com/Forums/es-es/mossdeves/threads

• Foro de IT• http://social.technet.microsoft.com/Forums/es-ES/mosses/threads

• Foro de Office 365:• http://community.office365.com/es-es/default.aspx

Nos vemos en los foros

Page 43: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
Page 44: ¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma

GRACIAS POR SU ATENCIÓN