{"id":10689,"date":"2022-09-05T19:35:12","date_gmt":"2022-09-05T19:35:12","guid":{"rendered":"https:\/\/bissoluciones.com\/blog\/?p=10689"},"modified":"2022-09-07T01:49:32","modified_gmt":"2022-09-07T01:49:32","slug":"mendix-aws-y-el-internet-de-las-cosas","status":"publish","type":"post","link":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/","title":{"rendered":"Mendix, AWS y el Internet de las cosas"},"content":{"rendered":"\n<p>Mendix y AWS han estado trabajando juntos para crear una variedad de modelos y plantillas.&nbsp;Quer\u00edamos mostrar c\u00f3mo estas grandes plataformas pueden trabajar juntas, como nuestros aceleradores de&nbsp;<a href=\"https:\/\/www.mendix.com\/industries\/financial-services\/\">servicios financieros<\/a>&nbsp;y&nbsp;seguros.&nbsp;Una de las cosas que queremos demostrarle es la integraci\u00f3n entre Mendix y AWS.&nbsp;Este art\u00edculo describe la demostraci\u00f3n que hemos construido y c\u00f3mo lo hicimos.<\/p>\n\n\n\n<p>Esta publicaci\u00f3n est\u00e1 escrita en conjunto con&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/simonblack101\/\">Simon Black<\/a>&nbsp;&nbsp;(gerente s\u00e9nior de evangelismo y capacitaci\u00f3n t\u00e9cnica),&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/alistair-crawford-50263824\/\">Alistair Crawford<\/a>&nbsp;(evangelista de soluciones) y&nbsp;<a href=\"https:\/\/www.linkedin.com\/in\/adrian-preston-2060507\/\">Adrian Preston<\/a>&nbsp;(evangelista de soluciones).<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>El escenario<\/strong><\/p>\n\n\n\n<p>El escenario de la log\u00edstica de la cadena de fr\u00edo y c\u00f3mo rastrear el transporte de mercanc\u00edas con temperatura controlada.&nbsp;Para lograr esto, usamos Mendix para crear una interfaz de aplicaci\u00f3n web compatible con los servicios de AWS.&nbsp;Usando estas herramientas, quer\u00edamos construir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Una aplicaci\u00f3n web para usuarios de oficina<\/li><li>Una versi\u00f3n m\u00f3vil para el personal de campo<\/li><li>La arquitectura de nube de AWS compatible para procesar y proporcionar los datos<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/IOT-AWS-MX-Diagram.png\" alt=\"\" class=\"wp-image-89037\" width=\"768\" height=\"163\"\/><\/figure>\n\n\n\n<p style=\"font-size:25px\"><strong>Creaci\u00f3n de la demostraci\u00f3n, parte 1: IoT y AWS<\/strong><\/p>\n\n\n\n<p>Para simplificar la demostraci\u00f3n de datos de la vida real (y eliminar la necesidad de un cami\u00f3n f\u00edsico con sensores), decidimos crear un simulador de datos que luego usar\u00edamos para alimentar los datos en los servicios de AWS.<\/p>\n\n\n\n<p>Para manejar los datos de IoT en AWS, elegimos usar AWS Timestream, as\u00ed que ah\u00ed es donde comenzamos.&nbsp;Creamos una fuente de datos de Timestream que representaba los datos del sensor para la temperatura y la humedad.&nbsp;Tambi\u00e9n necesitar\u00edamos los datos del viaje y los datos de los dispositivos finales de IoT;&nbsp;las cerraduras y el compresor de respaldo.<\/p>\n\n\n\n<p>Los bloqueos son un valor booleano simple para almacenar, ya sea que est\u00e9n activados o no.&nbsp;El compresor de respaldo tambi\u00e9n es un valor booleano de encendido o apagado, pero se retroalimentar\u00eda al simulador para los datos de Timestream, por lo que los datos de temperatura tender\u00edan a bajar cuando se encendiera el compresor.<\/p>\n\n\n\n<p>Una caracter\u00edstica adicional de AWS que decidimos implementar fue el reconocimiento de im\u00e1genes.&nbsp;En el escenario que nos dieron, los camiones transportar\u00edan productos frescos, en este caso fruta, y deb\u00edan inspeccionarse en el momento de la entrega.&nbsp;Una vez que se complet\u00f3 la entrega y la persona que inspeccion\u00f3 los productos en el otro extremo tom\u00f3 una fotograf\u00eda, pudimos pasarla por AWS Rekognition y detectar si el producto es bueno o malo.<\/p>\n\n\n\n<p>Aqu\u00ed hay una breve descripci\u00f3n general de c\u00f3mo se cre\u00f3 cada uno de estos conjuntos de datos y funciones en AWS.<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>Configuraci\u00f3n de AWS IoT<\/strong><\/p>\n\n\n\n<p>Para recibir datos de los dispositivos, aprovechamos AWS IoT Core.&nbsp;Primero necesitamos&nbsp;configurar&nbsp;nuestros dispositivos, tambi\u00e9n conocidos en IoT como&nbsp;\u00abThings\u00bb&nbsp;.&nbsp;Configuramos una&nbsp;\u00abThing\u00bb&nbsp;para los datos de nuestro veh\u00edculo desde el cami\u00f3n y otra \u00abThing\u00bb para cada contenedor en el cami\u00f3n.&nbsp;Esto nos ayudar\u00e1 a rastrear el veh\u00edculo y monitorear el estado de los contenedores.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image1.jpg\" alt=\"\" class=\"wp-image-89038\" width=\"699\" height=\"727\"\/><\/figure>\n\n\n\n<p>Una vez que se configuran con las pol\u00edticas de seguridad correctas, autom\u00e1ticamente tenemos acceso a los mecanismos de publicaci\u00f3n y suscripci\u00f3n de MQTT utilizados para enviar y recibir datos.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image2.jpg\" alt=\"\" class=\"wp-image-89055\" width=\"698\" height=\"384\"\/><\/figure>\n\n\n\n<p>Por \u00faltimo, podemos configurar una regla en AWS IoT Core que almacenar\u00e1 los datos entrantes de nuestros veh\u00edculos y contenedores dentro de un TimestreamDB para su uso posterior.<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>Configuraci\u00f3n de la base de datos de Amazon Timestream<\/strong><\/p>\n\n\n\n<p>La base de datos de Amazon Timestream es f\u00e1cil de configurar.&nbsp;Creamos una base de datos llamada \u00ablogistics\u00bb y dentro de ella una tabla llamada \u00abcontainer\u00bb para contener los datos del sensor del contenedor y una tabla llamada \u00abconveyance\u00bb para recibir los datos del cami\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image3.jpg\" alt=\"\" class=\"wp-image-89054\" width=\"563\" height=\"317\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image4.jpg\" alt=\"\" class=\"wp-image-89058\" width=\"563\" height=\"280\"\/><\/figure>\n\n\n\n<p>Para que haya algunos datos hist\u00f3ricos disponibles en la base de datos de Amazon Timestream poco despu\u00e9s de que se inicie la aplicaci\u00f3n, la aplicaci\u00f3n inicializa \u00abthings\u00bb agregando un conjunto de registros generados aleatoriamente a la base de datos.&nbsp;Esto se hace mediante una acci\u00f3n java que interact\u00faa con el SDK de Java de AWS para acceder a la funci\u00f3n de escritura de registros de Timestream.<\/p>\n\n\n\n<p>Posteriormente, las reglas en AWS IoT Core agregan nuevos datos a las tablas de la base de datos.&nbsp;Las reglas toman los mensajes seleccionados que ha publicado el sensor\/simulador a trav\u00e9s de AWS IoT Core y los escribe en la tabla de base de datos especificada.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image5.jpg\" alt=\"\" class=\"wp-image-89053\" width=\"563\" height=\"344\"\/><\/figure>\n\n\n\n<p>Una vez que tuvimos la base de datos de AWS Timestream en funcionamiento, necesit\u00e1bamos crear algunos datos de viaje.<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>Generaci\u00f3n de datos de viaje<\/strong><\/p>\n\n\n\n<p>En un escenario real con seguimiento de viaje y dispositivo, nuestro dispositivo de cami\u00f3n normalmente tendr\u00eda un m\u00f3dulo GPS para enviar datos de ubicaci\u00f3n, rumbo y velocidad.&nbsp;Esto nos dar\u00eda los datos de latitud, longitud, MPH (o KPH) y aceleraci\u00f3n.<\/p>\n\n\n\n<p>Para nuestra simulaci\u00f3n del viaje, hicimos uso de algunas rutas de simulaci\u00f3n existentes que est\u00e1n disponibles para el p\u00fablico gracias a AWS.&nbsp;Tienen un gran conjunto de rutas est\u00e1ticas que tienen origen, destino y luego una serie de etapas o puntos que se encuentran entre ellos en un patr\u00f3n realista.&nbsp;Todo esto est\u00e1 en formato JSON y es f\u00e1cilmente digerible.<\/p>\n\n\n\n<p>Para la mayor\u00eda de los dem\u00e1s datos de los sensores, utilizamos algunas matem\u00e1ticas simples para generar valores aleatorios que caen dentro de nuestros umbrales, por ejemplo, la temperatura y la humedad.<\/p>\n\n\n\n<p>Habiendo generado los datos del viaje para poder simular el seguimiento del cami\u00f3n, necesit\u00e1bamos implementar las funciones de reconocimiento de im\u00e1genes y construir el conjunto de datos.<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>Reconocimiento AWS<\/strong><\/p>\n\n\n\n<p>Para simplificar el proceso de inspecci\u00f3n de la calidad de los productos (en nuestro caso, fruta), decidimos implementar alguna IA.&nbsp;AWS tiene una variedad de soluciones de inteligencia artificial y aprendizaje autom\u00e1tico dise\u00f1adas para varios tipos de escenarios.&nbsp;Para el reconocimiento de im\u00e1genes y videos, AWS proporciona AWS Rekognition.&nbsp;Rekognition proporciona una variedad de modelos de aprendizaje autom\u00e1tico preentrenados, adem\u00e1s de permitirle entrenar los suyos propios.&nbsp;Para nuestro caso de uso, quer\u00edamos permitirle al usuario tomar una foto de alguna fruta e inspeccionar su calidad.<\/p>\n\n\n\n<p>Primero, necesit\u00e1bamos entrenar nuestro modelo de reconocimiento para comprender c\u00f3mo se ven las frutas buenas y malas.&nbsp;Para construir un modelo efectivo, es importante que tenga un buen conjunto de datos.&nbsp;Cuantas m\u00e1s im\u00e1genes podamos proporcionar para entrenar el modelo, mejores resultados obtendremos.&nbsp;Afortunadamente para nosotros, hab\u00eda muchos conjuntos de datos abiertos gratuitos para ayudar a acelerar nuestro desarrollo.&nbsp;Encontramos este conjunto de datos que ten\u00eda miles de im\u00e1genes que representaban fruta podrida y fresca:<\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.kaggle.com\/datasets\/sriramr\/fruits-fresh-and-rotten-for-classification\n<\/div><\/figure>\n\n\n\n<p>Tomamos este conjunto de datos y lo subimos a AWS S3 para que AWS Rekognition pudiera usar estas im\u00e1genes para entrenarse y probarse a s\u00ed mismo.&nbsp;Crear un modelo para detectar etiquetas personalizadas es r\u00e1pido y f\u00e1cil de hacer.&nbsp;En 6 pasos puedes construir un modelo detectando etiquetas:<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image6-1.png\" alt=\"\" class=\"wp-image-89052\" width=\"563\" height=\"365\"\/><\/figure>\n\n\n\n<p>Al entrenar el conjunto de datos&nbsp;,&nbsp;&nbsp;AWS&nbsp;Rekognition&nbsp;puede etiquetar autom\u00e1ticamente sus im\u00e1genes en funci\u00f3n de los nombres de carpeta utilizados en S3 o puede agregar etiquetas manualmente.&nbsp;Debido al gran conjunto de datos, decidimos utilizar la asignaci\u00f3n autom\u00e1tica de etiquetas.&nbsp;Esto significa&nbsp;que al construir el conjunto de datos,&nbsp;no&nbsp;tuvimos que agregar manualmente etiquetas a cada imagen&nbsp;.&nbsp;Esto&nbsp; nos&nbsp;ahorr\u00f3&nbsp;mucho&nbsp;tiempo y esfuerzo.&nbsp;Al crear un conjunto de datos, es importante proporcionar un conjunto de datos de entrenamiento y un conjunto de datos de prueba.&nbsp;Esto permite que AWS&nbsp;Rekognition&nbsp;se entrene&nbsp;a&nbsp;s\u00ed mismo y&nbsp;luego pruebe&nbsp;qu\u00e9 tan preciso es el modelo que se cre\u00f3 usando el conjunto de entrenamiento.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image7.jpg\" alt=\"\" class=\"wp-image-89060\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image8.jpg\" alt=\"\" class=\"wp-image-89051\"\/><\/figure>\n\n\n\n<p>Una vez que el modelo se ha entrenado con los conjuntos de datos, lo que puede demorar alrededor de 30 minutos, se debe iniciar el modelo.&nbsp;Una vez entrenado y el modelo iniciado, est\u00e1 listo para aceptar solicitudes a trav\u00e9s de la API de AWS, cuyos detalles se pueden encontrar m\u00e1s adelante en esta publicaci\u00f3n, y detectar etiquetas en funci\u00f3n de una entrada de imagen.<\/p>\n\n\n\n<p style=\"font-size:25px\"><strong>Construyendo la demo parte 2: Mendix<\/strong><\/p>\n\n\n\n<p>Para comenzar la compilaci\u00f3n, trazamos algunos esquemas y flujos de procesos, y nuestro dise\u00f1ador de UX ide\u00f3 un dise\u00f1o de Figma para guiar la apariencia de la aplicaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image9.jpg\" alt=\"\" class=\"wp-image-89050\" width=\"705\" height=\"397\"\/><\/figure>\n\n\n\n<p>Ahora que sab\u00edamos m\u00e1s o menos c\u00f3mo se ver\u00eda eventualmente, pod\u00edamos comenzar a juntar las distintas piezas.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>integraciones<\/li><li>modelos de dominio<\/li><li>Aplicaciones<\/li><\/ul>\n\n\n\n<p>La compilaci\u00f3n comenz\u00f3 con las herramientas de administraci\u00f3n para respaldar el sistema y una forma de llenar previamente el sistema con datos.&nbsp;Creamos las entidades del modelo de dominio para almacenar la informaci\u00f3n que necesit\u00e1bamos para los camiones, sus contenedores, los conductores y las mercanc\u00edas que se transportar\u00edan.&nbsp;Luego, creamos rutinas para completar esto con datos de muestra para la demostraci\u00f3n y para facilitar que otras personas lo usen en el futuro.<\/p>\n\n\n\n<p>Luego, los camiones se vincularon a los datos del viaje y los contenedores se conectaron a la fuente de datos Timestream.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Integraci\u00f3n de Mendix con AWS Timestream<\/strong><\/td><\/tr><tr><td><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image10.jpg\" alt=\"\" height=\"402\" width=\"445\" srcset=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image10.jpg\"><\/td><td>Cuando la aplicaci\u00f3n Log\u00edstica necesita recuperar los datos hist\u00f3ricos de IoT de Timestream, esto se hace configurando una instrucci\u00f3n SELECT y ejecut\u00e1ndola a trav\u00e9s de la acci\u00f3n Java de consulta de Timestream.&nbsp;Esta es una acci\u00f3n de Java que se cre\u00f3 para usar el SDK de Java de AWS para ejecutar consultas en la base de datos de Timestream y devolver los resultados.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para respaldar la generaci\u00f3n de datos y verificar que todo funcionaba, creamos algunas p\u00e1ginas de administraci\u00f3n para obtener una vista previa, modificar y exportar los datos.&nbsp;La exportaci\u00f3n es particularmente \u00fatil ya que los archivos JSON que creamos podr\u00edan usarse como fuente de datos para el llenado previo dentro de la aplicaci\u00f3n de demostraci\u00f3n.<\/p>\n\n\n\n<p>A continuaci\u00f3n, presentamos en una p\u00e1gina de descripci\u00f3n general la informaci\u00f3n del cami\u00f3n y del conductor que hab\u00edamos creado.&nbsp;Esto le da al usuario de la oficina administrativa la oportunidad de elegir qu\u00e9 veh\u00edculo quiere ver.&nbsp;Solo se puso en marcha un veh\u00edculo para la demostraci\u00f3n, pero si hubiera habido varios, habr\u00eda sido f\u00e1cil elegir.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image11.jpg\" alt=\"\" class=\"wp-image-89048\" width=\"705\" height=\"253\"\/><\/figure>\n\n\n\n<p>Hacer clic en un cami\u00f3n le brinda una vista de los detalles y el estado actual de ese cami\u00f3n.&nbsp;Aqu\u00ed es donde entra la informaci\u00f3n simulada. Trabajando de arriba hacia abajo comenzamos con el selector de contenedores, ya que cada cami\u00f3n en nuestro sistema tiene dos contenedores, y esto controla la vista de los monitores en la secci\u00f3n a continuaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image12.jpg\" alt=\"\" class=\"wp-image-89046\" width=\"201\" height=\"125\"\/><\/figure>\n\n\n\n<p>El mapa en la parte superior derecha vino despu\u00e9s.&nbsp;El widget predeterminado de Mendix es perfecto para mostrar ubicaciones, pero en ese momento no ten\u00eda una opci\u00f3n integrada para dibujar la l\u00ednea de la ruta o mostrar f\u00e1cilmente el cami\u00f3n en movimiento.&nbsp;Una exploraci\u00f3n r\u00e1pida en el mercado tampoco arroj\u00f3 nada que hiciera lo que quer\u00edamos, por lo que creamos nuestro propio&nbsp;<a href=\"https:\/\/docs.mendix.com\/howto\/extensibility\/pluggable-widgets\/\">widget conectable<\/a>&nbsp;usando React y JavaScript.&nbsp;Este nuevo widget muestra la l\u00ednea de ruta, el cami\u00f3n movi\u00e9ndose a lo largo de la l\u00ednea y la direcci\u00f3n en la que se dirige.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image13-1.png\" alt=\"\" class=\"wp-image-89062\" width=\"704\" height=\"298\"\/><\/figure>\n\n\n\n<p>La secci\u00f3n inferior muestra actualizaciones de la temperatura y la humedad dentro del contenedor seleccionado y los productos que est\u00e1n transportando.&nbsp;Adem\u00e1s, los conmutadores para el compresor de respaldo y las cerraduras.&nbsp;Todo esto necesitaba conectarse a nuestros datos de Timestream.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image14.jpg\" alt=\"\" class=\"wp-image-89064\" width=\"547\" height=\"308\"\/><\/figure>\n\n\n\n<p>Luego, los datos se actualizan peri\u00f3dicamente para proporcionar informaci\u00f3n actualizada.&nbsp;Cualquier alerta desencadenada por el umbral de incumplimiento de la temperatura o la humedad se pasa al cliente a trav\u00e9s de un socket web para una actualizaci\u00f3n casi instant\u00e1nea.&nbsp;Ampliamos esta funci\u00f3n con Amazon SNS para ofrecer tambi\u00e9n notificaciones por SMS y correo electr\u00f3nico.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image15.jpg\" alt=\"\" class=\"wp-image-89070\" width=\"541\" height=\"146\"\/><\/figure>\n\n\n\n<p>Todas las acciones se registran y presentan en una l\u00ednea de tiempo que muestra los eventos clave en el viaje del cami\u00f3n, desde alertas hasta cuando las puertas est\u00e1n bloqueadas y desbloqueadas.&nbsp;Todos los datos del sensor tambi\u00e9n se presentan en una vista detallada.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image16.jpg\" alt=\"\" class=\"wp-image-89047\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image17.jpg\" alt=\"\" class=\"wp-image-89066\" width=\"407\" height=\"334\"\/><\/figure>\n\n\n\n<p>La pieza final del rompecabezas es la aplicaci\u00f3n m\u00f3vil para usuarios de campo.&nbsp;Para esta demostraci\u00f3n, decidimos utilizar una aplicaci\u00f3n web receptiva, en lugar de un dispositivo m\u00f3vil nativo, por lo que gran parte del dise\u00f1o se pod\u00eda reutilizar entre el sistema administrativo y la versi\u00f3n m\u00f3vil.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"512\" src=\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Sin-titulo-2.png\" alt=\"\" class=\"wp-image-10819\" srcset=\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Sin-titulo-2.png 512w, https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Sin-titulo-2-300x300.png 300w, https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Sin-titulo-2-150x150.png 150w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<p>Lo \u00faltimo que se implement\u00f3 fue el formulario de inspecci\u00f3n y la API de Rekognition.&nbsp;El formulario es bastante simple;&nbsp;una imagen de la mercanc\u00eda, la fecha de llegada y alguna valoraci\u00f3n de su estado.&nbsp;Una vez que se toma la foto, se env\u00eda a la API de Rekognition, que entrenamos para reconocer manzanas buenas y malas en funci\u00f3n de una gran muestra de im\u00e1genes.&nbsp;Devuelve una evaluaci\u00f3n de calidad de buena o mala y la confianza que tiene en el resultado.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image20.jpg\" alt=\"\" class=\"wp-image-89068\" width=\"210\" height=\"427\"\/><\/figure>\n\n\n\n<p style=\"font-size:25px\"><strong>Integraci\u00f3n de Mendix con AWS Rekognition<\/strong><\/p>\n\n\n\n<p>Es f\u00e1cil integrar Mendix con AWS Rekognition.&nbsp;AWS a menudo ofrece varias formas de integraci\u00f3n en su plataforma.&nbsp;Puede utilizar el SDK en el idioma que prefiera o elegir utilizar la API subyacente.&nbsp;Con Mendix ten\u00edamos dos opciones: usar el SDK de Java de AWS o integrarlo a las API usando las acciones de Mendix REST Microflow.&nbsp;Elegimos seguir la ruta REST, para minimizar nuestras dependencias de Java y usar la mayor cantidad posible de Mendix nativo (Mendix es, con mucho, la ruta m\u00e1s simple y r\u00e1pida, ya que la integraci\u00f3n con una API REST es un proceso sencillo en lugar de la integraci\u00f3n con un SDK con que no conocemos).<\/p>\n\n\n\n<p>Primero nos enfocamos en implementar la actividad principal, que era detectar las etiquetas personalizadas.&nbsp;Usando esta API, pudimos construir el mapeo en Mendix: <a href=\"https:\/\/docs.aws.amazon.com\/rekognition\/latest\/APIReference\/API_DetectCustomLabels.html\">https:\/\/docs.aws.amazon.com\/rekognition\/latest\/APIReference\/API_DetectCustomLabels.html<\/a><\/p>\n\n\n\n<p>Primero, construimos un fragmento JSON para la respuesta y un mapeo de importaci\u00f3n para procesar la respuesta.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image21.jpg\" alt=\"\" class=\"wp-image-89044\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image22.jpg\" alt=\"\" class=\"wp-image-89043\"\/><\/figure>\n\n\n\n<p>A continuaci\u00f3n, necesit\u00e1bamos una forma de enviar la imagen a AWS en un atributo de \u00abBytes\u00bb como una cadena codificada en Base64.&nbsp;Para hacer esto, creamos una definici\u00f3n de mensaje para Mendix System.Image, seleccionamos el atributo Contenidos y cambiamos el nombre externo a: \u00abBytes\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image23.jpg\" alt=\"\" class=\"wp-image-89072\"\/><\/figure>\n\n\n\n<p>Luego usamos un mapeo de exportaci\u00f3n y la definici\u00f3n de mensaje anterior, lo que nos permiti\u00f3 convertir la imagen al formato JSON correcto.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image24.jpg\" alt=\"\" class=\"wp-image-89042\"\/><\/figure>\n\n\n\n<p>Finalmente, se requiere una llamada de Microflow para enviar la imagen al reconocimiento de AWS y devolver las etiquetas detectadas por el Modelo de aprendizaje autom\u00e1tico.&nbsp;Dentro de esta llamada de microflujo tenemos una serie de par\u00e1metros requeridos por AWS Rekognition.&nbsp;Primero, Microflow exporta la imagen a una cadena de objetos JSON con un atributo llamado \u00abBytes\u00bb.&nbsp;Esto luego se usa junto con los otros par\u00e1metros dentro de la carga \u00fatil para la acci\u00f3n REST.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image25.jpg\" alt=\"\" class=\"wp-image-89041\"\/><\/figure>\n\n\n\n<p>Dentro de la acci\u00f3n REST definimos la ubicaci\u00f3n usando la regi\u00f3n de AWS pasada en el par\u00e1metro.&nbsp;Agregue encabezados HTTP requeridos por la API.&nbsp;Agregue la carga \u00fatil de solicitud necesaria y la asignaci\u00f3n de respuesta.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image26.jpg\" alt=\"\" class=\"wp-image-89040\"\/><\/figure>\n\n\n\n<p>La \u00faltima pieza de magia que construimos para nuestro demostrador es un poco m\u00e1s t\u00e9cnica. Las API de AWS requieren que cada llamada a la API se firme mediante un proceso llamado Sig4.&nbsp;Utiliza AccessKey y SecretKey para firmar la solicitud HTTP antes de enviarla para garantizar que sea aut\u00e9ntica.&nbsp;En el microflujo posterior al inicio, agregamos una acci\u00f3n de Java para interceptar todas las llamadas a AWS Rekognition y agregar los encabezados Sig4 adicionales requeridos antes de enviar.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.mendix.com\/wp-content\/uploads\/Image27.jpg\" alt=\"\" class=\"wp-image-89039\"\/><\/figure>\n\n\n\n<p>Toda la integraci\u00f3n con AWS Rekognition y Sig4 Interceptor estar\u00e1 disponible en Mendix Marketplace.&nbsp;<\/p>\n\n\n\n<p>Escr\u00edbenos para mayor informaci\u00f3n de Mendix.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f10662-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"10662\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/10689#wpcf7-f10662-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"10662\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f10662-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><label> Nombre completo<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n<\/p>\n<p><label> Correo electr\u00f3nico corporativo<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n<\/p>\n<p><label>Selecci\u00f3n de Puesto<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"menu-836\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" id=\"Puesto\" aria-required=\"true\" aria-invalid=\"false\" name=\"menu-836\"><option value=\"\">&#8212;Por favor, elige una opci\u00f3n&#8212;<\/option><option value=\"Director\">Director<\/option><option value=\"Subdirector\">Subdirector<\/option><option value=\"Gerente\">Gerente<\/option><option value=\"Otros\">Otros<\/option><\/select><\/span> <\/label>\n<\/p>\n<p><label>Selecci\u00f3n de \u00c1rea<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"menu-87\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" id=\"Area\" aria-required=\"true\" aria-invalid=\"false\" name=\"menu-87\"><option value=\"\">&#8212;Por favor, elige una opci\u00f3n&#8212;<\/option><option value=\"Direcci\u00f3n General\">Direcci\u00f3n General<\/option><option value=\"Sistemas\">Sistemas<\/option><option value=\"Innovaci\u00f3n\">Innovaci\u00f3n<\/option><option value=\"Transformaci\u00f3n Digital\">Transformaci\u00f3n Digital<\/option><option value=\"Desarrollo de Software\">Desarrollo de Software<\/option><option value=\"Marketing\">Marketing<\/option><option value=\"Finanzas\">Finanzas<\/option><option value=\"Recursos Humanos\">Recursos Humanos<\/option><option value=\"Innovaci\u00f3n\">Innovaci\u00f3n<\/option><option value=\"Operaciones\">Operaciones<\/option><option value=\"Log\u00edstica\">Log\u00edstica<\/option><option value=\"Otros\">Otros<\/option><\/select><\/span> <\/label>\n<\/p>\n<p><label> Empresa<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"text-591\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"text-591\" \/><\/span><\/label>\n<\/p>\n<p><label> Tel\u00e9fono<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"tel-496\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"tel-496\" \/><\/span><\/label>\n<\/p>\n<p><label> Comentarios<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"textarea-894\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"textarea-894\"><\/textarea><\/span><br \/>\n<button class=\"wpcf7-form-control wpcf7-submit qodef-button qodef-size--normal qodef-layout--outlined qodef-m\" type=\"submit\"><span class=\"qodef-m-text\">Enviar<\/span><\/button><\/label>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mendix y AWS han estado trabajando juntos para crear una variedad de modelos y plantillas.&nbsp;Quer\u00edamos mostrar c\u00f3mo estas grandes plataformas pueden trabajar juntas, como nuestros aceleradores de&nbsp;servicios financieros&nbsp;y&nbsp;seguros.&nbsp;Una de las cosas que queremos demostrarle es la integraci\u00f3n entre Mendix y AWS.&nbsp;Este art\u00edculo describe la demostraci\u00f3n que hemos construido y c\u00f3mo lo hicimos. Esta publicaci\u00f3n est\u00e1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10824,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[148,108,85],"tags":[],"class_list":["post-10689","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-desarrollo-de-aplicaciones","category-mendix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG\" \/>\n<meta property=\"og:description\" content=\"Mendix y AWS han estado trabajando juntos para crear una variedad de modelos y plantillas.&nbsp;Quer\u00edamos mostrar c\u00f3mo estas grandes plataformas pueden trabajar juntas, como nuestros aceleradores de&nbsp;servicios financieros&nbsp;y&nbsp;seguros.&nbsp;Una de las cosas que queremos demostrarle es la integraci\u00f3n entre Mendix y AWS.&nbsp;Este art\u00edculo describe la demostraci\u00f3n que hemos construido y c\u00f3mo lo hicimos. Esta publicaci\u00f3n est\u00e1 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\" \/>\n<meta property=\"og:site_name\" content=\"BIS SOLUCIONES BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-05T19:35:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-07T01:49:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1624\" \/>\n\t<meta property=\"og:image:height\" content=\"908\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4\"},\"headline\":\"Mendix, AWS y el Internet de las cosas\",\"datePublished\":\"2022-09-05T19:35:12+00:00\",\"dateModified\":\"2022-09-07T01:49:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\"},\"wordCount\":2818,\"publisher\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg\",\"articleSection\":[\"AWS\",\"Desarrollo de Aplicaciones\",\"Mendix\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\",\"url\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\",\"name\":\"Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg\",\"datePublished\":\"2022-09-05T19:35:12+00:00\",\"dateModified\":\"2022-09-07T01:49:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage\",\"url\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg\",\"contentUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg\",\"width\":1624,\"height\":908},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/bissoluciones.com\/blog\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mendix, AWS y el Internet de las cosas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#website\",\"url\":\"https:\/\/bissoluciones.com\/blog\/en\/\",\"name\":\"BIS SOLUCIONES BLOG\",\"description\":\"Blog de Tecnolog\u00eda\",\"publisher\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bissoluciones.com\/blog\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#organization\",\"name\":\"BIS SOLUCIONES BLOG\",\"url\":\"https:\/\/bissoluciones.com\/blog\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png\",\"contentUrl\":\"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png\",\"width\":126,\"height\":42,\"caption\":\"BIS SOLUCIONES BLOG\"},\"image\":{\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/bissoluciones.com\/blog\"],\"url\":\"https:\/\/bissoluciones.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/","og_locale":"es_ES","og_type":"article","og_title":"Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG","og_description":"Mendix y AWS han estado trabajando juntos para crear una variedad de modelos y plantillas.&nbsp;Quer\u00edamos mostrar c\u00f3mo estas grandes plataformas pueden trabajar juntas, como nuestros aceleradores de&nbsp;servicios financieros&nbsp;y&nbsp;seguros.&nbsp;Una de las cosas que queremos demostrarle es la integraci\u00f3n entre Mendix y AWS.&nbsp;Este art\u00edculo describe la demostraci\u00f3n que hemos construido y c\u00f3mo lo hicimos. Esta publicaci\u00f3n est\u00e1 [&hellip;]","og_url":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/","og_site_name":"BIS SOLUCIONES BLOG","article_published_time":"2022-09-05T19:35:12+00:00","article_modified_time":"2022-09-07T01:49:32+00:00","og_image":[{"width":1624,"height":908,"url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#article","isPartOf":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/"},"author":{"name":"admin","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4"},"headline":"Mendix, AWS y el Internet de las cosas","datePublished":"2022-09-05T19:35:12+00:00","dateModified":"2022-09-07T01:49:32+00:00","mainEntityOfPage":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/"},"wordCount":2818,"publisher":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage"},"thumbnailUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg","articleSection":["AWS","Desarrollo de Aplicaciones","Mendix"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/","url":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/","name":"Mendix, AWS y el Internet de las cosas - BIS SOLUCIONES BLOG","isPartOf":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage"},"thumbnailUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg","datePublished":"2022-09-05T19:35:12+00:00","dateModified":"2022-09-07T01:49:32+00:00","breadcrumb":{"@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#primaryimage","url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg","contentUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/09\/Blog-Thumbnail_MX-AWS-IOT-1-1.jpg","width":1624,"height":908},{"@type":"BreadcrumbList","@id":"https:\/\/bissoluciones.com\/blog\/mendix-aws-y-el-internet-de-las-cosas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/bissoluciones.com\/blog\/en\/"},{"@type":"ListItem","position":2,"name":"Mendix, AWS y el Internet de las cosas"}]},{"@type":"WebSite","@id":"https:\/\/bissoluciones.com\/blog\/en\/#website","url":"https:\/\/bissoluciones.com\/blog\/en\/","name":"BIS SOLUCIONES BLOG","description":"Blog de Tecnolog\u00eda","publisher":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bissoluciones.com\/blog\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/bissoluciones.com\/blog\/en\/#organization","name":"BIS SOLUCIONES BLOG","url":"https:\/\/bissoluciones.com\/blog\/en\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/","url":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png","contentUrl":"https:\/\/bissoluciones.com\/blog\/wp-content\/uploads\/2022\/03\/cropped-b1.png","width":126,"height":42,"caption":"BIS SOLUCIONES BLOG"},"image":{"@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/bissoluciones.com\/blog\/en\/#\/schema\/person\/1b4490a1f8c658698183a0d808368ac4","name":"admin","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7268cb1ce11868b3875eb342228c3a5c8c9239ac6a9257d8c5b0de13304de95e?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/bissoluciones.com\/blog"],"url":"https:\/\/bissoluciones.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/posts\/10689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/comments?post=10689"}],"version-history":[{"count":6,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/posts\/10689\/revisions"}],"predecessor-version":[{"id":10825,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/posts\/10689\/revisions\/10825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/media\/10824"}],"wp:attachment":[{"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/media?parent=10689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/categories?post=10689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bissoluciones.com\/blog\/wp-json\/wp\/v2\/tags?post=10689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}