Tutorial de Angular

Este tutorial muestra cómo se puede implementar la siguiente aplicación de libro de visitas: Se necesitan las siguientes aplicaciones: Node.js npm Angular CLI Bootstrap Instalación de Angular CLI npm install -g @angular/cli Generar nuevo proyecto (libro de visitas) ng new guestbook Instalación de la biblioteca Bootstrap vía gestor de paquetes ’npm’: npm install –save bootstrap Iniciar servidor de desarrollo para probar la aplicación: ng serve La aplicación está posteriormente disponible en la siguiente dirección: http://localhost:4200/ ...

Tutorial de MongoDB

MongoDB (derivado del inglés humongous, „gigantesco“) es una base de datos NoSQL orientada a documentos escrita en el lenguaje de programación C++. Al ser orientada a documentos, puede gestionar colecciones de documentos similares a JSON. De este modo, muchas aplicaciones pueden modelar datos de forma más natural, ya que los datos pueden anidarse en jerarquías complejas, pero siguen siendo consultables e indexables. [Wikipedia] Con el siguiente comando se puede iniciar el servidor de MongoDB. Sin embargo, primero debe crearse la siguiente carpeta: C:\data\db. Aquí se almacenan los datos de la BD. mongod ...

Proceso OAuth 2.0 (alto nivel)

La primera imagen muestra cómo un usuario con su dispositivo, a través de una aplicación móvil (por ejemplo, un cliente de correo electrónico) de una empresa desconocida, desea consultar los correos electrónicos (Resources) de, por ejemplo, un servidor de Google (Resource Server). Para llevar a cabo la operación, el usuario debe introducir dentro de la aplicación móvil sus credenciales de Google. Sin embargo, todo esto conlleva ciertos riesgos, ya que a) el cliente de correo electrónico puede guardar la contraseña y b) la aplicación puede usar la contraseña para, por ejemplo, acceder a otros servicios de Google. ...

Tutorial de JMeter - Parte 1

Descargar JMeter Iniciar JMeter: C:\apache-jmeter-5.1.1\bin\ApacheJMeter.jar Grabador de Script de Prueba HTTP(S) Para probar el rendimiento de un sitio web con JMeter, primero debemos grabar el flujo de trabajo (petición/respuesta). La grabación del flujo de trabajo en una conexión HTTPS se realiza de la siguiente manera: JMeter ofrece un servidor proxy que, en la configuración predeterminada, escucha en el puerto 8888. Como no nos interesan las imágenes, archivos CSS, etc., los excluimos: ...

Alexa Skill & AWS Lambda & paquetes npm & Cumulocity

El siguiente ejemplo muestra la creación de una aplicación sencilla de Alexa (Skill) con ayuda de ‘Alexa Developer Console’ y ‘AWS Lambda’. Consola de Desarrollador de Alexa La ‘Alexa Developer Console’ nos ayuda a crear el denominado ‘Interaction Model’. Este modelo sirve para describir la aplicación deseada y definir las frases y parámetros a los que Alexa debería responder más adelante. La programación de la lógica NO se realiza en la Developer Console, sino en AWS Lambda. ...

IBM Cloud & Node-RED

Objetivo Configuración del editor de Node-RED dentro de IBM Cloud El envío de mensajes vía MQTT a un nodo MQTT de Node-RED Puedes solicitar acceso a IBM Cloud en la siguiente URL: IBM Cloud A continuación puedes crear aquí un nuevo ‘recurso’. Dentro del catálogo se nos ofrecen diversos recursos en la nube (aplicaciones). Seleccionamos Node-RED. Esta aplicación nos proporciona el editor de Node-RED dentro de IBM Cloud. ...

MQTT + Plataforma IoT Cumulocity

