El Business Delegate actúa
como una abstracción de negocio del lado del cliente; proporciona una
abstracción para, y por lo tanto oculta, la implementación de los servicios del
negocio. Utilizando Business Delegate se reduce
el acoplamiento entre los clientes de la capa de presentación y los servicios
de negocio del sistema. Dependiendo de la estrategia de implementación, Business
Delegate podría aislar a los clientes de
la posible volatilidad en la implementación del API de los servicios de
negocio. Potencialmente, esto reduce el número de cambios que se deben hacer en
el código de cliente de la capa de presentación cuando cambie el API del
servicio de negocio o su implementación subyacente.
Sin embargo, los métodos de interface en el Business
Delegate aún podría requerir
modificaciones si cambia el API del servicio de negocio. Si bien es cierto, que
los cambios se harán con más probabilidad en el servicio de negocio que en el Business
Delegate.
Con frecuencia, los desarrolladores son excépticos
cuando un objetivo de diseño como la abstracción de la capa de negocio provoca
un trabajo adicional como pago por futuras ganancias. Sin embargo, utilizando este
patrón o esta estrategia resulta sólo en una pequeña cantidad de trabajo extra
y proporciona unos beneficios considerables. El principal beneficio es ocultar
los detalles del servicio.
Objetivo
Facilitar el acceso de la capa cliente a la capa
EJB, ocultando el API de EJB.
Un objeto que reside en la capa de
presentación y en beneficio de los otros componentes de la capa de presentación
llama a métodos remotos en los objetos de la capa de negocios.
Aplicabilidad
Cuando se
quiere proporcionar una capa de acceso al modelo que oculta la tecnología usada
en su implementación.
Utilizamos un Business Delegate para reducir el
acoplamiento entre los clientes de la capa de presentación y los servicios de
negocio. El Business Delegate oculta los detalles de la
implementación del servicio de negocio, como los detalles de búsqueda y acceso
de la arquitectura EJB.
Estructura
Participantes
Usa
ServiceLocatorpara obtener una referencia al BusinessServiceFactory
Crea un
BusinessService
(mediante
BusinesServiceFactory) en el que delega las operaciones.
·
Ventajas
- · Mejora el mantenimiento
- · Permite separación de roles: desarrolladores de la capa cliente y desarrolladores de la capa EJB.
- · Puede proporcionar caché para mejorar la eficiencia
Implementación
En
general, el Business Delegate puede ser una clase concreta usa
métodos deben ser sincronizados.
Requisitos de
Implementación
- Soporte de herencia
- Manejo de excepciones
- Comunicación remota con objetos
No hay comentarios:
Publicar un comentario