Estrategias

SOA: una arquitectura para la empresa del S. XXI

SOA (Service-Oriented Architecture) es, fundamentalmente, una metodología de desarrollo que fomenta la compartición de funciones de aplicación invocables de manera remota a través de las redes. Es una forma de hacer más con menos, donde las aplicaciones pueden ser construidas más rápidamente y, cada vez, con menos líneas de código original. Algunos de sus beneficios son cuantificables, pero el más importante reside en su capacidad de alineamiento con las necesidades de las organizaciones dinámicas y flexibles del siglo XXI.

La arquitectura orientada a servicios (SOA) puede definirse como una metodología de desarrollo de software que fomenta que los desarrolladores compartan y reutilicen código. En general, hace referencia a cualquier entorno de aplicación distribuido que enfatice la virtualización y la reutilización de los servicios como prácticas de desarrollo.

Entre sus ventajas destaca el hecho de permitir a las empresas crear recursos TI más flexibles y adaptables. Algunos beneficios concretos son la mayor rapidez en el desarrollo de aplicaciones, la consolidación y la mayor consistencia de los procesos de negocio a través de las aplicaciones que comparten servicios comunes.

Cuanto más reutilice, más ahorrará
Desde la perspectiva del ahorro de costes, el punto fuerte de SOA es que el coste marginal de construir nuevas aplicaciones bajará de manera progresiva a medida que el nivel de reuso de un servicio aumenta. El reto, que exige replantearse muchas de las aproximaciones tradicionales al diseño, desarrollo, integración, despliegue, y gestión de las aplicaciones.

“No puedo garantizar que sea la manera más barata de construir su próximo producto, pero sí que no existe ninguna manera más económica de construir sus próximos 20 productos”, resume Christopher Crowhurst, vicepresidente y arquitecto principal de Thomson Learning.

Ken Vollmer y Mike Gilpin, analistas de Forrester Research, estiman que un desarrollo basado en SOA puede llegar a resultar hasta dos veces más costoso que uno tradicional si se ve aisladamente para construir un componente de aplicación particular. Pero cuando el componente de aplicación es reusado una y otra vez, SOA aumenta su efectividad en costes hasta convertirse en más de 30% más barata que las aproximaciones de desarrollo tradicionales.

Muchos de los ahorros de SOA provienen de su poder para consolidar silos de datos y funcionalidad de aplicación redundantes dispersas por toda la organización. La disminución de las licencias de software y servidores se traduce también en ahorros de costes en capital y cargas operativas. Menores componentes de software redundante, lo hacen en menor necesidad de duplicar recursos en los equipos de programación. Finalmente, la consolidación de las aplicaciones en plataformas reduce los costes de ciclo de vida del software, que, según Gartner, pueden ser hasta seis veces mayores que los costes de licencias.

Standard Life Group es una compañía escocesa de seguros que mantiene tres grupos de desarrollo con unas 500 personas, aproximadamente la mitad de las cuales están dedicados a servicios y aplicaciones SOA. Un equipo de siete profesionales gestiona su infraestructura de aplicaciones distribuidas sobre la que se soporta SOA.
“Hemos ahorrado unos 2,8 millones de libras en gastos de desarrollo durante los tres pasados años gracias a la reutilización de la funcionalidad ya existente dentro de nuestro catálogo de servicios”, asegura Dereck Ireland, director de soluciones de tecnología corporativa de la empresa.

Actualmente, la compañía cuenta con unos 300 servicios reutilizables dentro de su catálogo. Más de la mitad de ellos han sido reutilizados al menos una vez y se han producido más de 361 reusos. El porcentaje de transacciones de back-end que se inician a través de su entorno basado en SOA supera ya el 40%.

Independencia de suministrador
Otras empresas también reportan recompensas económicas cuantificables y cualitativas. “Hemos tenido grandes ahorros en licencias de bases de datos Oracle”, explica Jayson Minard, CIO de Abebooks, el mayor marketplace online para la búsqueda y compra de libros a nivel mundial.

Además, con SOA, al reforzar la virtualización de servicios agnósticos respecto de plataformas, las empresas pueden elegir los componentes mejores y más efectivos en costes para cada función particular, algo que también puede traducirse en importantes ahorros. “Con SOA puedes seguir la senda SOA de un determinado suministrador -explica Minard- o hacer lo que nosotros hemos hecho. Primero, identificamos las funcionalidades y beneficios que perseguimos, como flexibilidad, la descomposición, las comunicaciones asíncronas o la división de los límites de servicio. A continuación, identificamos los mejores productos disponibles para esos requerimientos. En nuestro caso, evaluamos catorce productos, incluidas ofertas comerciales y paquetes de código abierto. Probamos la interoperatividad entre ellos y eliminamos aquellos cuyos suministradores tenían un enfoque estratégico de SOA diferente al nuestro”.

La mayor rapidez de desarrollo de las aplicaciones basadas en SOA también puede contribuir a la salud financiera y a la agilidad competitiva de las empresas. "Aplicaciones cuyo desarrollo exigía generalmente dos semanas de trabajo, pueden ser ahora creadas en dos días”, asegura Minard.

Arquitectura en línea con los nuevos negocios
Con total seguridad esta es la principal razón del irremediable éxito a largo plazo de SOA. SOA reemplazará antes o después a las antiguas aplicaciones, dado su poder para ayudar a las empresas a alinear TI y negocio. En el entorno actual caracterizado por un cambio en continua aceleración, los modelos de aplicaciones “de talla única” no ayudan en absoluto a las organizaciones a hacer sus negocios de manera más eficiente, y los desarrollos a medida resultan a menudo demasiado costosos y exigen un tiempo del que los negocios no disponen.

Las caras, inflexibles y monolíticas aplicaciones empresariales tradicionales simplemente no son ya capaces de satisfacer las necesidades de las empresas en el mundo "webificado", siempre conectado, bajo demanda y en tiempo real de hoy en día. Más bien se han convertido en un ancla que, a menudo, dificulta a las empresas avanzar al ritmo deseado. Se necesitan nuevas maneras de escribir, vender, gestionar y desplegar aplicaciones. Software como servicio, bajo demanda, código abierto y, sobre todo, SOA son algunos de los conceptos que harán posible la transformación.

Según Charles Stack, CEO de Flashline, proveedor de soluciones de gestión de activos y SOA, “la complejidad y rigidez de los sistemas tradicionales resultan en un desalineamiento demasiado frecuente entre TI y negocio. La parte TI debe arrastrar la carga de mantener sistemas y procesos del siglo XX que se han vuelto pesados e ineficientes en exceso para tratar con las demandas impuestas por los entornos de los negocios del siglo XXI. De hecho, en muchas organizaciones, las cargas de mantenimiento alcanzan niveles cercanos al 80% del presupuesto total de TI”.

El principal valor: la flexibilidad
Esto no es nada nuevo para los profesionales TI, quienes durante años han tenido que soportar estos inconvenientes, debido a que no existía alternativa alguna para automatizar los procesos de negocio críticos. “Una automatización inflexible era mejor que ninguna, hasta ahora. Pero en el futuro, las empresas pueden adoptar SOA y crear aplicaciones compuestas de componentes de software modulares interconectados mediante estándares de servicios Web abiertos y bien definidos. De manera similar a como las compañías migraron del mainframe a las plataformas clie

TE PUEDE INTERESAR...

Nuevo número de nuestra revista de canal 
 
DealerWorld Digital

 

Cobertura de nuestros encuentros

 

Documentos ComputerWorld



Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?