Novedades en BCS en SharePoint 2013
-
Upload
juan-carlos-gonzalez -
Category
Technology
-
view
940 -
download
3
description
Transcript of Novedades en BCS en SharePoint 2013
![Page 1: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/1.jpg)
¡Integración de datos de negocio con BCS!
Juan Carlos González (@jcgm1978)MVP SharePoint Serverhttp://geeks.ms/blogs/[email protected]
![Page 2: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/2.jpg)
Agenda
Repaso a BCS
Fuentes OData
ECTs a nivel de Aplicación
Interfaces REST y CSOM
Notificaciones, Alertas y Manejadores de Eventos
![Page 3: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/3.jpg)
BCS: Tipos de Contenido Externo
BCS permite la integración de datos externos en SharePoint a través de los Tipos de Contenido Externo (ECTs): Mapean en “modo ORM” datos externos a entidades de negocio:
Clientes, Pedidos, Empleados, etc.
Abstrae a los desarrolladores de las fuentes de datos subyacentes
Un ECT define: La conexión al sistema externo: Servicios Odata Servicios Web
Servicios WCF SQL Server SQL Azure BDs de negocio
Las operaciones que se pueden realizar sobre los datos externos: Crear Leer Actualizar Borrar
Los ECTs se pueden crear mediante SharePoint Designer o Visual Studio
![Page 4: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/4.jpg)
BCS: Arquitectura
Caché de Cliente
BCS
Runtime de BDC en
Cliente
SharePoint Foundation / Server
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
Externas
Office Client
Integración con Office
External Business Parts
Código Personalizado Archivos BDCM
PersonalizadoSQL
Datos Externos
WCF / OData
Conector .NET
![Page 5: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/5.jpg)
BCS: Mejoras Se mejoran las capacidades de ordenado y filtro para Listas
Externas de modo que se mejora la eficiencia en las consultas Soporte para 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
![Page 6: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/6.jpg)
Fuentes OData Se añade soporte por la estandarización de OData para exponer y
acceder fuentes de datos diversos: Es una “fuente de primera clase” para modelos de BDC como como lo
son servicios WCF o bien SQL Server
Se pueden generar modelos de BDC en Visual Studio
De momento, SharePoint Designer no soporta fuentes OData
![Page 7: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/7.jpg)
Fuentes OData Ejemplo de ECT:
<LobSystem Name="ODataWebNorthwindModel" Type="OData"> <Properties> <Property Name="ODataServiceMetadataUrl" Type="System.String"> http://services.odata.org/Northwind/Northwind.svc/$metadata</Property> <Property Name="ODataMetadataAuthenticationMode" Type="System.String">PassThrough</Property> <Property Name="ODataServicesVersion" Type="System.String">2.0</Property> </Properties> <LobSystemInstances> <LobSystemInstance Name="http://services.odata.org/Northwind/Northwind.svc"> <Properties> <Property Name="ODataServiceUrl" Type="System.String"> http://services.odata.org/Northwind/Northwind.svc </Property> <Property Name="ODataServiceAuthenticationMode" Type="System.String">PassThrough</Property> <Property Name="ODataFormat" Type="System.String">application/atom+xml</Property> </Properties> </LobSystemInstance></LobSystemInstances></LobSystem>
![Page 8: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/8.jpg)
Fuentes OData Ejemplo de ECT:
Type, tiene que estar fijado a ODATA cuando se trabaja con fuentes de este tipo
ODataServiceMetadataUrl, proporciona el “end pint” de los metadatos del servicio
ODataAuthenticationMode, modo de autenticación de acceso a la fuente de datos
ODataServicesVersion, versión de Odata
ODataServiceUrl, el “endpoint” para el servicio
ODataFormat, el formato de los datos devueltos
![Page 9: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/9.jpg)
Fuentes OData Creación de operaciones en ECTs:
Estereotipo Operación
Ejemplo de Uri
Finder GET http://server/crm.svc/Clients
SpecificFinder GET http://server/crm.svc/Clients(‘Contoso’)
Creator POST http://server/crm.svc/Clients
Updater PUT http://server/crm.svc/Clients(‘Contoso’)
Deleter DELETE http://server/crm.svc/Clients(‘Contoso’)
AssociationNavigator
GET http://server/crm.svc/Clients(‘Contoso’)/Contacts
![Page 10: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/10.jpg)
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
![Page 11: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/11.jpg)
ECTs a nivel de aplicación Arquitectura:
Sistema Externo
Runtime del BDC
BusinessDataMetadataCatalog
Archivos BDCM
Lista Externa
MetadataCatalogFileName= MyModel.BDCM
FileBackedMetadataCatalog
![Page 12: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/12.jpg)
ECTs a nivel de aplicación Instancias de listas externas:
<ListInstance Url="$Resources:core,lists_Folder;/AppScopedList" Description="My App Scoped List" OnQuickLaunch="TRUE" Title="My App Scoped List" Id="AppScopedList"> <DataSource> <Property Value="" Name="LobSystemInstance"/> <Property Value="" Name="EntityNamespace"/> <Property Value="" Name="Entity"/> <Property Value="" Name="SpecificFinder"/> <Property Name="MetadataCatalogFileName“ Value="BDCMetadata.bdcm" /> </DataSource></ListInstance>
![Page 13: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/13.jpg)
Interfaces REST y CSOM SharePoint 2013 introduce CSOM para BCS:
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);
![Page 14: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/14.jpg)
Interfaces REST y CSOM SharePoint 2013 introduce CSOM para BCS:
//Instancia de una entidad del ECT y del sistema de negocio Entity eEntity = ctx.Web.GetEntity( "CRMECT.CRMModel", "Contacto"); LobSystem lobSistema = eEntity.GetLobSystem();
//Colección de instancias de sistemas de negocio LobSystemInstanceCollection lsic = eEntity.GetLobSystem().GetLobSystemInstances(); ctx.Load(lsic); ctx.ExecuteQuery(); //Sistema de negoco concreto LobSystemInstance lobSystemInstance = lsic[0]; // Accedemos a la colección de filtros para un cierto "Finder" FilterCollection fCollection = eEntity.GetFilters("VisualizarContactos"); //Acceso a los datos de negocio EntityInstanceCollection eicResultado= eEntity.FindFiltered(fCollection, "VisualizarContactos", lobSystemInstance); ctx.Load(eicResultado); ctx.ExecuteQuery();
![Page 15: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/15.jpg)
Interfaces REST y CSOM Las listas externas se pueden acceder a través de la API REST de
SharePoint 2013:
AppLevelECT.Grid.prototype = {
init: function () {
$.ajax({ url: this.surlWeb + "_api/lists/getbytitle('Customers')/items?
$select=BdcIdentity,CustomerID,ContactName", headers: { "accept": "application/json", "X-RequestDigest": $("#__REQUESTDIGEST").val() }, success: this.showItems }); }
![Page 16: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/16.jpg)
Notificaciones y Manejadores de Eventos
En SharePoint 2010, las listas externas no soporta manejadores de eventos o alertas
Capacidad muy solicitada
En SharePoint 2013 se introduce soporte a: Manejadores de eventos en listas externas
Manejadores de eventos para ECTs
Alertas en listas externas
![Page 17: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/17.jpg)
Notificaciones y Manejadores de Eventos
Los ECTs deben implementar nuevos estereotipos: Subscripción (DeliveryAddress, EventType) - Subscribe
No subscripción (SubscriptionId) - Unsubscribe
DeliveryAddress puede ser:
Una URL relativa para manejadores de eventos de listas externas
Una URL absoluta para manejadores de eventos de entidades
Tipos de eventos (EventType):
ItemAdded
ItemUpdated
ItemDeleted
SubscriptionId, devuelto en operación de subscripción…se usa para para llamar a “Unsubscribe”
![Page 18: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/18.jpg)
Notificaciones y Manejadores de Eventos
Definición de los estereotipos en el modelo:
Delivery Address<Parameter Direction="In" Name="deliveryAddress"><TypeDescriptor TypeName="System.String" Name="deliveryAddress"><Properties><Property Name="IsDeliveryAddress" Type="System.Boolean">true</Property>
Event Type<Parameter Direction="In" Name="eventType"><TypeDescriptor TypeName="System.String" Name="eventType"><Properties><Property Name="IsEventType" Type="System.Boolean">true</Property>
Subscription ID<Parameter Direction="Return" Name="Subscribe"><TypeDescriptor TypeName="System.Int32" ReadOnly="true" Name="SubscriptionId"><Properties><Property Name="SubscriptionIdName" Type="System.String">SubscriptionId</Property><Interpretation><ConvertType LOBType="System.Int32" BDCType="System.String"/></Interpretation>
![Page 19: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/19.jpg)
Notificaciones y Manejadores de Eventos
Las listas externas soportan funcionalidad de alertas
Es una capacidad disponible por defecto que implica: El sistema de negocio debe implementar Subscribe / Unsubscribe
El sistema de negocio tiene que enviar notificaciones de los cambios
No se necesita implementar un manejador de eventos en el lado de SharePoint, las alertas están disponibles por defecto
![Page 20: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/20.jpg)
Notificaciones y Manejadores de Eventos
Registro de un manejador de eventos para una lista externa:
string assembly = "MyAssembly, Culture=, Version=, PublicKeyToken="; string className = "MyAssembly.MyClass"; using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.RootWeb) { SPList list = web.Lists[listTitle]; list.EventReceivers.Add( SPEventReceiverType.ItemAdded, assembly, className); }}
![Page 21: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/21.jpg)
Notificaciones y Manejadores de Eventos
Registro de un manejador de eventos para una lista externa: Similar a agregar RER (Remote Event Receivers en listas estándar)
Cuando se añade el manejador, se llama a la operación de subscripción
Cuando se elimina el manejador se llama a la operación de no subscripción
El registro se puede realizar con el CSOM
![Page 22: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/22.jpg)
Notificaciones y Manejadores de Eventos
Registro de un manejador de eventos para una entidad:
IEntity customerEntity = catalog.GetEntity("AdventureWorks", "Customer");
ILobSystemInstance lobSystemInstance = customerEntity.GetLobSystem(). GetLobSystemInstances()["AdventureWorks"];
NotificationCallback callback = new NotificationCallback(){ Type = “Absolute”, Url = "http://myserver/myservice.svc" };
string subscriptionId = customerEntity.Subscribe( EntityEventType.ItemAdded, callback, lobSystemInstance);}
![Page 23: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/23.jpg)
Notificaciones y Manejadores de Eventos
Arquitectura:
Sistema Externo
Manejador de Eventos Personalizado
Receptor de eventos CSOM
Manejadores de Eventos
BDC
Endpoint REST
Con
ecto
resOperaciones
Notificaciones
![Page 24: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/24.jpg)
Notificaciones y Manejadores de Eventos
Arquitectura: Secuencia de eventos:
1. Primero se crea un ECT que soporta os estereotipos “Subscribe” y “Unsubscribe”
2. Se crea una lista externa a partir del ECT
3. Enlace a las subscripciones de eventos, lo que expone el correspondiente “endpoint”
4. El sistema externo devuelve la llamada al “endpoint”
5. A nivel de SharePoint, se realiza la actualización de las notificaciones recibidas para la lista externa
6. BCS consulta el sistema externo en busca de cambios
7. El manejador de eventos envía las alertas
8. El manejador de eventos remoto puede realizar acciones adicionales
![Page 25: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/25.jpg)
Conclusiones Fundamentos y arquitectura de BCS iguales con respecto a SP
2010, se mejora notablemente el rendimiento en las consultas de datos
Se extiende el ámbito de los ECTs de forma que se pueden consumir datos externos en aplicaciones
Soporte de manejadores de eventos para ECTs y Listas externas
Soporte de alertas en Listas Externas
A nivel de desarrollo, más posibilidades desarrollo a través del Modelo de Objetos en Cliente para BCS y la API REST
![Page 26: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/26.jpg)
BCS en SharePoint
2013
![Page 27: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/27.jpg)
Aprende de los expertos Descárgate CompartiMOSS:
http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx
![Page 28: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/28.jpg)
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 29: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/29.jpg)
Prueba SharePoint a tope CloudShare:
http://www.cloudshare.com/
Disponen de varias plantillas de SharePoint 2013 listas para probar
![Page 30: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/30.jpg)
Nos vemos en los foros 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
![Page 31: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/31.jpg)
![Page 32: Novedades en BCS en SharePoint 2013](https://reader035.fdocumento.com/reader035/viewer/2022081507/554f92ceb4c905435d8b518b/html5/thumbnails/32.jpg)
GRACIAS POR SU ATENCIÓN