Resumen de MQTT [Fuente: Wikipedia] MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería abierto para la comunicación máquina a máquina (M2M) que permite la transmisión de datos de telemetría en forma de mensajes entre dispositivos, p.ej. sensores. La Internet Assigned Numbers Authority (IANA) reserva para MQTT los puertos 1883 y 8883. Los mensajes MQTT se pueden cifrar con el protocolo TLS. La especificación MQTT distingue entre redes basadas en TCP/IP y no TCP/IP. MQTT es un protocolo cliente-servidor. Los clientes envían al servidor (“Broker”) tras establecer la conexión mensajes con un topic, que clasifica el mensaje jerárquicamente; por ejemplo Cocina/Nevera/Temperatura o Coche/Rueda/3/Presión. Los clientes pueden suscribir estos topics, y el servidor reenvía los mensajes recibidos a los suscriptores correspondientes. ...

Ejemplo de TestCafé

Descargar Enlace Configuración del entorno Ejemplo 1: Ejemplo 2: Uso de un page object Login se ha externalizado en un page object: npm run test:firefox -c 8 ejecuta la prueba en paralelo en 8 instancias de Firefox.

Descripción de Dispositivo IO-Link (alto nivel)

Bajo la marca IO-Link existe un sistema de comunicación para conectar sensores inteligentes y actuadores a un sistema de automatización normalizado según la norma IEC 61131-9 bajo la designación Single-drop digital communication interface for small sensors and actuators (SDCI). La estandarización abarca tanto los datos de conexión eléctrica como un protocolo de comunicación digital mediante el cual los sensores y actuadores intercambian datos con el sistema de automatización. Un sistema IO-Link consta de un maestro IO-Link y uno o varios dispositivos IO-Link, es decir, sensores o actuadores. El maestro IO-Link proporciona la interfaz con el sistema de control superior (SPS) y gestiona la comunicación con los dispositivos IO-Link conectados. ...

Modbus: Resumen de la especificación (alto nivel)

El protocolo Modbus es un protocolo de comunicación que se basa en una arquitectura Maestro/Esclavo o Cliente/Servidor. Fue creado en 1979 por Gould-Modicon para la comunicación con sus controladores lógicos programables. En la industria, Modbus se ha convertido en un estándar de facto, ya que es un protocolo abierto. Desde 2007, la versión Modbus TCP forma parte de la norma IEC 61158. [Wikipedia] Como muestra el siguiente diagrama, Modbus permite la comunicación a través de diferentes redes: ...

E.D.D.I - Instalación de la plataforma de chatbot de código abierto

Instalación E.D.D.I se puede instalar tanto desde el código fuente como en un contenedor Docker. Procederé a realizar la instalación desde las fuentes. Primero debemos instalar las siguientes aplicaciones: Java SDK en la versión 8 git Maven MongoDB Community Server Establecer variables de entorno para Java y Maven: Establecer rutas para Java, Maven y MongoDB: Probar rutas: Descargar fuentes vía git: cd <carpeta_destino> git clone https://github.com/labsai/EDDI.git Construir la aplicación con Maven: ...

CoAP: Resumen de la especificación (alto nivel)

Constrained Application Protocol (CoAP) CoAP es un protocolo de aplicaciones de Internet, especificado en la RFC 7252. El protocolo sirve para la comunicación de dispositivos ’nodos’ p. ej. dispositivos embebidos que consumen poca energía (low-power) y operan en redes con pérdida de datos (lossy networks), p. ej. IPv6 sobre Low-Power Wireless Personal Area Networks (6LoWPANs). CoAP también puede utilizarse en redes basadas en Internet para comunicación móvil vía SMS. CoAP se emplea principalmente en el contexto de Internet de las Cosas (IoT) y Machine-to-Machine (M2M), ya que normalmente se transfieren datos de dispositivos/sensores de pequeño tamaño. Dado que este tipo de datos se transmite en intervalos regulares (ciclos), paquetes individuales (perdidos) no afectan significativamente a los sistemas o aplicaciones de procesamiento, como plataformas IoT que procesan y/o representan gráficamente datos de sensores (temperatura, número de revoluciones, etc.). ...

Tutorial de Wireshark

