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

Cómo empezar a desarrollar en MS Teams (Parte I: Tabs)

Una de las herramientas que ha empezado a utilizarse  e implantarse con más fuerza en el 2018, es Microsoft Teams (quitando de parte algunos problemas de rendimiento de la APP). El objetivo que Microsoft se ha propuesto con Teams es tener centralizado en un único punto de entrada: Comunicación, Colaboración y Documentación. Esta visión ha  hecho que muchas grandes organizaciones se planteen hacer uso de sus desarrollos (existentes o nuevos) dentro de esta nueva herramienta. Pero, ¿cómo podemos empezar a desarrollar en MS Teams? ¿Qué herramientas/lenguajes podemos usar? A lo largo de este y los siguientes artículos vamos a describir cómo podemos llevar a cabo todo esto, sus pros y sus contras 🙂

¿Qué tipo de desarrollo podemos utilizar?

Podemos decir que dentro de Teams tenemos tres escenarios de desarrollos:

  • Tabs => Queremos hacer una aplicación completa que se posicione en un Tab de Teams. Para empezar, tendríamos que valorar si vamos a utilizar el contexto de Teams o no, y si será una aplicación nueva o bien vamos a incluir alguna aplicación de nuestra organización. Dependiendo de cada caso haremos uso de una herramienta u otra.
  • Bots => Como bien nos cuenta el CEO de ENCAMINA, Hugo de Juan en su último artículo sobre Cobots, los bots son una de las herramientas que más protagonismo está ganando dentro de las organizaciones. Si pensamos en aplicaciones dentro de Teams en las que se pueda hacer uso del Bot Framework encontraremos una infinidad de ellas, desde una aplicación para solicitar vacaciones, hasta un bot que modere el contenido para prevenir el CiberBullying.

Tabs 

Este es el caso más frecuente de uso de nuestros desarrollos. Queremos incluir una aplicación empresarial que se empiece a utilizar dentro del contexto de Teams. Dentro de este tipo de aplicaciones  pueden ser aplicaciones que tengan en cuenta servicios que se consumen en Teams o no. Dependiendo de este particularidad, a la hora de autenticarse con la misma, habrá que tener en cuenta unos aspectos u otros. Este caso de autenticación, dada su complejidad y extensión, lo abordaremos más adelante en un artículo más extenso.  Para poder empezar a crear una aplicación de Teams podemos utilizar los siguientes generadores de plantilla: App Studio, Yeoman de Teams, Yeoman de Spfx.

  • App Studio

App Studio. No es un  IDE, sino una aplicación propia de Teams que nos ayuda a generar un paquete de la aplicación para poder subirla al catálogo de aplicaciones de Office o bien instalarla dentro del propio Teams. Dentro de las opciones que se generan, nos indica la url donde esta nuestra aplicación, las direcciones web a las que permitimos acceder, y otros aspectos propios de la aplicación como el nombre, icono, etc.

  • Yeoman de Teams 

Siguiendo con el resto de aplicaciones que se utilizaban en el entorno Office , algunos miembros de la comunidades liderados por Wictor Willen crearon un generador de plantilla para poder hacer una aplicación base de una forma similar a la utilizada con el SharePoint Framework. Para instalarlo tan solo hay que descargarse este plantilla  de Yeoman utilizando npm y  una vez instalado hay que poner lanzar el siguiente comando

yo teams

Esto nos genera un proyecto en NodeJS con una estructura base para empezar a utilizarlo. Con todo esto tendremos que buscar un sitio donde desplegar esta solución. El alojamiento de esta aplicación corre por cuenta propia. Podemos hacer uso de una aplicación alojada en nuestras infraestructuras o bien en el cloud. Pero independientemente de la opción escogida, es necesario que desde Teams se tenga acceso a la url.

Y la seguridad de nuestra aplicación, ¿cómo la gestionamos?

Independientemente de que se este utilizando en un contexto autenticado como es Teams, no implica que nuestra aplicación este segura. La autenticación corre por cuenta del desarrollo, se puede utilizar Azure Active Directory o la que consideremos precisa para nuestra aplicación. Sin embargo para el desarrollo en Teams hay que tener en cuenta unas consideraciones sobre el flujo de aprobación que desgranaremos en futuros artículos.

  • SPFx

En la última release del SPFx, se incorporó que los desarrollos utilizados en SharePoint Online puedan ser compatibles con el desarrollo en Teams. Se han adaptado la forma en la que extendemos nuestro servidor favorito para que sea la misma en la que se desarrolla en Teams. Sin embargo, Teams tiene algún problema, ya que el desarrollo sigue sin ser nativo, sino que es un Iframe que por debajo tiene una página de SharePoint Online. Otro inconveniente, es la forma en la que se comercializa en la propia Store, ya que de momento hay muy poca información.

Otras opciones

Las opciones indicadas son las que se recomiendan desde Microsoft, sin embargo, nuestro día a día es un poco diferente a esta realidad. Las empresas ya tienen aplicaciones desarrolladas y éstas las quieren incluir dentro de Teams. ¿Esta opción es factible? Naturalmente que sí, y es la opción por la que me decanto como posibilidad para dar crecimiento a Microsoft Teams. Para poder realizar ésto, tan solo nos queda modificar el paquete de la aplicación de Teams que haga referencia a la url donde tenemos alojada nuestra aplicación y de esta forma poder incluirla dentro del contexto de Teams.

Pero todo no podía ser tan sencillo, y existen una serie de consideraciones que hay que tener en cuenta:

  • Autenticación
  • Seguridad/Roles de la aplicación
  • Actualización
  • Restricciones de Url

Resumen

Microsoft Teams es una herramienta, que salvando las distancias, recuerda al SharePoint 2010, que fue el foco de los desarrollos y la herramienta principal para muchas empresas.

Los tiempos han cambiado, pero el hecho de tener una herramienta que sirva de nexo para unir todas las aplicaciones de una organización, sigue siendo un objetivo primordial para muchas empresas. Por este motivo el desarrollo en Microsoft Teams está en auge y a diferencia del mencionado SharePoint, hay mayor libertad a la hora de elegir tecnología, cloud, servicios, etc. Y un aspecto a destacar:  lo que desarrollas no afecta a la plataforma, por lo que parece que vamos aprendiendo de errores pasados 😉

En próximos artículos iremos contando nuestra experiencia sobre una aplicación desarrollada sobre Teams 🙂

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 ms teams 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