Índice

Arquitectura Evolution Wave

Evolution Wave es una aplicación web progresiva que da la cara al usuario final. Tiene la propiedad de ser instalable y posee compatibilidad tanto con dispositivos móviles como computadores de escritorio. Permite realizar las acciones del sistema y funciona en conjunto con los siguientes componentes:

  • Website para la Autenticación de Usuarios: Este sitio implementa OpenID Connect y el Framework OAuth 2.0, para administrar usuarios.
  • Api REST: Funciona como “backend” para la aplicación web progresiva.
  • Servicio remoto para la ejecución de tareas programadas: Este servicio, por medio del API REST, es quien ejecuta actividades que son planificadas por los usuarios u otros componentes de Evolution, por ejemplo: enviar solicitudes de distintos tipos, visualizar datos personales como recibos de pago o días de vacaciones solicitados, autorizar o denegar alguna solicitud, etc.

Aplicación Web Progresiva

La aplicación web puede estar hospedado en IIS ya sea como sitio web, o bien como aplicación. Tambien puede funcionar como un servicio de aplicación y está desarrollado en Angular bajo la estructura MVVM (Model View - View Model)

Arquitectura de software evowave

Como se observa en la imagen, Evolution Wave hace uso de Evolution Connect como backend con el fin de obtener datos desde la base de datos. Todo ello siempre en conjunto con el servicio de autenticación de usuarios, que también tiene como tarea brindar el token de una sesión válida siempre y cuando el usuario esté autenticado.

EvoWave también está compuesto por:

  • Componentes: Es la base de una aplicación de Angular, cada componente contiene una plantilla HTML que declara qué se muestra en la página, un archivo Typescript que define el comportamiento y reglas CSS que definen la estética de dicho componente.
  • Servicios: Es un objeto sin estado que provee funciones útiles las cuales pueden ser invocadas desde cualquier componente de Angular.
  • Interfaces: Funciona para identificar un set de propiedades y métodos que implementan una clase. En la aplicación se utilizan como la representación de un modelo de base de datos.

Website para autenticación de usuarios

Este es un WebSite que implementa la autenticación por token, utilizando OpenID y OAuth 2.0. Es esencial para que los usuarios de la aplicación puedan identificarse y utilizar las funcionalidades disponibles. Este componente permite la creación de cuentas locales, o la integración de proveedores remotos de autenticación, tales como Azure AD, Office 365 y Google Suit, entre otros; existen 45 proveedores externos certificados para utilizar el protocolo, entre las cuales se encuentran inclusive las redes sociales. Y finalmente, permite la especificación de doble factor de autenticación, que es tan importante en este momento para asegurar la identidad de los usuarios.

WebApi Rest (Evolution Connect)

Soporta las funcionalidades disponibles de la aplicación. Este backend es responsable de interactuar con la base de datos, vive en el servidor y se ejecutan acciones correpondientes desde consultas HTTP. Posee el modelo MVC, haciendo mapeo objeto-relacional sobre las entidades de base de datos.

Nota
Para más información de cómo funciona Evolution junto con sus componentes, ir a Arquitectura de Evolution

Tecnologías Utilizadas

Como su nombre lo dice, esta aplicación es una tecnología web, por lo que las herramientas utilizadas son de índole web, modernas y de alto rendimiento. Se utilizó:

  • Angular v10 junto con su librería de Angular Material y la arquitectura para proveer un PWA fácil de implementar. Esto incluye manejo de caché.
  • OneSignal como servicio para la suscripción de usuarios a notificaciones e instalabilidad.
¿Es útil esta información?

En este artículo