Wireshark es un programa libre para el análisis y la presentación gráfica de protocolos de datos (Sniffer). Tales protocolos de datos son utilizados por ordenadores en diversos medios de comunicación como la red local o USB. La captura de la comunicación puede ser útil al buscar errores o al evaluar el contenido de la comunicación. Wireshark muestra en una captura tanto las cabeceras de los protocolos como el contenido transportado. El programa se apoya en la salida de pequeños subprogramas como pcap o usbpcap para grabar el contenido de la comunicación en el medio de transmisión correspondiente. [wikipedia] ...

MQTT: Resumen de la especificación (de alto nivel)

MQTT (Message Queue Telemetry Transport) es un protocolo de mensajería abierto para la comunicación máquina a máquina (M2M), que permite la transmisión de datos de telemetría en forma de mensajes entre dispositivos, a pesar de altas demoras o redes con recursos limitados. Los dispositivos correspondientes abarcan desde sensores y actuadores, teléfonos móviles, sistemas embebidos en vehículos o portátiles hasta ordenadores completamente desarrollados. [Wikipedia] La información que se presenta a continuación sobre la especificación proviene, entre otros, de la especificación MQTT actual de IBM. ...

Definición de API con ayuda de Swagger y YAML

Instalación de Swagger: npm install -g swagger Creación del proyecto: swagger project create <project_name> Iniciar proyecto: swagger project start Editar proyecto: swagger project edit La notación se define dentro de la OpenAPI Specification. Representación visual de la especificación de Arnaud Lauret: Link Definición de la API (fragmento): Descargar swagger.yaml Verificar código YAML: swagger project verify Incluir archivo mock En la carpeta del proyecto bajo el directorio ‘mocks’ crear un nuevo archivo mock p.ej. getAllEntries.js . ...

Conceptos de Spring Cloud Netflix

¿Qué es Spring? El Spring Framework (abreviado Spring) es un framework de código abierto para la plataforma Java. El objetivo de Spring es simplificar el desarrollo con Java/Java EE y promover buenas prácticas de programación. Spring ofrece, con un amplio espectro de funcionalidades, una solución integral para el desarrollo de aplicaciones y sus lógicas de negocio; en ello, la desacoplo de los componentes de la aplicación ocupa un lugar central. [wikipedia] ...

Ejemplo de microservicio con Spring Boot y Netflix (Zuul y Eureka)

La aplicación: Se crearon los siguientes microservicios: microservice-frontend microservice-backend microservice-proxy-zuul microservice-discovery-eureka Descargar: Microservicios Salida de Eureka:

BPMN 2.0: Chuleta para la notación básica

Ya que no modelo todos los días, este diagrama BPMN, con su notación deliberadamente sencilla, me sirve como un recordatorio eficiente de los conceptos básicos más importantes.

DTLS (TCP vs. UDP)

Transport Layer Security (TLS) conocido como Secure Sockets Layer (SSL) es un protocolo de cifrado (basado en x.509) para la transmisión segura de datos. Datagram Transport Layer Security (DTLS) se basa en TLS y utiliza UDP en lugar de TCP. La diferencia entre TLS y DTLS equivale a la diferencia entre TCP y UDP. TLS necesita, entre otras cosas, la fiabilidad de los datos para el descifrado. Si, por ejemplo, los paquetes de datos llegan en un orden incorrecto, TLS no podrá realizar ninguna verificación de integridad, ya que ésta incluye el número de secuencia de los paquetes, es decir, tras el paquete N se espera el paquete N+1. ...

Ansible: Provisionamiento de VM con Vagrant

// Ansible se utiliza para la configuración o provisión // de la siguiente infraestructura de VM Vagrant // Instalación desde “Archivo de paquetes personales (PPA)” sudo -s apt-get install software-properties-common apt-add-repository ppa:ansible/ansible apt-get update apt-get install ansible // Verificación ansible –version ansible-playbook –version ansible-galaxy –help // Creación de un archivo ‘hosts’ o ‘inventory’ propio // para la configuración del entorno ‘dev’ cd ~ mkdir ansible cd ansible vi dev ...