Buenas prácticas en la construcción de la capa de negocio
- Área: Capa de Negocio
- Tipo de pauta: Directriz
- Carácter de la pauta: Obligatoria
- Tecnologías: Capa de negocio
Conjunto de indicaciones a tener en cuenta en la construcción de la capa de negocio
Pautas
Título | Carácter |
---|---|
Reglas de negocio | Obligatoria |
Validaciones de los datos | Obligatoria |
Comunicación entre capas | Obligatoria |
Transacciones | Obligatoria |
Excepciones | Obligatoria |
Servicios encapsulados | Obligatoria |
Acceso a servicios | Obligatoria |
Listas de resultados | Recomendada |
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
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0174 | Data Access Object | Patrón | Recomendado |
Código | Título | Tipo | Carácter |
---|---|---|---|
RECU-0150 | Transfer Object | Patrón | Recomendado |
RECU-0149 | Value List Handler | Patrón | Recomendado |