El camino hacia la integración: Parte 2 – Desarrollo de aplicaciones con IOTA

1360

Si has leído nuestro artículo anterior, ahora entiendes cómo la tecnología IOTA puede adaptarse a tus necesidades y qué bloques de construcción IOTA están disponibles para ti.

El siguiente paso es construir tu solución potenciada por IOTA.

Recuerda que siempre estaremos encantados de ayudarte si necesitas ayuda con la integración técnica de la tecnología IOTA. Esto podría ser tan simple como explicar cómo utilizar las APIs existentes para desplegar su propio nodo o Tangle privada, así como la integración de IOTA en el stack de su empresa y el ecosistema de aplicaciones.

Debería evaluar cuidadosamente la integración de esos diseños si su solución está redactada para proporcionar integridad de datos, acuerdos contractuales entre máquinas y pagos por datos y servicios.

Sin embargo, en el caso de que esté diseñando algo completamente novedoso, podría considerar dar un paso atrás y comenzar con un taller de ideación o innovación para obtener una mejor comprensión de su situación actual. La consultoría estratégica a través de la Fundación IOTA (IF) o de socios integradores es siempre una opción para apoyar y acelerar el desarrollo y la implementación de nuevos modelos de negocio digitales.

La siguiente figura muestra la metodología de nuestro proceso de innovación.

Para este artículo (y como continuación natural de su parte 1), asumimos que este proceso de innovación ya se ha completado y que se entiende el valor de su solución.

Una vez hecho esto, puede comenzar la fase de desarrollo e integración de la solución (parte derecha de la figura anterior).

Desarrollo de la solución

Veamos cómo será el desarrollo de una solución con IOTA.

Hemos agrupado las diferentes etapas de desarrollo de soluciones en tres categorías:

  • Prototipos y Prueba de Concepto (fase PoC): aquí el objetivo es desarrollar un componente de software independiente construido en la devnet de IOTA o en una Tangle privada. Esta PoC o Prueba de Concepto, implementará la lógica de negocio de la solución y se integrará con la red IOTA pero proporcionará funcionalidades UX/UI limitadas.
  • Producto Mínimo Viable y Pruebas en el Mundo Real (fase MVP): aquí creamos componentes de software más refinados, totalmente integrados con sus sistemas existentes y bien probados para trabajar en la red IOTA. También se desarrollan características más avanzadas de UI y UX.
  • Lanzamiento del producto y escalado de la solución (fase de escalado):aquí desarrollamos una solución lista para la producción totalmente funcional, con características avanzadas de UI/UX y recursos dedicados en la red IOTA, por ejemplo, una Tangle Privada basada en el consorcio o un IRI IOTA dedicado y permanodes de chronicle

La figura siguiente resume las diferentes fases y las redes IOTA recomendadas.


Cada una de las fases anteriores suele desarrollarse en un entorno dedicado, para facilitar el despliegue de soluciones prototipo, mejorar el control durante la fase de pruebas o tener en cuenta otras políticas de desarrollo corporativo.

Configuración de la infraestructura

Dependiendo de su selección en el tipo de Tangle, el primer paso es configurar la infraestructura necesaria. Una recomendación común es pasar de un desarrollo privado inicial en una Tangle privada de un solo nodo a una prueba de producción privada en un Tangle privado de varios nodos, cuando se trabaja con varias partes. O desde la devnet pública hacia la solución final lista para la producción que se ejecuta en la mainnet de IOTA.

El siguiente gráfico muestra la infraestructura subyacente de cada Tangle:

Con esto claro, veamos cómo es un viaje de desarrollo e integración.

La fase PoC: Sé ágil, ¡construye primero una PoC!

Durante esta fase, empezamos a discutir/revisar tu idea. A menudo, antes de empezar a compartir ideas, firmamos un acuerdo de confidencialidad bilateral.

A continuación, tenemos que derivar los requisitos técnicos para diseñar la arquitectura de su solución. Un analista técnico de IF puede ayudarle en esta fase.

Normalmente, identificamos dos posibles modelos de integración:

1) Integrar IOTA directamente a nivel de dispositivo, cuando un dispositivo que ejecuta un cliente IOTA puede emitir directamente transacciones a un nodo IOTA e interactuar con la red. IOTA ya está disponible en muchos dispositivos, como el X-CUBE-IOTA1, el ESP32, el módulo seguro Riddle & Code y otros

