Arquitectura, buenas prácticas y desarrollo sobre la nueva herramienta de Microsoft SharePoint 2016

Office 365 Creando una App ProviderHosted en Azure

descargaDesde hace varios meses las noticias y los rumores sobre la Office Store, su Modelo de desarrollo y sobre su futuro no cesan. La Office Store está dando mucho que hablar dentro de la Comunidad. Mientras se van confirmando noticias (la eliminación de las Apps de tipo AutoHosted, la nueva herramienta para crear formularios, Oslo, etc..), vamos a ver todo lo que podemos realizar en la Office Store. En este post, vamos a ver lo sencillo que es crear una App de tipo «ProviderHosted» haciendo uso de Azure como nuestro proveedor donde estará alojada la App y donde, además, tendremos alojada la Base de Datos.

Introducción

Para los despistados, Microsoft en la versión SharePoint de 2013 ha añadido como una de sus características principales el nuevo modelo de Apps. Este modelo de Apps tiene como principal objetivo hacer de SharePoint el núcleo principal para poder gestionar todos los recursos de los departamentos IT. Además, cumple una gran petición de los desarrolladores de SharePoint: dar a nuestro servidor favorito un entorno dónde puedan estar alojadas las diferentes aplicaciones empresariales para las cuales, hasta ahora, SharePoint no había sido considerada la plataforma «ideal» para implementarlas.
Para este tipo de Apps, existían tres tipos de alojamiento:

  1. SharePoint Hosted: Aplicaciones alojadas en el propio SharePoint. Se caracterizan porque no se puede poner código behind y solo es admitido HTML5, CSS y JavaScript.
  2. AutoHosted. Aplicaciones alojadas en Azure a través de tu tenant de Office 365.
  3. Provider Hosted. Aplicaciones alojadas en tu proveedor de servicios, por ejemplo Amazon, Google, Azure o tu propio servidor Onpremise.

En cuanto a estas tres aplicaciones, Microsoft anunció el pasado Mayo, taque las aplicaciones AutoHosted dejaban de ser soportadas. A raíz del anuncio, se han extendido muchos rumores y se han realizado muchas críticas respecto al futuro de la Office Store. Aunque el objetivo de este post no es mojarme, personalmente no se si empresarialmente las Apps públicas en la Office Store tienen mucho futuro. Lo tengo claro es que el modelo de desarrollo de Apps más que un futuro es una realidad.

En este post, vamos a ver como implementar una App de tipo ProviderHosted.

Manos a la obra

  1.  Abrimos Visual Studio 2013
  2. Seleccionamos la opción “Nuevo Proyecto” a través del menú “Archivo -> Nuevo ->Proyecto
  3. En la ventana abierta seleccionamos en el menú de la derecha la opción “Apps”, la cual se encuentra disponible dentro de la opción “Office/SharePoint”.
  4. Visual Studio procederá a crear el proyecto y, cuando termine, abrirá una nueva ventana para configurar la aplicación, como puede verse en la siguiente imagenCaptura
  5. A continuación, se muestra una ventana dónde podemos escoger dos tipos de proyecto: ASP.NET MVC o una aplicación de formularios WebForms. En nuestro ejemplo, crearemos la primera opción.
  6. El siguiente paso nos muestra una ventana para indicarnos el tipo de certificado que vamos a utilizar. Puede ser el propio de nuestra subscripción de Azure o bien un certificado propio. Así lo podemos observar en la siguiente imagen:certificado
  7. Por último, se mostrará el login de nuestra cuenta de Office 365

Una vez realizado el proceso, tenemos una solución con dos proyecto: un proyecto App de SharePoint y una aplicación MVC preparada para poder añadir la funcionalidad.

En este ejemplo, vamos a crear una Base de Datos en Azure, y esta información la vamos a consultar en nuestra App haciendo uso de Entity FrameWork. Los beneficios de utilizar Azure están claros: alta disponibilidad, escalabilidad y fácil integración con las Apps.

Creando la base de Datos en Azure

Crear una base de datos, en casi cualquier entorno Onpremise, es un proceso que, por lo general, es algo costoso en cuanto a tiempo. ¿Quién no ha estado un rato esperando la instalación de SQL y sus multitudes pantallas? En Azure es algo tan sencillo como ir a un menú y hacer clic en el mismo, tal y como podemos ver en esta imagen:Azure

