Desarrollar y desplegar las Soluciones Multi-Tenant brindadas por la Web utilizando el Middleware de IBM: Parte 5: Un enfoque de la mediación para multi-tenancy (multi-usuario) y tres opciones de implementación

Parte 1 de esta serie llamada multi-tenancy es una solución empresarial que brinda la Web (también conocido como Software-as-a-Service) y la Parte 2 aborda los tres enfoques diferentes para habilitar una multi-tenancy. En este artículo, nos centramos en el enfoque de la mediación de la multi-tenancy que fue presentada en primer lugar en la Parte 2. Presentamos tres opciones de implementación para este enfoque utilizando diferentes productos del middleware de IBM y comparar los beneficios relativos. Los pasos detallados de la implementación para cada opcion serán descritos en los tres tutorials a continuación.

Indrajit Poddar, Software Architect, WSO2 Inc

Indrajit PoddarIndrajit Poddar (IP) es miembro del equipo Strategy, Technology, Architecture, and Incubation del IBM Software Group Strategy, donde dirige varias PoCs de integración para la creación de servicios empresariales compuestos entregados en el modelo Software-as-a-Service (SaaS).



Devaprasad Nadgir, IBM Certified Senior IT Architect, IBM  

NadgirDevaprasad es Certified Senior IT Architect y trabaja fuera de India Software Lab, Bangalore. Actualmente trabaja en iniciativas de Service Registry and Federated SOA Governance en IBM Software Group. También se interesa por métodos arquitectónicos, computación en nube, virtualización y software como servicio. Consulte su blog, donde podrá encontrar algunas de sus percepciones y tendencias tecnológicas.



26-08-2010

Introducción

En el enfoque de la mediación multi-tenancy, un nivel de proxy centralizada como se muestra en la Figura 1, media entre las solicitudes procedentes de los usuarios que pertenecen a los múltiples tenants y a las instancias y particiones múltiples de una aplicación. Estas solicitudes de las rutas de los niveles de proxy centralizados en el usuario desde un tenant en particular a una instancia o partición de una aplicación específica de un tenant habilitan en forma eficiente a las características adicionales a una multi-tenecy común, tales como el control de acceso, la medición, el monitoreo, la auditoría, etc. El patrón de la mediación ofrece entonces una separación de intereses entre los del proveedor/desarrollador y un nuevo rol al que nos referiremos como el proveedor de la plataforma (ver SaaS Platform in Resources). Con esta separación, los proveedores o los desarrolladores de servicios pueden reutilizar las aplicaciones existentes mientras apalancan las características de la habilitación de una multi-tenancy desde la plataforma de un proveedor.

Figura 1. Un enfoque de la mediación para una multi-tenancy
Un enfoque de la mediación para una multi-tenancy

Desafío técnico que debe abordarse con el enfoque de la mediación

Part 1 1 de esta serie describe varios desafíos técnicos a los que se enfrentan los proveedores de servicios al desplegar las soluciones de multi-tenant entregadas por la Web. Uno de tales desafíos es cómo habilitar multi-tenancy para los existentes servicios de la Web de tenant único con poco o ningún cambio en los códigos.

Un enfoque para abordar este desafío es parametrizar todas las operaciones de las interfaces y las implementaciones de los servicios de la Web con un parámetro de la id del tenant. Figura 2 muestra un ejemplo de servicio de la Web para un usuario único llamado retrieveCreditScoreBySSN y la Figura 3 muestra el agregado de un parámetro detenantID para multi-tenancy. Nos hemos referido a este enfoque como un enfoque “multi-tenancy con uso compartido” Part 2 de esta serie. Este enfoque requerirá cambios en los códigos (clases WSDL y java) y el redespliegue de la existente aplicación y, por lo tanto, es posible que sea difícil y caro llevarlo a cabo.

Figura 2. Definición de la interfaz para un servicio de calificación de un crédito simple
Definición de la interfaz para un servicio de calificación de un crédito simple
Figura 3. Cambios en la definición de la interfaz para añadir los atributos de la solicitud específica del usuario
Cambios en la definición de la interfaz para añadir los atributos de la solicitud específica del usuario

El enfoque de "multi-tenancy con mediación" se puede aplicar a este desafío con ciertos beneficios. En este enfoque, los proveedores de servicios pueden crear un nivel de proxy de mediación de los servicios de la Web que puede rutear las solicitudes de los servicios desde un usuario de tenant a los endpoints de los tenants de los servicios específicos de tenants. Esto brindará el beneficio de cambiar una parte o ninguna del código para la implementación del servicio existente. Además, podrán en forma eficiente habilitar otras características multi-tenancy tales como la medición y el control del acceso. Este enfoque será ilustrado a través de un escenario y describe tres opciones de implementación utilizando los productos del middleware de IBM.


Ilustración del enfoque de mediación

