Encontramos que SharePoint Online de Office 365 en esta versión 2013 nos ofrece un sin número de opciones tecnológicas para resolver de una manera efectiva diversas necesidades de negocio de forma rentable y diría yo con un alto retorno de inversión. Usando SharePoint Online de Office 365 en tan solo unos minutos podemos activar el acceso a externos para permitir la colaboración con empleados y con esto resolver una de las necesidades más comunes de hoy en día, como lo muestro en este post.
Una vez dicho esto, hoy quiero compartir como acceder a fuentes de datos externas usando Business Connectivity Services en Office 365 para mostrar a los desarrolladores como se puede consumir información de otras aplicaciones y/o servicios y con ello dar una solución de acceso a datos externos dentro de un entorno hospedado en la nube como lo es Office 365.
Supuestos
- Se tiene acceso al App Catalog de la instancia de Office 365
- Se cuenta con un servicio OData accesible
- Cuentas con el Visual Studio 2012 y el Update 2 instalado
El servicio OData
En este ejemplo usaremos un servicio OData publicado en http://www.odata.org y disponible aquí http://services.odata.org/Northwind/Northwind.svc/ como un ejemplo de implementación de la base de datos Northwind. Si accedes podrás ver que puedes navegar y obtener información de ejemplo usando la sintaxis REST directamente desde la dirección URL del navegador como http://services.odata.org/Northwind/Northwind.svc/Customers(CustomerID%20=%20’ALFKI’)/Orders
BCS en Office 365
Si trabajaste con BCS en versiones anteriores seguramente sabes que podemos utilizar SharePoint Designer para crear el tipo de contenido externo y posteriormente usarlo para construir una lista. En este ejemplo usaremos una App for SharePoint 2013 de tipo autohosted para albergar la definición del tipo de contenido externo y la configuración requerida por BCS para operar, me refiero al archivo modelo .bdcm.
Cargamos Visual Studio 2012 y creamos una App for SharePoint 2013 llamado Orders
Al dar clic en Ok procedemos a especificar la instancia de Office 365 que podremos usar para depurar nuestra aplicación SharePoint 2013. No olvidar especificar que esta aplicación es autohosted. Básicamente estamos creando un App-scoped External Content Type.
Este proceso nos crea dos proyectos dentro de la misma solución, trabajaremos solo en Orders (no en OrdersWeb). Dentro del proyecto Orders utilizaremos un asistente que viene con el Update 2 de Visual Studio 2012 con el cual podremos configurar el tipo de contenido para fuentes de datos externa.
El asistente nos solicita la dirección URL de la fuente de datos OData con la cual podremos analizar los recursos disponibles en el servicio para así auto generar los archivos necesarios para configurar nuestro tipo de contenido y nuestra lista. Especificamos el nombre de nuestra fuente de datos en este caso Northwind.
Al dar clic en Next el asistente nos muestra los distintos recursos REST disponibles en el servicio. Para efectos de este ejemplo solo mostraremos las órdenes, así que elegimos Orders para proceder a generar el tipo de contenido externo basado en el esquema de este recurso y también para crear una instancia de lista basada el tipo de contenido externo.
Este asistente nos genera una característica y un tipo de contenido externo llamado Orders. Si analizamos lo que en el Solution Explorer se muestra vemos que tenemos la definición del tipo de contenido (Orders.ect) y una instancia de lista. Si abrimos el archivo Orders.ect con un editor XML encontraremos el archivo modelo que BCS necesita para poder trabajar con la fuente de datos externa, básicamente el asistente de configuración que acabamos de ejecutar nos generó este archivo con las entradas correspondientes necesarias para que BCS pueda trabajar.
i abrimos el archivo Elements.xml ubicado dentro de la instancia de lista llamada Orders vemos que se encuentra la definición de la instancia de lista así como las entradas necesarias que indican que es un tipo de contenido externo de BCS.
ambién podemos cambiar el Icono de nuestra App for SharePoint 2013 y modificar el comportamiento de la aplicación como tal editando el archivo AppManifest.xml. Lo que haremos es modificar el StartPage de nuestra aplicación para que haga redirección directamente a nuestra lista de Orders.
Cambiamos de:
<StartPage>~remoteAppUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
Por:
<StartPage>~appWebUrl/Lists/Orders</StartPage>
Seleccionamos nuestro proyecto Orders y damos clic derecho para proceder a hacer Publish el cual nos muestra una ventana con el resumen de la publicación que estamos por aplicar. Este proceso compila y empaqueta dentro de un archivo .app nuestra aplicación.
A continuación con nuestra aplicación resultante procedemos a subir nuestro archivo al catálogo de aplicaciones.
Dentro de nuestra herramienta central de administración damos clic en Apps y damos clic en App Catalog lo cual nos va a llevar hacia la colección de sitios de aplicaciones. Si aún no tienes configurado esto en tu ambiente de Office 365 favor de avisar para publicar como hacerlo.
Estando sobre nuestra colección de sitios de catálogo de aplicaciones vamos a seleccionar la lista de Apps for SharePoint donde podremos cargar nuestro archivo .app hacia el catalogo.
Damos clic en new app y procedemos a cargar nuestro archivo .app, posteriormente vamos a capturar información en un formulario donde hay que asegurarse que la opción Enable este seleccionada.
Con esto configurado, ahora podemos usar nuestra aplicación dentro de cualquier colección de sitios. Simplemente seleccionamos Site Actions – site settings
Damos clic en add an app para proceder a buscar y seleccionar nuestra nueva aplicación de Orders.
La aplicación de Orders se mostrara en el catálogo de aplicaciones.
Damos clic en el botón Trust It para especificar que confiamos en esta aplicación.
Con esto se agrega un nuevo enlace en el menú Quick Launch de nuestro sitio. Cuando damos clic sobre el BCS y nuestro tipo de contenido externo cobran vida para mostrarnos las Órdenes de nuestra fuente de datos externa basada en un servicio OData desde una instancia de Office 365.
Originalmente publicado en msmvps.com
Deja un comentario