Llegamos a ustedes gracias a:



Reportajes y análisis

Primer vistazo: Herramienta de Microsoft para combinar APIs

[16/06/2016] No todas las aplicaciones en la nube tienen que ser de escala de nube. A menudo son simples aplicaciones de conmutación y enrutamiento que toman información de una fuente, la procesan mínimamente, y luego la olvidan. Ahí es donde herramientas como IFTTT y Yahoo Pipes entraron en juego, ya que le permiten crear y compartir rápidamente flujos de información que vinculan un servicio a otro. Lamentablemente, Yahoo Pipes ha sido cerrada, y IFTTT se ha concentrado en los enlaces simples hacia la Internet de las cosas.

Eso significa que hay espacio en el mercado para una nueva herramienta -una centrada en el trabajo con aplicaciones y servicios, y capaz de manejar cadenas de operaciones más complejas que la cartografía básica de entrada y salida de IFTTT. Puede construir microservicios en Node.js para automatizar este tipo de conexiones entre aplicaciones y entre las API, pero eso sería una exageración. Lo mismo sucedería con aplicaciones de lógica Azure o Lambda de AWS.

Junto con el lanzamiento de su nueva herramienta de desarrollo visual, PowerApps, Microsoft dio a conocer recientemente su nueva herramienta de desarrollo basado en la conexión, Flow. Al igual que IFTTT y Pipes, Flow está diseñada para ayudarle a conectar rápidamente los productos e insumos para construir aplicaciones que son accionadas por un evento en una entrada, y entregar respuestas a uno o más servicios. Donde IFTTT podría escanear una corriente de tuits y guardar el contenido particular de un archivo, Flow puede tener una entrada y utilizarla como base para un flujo más complejo de la información, la consulta de múltiples fuentes de información y el manejo de múltiples acciones como resultado.

Con el soporte inicial de 12 servicios (y muchos más APIs), Microsoft Flow está claramente diseñado para automatizar lo que de otro modo serían tareas tediosas. Los servicios soportados incluyen Twitter, GitHub, Salesforce, Dropbox, Slack, y Office 365, que le dan acceso a gran parte de Office Graph. Con el uso de estos servicios, se podría, por ejemplo, escanear Twitter en busca de menciones de un producto y entregarlos en un canal de Slack para el equipo de producto, permitiendo que el equipo vea lo que sus usuarios están diciendo acerca de su producto.

Microsoft Flow le da la opción de conectarse a los servicios predefinidos como Box y Dynamics CRM o APIs públicas a través de las definiciones Swagger o URLs HTTP.
Entradas y salidas, posibilidades y consecuencias

Microsoft proporciona un conjunto de 63 plantillas iniciales que manejan una variedad de tareas, las cuales también están listas para la personalización. La gama de plantillas abarca la gestión de relaciones con clientes, notificaciones DevOps, y maneras de manejar su vida en línea, cerrando las brechas entre el almacenamiento, las redes sociales, correo electrónico y otros servicios en la nube.

Empecé mediante la personalización de una de las plantillas básicas, tomando tuits que envié y guardándolos en un archivo CSV en mi OneDrive personal. Editar un Flow es relativamente fácil. Se le presentan los elementos clave de una plantilla en el navegador como un diagrama de flujo básico, las entradas en la parte superior de una pantalla, salidas en la parte inferior. Puede hacer clic en un bloque para abrir sus propiedades. Por ejemplo, en un bloque de Twitter, encontrará una consulta estándar de Twitter.

Una diferencia clave entre Flow e IFTTT es el soporte para los condicionales. Por ejemplo, si un archivo que necesita no está presente, su flujo puede crearlo y colocarle un conjunto inicial de datos. Una vez que está en su lugar, un camino alternativo añadirá nuevos datos en el archivo. Flow ofrece un conjunto muy básico de operadores condicionales, pero es suficiente para permitirle crear aplicaciones relativamente complejas. Puede encadenar entradas, consultas y condicionales, ayudándole a controlar el flujo de su flujo, desde la entrada hasta la elección de salidas.

Hay una gran cantidad de flexibilidad en flujo. Al profundizar en la construcción de sus propios flujos en lugar de utilizar las plantillas proporcionadas, notará que es capaz de utilizar las definiciones de API Swagger para enganchar rápidamente las API REST arbitrarias en un flujo. También es capaz de conectarse a una acción HTTP, una opción que le permite conectarse a un gancho Web en una aplicación como Slack, o trabajar con los datos enviados a través de un formulario web o mediante JSON. Esa es una característica importante, ya que significa que no está limitado al conjunto predeterminado de controles.

También puede construir un flujo en una aplicación PowerApps, dándole su propia interfaz de usuario. La depuración es fácil, con informes de cada operación que le permiten profundizar en cada bloque, para que pueda ver lo que salió mal -e igualmente lo que salió bien.

Para ayudarle a empezar con Flow, Microsoft proporciona una biblioteca de soluciones prediseñadas que se pueden personalizar y utilizar como base para sus propios flujos rápidamente.
Microsoft Flow
Solo el comienzo

El resultado es una pequeña y poderosa herramienta que puede satisfacer sus necesidades. La capacidad de llegar a cualquier API es significativa, ya que es el soporte para una gama de diferentes tipos de entrada. Microsoft ha proporcionado suficientes vías hacia Flow que debe ser capaz de encontrar una que funcione con su elección de entradas -incluso si no están entre los desencadenantes específicos que define Flow. Las salidas son quizás un poco más limitadas en esta etapa. Me hubiera gustado ver un mejor soporte para Office Graph y sus diversas entidades, incluyendo más tipos de documentos que Excel.

Algunos aspectos del proceso de desarrollo de Flow todavía tienen errores, sobre todo alrededor de su integración con OneDrive. Me pareció casi imposible desplazarme por una larga lista de carpetas, por ejemplo, y he tenido que introducir manualmente la carpeta que tenía la intención de utilizar. A pesar de estos problemas iniciales, Flow se perfila muy bien como un reemplazo para Yahoo Pipes, aunque diseñado para el mundo de APIs que tenemos hoy en día, en lugar de simplemente HTTP, RSS y XML.

Puede utilizar herramientas de depuración visual de flujo para explorar cómo ha funcionado un flujo, al ver los mensajes de los pasos satisfactorios y no satisfactorios.
Microsoft Flow

Flow es un servicio que tiene sentido rápidamente, incluso para quienes no son programadores. Es bastante fácil como para empezar mediante la personalización de una plantilla, pero una vez que construye sus propios flujos, la disposición gráfica de bloques de flujo y programas rápidamente tiene sentido. Si quiere ir más allá de las plantillas y acciones predeterminadas, entonces necesita familiarizarse con la sintaxis de la API REST. El soporte de Flow para la descripción del lenguaje de la API Swagger debería simplificar las cosas, al menos en los sitios y servicios que ofrecen las definiciones Swagger.

Con herramientas como Flow y PowerApps, Microsoft finalmente está cumpliendo con la audiencia de desarrolladores compuesta por trabajadores de la información que desean resolver pequeños problemas. Flow no es una herramienta de programación de propósito general, pero no obstante es a la vez potente y flexible. Flow es una rampa en un nuevo estilo de desarrollo de aplicaciones, y es una que cualquiera puede utilizar.