Una vez tenemos la Base de Datos creada, desde el propio panel de Azure disponemos de un enlace para obtener las cadenas de conexión para utilizarla desde nuestros desarrollos en cualquier tipo de plataforma.

Acto seguido, nos dirigimos a Visual Studio y establecemos conexión con la Base de Datos. Para ellos vamos al Panel de «Explorador de Soluciones» y añadimos una conexión nueva:

A continuación, se nos solicitará escoger el tipo de Conexión. En nuestro caso, seleccionaremos Microsoft SQL Server

También se nos solicitarán los datos de nuestra conexión y podremos consultar las tablas y registros que tenemos almacenados en esta conexión.
baseAzure

Crear el modelo
Una vez ya tenemos la conexión, crearemos los modelos de Entity Framework de las tablas de bases de datos. Estos modelos son clases que se utilizan para trabajar con los datos.
Para ello, nos posicionaremos en la carpeta «Models» de nuestra solución, botón derecho y añadir un nuevo elemento. Seleccionamos dentro de Data un item de tipo «ADO.NET Entity Data Model».
Entity
A continuación tenemos cuatro formas de crear estos modelos. En nuestro caso, como ya tenemos creada la base de datos, vamos a escoger el modelo basado en esta base de datos, por lo que escogemos la primera opción.
TipoEntity
El siguiente paso es indicar que elementos de esta base de datos queremos incluir en nuestro modelo. En este ejemplo seleccionaremos las tablas que hemos incluido. Si todo se ha efectuado correctamente, se visualizará el diagrama de la base de datos, junto con sus respectivas clases.

Generar las vistas
Ya hemos visto como crear la base de datos y como crear el modelo. El último paso de nuestra aplicación será crear las vistas.
Para ello, nos posicionamos en la carpeta de «Controllers», y añadimos nuevo elemento con «Scafolding». Tendremos varias opciones, pero puesto que estamos dentro de un proyecto MVC con Entity FrameWork, seleccionaremos la primera opción.
VistasEF

En la siguiente pantalla tendremos que seleccionar la clase del Modelo y la clase del Contexto de la base de datos.

Si todo ha ido correctamente, por un lado nos ha añadido un nuevo Controlador (dentro de la carpeta de Controllers) y por otro nos ha añadido las vistas correspondientes( dentro de la carpeta de View)
View

Si ahora ejecutamos la aplicación, ya disponemos de esta lógica dentro de nuestra aplicación:
Example

Resumen
En este post, hemos visto cómo podemos realizar aplicaciones «modernas» MVC con Entity FrameWork dentro de SharePoint haciendo uso de Azure de una forma muy simple. Aunque todo lo que hemos visto es relativamente simple, se pueden implementar aplicaciones muy complejas.

La integración de la Office Store con Azure es total y de una forma muy simple. Esto no implica que no se pueda utilizar cualquier otra plataforma Cloud, como por ejemplo puede ser Amazon. Estos escenarios híbridos donde podemos tener datos/servicios en el Cloud y consumirlos desde nuestro SharePoint, van a ser más comunes de lo que pensamos. Conviene que nos vayamos familiarizándonos con ellos y tenerlos muy presentes.

 

mm

Sobre Adrián Díaz

Adrián Díaz es Ingeniero Informático por la Universidad Politécnica de Valencia. Es MVP de Microsoft en la categoría Office Development desde 2014, MCPD de SharePoint 2010, Microsoft Active Profesional y Microsoft Comunity Contribuitor 2012. Cofundador del grupo de usuarios de SharePoint de Levante LevaPoint. Lleva desarrollando con tecnologías Microsoft más de 10 años y desde hace 3 años está centrado en el desarrollo sobre SharePoint. Actualmente es Software & Cloud Architect Lead en ENCAMINA.
Esta entrada ha sido publicada en APP y etiquetada como , , . Enlace permanente .
Suscríbete a Desarrollando sobre SharePoint

Suscríbete a Desarrollando sobre SharePoint

Recibe todas las actualizaciones semanalmente de nuestro blog

You have Successfully Subscribed!

ENCAMINA, piensa en colores