Quasar, el acelerador de Techedge para el desarrollo de aplicaciones

Rhinno

,

Quasar

Quasar, el acelerador de Techedge para el desarrollo de aplicaciones

 Alguna que otra vez solemos encontrar necesidades en nuestra organización que no podemos cubrir con el Software que el mercado nos ofrece, o necesitamos agilizar un proceso que nuestro Software no llega a cubrir. Es entonces cuando recapacitas y te planteas cubrir este problema con una solución a medida. 

Contactas con una o varias consultoras, los comerciales te mandan propuestas de más de 20 páginas que muchas de ellas ni te molestas en leer, y con un poco de fe y buena voluntad, te dejas llevar por aquella que te da confianza, se ajusta a tu presupuesto y crees que puede llevar tu idea a buen término.

Hasta aquí todo perfecto. Pero a medida que vas recibiendo las primeras entregas, estas suelen ir acompañadas de problemas de falta de planificación, un alcance de la solución poco definido, o puede que te des cuenta de que se ha pecado de overhead en la arquitectura que han propuesto desembocando en la modificación de la propuesta inicial.

Son muchas variables a tener en cuenta, y en ocasiones todo va bien hasta que el desarrollo requiere crecer con la empresa o actualizarse, entonces  el ciclo vuelve a comenzar.

La necesidad de desarrollos ágiles y eficientes

Este escenario lo he vivido como cliente y proveedor, y en la mayoría de las ocasiones los problemas vienen de las dos partes, pero sobre todo por el hecho de tener que comenzar sobre un lienzo en blanco.

Cuando la solución es muy acotada, los problemas se reducen o desaparecen, pero si añadimos a la coctelera UX+Diseño, explotación de los datos, o usabilidad, las interpretaciones pueden llegar a ser infinitas y la complejidad aumenta exponencialmente según añadimos piezas a nuestro desarrollo. Lo que verdaderamente necesitamos es agilizar nuestros desarrollos y que sean eficientes y escalables.

Acelerando nuestras aplicaciones con Quasar

¿Qué es entonces lo ideal? En este sentido, lo óptimo sería tener una solución estandarizada y probada a un precio adecuado que cubra tu necesidad. Vamos a intentar llegar a ese objetivo, pero en vez de arrancar con un lienzo en blanco, vamos a comenzar con un poco de ayuda.

¿Qué es Quasar?

  • Quasar es una plataforma que nos provee de componentes atomizados, tanto de frontend como de backend.
  • Contiene componentes altamente reutilizables.
  • Posee un enfoque de API-First. Todos los componentes son agnósticos a la solución y poseen un amplio contexto.
  • Un backoffice con un diseño estudiado y probado, pero a su vez muy customizable.
  • El backoffice, al ser un consumidor de la api, es una capa de infraestructura, y pasa a ser una alternativa en el caso de necesitar una UI para consumir nuestra solución.
  • Tiene un alto desacoplamiento de la lógica de negocio, haciendo el desarrollo independiente del framework, arquitectura y tecnología.

Captura de pantalla 2020-05-07 a las 18.29.59

Gracias a todo esto, comenzamos con una base mucho más definida. De esta forma tendríamos un montón de piezas de Lego que podríamos encajar unas con otras. A esto, le sumamos módulos ya desarrollados que aportan funcionalidades que enriquecen nuestra solución:

  • OAuth2 como capa de autentificación.
  • Gestión de usuarios y permisos para generar aplicaciones multi-tenant.
  • Motor de búsqueda interno para facilitar el consumo de datos en caso de requerir UI con estas características.
  • Conexión con integradores a través REST Hooks. Esto nos permite desde el rol de usuario programar workflows con más de 2000 aplicaciones.
  • Una batería de UI components que agilizan la composición de formularios y elementos visuales para el consumo de datos.
  • Búsqueda de información más detallada por columnas.

De esta manera podemos conseguir un caldo de cultivo idóneo para plantear cualquier desarrollo. Un punto de partida sobre unas bases que nos servirá como aceleradora para crear nuestra aplicación, ya no solo por tiempos de desarrollo, sino por todas las funcionalidades añadidas, tanto técnicas como funcionales, que harán de nuestros desarrollos mucho más ricos.

Monolito VS Microservicios

Hasta aquí hemos hablado de Quasar, nuestra aceleradora de desarrollos basada en componentes. Es cierto que cuando pensamos en nuestro ecosistema de aplicaciones, es posible que la arquitectura de Quasar no sea la adecuada para el rendimiento que se requiere, ya sea porque se trate de una arquitectura monolítica y tenga problemas a la hora de escalar la solución, o se trate de una arquitectura de microservicios y esté matando moscas a cañonazos.

Este problema nos lo encontramos al poco tiempo de empezar y decidimos crear dos enfoques sobre un mismo desarrollo:

  • Una arquitectura monolítica para desarrollos rápidos pero no por ello menos eficiente.
  • Una arquitectura basada en microservicios para desarrollos que requieran mayor escalabilidad.

Dos enfoques, dos arquitecturas, un mismo código

Uno de los mayores retos es conseguir un código con un desacoplamiento a nivel tecnológico. Esto lo conseguimos tratando los frameworks como infraestructura, lo que significa que nos beneficiamos de todas las bondades que un framework o tecnología nos ofrece a través de contratos con nuestro código. Este concepto se denomina dentro de la arquitectura de software como Ports-and-Adapters.

Hasta aquí tenemos diferenciado nuestro código de todos los elementos externos a nuestra solución, bases de datos, gestor de colas, persistencia de objetos, incluso del framework. Solo nos quedaría desacoplar la comunicación de los componentes de Quasar, y esto lo logramos gracias a CQRS (Command Query Responsibility Segregation). Gracias a esta arquitectura podemos sustituir la comunicación síncrona y asíncrona de nuestro monolito por cualquier gestor de mensajería para pasar de un monolito a una arquitectura de microservicios.

Captura de pantalla 2020-05-07 a las 18.34.06

Esto nos da la posibilidad de plantear una solución sobre Quasar sin saber si finalmente se implementará sobre microservicios o no.

Conclusión: Un desarrollo ágil y eficiente

Gracias a Quasar, nuestra aceleradora de aplicaciones, además de acortar el tiempo de desarrollo de cualquier solución, tendremos un desarrollo robusto, escalable y rico en funcionalidades.

Captura de pantalla 2020-05-07 a las 18.35.16

Bibliografía imágenes:

https://pixabay.com/es/photos/ordenador-port%C3%A1til-hombre-de-negocios-2838918/

https://pixabay.com/es/photos/tel%C3%A9fono-tel%C3%A9grafo-polo-alambre-1822040/

https://pixabay.com/es/illustrations/pastel-gr%C3%A1fico-icono-negocio-2579310/

https://pixabay.com/es/vectors/im%C3%A1genes-de-la-palabra-del-alfabeto-1298865/

https://pixabay.com/es/vectors/cheetah-animales-r%C3%A1pido-ejecutar-312034/

https://pixabay.com/es/illustrations/pastel-gr%C3%A1fico-icono-negocio-2579310/

https://www.iconfinder.com/icons/2541669/cogs_info_modify_settings_icon

https://www.iconfinder.com/icons/2541670/https_lock_security_ssl_icon

https://www.iconfinder.com/icons/2541673/find_look_magnifying_glass_search_icon

https://www.iconfinder.com/icons/2541661/coding_html_markup_tag_icon

¡Suscríbete!