lunes, 8 de julio de 2013

SERVICE LOCATOR (LOCALIZACIÓN DE SERVICIO)



Diseño orientado a objetos puede conducir al desarrollo de complejos de clase estructuras con componentes que dependen de otros tipos. Si las clases dependientes instancian sus dependencias directamente que se dice que están estrechamente acoplados. Esto disminuye la flexibilidad de los componentes y aumenta el esfuerzo necesario para cambiar la funcionalidad y los tipos de sustitución. En un artículo anterior he descrito los patrones de diseño de inyección de dependencia que las clases desacoplarse de sus dependencias. El patrón de diseño localizador de servicios es un enfoque alternativo para la promoción de acoplamiento débil, pero no requiere la inyección de dependencias a través de las interfaces, constructores o propiedades.

En lugar de crear instancias de la clase depende directamente de sus dependencias, se les solicita de un servicio de localizador de objeto centralizada.

El patrón de diseño localizador de servicio se basa en la creación de una clase, llamada el localizador de servicios, que sabe cómo crear las dependencias de otros tipos. A menudo, el localizador de servicios actúa como un depósito para objetos de servicio pre inicializado. Cuando se requiere uno de estos se solicita el uso de un método de la clase. En otras situaciones, los métodos de localización de servicios instancias de objetos a medida que se necesitan, posiblemente utilizando la información de configuración se pasa a del método parametros.

Estructura

La siguiente figura muestra el diagrama de clases que representa las relaciones para el patrónService Locator.








Participantes


La siguiente figura contiene el diagrama de secuencia que muestra la interacción entre los distintos participantes en el patrón Service Locator.



Client
Este es el cliente del Service Locator. El cliente es un objeto que normalmente requiere acceder a objetos de negocio como un Business Delegate.

Service Locator
El Service Locator abstrae el API de los servicios de búsqueda (nombrado), las dependencias del vendedor, las complejidades de la búsqueda, y la creación de objetos de negocio, y proporciona un interface simple para los clientes. Esto reduce la complejidad del cliente. Además, el mismo cliente y otros clientes pueden reutilizar el Service Locator.

InitialContext
El objeto InitialContext es el punto de inicio para los procesos de búsqueda y creación. Los proveedores de servicio proporcionan el objeto context, que varía dependiendo del tipo de objetos de negocio proporcionados por el servicio de búsqueda y creación del Service Locator. Un Service Locator que proporciona los servicios para varios tipos de objetos de negocio (como beans enterprise, componentes JMS, etc.) utiliza varios tipos de objetoscontext, cada uno obtenido de un proveedor diferente (por ejemplo, el proveedor de contexto para un servidor de aplicaciones EJB podría ser diferente del proveedor de contexto para un servicio JMS).

ServiceFactory
El objeto ServiceFactory representa un objeto que proporciona control del ciclo de vida para objetos BusinessService. El objeto ServiceFactory para beans enterprise es un objetoEJBHome.

BusinessService
BusinessService es un rol que cumple el servicio que el cliente ha solicitado.El objetoBusinessService se crea, se busca o se elimina mediante el objeto ServiceFactory. El objeto BusinessService en el contexto de una aplicación EJB es un bean enterprise. 


Requisitos de Implementación

  • Soporte de herencia 
  • Manejo de excepciones 
  • Comunicación remota con objetos 




No hay comentarios:

Publicar un comentario