martes, 18 de diciembre de 2007

SOA y el mundo real

Cerrando la serie, unos pocos datos de como se están llevando a cabo hoy en día proyectos de SOA en algunas compañias.

Aunque la aplicación de SOA en las empresas en general solo se ha realizado mediante tímidas pruebas piloto, existen compañías que ya han realizado una implantación masiva de SOA con resultados ya palpables.
Resulta sin embargo muy complicado el obtener datos económicos referentes a las consecuencias de la aplicación de SOA, sobre todo en lo que respecta al ROI de las inversiones, debido a las dificultades y subjetividades de su métrica.
Encuestas recientes a directivos de grandes empresas europeas y americanas en las que se está implementado o se ha implementado SOA, hablan de inversiones en torno a 1M$ en los dos últimos años, dedicadas mayoritariamente a desarrollo de software, a subcontratación de servicios de consultoría externa, y a la formación de empleados.
Los resultados abstraídos de las mencionadas encuestas, arrojan varias conclusiones cualitativas interesantes, que en ocasiones ponen de manifiesto las diferencias culturales existentes por ejemplo, entre empresas americanas y europeas.
Así por ejemplo, las tres razones principales para implementar SOA son:
  • Ahorro de costes
  • Mejora de servicios a clientes
  • Mejora en la rapidez de respuesta al mercado
Paradójicamente, aunque los directivos europeos consideran en mayor número la importancia del impacto en el ahorro de costes en el departamento de tecnologías de la información, el valor de dichas reducciones tanto de desarrollo, como de integración, como de mantenimiento, está muy infravalorado frente a las opiniones americanas.
Las mayores barreras para tomar la decisión de implementar SOA, son:
  • Falta de confianza en una rápida amortización de la inversión
  • Consecución de fondos para acometer la inversión
  • Bajo retorno de la inversión previsto
Curiosamente en América, la decisión está más en manos del Director de Sistemas, mientras que en Europa está en las del Director Financiero.
Precisamente en América es donde se encuentra más información sobre casos concretos. Así, en un reciente estudio realizado en 2007 sobre resultados de 2006, se han identificado al menos 10 compañías que hayan aplicado SOA de una forma exitosa.
El espectro de dichas compañías es bastante variado, lo que da una idea de la horizontalidad de estas tecnologías. Sectorialmente, destacan las compañías tecnológicas, las plataformas de servicios online, y las instituciones financieras.










CompañíaVentajas por aplicar SOADatos económicos
IBMReducción de 16.000 a 4.000 aplicaciones almacenadas en Deep Blue. 77 únicos servicios compartidos reutilizablesNA
Hewlett Packard Mayor agilidad de respuesta al mercado. Gran disminución de requerimientos en los procesos de las transacciones. 70M$ en 5-6 años
Wachovia Bank Aplicaciones y modelos de negocio compartidos. Adjudicación de recientes contratos multimillonarios NA
Ameriprise Financial Reutilización de aplicaciones Ahorros en costes de desarrollo de 10M$
Citigroup Orden y transparencia estructural NA
Amazon Flexibilidad y escalabilidad para afrontar millones de transacciones NA
eBay Poder manejar con habilidad más de 2 petabytes de datos, seis millones de líneas de código, y 100.000 nuevas líneas cada dos semanas. Creación de una plataforma de integración capaz de utilizar cualquier base de datos dentro de la compañía NA
OnStar (GM) Poder dotar a todos los vehículos de GM en venta desde finales de 2007, con numerosos novedosos servicios online. Transformación de 7 u 8 aplicaciones anteriormente inconexas e independientes en una gran aplicación común. NA
Harley Davidson Apoyo a campañas de marketing y ventas más ágiles. Beneficios para la unidad de préstamos y financiación de motocicletas. NA
Dream Works Reusabilidad de diversos componentes de sus anteriores aplicaciones. Por ejemplo, el componente de autentificación de empleados ha sido reutilizado para 12 de las aplicaciones actuales. NA

Existen también algunos ejemplos de compañías europeas que están aplicando SOA con éxito. Entre ellos cabe reseñar por tratarse de un sector empresarial diferente a los mostrados anteriormente, el caso de SAS, la aerolínea escandinava.Aunque todavía en proceso de implementación (esperan terminar en Marzo de 2008), desde SAS se atreven a valorar ya ciertos ahorros, como los de costes de mantenimiento mensuales de sus aplicaciones, que podrán reducirse en 250.000 $.SOA permitirá a SAS el tener una única columna vertebral de mensajería entre sus diversos sistemas en tiempo real, de forma que multitud de operaciones afectadas por las reparaciones de equipos o los retrasos por inclemencias meteorológicas, podrán optimizarse ofreciendo por lo tanto un mejor servicio a sus clientes.
Los proveedores de tecnología están actuando ágilmente ante el aumento de demanda para la implementación de SOA en las empresas. De esta forma, Oracle está lanzando ya productos que permiten la compatibilidad y la integración con software de diferentes tecnologías. Su primer producto ha estado orientado a la integración con cualquier CRM de cualquier empresa, centrando en la actualidad sus esfuerzos para lanzar productos de integración con software de banca, call centers o promoción para distribuidores.
Sin embargo, no todas las historias de implementación de SOA han sido de éxito. Éste es el caso de la compañía SalesForce.com, cuyo error no ha sido otro que el de haber aplicado SOA mucho más tarde que sus competidores (3 – 4 años). Este hecho les ha reportado importantes pérdidas, debido a que sus clientes elegían otras plataformas de sus competidores en las que SOA había dejado ya huella.
__________________________
Fuente:
  • http://blogs.zdnet.com/service-oriented/
  • Computerworld news (Artículos del 23 de Abril, 7 de Mayo y 28 de Mayo de 2007)
  • SOA Research Costs & Benefits. GCR Custom Research

