¿es posible extender a sharepoint 2013? probablemente en m+as de una forma
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
¿Es posible extender SharePoint?
Probablemente en + de una forma
J.C. González (@jcgm1978)MVP de SharePoint Serverhttp://geeks.ms/blogs/ciin
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]
¿A qué esperas? Hemos abierto el pre-registro
# 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
• Introducción• Herramientas de desarrollo• APIs disponibles• Modelo de Aplicaciones
Agenda
Introducción
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
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
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
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
¿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
¿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!
Herramientas
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
Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
NAPA
Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
LightSwitch
Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
Access 2013
• 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
• 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
• 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
• 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
Access 2013 para desarrollo RAD de Apps
APIs disponibles
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
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
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
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();
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
MO de Cliente
Nuevo modelo de Aplicaciones
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
Aplicaciones - ¿Por qué?
• Se trata de modernizar la plataforma:
Mercado Actual Tendencias actuales Filosofía de Microsoft
Aplicaciones – El nuevo modelo
• Y este es el resultado: un nuevo modelo de aplicaciones en la nube
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
Aplicaciones - Arquitectura
Al detalle
Ejemplos de Aplicaciones
• 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
• 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
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.
• CloudShare:• http://www.cloudshare.com/• Disponen de varias plantillas de SharePoint 2013 listas para probar
Prueba SharePoint a tope
• 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
GRACIAS POR SU ATENCIÓN