stringtranslate.com

Lógica empresarial

En el software informático , la lógica empresarial o lógica de dominio es la parte del programa que codifica las reglas empresariales del mundo real que determinan cómo se pueden crear, almacenar y modificar los datos . Se contrasta con el resto del software que podría ocuparse de los detalles de nivel inferior de la gestión de una base de datos o la visualización de la interfaz de usuario , la infraestructura del sistema o, en general, la conexión de varias partes del programa.

Detalles y ejemplo

Lógica de negocios:

Reglas de negocio:

La lógica empresarial comprende: [1]

La lógica empresarial debe distinguirse de las reglas empresariales. [2] La lógica empresarial es la parte de un sistema empresarial que determina cómo se transforman o calculan los datos y cómo se envían a las personas o al software (flujo de trabajo). Las reglas empresariales son expresiones formales de la política empresarial. Todo lo que sea un proceso o procedimiento es lógica empresarial, y todo lo que no sea ni un proceso ni un procedimiento es una regla empresarial. Dar la bienvenida a un nuevo visitante es un proceso (flujo de trabajo) que consta de pasos a seguir, mientras que decir que se debe dar la bienvenida a todo nuevo visitante es una regla empresarial. Además, la lógica empresarial es procedimental, mientras que las reglas empresariales son declarativas. [3]

Por ejemplo, un sitio web de comercio electrónico podría permitir a los visitantes agregar artículos a un carrito de compras, especificar una dirección de envío y proporcionar información de pago. La lógica comercial del sitio web podría incluir un flujo de trabajo como el siguiente:

También habrá reglas comerciales del sitio web:

El software del sitio web también contiene otro código que no se considera parte de la lógica empresarial ni de las reglas empresariales:

Lógica empresarial y niveles/capas

La lógica empresarial en teoría ocupa el nivel medio de una arquitectura de 3 niveles.

La lógica empresarial podría estar en cualquier parte de un programa. Por ejemplo, dado un determinado formato para una dirección, se podría crear una tabla de base de datos que tenga columnas que correspondan exactamente a los campos especificados en la lógica empresarial y se podrían agregar comprobaciones de tipo para asegurarse de que no se agreguen datos no válidos.

La lógica empresarial cambia con frecuencia. Por ejemplo, el conjunto de formatos de direcciones permitidos puede cambiar cuando un minorista en línea comienza a enviar productos a un nuevo país. Por lo tanto, a menudo se considera deseable hacer que el código que implementa la lógica empresarial esté relativamente aislado o débilmente acoplado . Esto hace que sea más probable que los cambios en la lógica empresarial requieran un pequeño conjunto de cambios de código, en solo una parte del código. El código distante pero fuertemente acoplado también crea un mayor riesgo de que el programador solo realice algunos de los cambios necesarios y pase por alto parte del sistema, lo que lleva a un funcionamiento incorrecto. [4]

Una arquitectura de múltiples niveles formaliza este desacoplamiento mediante la creación de una capa de lógica empresarial que está separada de otros niveles o capas, como la capa de acceso a datos o la capa de servicio . Cada capa "sabe" sólo una cantidad mínima sobre el código de las otras capas, lo suficiente para realizar las tareas necesarias. Por ejemplo, en un paradigma modelo-vista-controlador , las capas de controlador y vista podrían hacerse lo más pequeñas posible, con toda la lógica empresarial concentrada en el modelo. En el ejemplo del comercio electrónico, el controlador determina la secuencia de páginas web en la secuencia de pago y también es responsable de validar que el correo electrónico, la dirección y la información de pago cumplan con las reglas empresariales (en lugar de dejar todo eso en manos de la propia base de datos o del código de acceso a la base de datos de nivel inferior).

Son posibles paradigmas alternativos. Por ejemplo, con entidades comerciales relativamente simples, una vista y un controlador genéricos podrían acceder a objetos de base de datos que contienen toda la lógica comercial relevante sobre qué formatos aceptan y qué cambios son posibles (conocido como el modelo de base de datos ).

Algunos esquemas escalonados utilizan una capa de aplicación o una capa de servicio diferenciada , o consideran que la capa de lógica empresarial es la misma que una de ellas.

Herramientas y técnicas

La lógica empresarial se puede extraer del código de procedimiento mediante un sistema de gestión de reglas empresariales (BRMS). [5]

El enfoque de las reglas de negocio en el desarrollo de software utiliza BRMS y aplica una separación muy fuerte entre la lógica de negocio y el resto del código. Los sistemas de gestión de la interfaz de usuario son otra tecnología que se utiliza para aplicar una separación fuerte entre la lógica de negocio y el resto del código. El botón mágico se considera un "antipatrón": una técnica que en este caso crea restricciones indeseables que dificultan la codificación de la lógica de negocio de una manera fácil de mantener.

Un modelo de dominio es una representación abstracta de los tipos de almacenamiento de datos requeridos por las reglas comerciales.

Véase también

Referencias

  1. ^ Steven Minsky (27 de marzo de 2005). "El desafío de la adopción de BPM". Techtarget . eBizQ.
  2. ^ "Definición de lógica de negocio". 24-12-2013.
  3. ^ William Ulrich. "OMG Business Rules Symposium" (PDF) . Archivado desde el original (PDF) el 24 de diciembre de 2013.
  4. ^ Khawar Zaman Ahmed y Cary E. Umrysh (17 de octubre de 2001). "Introducción al software empresarial". Desarrollo de aplicaciones empresariales Java con J2EE y UML. Addison-Wesley. ISBN 0-201-73829-5.
  5. ^ Owen, James (19 de septiembre de 2003). "Bring business logic to light" (Llevar la lógica empresarial a la luz). Enterprise Java. InfoWorld . Consultado el 21 de julio de 2020 .

Lectura adicional

Enlaces externos