Saltar al contenido

Principios SOA (arquitectura orientada a servicios)

La arquitectura orientada a servicios (SOA) es un patrón arquitectónico en el diseño de software de computadora en el que los componentes de la aplicación brindan servicios a otros componentes a través de un protocolo de comunicación, generalmente a través de una red. Los principios de la orientación al servicio son independientes de cualquier producto, proveedor o tecnología.

SOA facilita que los componentes de software de diferentes redes trabajen juntos.

Los servicios web creados de acuerdo con la arquitectura SOA suelen hacer que el servicio web sea más independiente. Los propios servicios web pueden intercambiar datos entre sí y, debido a los principios básicos sobre los que se crean, no requieren ningún tipo de interacción humana y tampoco requieren ninguna modificación de código. Garantiza que los servicios web de una red puedan interactuar entre sí sin problemas.

SOA se basa en una serie de principios clave que se describen a continuación

  1. Contrato de servicio estandarizado – Los servicios se adhieren a un informe de servicio. Un servicio debe tener algún tipo de descripción que describa de qué se trata. Esto facilita que las aplicaciones cliente comprendan lo que hace el servicio.
  1. Bajo acoplamiento – Menor dependencia. Esta es una de las características clave de los servicios web que establece directamente que debe haber la menor dependencia posible entre los servicios web y el cliente que demanda el servicio web. Por lo tanto, si la funcionalidad del servicio cambia en cualquier momento, no debe interrumpir la aplicación cliente ni dejar de funcionar.
  1. Abstracción de servicios – Los servicios incluyen la lógica que componen del mundo exterior. El servicio no debe revelar cómo realiza su funcionalidad; solo debe decirle a la aplicación cliente lo que hace y no cómo lo hace.
  1. Reutilización del servicio – La lógica se divide en servicios con el objetivo de maximizar la reutilización. En cualquier empresa de desarrollo, la usabilidad es un gran problema ya que, obviamente, uno no querría perder tiempo y esfuerzo construyendo el mismo código una y otra vez en las múltiples aplicaciones que lo requieren. Por lo tanto, una vez que se escribe el código para un servicio web, debería poder funcionar con diferentes tipos de aplicaciones.
  1. Autonomía de servicio – Los servicios deben tener control sobre la lógica que componen. El servicio sabe todo sobre la funcionalidad que ofrece, por lo que debería tener un control total sobre el código existente.
  1. Servicio Civil – Idealmente, los servicios deberían ser apátridas. Esto significa que los servicios no deben retener información de un estado a otro. Esto tendría que hacerse desde cualquiera de las aplicaciones cliente. Un ejemplo es un pedido realizado en un sitio de compras. Ahora puedes tener un servicio web que te da el precio de un artículo en particular. Pero si los artículos se agregan a un carrito de compras y la página web va a la página donde realiza el pago, el servicio web no debe responsabilizarse de que el precio del artículo se transfiera a la página de pago. En cambio, debe hacerse con la aplicación web.
  1. Servicio disponible – Los servicios se pueden encontrar (generalmente en un registro de servicios). Ya hemos visto esto en el concepto de UDDI, que crea un registro que puede contener información sobre el servicio web.
  1. Interoperabilidad de servicios – Los servicios no tienen muchos problemas. No se debe incrustar toda la funcionalidad de la aplicación en un servicio, sino dividir el servicio en módulos, cada uno de los cuales tiene una funcionalidad comercial separada.
  1. Interoperabilidad de servicios – Los servicios deben utilizar estándares que permitan que diferentes suscriptores utilicen el servicio. En los servicios web, se utilizan estándares como XML y comunicación a través de HTTP para garantizar que se adhieran a este principio.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *