Skip to main content

Lineamientos: Arquitectura Base

info

Los servicios java que se desarrollen para Alpura deben cumplir con una arquitectura como la que se define a continuación.

Tech Stack

Lineamientos: Definición de Arquitectura Base

Este documento describe la arquitectura de capas para la implementación de la solución web. El objetivo es establecer una estructura clara y cohesionada que facilite el desarrollo, mantenimiento y escalabilidad del sistema.

Capa Web (Presentación)

Esta capa actúa como el punto de entrada para las interacciones del usuario a través de la web. Su responsabilidad principal es la exposición de las APIs del servicio mediante controladores web. Tal como se ilustra en el diagrama de arquitectura, esta capa debe establecer una comunicación directa y exclusiva con la capa de Facade.

info

Dentro de esta capa, es imperativo la implementación de componentes reutilizables proporcionados por las librerías de Alpura. Específicamente, se requiere la integración de los siguientes aspectos:

  • SEGURIDAD: (Por Definir) – Mecanismos de autenticación, autorización y protección contra vulnerabilidades web.
  • TELEMETRÍA: (Por Definir) – Componentes para la recolección y reporte de métricas de rendimiento, errores y comportamiento del usuario.

Capa Facade (Fachada)

La capa de Facade define una interfaz simplificada y unificada para los casos de uso del sistema. Su función principal es desacoplar la capa de presentación de la complejidad de la lógica de negocio subyacente. Los métodos expuestos en esta capa orquestan la ejecución de los casos de uso, delegando la lógica específica a la capa de Servicio. La comunicación de esta capa se establece exclusivamente con la capa de Servicios.

Capa Service (Servicio)

Esta capa alberga la lógica de negocio y los servicios necesarios para cumplir con las funcionalidades requeridas por la capa de Facade. Aquí se implementan las reglas de negocio, los algoritmos y los procesos que dan soporte a los casos de uso definidos en la capa superior.

info

Para interactuar con la capa de Persistencia y realizar operaciones sobre la base de datos, esta capa puede invocar los métodos expuestos en dicha capa. Asimismo, para la integración con otros servicios o funcionalidades ofrecidas por Alpura, se deberá utilizar la librería oficial:

  • Alpura SDK: (Por Definir) – Conjunto de herramientas y librerías proporcionadas por Alpura para facilitar la interacción con sus servicios y recursos.

Capa Persistence (Persistencia)

La capa de Persistencia es responsable de la abstracción y el mapeo de las operaciones de acceso a la base de datos. Para garantizar la coherencia y el cumplimiento de los modelos de datos definidos por Alpura, esta capa deberá importar la capa de modelos disponibles en el Arctifactory de Alpura.

info

Es fundamental destacar que cualquier modificación en el esquema de la base de datos o en las propiedades de las entidades debe realizarse primero actualizando la librería de modelos correspondiente.

La capa de persistencia depende en gran parte del modelo, el cual deberá ser importado desde los modelos disponibles en el Artifactory de Alpura.

Capa Commons (Comunes)

Esta capa transversal contiene elementos reutilizables por múltiples capas de la arquitectura. Esto incluye:

  • Transfer Objects (DTOs , VOs): Objetos de transferencia de datos utilizados para transportar información entre capas.
  • Constants: Definiciones de constantes específicas del proyecto.
  • Utilerías de Alpura: Componentes de utilidad proporcionados por Alpura para tareas comunes, importados desde el Artifactory

Ejemplo de implementacion y capas:

Tech Stack