SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 

Dernier (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 

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