Paso 2: CRUD Editorial - Explicación del diseño

Las clases que implementa este paso se presentan en la siguiente figura:

Las clases en rosado pertenecen a la capa de recursos REST, las clases en amarillo a la capa de lógica y las clases en verde a la capa de persistencia.

Las decisiones más importantes del diseño son:

  • 1) La capa de recursos REST reciben y devuelven, a través de JAX-RS que transforma los objetos json en DTOS y viceversa, EditorialDetailDTO objects.
  • 2) Las clases DTOs además de tener los atributos que representan los objetos json, contienen la lógica de la conversión entre DTOS y Entitys y viceversa. Hay un constructor que recibe un Entity y retorna un DTO y hay un método llamado toEntity que convierte el DTO a Entity.

El siguiente diagrama de secuencias ilustra los llamados y las conversiones de los datos:

En este caso se muestra el método PUT de la siguiente manera:

PUT editorials/id {"name":"New Norma"}

Allí se envía el id de la editorial a editar y el nuevo nombre que le vamos asignar en el cuerpo del mensaje.

Es decir,

{"name":"New Norma"}

Para los métodos GET, DELETE funcionan de manera similar enviando el id por URL. ejemplo:

  • Retorna la editorial buscada por el id
GET editorials/id
  • Eliminar la editorial que coincida con el id
DELETE editorials/id

Para el caso de GET sin pasar el id por URL, traerá todas las editoriales, el siguiente diagrama de secuencia ilustra los llamados y las conversiones de los datos:

  • 3) La capa de lógica no sabe de objetos DTOs. Esta capa sólo maneja objetos Entity.
  • 4) La capa de lógica válida reglas de negocio.
  • 5) La lógica invoca a la persistencia para actualizar, obtener ó borrar la entidad en la BD.

results matching ""

    No results matching ""