2) Integrar IOTA como parte de su solución en la nube existente, cuando desarrollamos un servidor proxy que se ocupa de las solicitudes de los dispositivos para generar transacciones IOTA y enviarlas a la red IOTA. EVRYTHNG, IBCS, Primority y muchos otros han optado por este tipo de integración, ya que se vincula de forma nativa a la infraestructura ya existente y los mejora con las características de inmutabilidad y seguridad de IOTA.

Hay diferentes casos de uso para cada opción. Los componentes técnicos y las competencias necesarias también varían entre las dos opciones. Una arquitectura bien especificada nos ayuda a tomar la decisión correcta y a identificar los recursos adecuados para asignar a su proyecto.

Una vez confirmada la arquitectura general y los recursos, comienza la fase de desarrollo. Se puede ofrecer una formación guiada o de autoaprendizaje para desarrolladores de su equipo. La formación proporciona una visión general de las diferentes herramientas de software (por ejemplo, bibliotecas de clientes, bibliotecas MAM, proxy PoW, etc.) que se utilizarán en su proyecto y permite a los desarrolladores trabajar de forma autónoma durante las fases de diseño y desarrollo de la solución de software.

Nuestro manual para desarrolladores y el portal de documentación son los mejores puntos de partida para navegar por estos recursos. Una vez adquiridos los conocimientos técnicos, considere la posibilidad de demostrar sus nuevas habilidades mediante la obtención de la Certificación de Desarrollador IOTA.

En estrecha colaboración con la Academia IOT1, una academia de tecnología profunda situada en Berlín y Shanghai, hemos desarrollado una formación IOTA específica para empresas. Todos los cursos vienen con experiencia práctica y un enfoque práctico que integra muchos casos de uso. Esta formación está disponible para su compra en https://training.iota.org.

Una vez formados adecuadamente, su equipo será capaz de llevar a cabo el trabajo de implementación requerido para el desarrollo de la PoC, con el apoyo limitado de los desarrolladores de IF. El apoyo a través de un canal conjunto o dedicado de Slack está disponible a través de la Fundación IOTA cuando se necesita apoyo.

En caso de que se vea una demanda en cuanto a la participación directa de los desarrolladores de la FI como parte de su proyecto, por lo general, nuestro objetivo es crear un documento de iniciación de la PdC adecuado que identifique claramente cuáles son las tareas involucradas y quién es responsable de qué.

Una vez diseñada la solución y adquiridos todos los conocimientos y el apoyo necesarios, puede comenzar la fase de desarrollo.

Para facilitar el despliegue, en esta fase, se suele recomendar construir la PoC inicial utilizando el devnet de IOTA. Esto asegura la velocidad en la depuración de su implementación (por ejemplo, Proof of Work, ya que los requisitos para enviar transacciones a la red IOTA son muy bajos y pueden ser ajustados sin ningún riesgo de seguridad).

Si quieres probar transferencias de valor con tokens IOTA, esto también es posible tanto en devnet (faucet) como en Private Tangle. En una devnet, al igual que en la mainnet, cuando quieras proteger la privacidad y confidencialidad de tus datos, deberías considerar el uso de el feature de Streams que reemplaza a MAM. (Leer más)

Como se ha descrito anteriormente, también es posible ejecutar tu propia red de pruebas. Para ello, puede desplegar un Tangle privado, utilizando nuestra plantilla Tangle-in-a-box para ello. La configuración general toma alrededor de 10 minutos.

Para depurar tu aplicación, este conjunto de utilidades IOTA te será útil para comprobar el estado de tus transacciones. La instancia actual de las utilidades IOTA funciona con las transacciones almacenadas en la red principal de IOTA o en una de nuestras redes de desarrollo ya desplegadas. Si estás construyendo tu propia red de pruebas privada, tendrás que desplegar tu propia instancia de estas herramientas. Para ello, encuentra el software necesario en este repositorio de código abierto.

La fase de MVP: La mejor manera de confiar en su solución es probarla.

Una vez construida la PdC, hay que probarla en un entorno cercano a la producción y con usuarios representativos. Quieres estar seguro de que el software es fiable, la solución escala bien y que tus clientes tienen una buena experiencia de usuario.

Lo que suele ocurrir en esta fase es:

  • Revisamos la PdC actual y ayudamos a solucionar cualquier problema de rendimiento.
  • Le ayudamos con nuestros expertos en UX a crear una solución atractiva que proporcione a los usuarios una experiencia fluida y le ayude a captar comentarios útiles.
  • Asesoramos sobre la mejor manera de integrar la solución con los sistemas existentes, por ejemplo, bases de datos propietarias, ERPs, gestión de identidades, etc. que podrían requerir el desarrollo de nuevos puentes IOTA dedicados. Ejemplos de ello son nuestros puentes IOTA2IPFS o IOTA2HL.
  • Le ayudamos a desplegar su solución en la red IOTA seleccionada (mainnet sin permisos o Private Tangle multinodos con permisos) para garantizar la escalabilidad requerida.

