Primer Meetup de MuleSoft en Ciudad de Panamá. Se hace una introducción a SOA, APIs, Microservicios, API-Led Connectivity y a las principales herramientas de la suite de MuleSoft para soluciones de integración: Anypoint Platform
Antes de comenzar a hablar sobre Mulesoft y todas las herramientas y benecificios que nos ofrece, primero hagamos una pequeña introducción a los motivos por los cuales necesitamos realmente cambiar nuestra manera de trabajar y, por ende, las herramientas que utilizamos.
Y qué mejor manera de hacer que con un pequeño ejemplo.!
Esto que vemos aquí, es el típico caso de construcción de un sistema dentro de las organizaciones.
Necesitamos unificar información (En este caso del cliente) desde varios sistemas core y mostrar al cliente el status y el histórico de sus órdenes.
Usualmente construimos un API para la aplicación web que haga todo esto de manera rápida y simple. Y funciona! Cumplimos con los objetivos planteados.
Pero.. Pasa el tiempo y...
Aparece otro canal! Una aplicación móvil por ejemplo. Y vemos que lo que construimos, aunque puede que tenga cosas que nos sirven, no se adaptan en su totalidad a las necesidades del nuevo canal.
El nuevo canal necesita respuestas más livianas, tiene unas políticas de acceso y seguridad diferentes, entre otros.
Así que decidimos crear un API para este nuevo canal! Aunque...
Terminamos duplicando código, modelando el proceso nuevamente.. Todo por una capa de abstracción nueva y por no pensar en el crecimiento y reutilización de los activos de TI de la compañía.
Incluso, nos tardamos más! Cuando se suponía que ya deberíamos tener prácticamente listo todo porque.. No lo habíamos hecho antes??
Las organizaciones actuales tienen que poder reaccionar de manera más rápida y efectiva.
Se necesitan procesos optimizados, flexibles y de fácil acceso para poder reutilzarlos y poder reducir costos y tiempos.
Es por esto, que los departamentos de TI deben enfocarse en construir de una manera más eficiente sus procesos, pensando en que éstos serán necesitados más adelante por cualquier otro cliente, interno o externo.
Las necesidades de las organizaciones siguen aumentando! Y los departamentos cada vez piden más herramientas tecnológicas que simplifiquen su trabajo.
Pero.. Los departamentos de TI no tienen los tiempos de respuesta esperados.
Necesitamos cerrar esas brechas.. Necesitamos cambiar.. Necesitamos mejorar.!
Un primer acercamiento a esto, es SOA.
No vamos a entrar en detalles técnicos o en definiciones específicas de SOA. Ese no es tema de este Meetup!
SOA engloba una serie de estándares de integración de soluciones, protocolos de comunicación y buenas prácticas de desarrollo que nos permiten exponer todos nuestros procesos de manera eficiente.
Esto nos ha facilitado mucho la vida en las empresa actuales.!
La creación y comunicación a través de servicios web es un paso adelante! Pero si los usamos para disimular conexiones punto a punto no logramos el verdadero resultado esperado.
Terminamos obteniendo...
Algo así!
Cuando la verdad queríamos esto..!
Aunque hay muchas organizaciones que ya cuetan un con un bus de integración y tienen muchos servicios expuestos, algunas tal vez sienten que de igual manera necesitan algo más rápido y eficiente aún.
Esto es porque, a decir verdad, SOA ya no es tán ágil como las organizaciones lo necesitan en la actualidad. Necesitamos evolucionar este modelo.
Y tal vez la adopción de las metodologías de desarrollo de APIs y Microservicios es el camino correcto.!
Ahora hablemos un poco de los APIs.. Todos aquí sabemos lo que significa API cierto?
Entonces esto será rápido! Los APIs no son más que el software intermediario que permite la comunicación entre dos sistemas.
Un sistema no necesita saber cómo el otro está construido ni como hace lo que dice que hace. Simplemente utiliza el API para intercambiar información de manera simple. Esto nos genera abstracción, flexibilidad y seguridad a la comunicación.
Un WS es un API, una librería es un API, un SMS es un API...
Tal vez varios aquí piensen "Esos no son los APIs que yo imaginaba".. Y tienen razón! Los APIs han cambiado mucho en el mundo moderno. Los APIs han adoptado unos protocolos y estándares de comunicación que los hacen aún más útiles y valiosos.
Pero también son más complejos! Necesitan construirse pensando en los usuarios, se deben diseñar, implementar, probrar, gestionar, versionar y monitorear de manera eficiente.
Debemos diseñar pensando en el usuario, generar mocks, obtener feedback temprano y poder construir con una especies de pre-aprobación del cliente.
Una vez diseñado nuestro API, tenemos que poder tener herramientas que nos den acceso a todos los patrones de integración de manera simple.
No podemos estar perdiendo el tiempo en reinventar la rueda! Tenemos que poder centrarnos en nuestro desarrollo.
Debemos poder contar también con una suite de construcción de pruebas unitarias automatizadas para garantizar la calidad de nuestras herramientas.
Una vez tenemos lista nuestra solución. Desplegarla en la infraestructura de la empresa debe poder ser muy sencillo. Sin descuidar la estrategia de versionamiento.
Pero también tenemos que poder aplicar políticas de seguridad, acceso y SLAs.
Todo esto sin mencionar que necesitamos poder hacer uso de herramientas de monitoreo y analytics robustas y completas.
En resumen.. Necesitamos:
Disenar, Simular, Obtener Feedback temprano, documentar, publicar (firmas), implementar, desplegar (De manera automatizada), Asegurar gestionar y monitorear.
Hablamos hace un rato de que SOA tal vez ya no bastaba en algunas organizaciones.
En la actualidad el mercado cambia más rápido que nunca! Y ni siquiera las empresas más grandes están a salvo de ello.
Necesitamos buscar mejores enfoques que nos garanticen construir "Future-Proof".
Y uno de estos enfoques es el API-Led Connectivity.
El enfoque API-Led Connectivity nos indica que debemos segmentar nuestros APIs o Microservicios de acuerdo a su funcionalidad. Y nos presenta tres capas principales de APIs.
- Sistema: Facilitadores de data empresarial.
- Procesos: Orquestar, consolidar y transformar data. Es la capa con más lógica de negocios.
- Experiencia de usuario: Mostrar la información de manera amigable para el canal de acceso. Incluso, podemos orquestar y consolidar procesos en una sola petición. Políticas de accso y seguridad por canal.
Dependiendo de las necesidades de la empresa, cada uno de los APIs desarrollados puede crecer y ser versionado y gestionado de manera independiente!
Antes de comenzar a hablar sobre Mulesoft y todas las herramientas y benecificios que nos ofrece, primero hagamos una pequeña introducción a los motivos por los cuales necesitamos realmente cambiar nuestra manera de trabajar y, por ende, las herramientas que utilizamos.
Y qué mejor manera de hacer que con un pequeño ejemplo.!
Antes de comenzar a hablar sobre Mulesoft y todas las herramientas y benecificios que nos ofrece, primero hagamos una pequeña introducción a los motivos por los cuales necesitamos realmente cambiar nuestra manera de trabajar y, por ende, las herramientas que utilizamos.
Y qué mejor manera de hacer que con un pequeño ejemplo.!