Nuestro escenario de ejemplo posee una aplicación bancaria multi-tenant llamada Jivaro con dos tenants: Primer banco de NA (Primer Banco) y Segundo Banco de Canadá (Segundo Banco). A Sam Peters, administrador de los proveedores de los servicios de Jivaro le gustaría ofrecer un nuevo servicio de verificación crediticia integrado a la Web con dos proveedores de servicios externos: Expo y S&R.

Figura 4. Escenario bancario
Escenario bancario

Los requisitos incluyen:

  1. La capacidad para habilitar a las multi-tenancy sin ningún cambio en los códigos de servicio de verificación de créditos para el único tenant existente.
  2. Basándose en las solicitudes del administrador del Primer Banco y Caren Sims, la administradora del Segundo Banco, le gustaría especificar la norma de direccionamiento en el nivel del modelo de mediación.
  3. Después de especificar esta norma, el cliente Bob Nottingham del Primer Banco, tendrá sus solicitudes direccionadas al proveedor de servicios de la Expo y Carrie Serrano, un cliente del Segundo Banco tendrá sus solicitudes direccionadas al proveedor de de servicios de &R.
  4. Capacidad para autorizar a Bob Nottingham y a Carrie Serrano antes de que puedan acceder a su servicio de verificación de créditos multi-tenant.
  5. Capacidad para monitorear la cantidad de veces que los clientes del Primer Banco N.A. y los del Segundo Banco de Cánada estén utilizando su servicios de verificación de créditos en un período determinado.

El escenario se describe en tres demostraciones grabadas que corresponden a las tres opciones de implementación que podrán encontrarse en el sitio de la Web de IBM SaaS Blueprints.


Implementar el enfoque de mediación

En los tres tutorials que se encuentran a continuación de este artículo (Partes 6, 7, 8), mostraremos cómo el enfoque de mediación puede ser implementado utilizando cualquiera de las tres opciones de los productos del middleware de IBM:

  1. WebSphere Business Services Fabric (WBSF)
  2. WebSphere Enterprise Service Bus (WESB) con WebSphere Service Registry y Repository y Tivoli Access Manager (TAM)
  3. Dispositivos de WebSphere DataPower SOA con Tivoli Access Manager

Nota: WebSphere Message Broker puede también ser utilizado como otra opción de implementación. Por favor consulte el siguiente artículo para obtener más detalles sobre WebSphere Message Broker.

Como se habló en Part 2 de esta serie, este enfoque puede ser combinado con un enfoque de intercambio o uno de virtualización para habilitar multi-tenancy. En los tres tutorials siguientes, supondremos que el proveedor de servicios utiliza el enfoque 3 según se describe en Part 2 para un menor esfuerzo de desarrollo. En este modelo, cada tenant obtiene su propia instancia de la aplicaicón y del middleware pero usa una sistema operativo y un hardware compartidos.

Las secciones restantes nos muestran los pasos principales para cada una de las tres opciones que se debatieron anteriormente. Los detalles para cada paso serán descritos en los siguientes tutorials.


Los principales pasos para la implementación al utilizar WBSF

Existen tres pasos principales al utilizar WebSphere Business Services Fabric (WBSF) para implementar el enfoque de mediación:

  1. Definir un servicio empresarial compuesto por políticas de direccionamiento para cada endpoint específico de tenant:
    a). Instalar WBSF Modeling Tool en Rational Software Architect 7
    b). Modelar un nuevo TenantIDAssertion utilizando WBSF Modeling Tool
    c). Configurar el servidor WBSF e importar TenantIDAssertion
    d). Crear un Credit Score Composite Business Service utilizando WebSphere Integration Developer (WID)
    e). Crear Una Política Empresarial para el direccionamiento de las solicitudes del usuario múltiple utilizando WBSF Composition Studio en WID
  2. Inscríbase en las organizaciones de tenants y usuarios para los servicios empresariales utilizando WBSF Subscriber Manager.
  3. Supervisar el uso del servicio de los usuarios específicos utilizando WBSF Performance Manager.

Estos pasos son tratados en detalle en el siguiente tutorial (Parte 6) en esta serie.


Principales pasos para la implementación utilizando los dispositivos de WebSphere DataPower SOA

Estos son los tres pasos principales utilizando WebSphere DataPower (WDP) con Tivoli Access Manager (TAM) para implementar el enfoque de mediación:

  1. Configurar los Web Services Proxies en WDP
    a). Cargar los archivos WSDL y las claves de LTPA a WDP
    b). Configurar SaasCreditCheckService Web Services Proxy en WDP
    c). Crear las políticas para aceptar la autenticación de los tokens de LTPA de WebSphere LTPA
    d). Delegar las decisiones de las autorizaciones al Tivoli Access Manager
    e). Configurar una acción de direccionamiento para cada uno de los endpoints de los servicos de la Web específicos para los tenants
    f). Configurar los CreditCheckServices Web Services Proxies específicos en WDP
  2. Configurar las políticas de autorización en TAM
    a). Crear los usuarios y grupos de tenants específicos
    b). Crear un acceso a las listas de control (ACL) para el CreditScoreWebService
    c). Agregar los usuarios y grupos específicos a los tenant autorizados a ACL
  3. Configurar las normas de monitoreo específico de tenants y de conformación del tráfico de los servicios de la Web en WDP

