Buenas prácticas en la construcción de la capa de negocio

LIBP-0012 (Libro de pautas)

Conjunto de indicaciones a tener en cuenta en la construcción de la capa de negocio

Pautas

TítuloCarácter
Reglas de negocioObligatoria
Validaciones de los datosObligatoria
Comunicación entre capasObligatoria
TransaccionesObligatoria
ExcepcionesObligatoria
Servicios encapsuladosObligatoria
Acceso a serviciosObligatoria
Listas de resultadosRecomendada

Reglas de negocio

Implementar las reglas de negocio en esta capa

No debe haber réplica de funcionalidades en un formulario u otro lugar. Los módulos que requieran una funcionalidad deberán encontrarla en un solo lugar y única versión.

Validaciones de los datos

Garantizar el valor correcto de los datos

Esta capa debe garantizar que los datos requeridos para procesarla hayan sido debidamente validados, y sólo se puede iniciar el flujo del proceso de negocio si la validación resultó correcta.

Comunicación entre capas

Definir la estrategia de comunicación entre capas

La comunicación entre capas se debe establecer mediante objetos del modelo. Se crearán entidades sin métodos, sólo tendrán propiedades, campos y atributos, que nos servirán para almacenar información, como puede ser la asociación de las propiedades a las columnas de la base de datos.

Transacciones

Tratar convenientemente las transacciones de los datos

La capa de acceso a datos proporciona los datos pero las transacciones de los mismos se deben manejar desde la capa de negocio.

Excepciones

Encapsular en la capa de negocio las excepciones y trasladarlas de forma correcta a la capa de presentación

Se debe establecer un modelo adecuado para las excepciones generadas en la capa de acceso a datos, de manera que se encapsulen en la capa de negocio y se trasladen de forma correcta a la capa de presentación.

Servicios encapsulados

Encapsular la capa en servicios

Se debe encapsular la capa en servicios para aislar la base de datos respecto de una interacción directa con el usuario. Estos servicios de negocio conforman un "puente" entre el usuario y los datos. Responden a peticiones de usuarios u otros servicios de negocio aplicando procedimientos formales y reglas de negocio a datos relevantes.

Acceso a servicios

Controlar el acceso a los servicios en la capa de negocio

El control de acceso al servicio de negocio debe hacerse en la capa de negocio, puesto que podemos tener distintas capas de presentación. Éste puede realizarse tanto a nivel de método, dentro de cada servicio, como a nivel de servicio vertical.

Listas de resultados

Ordenar la devolución de los resultados de una consulta

Se recomienda ordenar la devolución de los resultados de una consulta, de modo que no se muestren todos los objetos que cumplan el criterio indicado en la consulta, sino que sólo se devolverá un número determinado, en forma de lista paginada, que representará un rango de objetos dentro de una lista.

Contenidos relacionados

Recursos
Área: Desarrollo » Patrones de Diseño » Capa de persistencia
Código Título Tipo Carácter
RECU-0174 Data Access Object Patrón Recomendado
Área: Desarrollo » Patrones de Diseño » Capa de negocio
Código Título Tipo Carácter
RECU-0150 Transfer Object Patrón Recomendado
RECU-0149 Value List Handler Patrón Recomendado