sábado, 29 de mayo de 2010

Reduciendo riesgos de malos tiempos de respuesta en SOA con XTP

Adoptar una arquitectura orientada a servicios (SOA) para el desarrollo de una aplicación conlleva el riesgo de tiempos de respuesta inadecuados. Esto debido principalmente a que los estándares que se utilizan para la construcción de este tipo de aplicaciones hacen uso intensivo del lenguaje XML, el cual por ser basado en texto requiere mayores recursos de procesamiento.
Existen varias formas de mitigar este riesgo, pero quisiera mencionar una notablemente efectiva: la construcción de servicios utilizando tecnologías de procesamiento extremo de transacciones (XTP).
Este tipo de tecnologías, del cual el producto Oracle Coherence es un ejemplo, permiten que los servicios no requieran ir necesariamente a una base de datos cuando tengan que guardar u obtener información, ya que utilizan la memoria de múltiples servidores como un gran caché de objetos distribuido y robusto sobre el cual los servicios pueden trabajar en vez de con la base de datos. Este caché tiene la inteligencia necesaria para guardar la información en las bases de datos anacrónicamente si así se desea.
Al trabajar con memoria, en vez de ir a buscar información a los dispositivos clásicos de almacenamiento (discos duros, SANs, etc.), los tiempos de respuesta aumentan en orden de magnitud.
A los CIOs o gerentes de desarrollo que estén embarcándose en nuevos proyectos, con altos requerimientos de desempeño, y donde SOA no sólo vaya a usarse para integrar legacys, sino que para construir activos reutilizables, definitivamente recomiendo al menos leer el resumen de las capacidades de productos como Oracle Coherence. A los arquitectos de software, recomiendo estudiar el patrón Service Grid, el cual aclara cómo técnicamente la construcción de los servicios puede hacerse para aprovechar estas tecnologías.

 Fuentes
SOA Design Patterns (The Prentice Hall Service-Oriented Computing Series from Thomas Erl) Oracle Coherence 3.5