Desarrollo del Back-End

El siguiente diagrama muestra los componentes funcionales de la arquitectura de las aplicaciones que estamos desarrollando y el ambiente donde se despliega. Lo que llamamos backend se refiere a los componentes de la lógica o negocio y de la persistencia de la aplicación.

Responsabilidades de las capas

Esta arquitectura es una decisión de diseño en la que:

  1. La capa de servicios o recursos (API REST) es una capa muy "liviana" que solo se ocupa de:
    1. recibir las peticiones HTTP
    2. transformar los objetos json en DTOs
    3. invocar la lógica que devuelve entidades y recibe entidades
    4. transformar las entidades en DTOs
    5. transformar las excepciones de la lógica en status http
  2. La capa de lógica se ocupa de intermediar con la capa de persistencia y se ocupa de:
    1. validar las reglas de negocio
    2. invocar servicios de otras aplicaciones.
    3. invocar la capa de persistencia que devuelve entidades y recibe entidades
  3. La capa de persistencia tiene como responsabilidad:
    1. invocar los servicios de la base de datos

Los siguientes diagramas de clases ilustran para el ejemplo company_back los distintos elementos. En el primero, de abajo hacia arriba en azul, están las clases de recursos que inyectan una dependencia a la lógica a través de una interface.

En el segundo, se muestra que la lógica, a su vez, inyecta una referencia a la clase de persistencia. Mientras que los DTOs (no mostrados en el diagrama) solo son visibles para las clases Resource, las clases Entity son utilizadas tanto por los recursos como la lógica y la persistencia.

Vista de Desarrollo

Para facilitar el desarrollo del proyecto, la estructura de los distintos paquetes y recursos es la que se muestra continuación:

  1. El paquete api contiene las interfaces de la lógica
  2. El paquete ejbs contiene las clases de la lógica que son EJBs con estado
  3. El paquete entities contiene las clases de las entidades que van a ser persistidas
  4. El paquete exceptions contiene las clases de las excepciones que se disparan desde la lógica. En este ejemplo solo hay una clase
  5. El paquete persistence contiene las clases de persistencia que también son EJBs con estado
  6. El paquete test.logic contiene las clases de prueba de la lógica
  7. El paquete test.persistence contiene las clases de prueba de la persistencia
  8. La carpeta de resources está el archivo beans.xml y persistence.xml para configurar el acceso a la base de datos.
    1. La carpeta de resources en la carpeta test está el archivo beans.xml y persistence.xml para configurar el acceso a la base de datos de las pruebas.

En las secciones siguientes se presentan los conceptos básicos del diseño de cada una de las capas:

results matching ""

    No results matching ""