Hospedando Apps en SharePoint 2013

Entre las novedades en cuanto a desarrollo con respecto a la versión de SharePoint 2013, podemos encontrar diferentes formas de hospedar nuestras Apps. Cuando seleccionamos la plantilla de App para SharePoint 2013 en Visual Studio 2012 o 2013, podemos observar que tendremos en el asistente de configuración la siguiente opción disponible:

SP_App_Host

Es importante saber la diferencia y en que escenarios debemos utilizar cada una de las opciones, debido a que el patrón de desarrollo para hospedaje de las aplicaciones nos permite poder desarrollar Apps que puedan consumir recursos externos, como servicios de Windows Azure o tener soluciones de SharePoint en Apps hospedadas en servidores independientes para poder atender alto consumo sin afectar rendimiento del SharePoint. A continuación voy a detallar cada una de las opciones y un posible escenario de recomendación:

  • SharePoint-Hosted: SharePoint es el que se encarga de brindar el hospedaje de todos los componentes necesarios, ya sea en el SharePoint Online o en una instalación On-Premise, pero tomando en cuenta los componentes necesarios configuradores respectivamente tanto en SharePoint como los servicios respectivos y en la Infraestructura como el dominio para las Apps, el foward lookup zone en el servidor DNS, un alias CNAME para redireccionar a la URL de las Apps, me gustaría aclarar que el formato que se le da a una App es el siguiente:

    <Prefijo de App>-<App Id>.<Dominio para las Apps>

    https://MyApp-124284GDWS.ColDevSolutionsApps.com

    Este tipo de Hospedaje para las Apps nos permite poder autenticar a los usuarios con el mismo nivel de autorización que maneja la granja, el lenguaje de programación es HTML5, CSS3 y JavaScript utilizando JSCOM (JavaScript Client Object Model). Para desarrollar este tipo de Apps se puede implementar de una manera sencilla y se puede utilizar las herramientas NAPA, sin embargo, es importante recalcar que solamente podemos utilizar JavaScript lo que nos limita a no poder desarrollar código a nivel del server-side.

  • Provider-Hosted: En este caso la App se implementa y se hospeda en un servidor independiente a la granja de SharePoint, permitiendo interactuar no solamente con SharePoint sino también con los componentes remotos donde se encuentra hospedada la App.

    El proceso de autenticación que se lleva a cabo es OAuth o JavaScript Cross-Domain Library (En un futuro post tratare los métodos de autenticación con un ejemplo de cada uno). El lenguaje de programación es cualquiera soportado por el servidor web o por el servicio de hospedaje donde se encuentra la App, es aquí donde podemos empezar a notar la mejora en interoperabilidad que Microsoft está introduciendo en su versión 2013 permitiendo desarrollar Apps para SharePoint con Java, PHP, entre otros.

    Para hacer una recomendación sobre este tipo de hospedaje, supongamos que una empresa cuenta con SharePoint Online en Office 365, cuentan con una base de datos local que por políticas de seguridad no se pueden crear fuentes de datos de sistemas que estén fuera de las instalaciones de la empresa, se les ha solicitado que deben de publicar una gráfico en SharePoint que sirva de resumen de los datos mensuales de la base de datos empresarial pero solamente a los usuarios registrados en el SharePoint, además un formulario en la misma página que permita a los usuarios filtrar el gráfico con los datos de un sistema local que tiene la empresa, para cumplir esta solicitud el departamento de tecnología tiene restringido crear una conexión con el servicio BCS (Business Conectivity Services) y también debe de poder integrarse con un sistema local, por lo que la mejor manera de realizar esta solicitud es utilizando una App hospedada localmente en la empresa e interactuando con SharePoint para el proceso de autenticación.

  • Autohosted Apps: Solamente soportado para SharePoint Online. La implementación y los componentes requeridos para las Apps son provisionados por el Windows Azure permitiendo poder utilizar recursos y componentes de esta plataforma como por ejemplo, SQL Azure. El proceso de autenticación es el mismo que Provider-Hosted, OAuth o JavaScript Cross-Domain Library, de hecho ambos patrones son muy similares, la diferencia es que la administración, mantenimiento, implementación y demás es automáticamente proporcionado por Windows Azure y además solo se soporta los lenguajes de programación de esta plataforma. Las Apps de SharePoint 2013 equivalen a un Azure Web Site, es importante mencionar que por cada subscripción Windows Azure brinda hasta 10 sitios de manera gratuita, es decir, puedes tener 10 Apps de SharePoint hospedadas en Windows Azure gratis.

David Sánchez Aguilar, consultor enfocado en tecnologías Microsoft. Cuenta con varias certificaciones como MCP, MCT, MCSD, MCITP, MCTS y Microsoft Specialist. Es graduado de la carrera de Ingeniería en Sistemas Computacionales y actualmente cursa la Maestría de Administración de Tecnologías de la Información (MATI). Cuenta con más de siete años de experiencia trabajando con plataformas de colaboración. Ha participado en distintos proyectos para Latinoamérica y Norteamérica con tecnologías como SharePoint, Office 365, Microsoft Azure, Team Foundation, SQL Server, System Center y también soluciones de desarrollo basadas en .NET Framework y HTML5. Adicionalmente, es instructor certificado de Microsoft.

Publicado en Office 365, SharePoint, Windows Azure
2 comments on “Hospedando Apps en SharePoint 2013
  1. […] Hospedando Apps en SharePoint 2013 […]

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Microsoft MVP
Microsoft Most Valuable Professional
Certificaciones
Certificaciones

Haz clic para seguir este blog y recibir notificaciones de nuevos mensajes por correo electrónico.

Únete a otros 1.346 seguidores

Visitantes
Follow me on Twitter
Visitas
  • 31,034 en total.