SlideShare una empresa de Scribd logo
1 de 32
¡Integración de datos de
    negocio con BCS!
 Juan Carlos González (@jcgm1978)
 MVP SharePoint Server
 http://geeks.ms/blogs/ciin
 jgonzalez@gruposodercan.es
Agenda

 Repaso a BCS
 Fuentes OData
 ECTs a nivel de Aplicación
 Interfaces REST y CSOM
 Notificaciones, Alertas y Manejadores de Eventos
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
BCS: Arquitectura
       Office Client                           SharePoint Foundation / Server

    External Business Parts                        Sitio / App SharePoint
     Código Personalizado                     Paquete        Listas     Archivos
                                               VSTO        Externas       BDCM
   Integración con Office
                                                    Búsquedas, Columnas
                                            Externas, WebParts, CSOM, Pérfiles, Ap
                                                             ps
             BCS                             Servicio de Almacenamiento Seguro

Runtime de                                         Aplicación de Servicio de BCS
                   Caché de                                            Runtime de
  BDC en                                             Almacén de
                    Cliente                                               BDC en
  Cliente                                             Metadatos
                                                                         Servidor



                       SQL WCF / OData Personalizado Conector .NET

                                  Datos Externos
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
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
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>
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
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
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
ECTs a nivel de aplicación
 Arquitectura:


BusinessDataMetadataCatalog   FileBackedMetadataCatalog


                                Runtime del BDC           Sistema
           Archivos BDCM
                                                          Externo



          Lista Externa

   MetadataCatalogFileName
   = MyModel.BDCM
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>
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);
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();
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
              });
          }
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
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”
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>
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
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);
      }
   }
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
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);
   }
Notificaciones y
             Manejadores de Eventos
 Arquitectura:

                                            Endpoint REST
    Receptor de eventos CSOM

     Manejadores de Eventos



              BDC              Conectores   Operaciones     Sistema Externo



      Manejador de Eventos
         Personalizado
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
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
BCS en SharePoint
      2013
Aprende de los expertos
 Descárgate CompartiMOSS:
    http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx
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.
Prueba SharePoint a tope
 CloudShare:
    http://www.cloudshare.com/
    Disponen de varias plantillas de SharePoint 2013 listas para probar 
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
GRACIAS POR SU ATENCIÓN

Más contenido relacionado

Similar a Novedades en BCS en SharePoint 2013

Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Juan Pablo
 
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...Andrés Iturralde
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxXavierNavia
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresAndrés Iturralde
 
Sharepoint server 2010 - La nueva colaboración
Sharepoint server 2010  - La nueva colaboraciónSharepoint server 2010  - La nueva colaboración
Sharepoint server 2010 - La nueva colaboraciónAndrés Iturralde
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetEsteban Soraire
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelAndrés Iturralde
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Luis Fernando Aguas Bucheli
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Antonio Torres
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.netSandy Contreras
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointDaniel Laco
 
CLASE03_TEMA02_2.pptx
CLASE03_TEMA02_2.pptxCLASE03_TEMA02_2.pptx
CLASE03_TEMA02_2.pptxDiseoGrfico14
 
Administracion Sharepoint 2010
Administracion Sharepoint 2010Administracion Sharepoint 2010
Administracion Sharepoint 2010Eva Ordoñez Perez
 
SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolucióngoreorti
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Andrés Iturralde
 

Similar a Novedades en BCS en SharePoint 2013 (20)

Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010Exprimiendo SharePoint 2010
Exprimiendo SharePoint 2010
 
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
Esto es todo sobre los servicios Desarrollo de Aplicaciones Personalizadas pa...
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
SharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para DesarrolladoresSharePoint 2010 Introducción para Desarrolladores
SharePoint 2010 Introducción para Desarrolladores
 
Sharepoint server 2010 - La nueva colaboración
Sharepoint server 2010  - La nueva colaboraciónSharepoint server 2010  - La nueva colaboración
Sharepoint server 2010 - La nueva colaboración
 
