¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
-
Upload
fabian-imaz -
Category
Documents
-
view
275 -
download
2
Transcript of ¿Es posible extender a SharePoint 2013? Probablemente en más de una forma…
Patr
oci
nadore
sPlatino
Oro
Plata
Séptimo Simposio Latinoamericano
¿Es posible extender a SharePoint 2013? Probablemente en más de una
forma…
Fabián Imaz & Juan Carlos GonzálezMVPs de SharePoint Server
Agenda de Sesiones Tres conferencias relacionadas:
“Desarrollo para SharePoint 2013: si lo controla, no es una pesadilla” – Juan Carlos Gonzalez, Fabián Imaz, Gustavo Velez
“Es posible extender a SharePoint 2013?: probablemente en más de una forma” – Fabián Imaz, Juan Carlos Gonzalez (esta presentación)
“Son las Apps de SharePoint 2013 el remedio para todos los males?” – Gustavo Velez
Agenda Herramientas (Juan Carlos González & Fabian Imaz) Modelo de Objetos en cliente y API REST (Fabian Imaz) Novedades en (Juan Carlos González):
Manejadores de eventos Flujos de Trabajo BCS
Introducción al modelo de aplicaciones (Juan Carlos González)
Juan Carlos González & Fabián Imaz
Herramientas
Herramientas Por un lado tenemos las opciones clásicas:
Desarrollo
API REST
Modelo de Objetos en cliente
Apps
Soluciones Sandboxed
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
Herramientas Y por otro nuevas incorporaciones como: Microsoft Office
Access 2013 Visual Studio LightSwitch NAPA (SharePoint Online)
Y por otro, tenemos nuevas incorporaciones: LightSwitch + Access 2013 + NAPA (SharePoint Online)
Escenarios de desarrollo Como vimos en la sesión ¡Desarrollo para SharePoint
2013: si lo controla, no es una pesadilla!, 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
Soluciones vs Aplicaciones
Full-Trust Solutions
Sandboxed Solutions
Apps
Use Client-Side SharePoint API
Use Server-Side SharePoint API
Use Remote Services (*)
App-based Permissions (OAuth2)
On-Premise Deployment Friendly
Hosted Deployment Friendly
Distribution via Marketplace
SharePoint Provided Schematics for Install / Upgrade / Uninstall (*)
Fabián Imaz
Modelo de Objetos en Cliente y API REST
Modelo Objeto Cliente
Nuevos Ensamblados
Microsoft.SharePoint.Client.UserProfilesMicrosoft.SharePoint.Client.PublishingMicrosoft.SharePoint.Client.Taxonomy
ListData.svcSe mantiene por
razones de compatibilidad
_apiEnmascara las
llamadas al servicio
client.svc
REST
Acceso a Servicios
http:// server/site/_api/SP.UserProfiles.PeopleManagerhttp:// server/site/_api/searchhttp:// server/site/_api/publishing
Soporte a para realizar llamadas a métodos con
parámetros
Operaciones HTTPPUTGETPOST
OData
Comando Filter nos permite
realizar operaciones de
filtro
Comando Select nos permite
obtener columnas
personalizadas
Extiende las funcionalidades
de REST proporcionando operadores de
consutla
Comando OrderBy nos
permite realizar operaciones de ordnamieento
• _api/web/lists/getbytitle(‘Lista')/items?$Select=Title,EventDate
• _api/web/lists/getbytitle(‘Lista')/items?$Filter=Categoria eq 'Trabajo‘
• _api/web/lists('<guid>')/items$top=10
Juan Carlos González
Principales Novedades en Desarrollo
Manejadores de Eventos Remotos: RER Nuevo mecanismo de notificación a sistemas externos de
cambios producidos en el contexto de una aplicación Se soportan en listas convencionales (a nivel de App) y
también el listas Externas /ECTs (BCS) Más flexibles de implementar qué la solución alternativa
en versiones previas de la plataforma: Recurrir a soluciones complejas que combinan manejadores
clásicos y llamadas a servicios web (soluciones de tipo granja) Las soluciones de tipo Sanbox añaden todavía más restricciones
Manejadores de Eventos Remotos: RER Ámbitos soportados:
Elementos de lista Listas Sitios (SPWeb) Aplicaciones
Eventos soportados: Síncronos Asíncronos (After)
Manejadores de Eventos Remotos: RER Proceso de desarrollo:
Crear una aplicación Añadir un manejador de eventos remoto = desarrollar un
servicio WCF personalizado Despliegue de la aplicación + registro del servicio El servicio es llamado cuando tienen lugar los eventos de
SharePoint qué se manejan
Manejadores de Eventos Remotos: RER public class SPRERSample : IRemoteEventService { public SPRemoteEventResult ProcessEvent(SPRemoteEventProperties properties) { SPRemoteEventResult result = new SPRemoteEventResult(); //Do Something return result; } public void ProcessOneWayEvent(SPRemoteEventProperties properties) { //Do Something – CSOM } }
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Receivers ListTemplateId="104"> <Receiver> <Name>MyEventReceiver</Name> <Type>ItemUpdated</Type> <Synchronization>Asynchronous</Synchronization> <SequenceNumber>100</SequenceNumber> <Url>http://contoso.com/RemoteEventService.svc</Url> <Data></Data> <Filter></Filter> </Receiver> </Receivers></Elements>
Novedades en Flujos de Trabajo Un servicio más de la plataforma Nueva arquitectura basada en Windows Azure Workflow:
Todo se ejecuta fuera de SharePoint y de la granja La última tecnología de flujos está disponible para crear Mejora la estabilidad, escalabilidad y transparencia
El motor de flujos de SP 2010 sigue estando disponible Herramientas de creación de flujos:
Microsoft Office Visio 2013, para “pintar” SharePoint Designer 2013 (opción recomendada por Microsoft),
para implementar los flujos de forma visual o no Visual Studio 2012
Novedades en Flujos de Trabajo Creación de flujos con SharePoint Designer 2013:
Diseñador visual disponible: Integra el diseñador de Visio (necesario tenerlo instalado) Se puede hacer el switch entre el diseñador visual y el diseñador en modo
texto Se introduce el concepto de “Stage”: facilita la creación de
máquinas de estado Se añaden nuevas actividades para incluir soporte a:
Bucles Llamadas a servicios. Cortar / Copiar / Pegar / Deshacer / Rehacer … Llamar a otros flujos …
Novedades en Flujos de Trabajo Creación de flujos con SharePoint Designer 2013:
Novedades en BCS
Caché de Cliente
BCS
Runtime de BDC en
Cliente
Aplicación de Servicio de BCS
Servicio de Almacenamiento Seguro
Búsquedas, Columnas Externas, WebParts, CSOM, Pérfiles, Apps
Almacén de Metadatos
Runtime de BDC en Servidor
Sitio / App SharePointPaquete
VSTOListas
ExternasIntegración con Office
External Business Parts
Código Personalizado Archivos BDCM
PersonalizadoSQL
Datos Externos
WCF / OData
Conector .NET
Novedades en BCS Se mejoran las capacidades de ordenado y filtro para
Listas Externas de modo que se mejora la eficiencia en las consultas: Soportado en fuentes SQL y OData En fuentes WCF no se soporta ordenación
A nivel de rendimiento: El paginado, filtrado y ordenado de los datos se realiza en
origen, de manera que no se consulta el set completo de datos cada vez
API en el lado del cliente: REST + CSOM Se puede exportar a Excel una lista externa Soporte en SharePoint Online
Novedades en BCS: ECTs a nivel de Aplicación En SharePoint 2010, todos los ECTs se definían a nivel de
granja: Se necesita la implicación del administrador para su instalación
El nuevo modelo de aplicaciones de SharePoint 2013 requiere un nivel de aislamiento más granular: Se introduce la posibilidad de definir ECTs dentro de una
Aplicación La administración y despliegue de ECTs es a nivel de sitio
Sistema Externo
Runtime del BDC
Lista Externa
MetadataCatalogFileName
= MyModel.BDCM
BusinessDataMetadataCatalog
Archivos BDCM
FileBackedMetadataCatalog
Otras novedades en BCS Modelo de objetos en cliente para BCS + API REST Se introduce soporte a:
Manejadores de eventos en listas externas Manejadores de eventos para ECTs Alertas en listas externas
var ctx = new SP.ClientContext();var web = ctx.get_web();entity = web.getAppBdcCatalog().getEntity(entityNameSpace, entityName);ctx.load(entity);lobSystem = entity.getLobSystem();ctx.load(lobSystem);lobSystemInstances = lobSystem.getLobSystemInstances();ctx.load(lobSystemInstances);
ctx.executeQueryAsync(success, failure);
Juan Carlos González
Aplicaciones
El nuevo modelo de aplicaciones Las aplicaciones “no viven” en el propio Sitio desde el
que se acceden: Viven y se ejecutan en un dominio aislado El código se ejecuta en el cliente, en la nube u On-Premise Lo qué puede hacer la aplicación se define mediante Oauth Interactúan con SharePoint via REST/CSOM
Tres grandes tipos de aplicaciones que se pueden adquirir: Mediante un catálogo propio de aplicaciones A través del store público de Microsoft A través de un store corporativo
El nuevo modelo de aplicaciones Todo es una aplicación, tres modelos para la creación de
aplicaciones:
¡Más en la sesión de Gustavo Vélez sobre
Aplicaciones
Aprende de los expertos Descárgate CompartiMOSS:
http://www.compartimoss.com
Descuento CampusMVP
20% de descuentoen todos nuestros cursos y libros hasta el 13 de Marzo
Introduce el cupón PECRSA8C al realizar tu compraen nuestra tienda online.
Prueba SharePoint a tope CloudShare:
http://www.cloudshare.com/ Disponen de varias plantillas de SharePoint 2013 listas para
probar
Para preguntas de todo tipo … 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/thread
s
Foro de Office 365: http://community.office365.com/es-es/default.aspx
Nos pueden contactar: Fabián Imaz: @FabianImaz Juan Carlos González: @jcgm1978
Patr
oci
nadore
sPlatino
Oro
Plata
Muchas gracias