En general, el software de IOTA está basado en APIs estándar que facilitan el traslado de su solución desde una devnet de IOTA a la mainnet de IOTA, o a un Private Tangle desplegado a propósito.

Un cliente IOTA siempre necesita conectarse a un proveedor IOTA, es decir, a un nodo que acepte sus transacciones. Y lo hace simplemente comunicándose a través de la API del nodo IOTA.

Cambiando el proveedor IOTA seleccionado utilizado en su aplicación, puede conectarse a cualquier nodo disponible en la red principal de IOTA o a un nodo IOTA seleccionado en su Tangle privado.

Al final de esta fase, estás listo para lanzar tu «producto».

La fase de escalamiento: ¡Salir, ir a lo grande!

Para asegurarse de que su solución funciona como se espera, hay una cosa más que considerar: ¿Qué acuerdo de nivel de servicio (SLA) quiere ofrecer a sus clientes? No olvides que, como cualquier otra red DLT o blockchain, la mainnet de IOTA es una red peer-to-peer a la que debes poseer un punto de acceso de confianza.

Teniendo esto en cuenta, tiene que asegurarse de tener un número adecuado de nodos conectados a la red principal o en su Private Tangle, el número correcto de permanencias y que tiene los recursos y las habilidades para mantener su funcionamiento de manera fluida y fiable.

Cuando tu solución esté desplegada y en uso, hay algunas cosas que debes tener en cuenta para garantizar su buen funcionamiento.

Ten en cuenta que el envío de transacciones IOTA requiere actualmente una pequeña cantidad de PoW para evitar el spam. (El PoW será obsoleto en el futuro.) Si el nodo IRI al que te conectas no lo hace por ti (es decir, no soporta la API attachToTangle) tu dispositivo cliente necesita tener suficiente capacidad de cálculo para hacerlo localmente. Alternativamente, despliegue un proxy PoW para acelerar la creación de transacciones por parte de sus clientes, especialmente útil para cualquier dispositivo SBC de baja potencia.

El gráfico siguiente muestra la configuración de la arquitectura de un servidor/proxy PoW. La empresa PoWSrv también ofrece una externalización acelerada por hardware de PoW-como-servicio.

Para escenarios de producción, recomendamos desplegar dos o más nodos IOTA completos, eventualmente detrás de un balanceador de carga de hardware o software). Además del IRI de referencia de IOTA, el software del nodo Hornet está disponible como una alternativa ligera con paridad de características. Estos nodos pueden ser utilizados exclusivamente para enviar sus transacciones a las redes IOTA. Para más información sobre las mejores prácticas, por favor, consulta nuestra documentación sobre las mejores prácticas para ejecutar un nodo IOTA.

La mejor tecnología no sirve de nada cuando no se mantiene, innova y se ajusta a las necesidades de la industria. Con IOTA convirtiéndose en algo más grande que la Fundación IOTA, el gobierno de IOTA se proporciona a través de Tangle EE. Tangle EE es un grupo de trabajo en colaboración con la Fundación Eclipse. Proporciona un entorno gobernado para que las organizaciones y los contribuyentes desarrollen nuevas ideas y aplicaciones utilizando las tecnologías de IOTA y está abierto a la participación de cualquiera que construya sobre IOTA. Más información sobre Tangle EE en https://tangle.ee.

¿Todavía necesitas más inspiración sobre el tipo de solución IOTA que estás construyendo? Entonces mira nuestra biblioteca de planos, que describe casos de uso y arquitecturas de referencia para una serie de soluciones IOTA que hemos construido con nuestros socios. Todos los planos son, por supuesto, de código abierto y pueden ser utilizados como base para su propia PoC, Demo o cualquier otra integración.

Si estás listo para construir tu nueva solución potenciada por IOTA y quieres colaborar con IF por favor ponte en contacto en [email protected]. Estaremos encantados de escucharte.


Disclaimer: Este artículo es una traducción al español de  The Road to Integration: Part 2 — Application Development escrito el año pasado por la Fundación IOTA, algunas implementaciones como el Marketplace o canales MAM fueron reemplazados por nuevas implementaciones que podrás encontrar en iota.org y https://chrysalis.iota.org/.

Ante cualquier duda puedes visitar el canal de Discord de la Fundación IOTA

Comentarios

comentarios

pasarela de pagos con criptomonedas