Estos pasos son debatidos en detalle en el siguiente tutorial (Part 7) en esta serie.


Principales pasos para la implementación utilizando WESB

Estos son los principales pasos utilizando WebSphere Enterprise Services Bus (WESB) con WebSphere Service Registry (WSRR) y Repository y Tivoli Access Manager (TAM):

  1. Crear un módulo de mediación en WESB para el direccionamiento de las solicitudes de los tenants
    a). Crear un módulo de mediación en WID
    b). Agregar un primitivo de mediación personalizado para extraer la ID del tenant
    c). Delegar las decisiones de las autorizaciones a TAM en un primitivo de mediación personalizado
    d).Agregar un primitivo de búsqueda endpoint WSRR para recuperar los endpoints específicos de tenant
    e). Conectar los primitivos de mediación en el flujo de mediación
  2. Agregar las políticas de autorización en TAM
    a). Configurar las políticas de control de acceso TAM
    b). Integrar TAM con WESB
  3. Agregar los metadatos del servicio específico de tenant para el direccionamiento a WSRR
    a). Cargar los metadatos de servicios
    b). Anotar los metadatos del endpoint de servicios con la propiedad de la ID de tenant
    c). Integrar WSRR con WESB

Estos pasos son tratados en detalle en la Parte 8 de esta serie.

Beneficios relativos a cada implementación

Tabla 1 A continuación se describen las ventajas relativas para cada opción de la implementación.

Tabla 1. Beneficios relativos acerca de las tres opciones diferentes de implementación para el módelo de mediación
WebSphere Business Services FabricWebSphere Enterprise Services BusDispositivo WebSphere DataPower SOA
Mediación semántica a través de las políticas empresariales que incluyen afirmaciones sobre las propiedades en el contexto de los servicios. La aplicación requiere poca codificación.Un direccionamiento lógico y complejo puede ser agregado al flujo a través de los primitivos de la mediación.Aceleradores de Hardware para una mejor performance.
Los nuevos tenants pueden ser agregados a través de los cambios de políticas únicamente y sin afectar a los tenants existentes. Construido en el administrador de control para desplegar los cambios de las políticas durante el tiempo de ejecución.Los metadatos de los servicos específicos del nuevo tenant pueden ser agregados durante el tiempo de ejecución a WSRR sin afectar a los potenciales tenants existentes sin ningún cambio en los códigos del flujo de mediación.Los nuevos tenants pueden ser agregados añadiendo nuevas normas de direccionamiento utilizando únicamente los pasos para la codificación sin la necesidad del desarrollo de ningún código.
Construido en una taxonomía y ontología extensible para una mediación semántica. Los conceptos de los ejemplos incluyen: servicios empresariales, endpoints, organizaciones, subscriptores, canales y funciones.Las capacidades de transformación del protoclo incorporado y soporte para muchos tipos de adaptadores.Los servicios de la Web y las características de seguridad de XML para dar soporte a los estándares líderes de la industria, tal como WS-Security. Ccapacidades incorporadas de transformación de protocolos. Una consola de la Web fácil de usar para configurar los dispositivos en forma remota
Administrador de suscriptores y de performance incorporados.Integración continua con Tivoli Access Manager para una mejor administración de las políticas de control de acceso con WebSphere Services Registry y Repository para una mejor administración de los meta-datos de servicio.Integración continua con Tivoli Access Manager para una mejor administración de las políticas de control de acceso con WebSphere Services Registry y Repository para una mejor administración de los meta-datos de servicio.

Conclusión

En este artículo, hemos descrito cómo un nivel de proxy de mediacción puede ofrecer un enfoque viable para una multi-tenancy (multi-usuario) en SaaS. Hemos presentado tres opciones de implementación para este enfoque utilizando los productos del middleware de IBM: 1. WebSphere Business Services Fabric, 2. WebSphere Enterprise Service Bus y 3. WebSphere SOA DataPower appliance, en combinación con WebSphere Service Registry and Repository y Tivoli Access Manager. También hemos presentado algunas ventajas relativas para cada opción de implementación. En los siguientes tutorials presentaremos los pasos de una implementación detallada para cada una de las tres opciones mencionadas anteriormente.

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=SOA y servicios web
ArticleID=513347
ArticleTitle=Desarrollar y desplegar las Soluciones Multi-Tenant brindadas por la Web utilizando el Middleware de IBM: Parte 5: Un enfoque de la mediación para multi-tenancy (multi-usuario) y tres opciones de implementación
publish-date=08262010