2010-04-13 31 views
49

¿Cuál es la diferencia entre la capa de aplicación y la capa de lógica de negocios? Entiendo que la capa de negocios proporciona servicios comerciales específicos y servicios de negocio de parejas de capas de aplicaciones y brinda servicios al usuario final (servicio web, interfaz de usuario, etc.). ¿Estoy en lo cierto?¿Cuál es la diferencia entre la capa de aplicación y la capa de lógica de negocios?

+0

posible duplicado de [¿Lógica empresarial y de aplicación?] (Http://stackoverflow.com/questions/1456425/business-and-application-logic) – nawfal

Respuesta

60

Eso suena correcto.

La capa negocio implementa el modelo de dominiode una manera límite-tecnológicamente neutro. En otras palabras, no depende de ninguna UI particular o tecnología relacionada con la interfaz de servicio, como bibliotecas web o API de ventanas. Debería poder consumir la capa empresarial desde cualquier tipo de aplicación: web, cliente enriquecido, servicio web, etc.

La capa de aplicación cierra la brecha entre la capa de negocios y la tecnología de límites.

+6

¿Qué significa "tecnología de límites" en este contexto? – pseudocoder

+6

Cualquier tecnología que se encuentre en el límite de una aplicación. Marcos de interfaz de usuario, bibliotecas de acceso a bases de datos, puertas de enlace de servicios, marcos HTTP o SOAP, bibliotecas de sistemas de archivos, bibliotecas de cola de mensajes específicas, etc. –

+1

Si sigue DDD, también está la capa de presentación que puede ser html, wpf, rest api, etc. la capa de aplicación es reutilizada por las diferentes capas de presentación. La diferencia entre el bus/dominio y la aplicación es que el dominio solo consiste en objetos que son conocidos por negocios (o abstracciones que funcionan para dev) y son nombrados por un lenguaje coomon que es compartido por bus peopel y devs (el lenguaje ubicuo). La capa de la aplicación es lo que lo convierte en un "programa" – buckley

2

Según tengo entendido, la capa de negocios está a cargo de las decisiones comerciales, a saber, la lógica que implica los protocolos del cliente.

La capa de aplicación son los procesos en bruto que no tienen nada que ver con las decisiones comerciales.

18

Para resumir:

capa
  • La aplicación consta de aquellos elementos que son específicos para esta aplicación. Eso contendría la interfaz de usuario, el procesamiento de back-end para la interfaz de usuario y cualquier vinculación entre la aplicación y la capa de lógica de negocios. En un mundo perfecto, esta capa no contendría ninguna lógica del dominio comercial.

  • La capa de lógica de negocios (BLL) contiene lógica específica para el dominio comercial. Además, si va a crear un BLL por separado, esta capa debe contener lógica que pueda ser utilizada por otras aplicaciones además de esta. Por ejemplo, un conjunto de servicios web que exponen una API bien definida. Esto desvincula el BLL de su aplicación y le permite la flexibilidad de construir otras aplicaciones encima del mismo en el futuro.

+0

¿Puede proporcionar una fuente para esto? Su primera viñeta suena como lo que normalmente oigo se conoce como la capa de presentación. –

+0

Lamentablemente, no. Tomé su comentario en el sentido de las capas de su código específico para la aplicación, en oposición a una capa BLL específica del negocio. Pero tiene razón, normalmente 'Application Layer' se usa en el contexto del modelo OSI. –

+1

Estoy de acuerdo con Justin por completo. La capa de aplicación solo debe contener una lógica mínima (IE: el campo tiene espacios en blanco o cuántos caracteres). La lógica empresarial solo debería funcionar y validarse en los datos en sí. ¡Esta es la razón por la que me frustra ver el SQL incorporado en la capa de Aplicación, donde nadie en la lógica de Negocios puede reutilizarlo! – Vippy

0

Creo que es una infraestructura. Dependiendo de la aplicación, que puede contener la instalación de cañerías para la configuración, presentación de informes, la cáscara de interfaz de usuario, etc.

1

en clásica de estratificación en la capa de negocios que tenemos:

-Business Reglas -Seguridad -El usuario Actividad Loging -Gestión de transacciones ...

funcional requierment + no funcional requierment = Código de Negocios

en DDD funcional requierment como Business reglas y lógica de negocios Manténgase en la capa de dominio y no funcional requiement como la seguridad y la actividad del usuario Loging estadía en la capa de aplicación

0

En mi cabeza, la división entre la lógica de negocios y aplicaciones es la siguiente: lógica de negocios gestiona los datos, la aplicación lógica gestiona los usuarios

a través de la sección de comentarios aquí: http://www.bennadel.com/?site-photo=22

Cuestiones relacionadas