¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
Report
Share
Juan Carlos GonzalezMicrosoft 365 Apps & Services MVP | Microsoft 365 SME at CompartiMOSS
Follow
•2 likes•1,562 views
1 of 44
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
•2 likes•1,562 views
Report
Share
Download to read offline
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.
Juan Carlos GonzalezMicrosoft 365 Apps & Services MVP | Microsoft 365 SME at CompartiMOSS
7. Desarrollo en SharePoint 2013 - Introducción
• De qué vamos a hablar
MO
Cliente
…
SharePoint 2013 es una plataforma de desarrollo con
múltiples puntos de extensibilidad
8. 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
9. 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
10. 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
11. ¿Qué puedo desarrollar?
List Definition
schema.xml
allitems.aspx
Database
Site Definition & Web
Templates
onet.xml
Default.aspx
all work and no play
makes Jack a dull boy
all work and no play
makes Jack a dull boy
/bin o GAC
WebPart1.dll
WebPart2.dll
SharePoint
Browser:
HTTP GET
http://server/appname
IIS / ASP.NET
Assemblies:
Web Parts
Event Receivers
Policies
Workflow Activities
Workflow Assemblies
Timer Jobs
…
Recursos ASP.NET:
Site Pages
Application Pages
Images
Style Sheets
User Controls
Master Pages
Navigation 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 Definitions
Web Templates
Feature Definitions
List Definitions
Content Types/Fields
Document 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
12. ¿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!
14. Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint - Por un lado tenemos las opciones clásicas:
15. Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
NAPA
16. Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
17. Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
LightSwitch
18. Desarrollo en SharePoint 2013 - Herramientas
• Herramientas para extender SharePoint – Y por otro nuevas incorporaciones:
Access 2013
19. • 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
20. • 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
21. • 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
22. • 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
25. APIs disponibles
• + opciones para el desarrollador :
MO Cliente
A nivel de desarrollo, no sólo desarrolladores de
SharePoint pueden extender la plataforma. Un
desarrollador web también puede
26. APIs disponibles – MO de Cliente
Microsoft.SharePoint.Client.UserProfiles
Microsoft.SharePoint.Client.Publishing
Microsoft.SharePoint.Client.Taxonomy
Se puede acceder
al servicio
client.svc
ListData.svc
Mismos sabores
(.NET, SL, ECMAScr
ipt) + REST +
OData
27. APIs disponibles – MO de Cliente
• ¿Qué se puede hacer?
_api
Lists
Sites
Security
User
Profiles
Search
Taxonomy
_api
Feeds
Publishing
Sharing
Workflow
E-
Discovery
IRM
28. 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();
29. APIs disponibles – MO de Cliente
_api
MO en
Servidor
BD de
Contenidos
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
34. Aplicaciones – El nuevo modelo
• Y este es el resultado: un nuevo modelo de aplicaciones en la nube
35. Aplicaciones - Tipos
App Web
(de WSP)
Sitio
Padre
SharePoint-hosted App
Provisiona 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 (SPO)
Windows Azure + SQL Azure
provisionados 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 tu propia infraestructura
de hosting”
Los desarrolladores tienen que
aislar los tenants
Sitio
SharePoint
Tú Sitio de
Hosting
Según el tipo
de hosting
38. • 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
39. • 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
40. Descuentos Campus MVP
10% de descuento
en todos nuestros cursos y libros hasta el 31 de diciembre
Introduce el cupón PECIIN12SN al realizar tu compra
en nuestra tienda online.
42. • 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
Cloud Hosted Apps:You app is hosted either in your own hosting (private cloud, 3rd party cloud, IIS web site, etc) or using an auto provisioning process in Windows AzureProvider Hosted AppCustomers can create their app in any technology stack and host on any platform they choose.This could even be using a 3rd party cloud using PHP and developed using Eclipse.Developers would then create a SharePoint app package that would define how to extend SharePoint for use with the appMenu extensionsWeb PartsRibbon extensionsApp permissions (OAuth app principal ID)Windows Azure Auto-Provisioned AppCreate a SharePoint app packageIncludes the SharePoint extensions & everything needed to deploy the application to Windows Azure automaticallyUses an existing subscription in Windows Azure configured by the tenant administratorsCustomers (tenant admins) would configure the subscriptions in Windows Azure where apps are deployed to and not use SharePoint resourcesSharePoint Hosted Apps:SharePoint will host the app in a special isolated sub web (SPWeb) that has all the same capabilities of a regular SPWeb.No SharePoint 2010 sandbox thus server side code is not permittedAll logic & code runs in the clientApps could make external service calls from the client using some provided toolsApps do share a few common things though. Within each app you will find an AppManfiest.xml file that will describe the app to SharePoint. This contains some basic metadata about the app (ID, title, description & thumbnail) as well as a list of all the permissions the app needs when it is installed. Each app also has an AppWeb, although most of the time only a SharePoint hosted app will deploy components to it.