Dce2 Introduccion Asp.Net
Dce2 Introduccion Asp.NetDce2 Introduccion Asp.Net
Dce2 Introduccion Asp.Net
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object Model
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net2009 05-07-tutorial asp.net
2009 05-07-tutorial asp.net
 
Estrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepointEstrategias de desarrollo en sharepoint
Estrategias de desarrollo en sharepoint
 
CLASE03_TEMA02_2.pptx
CLASE03_TEMA02_2.pptxCLASE03_TEMA02_2.pptx
CLASE03_TEMA02_2.pptx
 
Portales y portlets web
Portales y portlets webPortales y portlets web
Portales y portlets web
 
Administracion Sharepoint 2010
Administracion Sharepoint 2010Administracion Sharepoint 2010
Administracion Sharepoint 2010
 
SP2010 evolución vs evolución
SP2010 evolución vs evoluciónSP2010 evolución vs evolución
SP2010 evolución vs evolución
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
Bajo el Toldo con la Programabilidad de Microsoft SharePoint 2010
 

Más de Juan Carlos Gonzalez

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoJuan Carlos Gonzalez
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumJuan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Juan Carlos Gonzalez
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Juan Carlos Gonzalez
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleJuan Carlos Gonzalez
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxJuan Carlos Gonzalez
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Juan Carlos Gonzalez
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Juan Carlos Gonzalez
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsJuan Carlos Gonzalez
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsJuan Carlos Gonzalez
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finJuan Carlos Gonzalez
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Juan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Juan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsJuan Carlos Gonzalez
 

Más de Juan Carlos Gonzalez (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

Novedades en BCS en SharePoint 2013

  • 1. ¡Integración de datos de negocio con BCS! Juan Carlos González (@jcgm1978) MVP SharePoint Server http://geeks.ms/blogs/ciin jgonzalez@gruposodercan.es
  • 2. Agenda  Repaso a BCS  Fuentes OData  ECTs a nivel de Aplicación  Interfaces REST y CSOM  Notificaciones, Alertas y Manejadores de Eventos
  • 3. 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
  • 4. BCS: Arquitectura Office Client SharePoint Foundation / Server External Business Parts Sitio / App SharePoint Código Personalizado Paquete Listas Archivos VSTO Externas BDCM Integración con Office Búsquedas, Columnas Externas, WebParts, CSOM, Pérfiles, Ap ps BCS Servicio de Almacenamiento Seguro Runtime de Aplicación de Servicio de BCS Caché de Runtime de BDC en Almacén de Cliente BDC en Cliente Metadatos Servidor SQL WCF / OData Personalizado Conector .NET Datos Externos
  • 5. 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
  • 6. 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
  • 7. 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>
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. ECTs a nivel de aplicación  Arquitectura: BusinessDataMetadataCatalog FileBackedMetadataCatalog Runtime del BDC Sistema Archivos BDCM Externo Lista Externa MetadataCatalogFileName = MyModel.BDCM
  • 12. 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>
  • 13. 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);
  • 14. 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();
  • 15. 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 }); }
  • 16. 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
  • 17. 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”
  • 18. 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>
  • 19. 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
  • 20. 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); } }
  • 21. 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
  • 22. 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); }
  • 23. Notificaciones y Manejadores de Eventos  Arquitectura: Endpoint REST Receptor de eventos CSOM Manejadores de Eventos BDC Conectores Operaciones Sistema Externo Manejador de Eventos Personalizado
  • 24. 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
  • 25. 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
  • 27. Aprende de los expertos  Descárgate CompartiMOSS:  http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx
  • 28. 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.
  • 29. Prueba SharePoint a tope  CloudShare:  http://www.cloudshare.com/  Disponen de varias plantillas de SharePoint 2013 listas para probar 
  • 30. 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
  • 31.
  • 32. GRACIAS POR SU ATENCIÓN