jueves, 6 de diciembre de 2007

SOA para los de TI

Penultima entrega del serial. Esta vez ser aborda SOA desde el punto de vista de la gente de sistemas de la empresa en la que se va a implantar.

Volvamos un poco sobre las piezas que componen la arquitectura (o modelo de referencia) SOA. Si bien SOA no es un producto o una tecnología especifica si que el modelo de referencia que proponen algunos fabricantes (1) ya aterriza alguno de los conceptos propuestos por SOA sobre ciertas tecnologías y define como son las relaciones entre cada pieza.

Basado en servicios
A pesar de que iniciativas como los ERP tratan de solucionarlo, la tecnología dentro de una organización está típicamente dirigida a resolver los problemas del proyecto o segmento que los reclama. Esto produce redundancias. Los proyectos si que compartían funcionalidad, pero lo hacían a nivel de código o componente (sobre la zona marcada como ‘Sistemas de gestión empresarial’).
Una aproximación basada en servicios cambia la manera en que TI desarrolla y da soluciones. Las funcionalidades son compartidas ahora a un nivel más alto y por toda la empresa. Esto tiene grandes beneficios, aunque va a requerir un esfuerzo extra para controlar (BMP), monitorizar (BAM) y distribuir las funcionalidades en forma de servicios.
Toda esta coordinación entre funcionalidades tan heterogéneas requiere la intervención del llamado ESB (Enterprise Service Bus). El ESB es una solución de integración distribuida, basada en los mensajes y en estándares abiertos (2). Su función es proporcionar una comunicación fiable entre los distintos recursos tecnológicos tales como aplicaciones, plataformas y servicios, que están distribuidos en múltiples sistemas por toda la empresa. Este concepto, previo a la aparición de SOA, forma parte fundamental del paradigma pero no se debe pensar en SOA como sólo un ESB.
Otra de las piezas fundamentales si orientamos nuestra arquitectura a servicios es el poder descubrir los servicios (tanto internamente para reutilizarlos, como externamente para que los usuarios fuera de nuestra empresa puedan acceder a aquellos que deseemos publicar). Esto se realiza a través del uso de un directorio de servicios.

Uso de estándares
Normalmente cada proyecto elegía la tecnología que más le convenía para satisfacer los requerimientos. Recientemente la aparición de tecnologías como XML (mensajería y configuración), Servicios Web (construcción de los servicios) y UDDI (descubrimiento y directorio de servicios), han proporcionado los estándares sobre los que se puede empezar a construir soluciones tecnológicas que sigan el paradigma SOA.

Dialogo entre TI y negocio
En casi todas las empresas, los usuarios de negocio requieren docenas de aplicaciones para llevar a cabo sus actividades diarias. Esto es una consecuencia más del enfoque tradicional de TI de diseñar producto a producto las soluciones.
El propósito de SOA es proporcionar la funcionalidad al negocio al mismo nivel al que los usuarios de negocio lo conciben, haciendo más sencillo para ellos el entender, rediseñar, probar y operar los parámetros de negocio que se ponen a su disposición desde TI (3). Esto requiere una relación muy estrecha entre negocio y TI, más de lo que ya venía siendo con la implantación de ERPs y CRMs.
Para facilitar todo esto, los fabricantes de software están trabajando en herramientas que permite conectar los dos mundos: el de los requerimientos y las reglas de negocio, con el puro desarrollo de soluciones.


En este esquema propuesto por IBM (4) podemos observar como todo el proceso se entiende como un círculo virtuoso en el que las decisiones de negocio son recogidas por los desarrolladores, aplicadas y después de ser probadas pasan de nuevo a negocio para su optimización. Esto, que no es nada nuevo y que debería ser así incluso en proyectos tradicionales, tiene como novedad que está soportado por herramientas que interconectan a todos los participantes y que el objetivo de desarrollo es el servicio propuesto por el paradigma SOA.
____
  • (1) A más alto nivel los modelos propuestos por los diversos fabricantes son muy parecidos, en este caso utilizaremos el propuesto por BEA (BEA – SOA Domain Model) uno de los principales fabricantes de este tipo de soluciones.
  • (2) Se pueden encontrar muchas definiciones de ESB, en este caso recogemos la propuesta por Tibco, uno de los fabricantes tradicionales de este tipo de soluciones (http://www.tibco.com/international/spain/resources/es_esb_for_soa.pdf).
  • (3) Computerworld – SOAs helps build dialogue between IT, Business-users (SEP06)
  • (4) IBM Business Driven Development