En muchas ocasiones necesitamos presentar en nuestro sitio de búsqueda datos empresariales de otros orígenes (fuera de SharePoint) como pueden ser base de datos (SQL Server, Oracle, MySQL), ERP (Dynamics, SAP, ECI, NetSuite), CRM (Dinamics, SAP,Sugar), etc.
Esto es posible mediante la búsqueda de datos externos utilizando los servicios de conectividad empresarial, a continuación vamos a ver paso a paso como realizar dicha integración utilizado como conector un servicio web.
Paso 0 – Requisitos necesarios.
Para nuestro ejemplo es necesario disponer de las siguientes aplicaciones de servicio creadas en nuestro servidor.
Para más información de cómo crear dicha aplicación http://technet.microsoft.com/es-es/library/jj683108(v=office.15).aspx
También es necesario tener instalado Microsoft SharePoint Designer 2013 que lo podemos descargar del http://www.microsoft.com/es-es/download/details.aspx?id=35491
Paso 1 - Preparación del servicio web de proveedores.
Disponemos en el código fuente del artículo un servicio web que devuelve un conjunto de proveedores codificado pero suficiente para nuestro ejemplo. Aunque existen muchas técnicas para publicar el servicio web, la más fácil en nuestro caso es copiar todo el contenido del fichero comprimido "WSProveedores.zip" en "C:\inetpub\wwwroot", para después crear el directorio virtual en IIS, para ello seguimos los siguientes puntos.
Nos posicionamos en el nodo de la lista de sitios del panel de navegación y pulsamos el botón derecho de ratón para seleccionar añadir sitio web (Add WebSite), después introducimos los siguientes datos en el formulario nombre del sitio (Site Name) "Web Services Proveedores", en pool de aplicaciones (.Net 2.0), ruta física (Physical Path) "C:\inetpub\wwwroot", puerto (Port) 9797 y pulsamos en aceptar (OK) para crear el sitio web.
Paso 2 - Añadir credenciales al servicio de almacén seguro
Aunque podemos proteger nuestras conexiones con sistemas externos de muchas maneras, uno de los métodos recomendados es utilizar la aplicación de servicios de almacén seguros, para ello seguimos los siguientes puntos:
Introducimos los datos solicitados. En nuestro caso en el identificador de la aplicación de servicio (Target Application ID), en el nombre a mostrar (Display Name) introducimos "ServiciosProveedores", en el campo de email de contacto (Contact E-Email) introducimos martin@spmartin15.com, dejamos los demás campos con los valores por defecto y pulsamos el botón de siguiente (Next).
Marcamos el tipo de campo de nombre de usuario de Windows (Windows User Name) y pulsamos sobre el botón de siguiente (Next).
Introducimos la relación de usuarios que tienen permisos para la gestión de la configuración de la aplicación destino, en nuestro caso "Martin Luis Lopez" y pulsamos sobre el botón de aceptar (OK)
Introducimos los datos solicitados. En nuestro caso el propietario (Credential Owner) "Martin Luis Lopez", usuario de Windows "spmartin15\mlopezre", contraseña de Windows ********, y por últimos pulsamos sobre el botón de aceptar (OK)
Paso 3 - Creación del tipo de contenido externo.
Aunque podemos crear el tipo de contenido externo mediante código vamos a utilizar Microsoft SharePoint Designer 2013 por su facilidad, para ello seguimos los siguientes puntos:
En la primera ventana del formulario (Operation Properties) dejamos los valores por defecto y pulsamos el botón de siguiente (Next).
Aunque se recomienda por buenas prácticas introducir parámetros de entrada para limitar el número de elementos devuelto, en nuestro caso de ejemplo pasamos por alto esta advertencia pulsamos sobre el botón siguiente (Next).
En los parámetros de retorno Seleccionamos el campo "code", indicamos que es mapa a identificador (Map to identifier), también lo indicamos como identificador (Identificator), indicamos que lo muestre en un recogedor (Picker), y por último pulsamos el botón de finalizar (Finish).
Ahora creamos la operación de lectura de elemento.
Sobre el método "GetSupplierById" pulsamos con el botón derecho del ratón y seleccionamos nueva Operación de Lectura de elemento (New Read Item Operation).
En la primera ventana del formulario (Operation Properties) dejamos los valores por defecto y pulsamos el botón de siguiente (Next).
En los parámetros de entrada seleccionamos "code" como mapa a identificar (Map to identifer) y pulsamos en el botón de siguiente (Next).
En los parámetros de retorno Seleccionamos el campo "code", indicamos que es mapa a identificador (Map to identifier), también lo indicamos como identificador (Identificator) y por último pulsamos el botón de finalizar (Finish).
Paso 4 - Configuración y Seguridad.
Para presentar los datos es necesario disponer de las páginas de perfil de los tipos de contenidos externo de proveedores y quien tiene acceso a ellos. Para ello seguimos los siguientes puntos:
En el formulario de configuración seleccionamos la casilla de activar la creación de página de perfil (Enable Profile Page Creation) e introducimos la URL correspondiente del sitio de búsqueda en nuestro caso http://spmartin15:39910 y aceptamos los valores.
Conclusiones
Si combinamos el motor de búsqueda con Business Connectivity Services (BCS) nos brinda grandes posibilidades de integración con datos empresarial sin ningún tipo de desarrollo personalizado en la mayoría de los cosas además de una gran facilidad y flexibilidad en su configuración. En el siguiente artículo de la serie, continuaremos realizando las configuraciones necesarias para aprovechar estas características de integración.
MARTIN LUIS LOPEZ REQUENA SharePoint Solution Architect & Trainer at everis martinluislopez@hotmail.com