Radar SG53

Visual Studio Mobile Center

Durante su evento para desarrolladores Connect(); 2016, Microsoft realizó una gran cantidad de anuncios y lanzamientos. Algunos fueron sobre nuevas versiones de productos (C# 7, Visual Studio 2017), otros sobre la disponibilidad en otros sistemas operativos de herramientas tradicionalmente para Windows (ej. Visual Studio para Mac, SQL Server para Linux), y otros tantos sobre nuevas herramientas.

De las nuevas herramientas, una que nos llama la atención es Visual Studio Mobile Center. Esta herramienta provee un conjunto de servicios en la nube para construir y gestionar aplicaciones móviles. Entre las capacidades que incluye están: construir (build) aplicaciones automáticamente con cada pull request, testing automatizado en dispositivos reales, distribución automática de nuevas versiones a usuarios beta, monitoreo de la aplicación en tiempo de ejecución para detectar fallas, analytics de uso de tus apps, backend as a service (BaaS) con servicios como autenticación de usuarios, almacenamiento y sincronización de datos offline. Visual Studio Mobile Center actualmente soporta apps iOS y Android hechas con Swift, Objective-C, Java, Xamarin y React Native.

 

AWS Greengrass

Amazon Web Services lanzó Greengrass, una tecnología que permite que dispositivos IoT puedan operar localmente servicios de cómputo distribuido, mensajería y cacheo de datos de forma segura y sin estar conectados a internet.

Greengrass opera bajo la idea de tener grupos de dispositivos IoT, dentro de los cuales hay un dispositivo central y múltiples dispositivos satélite. El dispositivo central ejecuta un componente de software llamado Greengrass Core, que es un motor de ejecución de AWS Lambda, y opera como proxy hacia los servicios en la nube de AWS para proveer capacidades como almacenamiento de datos a largo plazo y gestión remota de los dispositivos. Los dispositivos satélite utilizan el IoT Device SDK —un conjunto de librerías en C++—, para comunicarse con el dispositivo central e invocar sus servicios. Todo está diseñado para operar de manera offline, y solamente el dispositivo central necesitaría conectarse a Internet ocasionalmente para sincronizar.

Greengrass se puede configurar para filtrar los datos recibidos de los dispositivos satélite y solamente transmitir a la nube aquellos que nos interesen. Greengrass gestiona la autenticación y toda la comunicación entre dispositivos y hacia la nube está cifrada. AWS Greengrass todavía no está disponible al público en general pero puedes solicitar acceso a la edición previa.

https://aws.amazon.com/greengrass

 

Netflix Conductor

Conductor es un orquestador de microservicios que Netflix recientemente ha hecho disponible como software libre. Conductor fue desarrollado internamente en Netflix y es utilizado para ejecutar procesos de negocio de forma automatizada y distribuida. Conductor gestiona la ejecución de flujos de trabajo (workflow) que son definidos utilizando un lenguaje de dominio específico (DSL) basado en JSON.

Uno de los componentes centrales de Conductor es un servicio de máquina de estados llamado Decider, que opera una cola distribuida para gestionar las tareas. La comunicación se realiza por medio de APIs sobre HTTP. Conforme se van dando eventos en el flujo de trabajo, Decider combina la definición del workflow con el estado actual de ejecución para identificar el estado siguiente, programar la ejecución de la tarea y actualizar el estatus.

Así que si estás considerando implementar una solución costosa de BPM para tu empresa, tal vez valga la pena echarle el ojo a Conductor.

https://netflix.github.io/conductor

 

Android Things

Google ha lanzado Android Things, un sistema operativo para dispositivos IoT que permite a los desarrolladores aprovechar las herramientas y servicios del ecosistema Android para construir aplicaciones IoT.

Además de las APIs de Android y librerías para acceder servicios de Google, el nuevo sistema operativo contiene una nueva librería llamada Things Support Library, la cual tiene dos APIs importantes: Peripheral I/O API para interactuar con sensores, y User Driver API para extender la funcionalidad de los dispositivos.

Una de las ventajas principales de Android Things es la integración con el ecosistema Android, permitiendo utilizar los mismos lenguajes, APIs, herramientas y servicios que los desarrolladores ya utilizan para construir aplicaciones móviles Android.

A la par del lanzamiento de Android Things, se han hecho mejoras a Google Weave, una plataforma y protocolo para comunicación entre dispositivos IoT.

https://developer.android.com/things