Arquitectura Orientada a Servicios (SOA): Beneficios, Desafíos y Evolución en la Ingeniería de Software

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,7 KB

Ventajas de la Arquitectura Orientada a Servicios (SOA)

  • SOA, como arquitectura, propone un cambio a la empresa como un todo.
  • El bajo acoplamiento de los servicios genera la independencia del uso de uno u otro servicio.
  • SOA proporciona ventajas a nivel operativo, por ejemplo, rapidez en la implementación de nuevos procesos, economía en el mantenimiento, agilidad en su diseño, minimizando los costos.
  • SOA no propone un cambio radical, o una revolución, sino que permite utilizar módulos previos, o sistemas antiguos haciendo la migración menos violenta.
  • En palabras de un experto: "SOA tiene cuatro ventajas: es a la medida del cliente, es absolutamente modular, más flexible, pero también tenemos la ventaja de que nos facilita la extensión de la estructura que existe hoy".

Desventajas de la Arquitectura Orientada a Servicios (SOA)

  • "En la mayoría de las empresas, la proliferación de aplicaciones lleva al surgimiento espontáneo de una arquitectura corporativa “accidental”, esto es, no planeada."
  • "Incrementalmente se hace difícil y costoso el ser capaz de cumplir con los protocolos y hablar con un servicio".
  • "El conocimiento de los servicios es necesario para poder usar el servicio que proporciona un directorio de servicios. Dado que la Web es ilimitada por naturaleza, es imposible mantener tal directorio".
  • "Implica conocer los procesos del negocio, clasificarlos, extraer las funciones que son comunes a ellos, estandarizarlas y formar con ellas capas de servicios que serán requeridas por cualquier proceso de negocio".
  • "Al 2008, SOA será predominante en las prácticas de Ingeniería de Software, terminando con 10 años de dominio de las arquitecturas monolíticas". (Esta afirmación debe considerarse en su contexto histórico).

SOA como Tendencia en la Ingeniería de Software

  • SOA es un tipo de arquitectura cuyo objetivo principal es lograr un débil acoplamiento entre los componentes de software que interactúan entre sí. La idea del débil acoplamiento está enfocada a que cada componente del sistema no esté atado el uno al otro, de forma tal que se puedan intercambiar fácilmente, en consecuencia lograr una interacción más flexible entre componentes.
  • Por otro lado, la atomicidad hace referencia a que se ejecute una tarea en una unidad de trabajo, en consecuencia una tarea se ejecuta de principio a fin sin que sea intervenida por otra.

Elementos Básicos de SOA

  • Proveedores de Servicios.
  • Consumidores de Servicios.
  • Bus Empresarial de Servicios (ESB).

En realidad, todo componente dentro de una organización puede ser tanto proveedor como consumidor de servicios. Todos los servicios interactúan entre sí a través de un Bus Empresarial de Servicios. El ESB es muy probablemente el componente más importante aún no mencionado. El ESB se basa en la mejor práctica en patrones de diseño para integración de aplicaciones.

Evolución hacia la Arquitectura Orientada a Servicios

DesdeHasta
Orientación a FuncionesOrientación a Procesos
Creada para DurarCreada para el Cambio
Ciclos de Desarrollo ProlongadoDesarrollo e Implementación Incremental
Silos de AplicacionesSoluciones Orquestadas
Acoplamiento FuerteAcoplamiento Débil
Orientación a ObjetosOrientación a Mensajes
Implementación ConocidaAbstracción

Entradas relacionadas: