SOA: descripción general

¿Qué es la arquitectura orientada a servicios (SOA)?

La Arquitectura Orientada a Servicios es un diseño arquitectónico que incluye una colección de servicios en una red que se comunican entre sí. La complicación de cada servicio no es perceptible para otros servicios. El servicio es un tipo de operación bien definida, autónoma que proporciona una funcionalidad separada, como verificar los detalles de la cuenta del cliente, imprimir extractos bancarios, etc. y no depende del estado de otros servicios.

Historia

El primer informe publicado sobre SOA por los analistas Roy W.Schulte y Yefim V.Natis en 1996.

¿Por qué utilizar SOA?

  • SOA se usa ampliamente en el mercado que responde rápidamente y realiza cambios efectivos de acuerdo con las situaciones del mercado.

  • La SOA mantiene en secreto los detalles de implementación de los subsistemas.

  • Permite la interacción de nuevos canales con clientes, socios y proveedores.

  • Autoriza a las empresas a seleccionar software o hardware de su elección, ya que actúa como plataforma independiente.

Caracteristicas

  • SOA utiliza interfaces que resuelven los difíciles problemas de integración en sistemas grandes.

  • SOA comunica a los clientes, proveedores y proveedores con mensajes utilizando el esquema XML.

  • Utiliza el monitoreo de mensajes para mejorar la medición del desempeño y detecta los ataques a la seguridad.

  • A medida que reutilice el servicio, habrá menores costos de gestión y desarrollo de software.

Ventajas

  • SOA permite reutilizar el servicio de un sistema existente construyendo alternativamente el nuevo sistema.

  • Permite conectar nuevos servicios o actualizar los existentes para adaptarlos a los nuevos requisitos comerciales.

  • Puede mejorar el rendimiento, la funcionalidad de un servicio y actualiza fácilmente el sistema.

  • SOA tiene la capacidad de ajustar o modificar los diferentes entornos externos y las aplicaciones grandes se pueden administrar fácilmente.

  • Las empresas pueden desarrollar aplicaciones sin reemplazar las aplicaciones existentes.

  • Proporciona aplicaciones confiables en las que puede probar y depurar los servicios independientes fácilmente en comparación con una gran cantidad de código.

Desventajas

  • SOA requiere un alto costo de inversión (significa una gran inversión en tecnología, desarrollo y recursos humanos).

  • Hay una mayor sobrecarga cuando un servicio interactúa con otro servicio, lo que aumenta el tiempo de respuesta y la carga de la máquina al validar los parámetros de entrada.

  • SOA no es adecuado para aplicaciones GUI (interfaz gráfica de usuario) que se volverán más complejas cuando SOA requiera un gran intercambio de datos.