stringtranslate.com

Lógica de negocios

En software de computadora , la lógica de negocios o lógica de dominio es la parte del programa que codifica las reglas de negocios del mundo real que determinan cómo se pueden crear, almacenar y cambiar los datos . Se contrasta con el resto del software que podría ocuparse de detalles de nivel inferior como 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 del 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 dirigen a las personas o al software (flujo de trabajo). Las reglas comerciales son expresiones formales de la política comercial. Todo lo que sea un proceso o procedimiento es lógica de negocios, y todo lo que no sea ni un proceso ni un procedimiento es una regla de negocios. Dar la bienvenida a un nuevo visitante es un proceso (flujo de trabajo) que consta de pasos a seguir, mientras que decir que cada nuevo visitante debe ser bienvenido es una regla comercial. 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 empresarial del sitio web podría incluir un flujo de trabajo como:

También habrá reglas de negocio 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 comerciales:

Lógica empresarial y niveles/capas

En teoría, la lógica empresarial 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 formato determinado 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 de negocios, y se podrían agregar comprobaciones de tipo para asegurarse de que no se agreguen datos no válidos.

La lógica empresarial cambia a menudo. Por ejemplo, el conjunto de formatos de dirección 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 en el 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 pierda parte del sistema, lo que provocará un funcionamiento incorrecto. [4]

Una arquitectura de varios 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 de modelo-vista-controlador , las capas de controlador y vista podrían hacerse lo más pequeñas posible, con toda la lógica de negocios 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 comerciales (en lugar de dejar todo eso en manos de la propia base de datos). o 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 modelo de base de datos ).

Algunos esquemas por niveles utilizan una capa de aplicación distinta o una capa de servicio , 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 reglas comerciales del desarrollo de software utiliza BRMS y exige una separación muy fuerte entre la lógica comercial y el resto del código. Los sistemas de gestión de interfaces de usuario son otra tecnología utilizada para imponer una fuerte separación entre la lógica empresarial y otros códigos. 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 empresarial 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.

Ver también

Referencias

  1. ^ Steven Minsky (27 de marzo de 2005). "El desafío de la adopción de BPM". eBizQ.
  2. ^ "Definición de lógica empresarial". 2013-12-24.
  3. ^ Guillermo Ulrich. "Simposio sobre reglas comerciales de Dios mío" (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 Java empresariales con J2EE y UML. Addison-Wesley. ISBN 0-201-73829-5.
  5. ^ Owen, James (19 de septiembre de 2003). "Sacar a la luz la lógica empresarial". Java empresarial. InfoMundo . Consultado el 21 de julio de 2020 .

Otras lecturas

enlaces externos