¿Qué es SOA? Orientado a servicios ArchiPrincipios de tecnología
¿Qué es SOA (Orientado a Servicios)? Archi¿Tectura)?
Una Orientación al Servicio Architecnología (SOA) es un patrón arquitectónico en el diseño de software informático en el que los componentes de la aplicación proporcionan servicios a otros componentes a través de un protocolo de comunicaciones, normalmente a través de una red. Los principios de la orientación a servicios son independientes de cualquier producto, proveedor o tecnología.
SOA simplemente facilita que los componentes de software de varias redes funcionen entre sí.
Los servicios web que se crean según la arquitectura SOA tienden a hacer que los servicios web sean más independientes. Los propios servicios web pueden intercambiar datos entre sí y, debido a los principios subyacentes en los que se basan, no necesitan ningún tipo de interacción humana ni modificaciones de código. Esto garantiza que los servicios web de una red puedan interactuar entre sí sin problemas.
Orientado a servicios ArchiPrincipios de tecnología (SOA)
Hay 9 tipos de principios de diseño SOA que se mencionan a continuación.
1. Contrato de servicio estandarizado
Los servicios se adhieren a una descripción del servicio. Un servicio debe tener algún tipo de descripción que describa de qué se trata el servicio. Esto facilita que las aplicaciones cliente comprendan qué hace el servicio.
2. Acoplamiento flojo
Less Dependencia mutua. Esta es una de las principales características de los servicios web, que simplemente establece que debe haber la menor dependencia posible entre los servicios web y el cliente que invoca el servicio web. Por lo tanto, si la funcionalidad del servicio cambia en cualquier momento, no debería interrumpir la aplicación cliente ni impedir que funcione.
3. Abstracción de servicios
Los servicios ocultan la lógica que encapsulan del mundo exterior. El servicio no debe exponer cómo ejecuta su funcionalidad; simplemente debería decirle a la aplicación cliente qué hace y no cómo lo hace.
4. Reutilización del servicio
La lógica se divide en servicios con la intención de maximizar la reutilización. En cualquier empresa de desarrollo, la reutilización es un tema importante porque, obviamente, uno no querría perder tiempo y esfuerzo creando el mismo código una y otra vez en múltiples aplicaciones que lo requieran. Por lo tanto, una vez escrito el código de un servicio web, debería poder funcionar con varios tipos de aplicaciones.
5. Autonomía del servicio
Los servicios deberían tener control sobre la lógica que encapsulan. El servicio sabe todo sobre las funciones que ofrece y, por lo tanto, también debe tener control total sobre el código que contiene.
6. Servicio de apatridia
Idealmente, los servicios deberían ser apátridas. Esto significa que los servicios no deben retener información de un estado a otro. Esto debería hacerse desde la aplicación cliente. Un ejemplo puede ser 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 navega a la página donde realiza el pago, la responsabilidad del precio del artículo a transferir a la página de pago no debe ser responsabilidad del servicio web. En cambio, debe hacerlo la aplicación web.
7. Descubrimiento del servicio
Los servicios se pueden descubrir (normalmente en un registro de servicios). Ya hemos visto esto en el concepto de UDDI, que realiza un registro que puede contener información sobre el servicio web.
8. Composibilidad del servicio
Los servicios dividen los grandes problemas en pequeños problemas. Nunca se deben integrar todas las funciones de una aplicación en un solo servicio, sino dividir el servicio en módulos, cada uno con una funcionalidad empresarial independiente.
9. Interoperabilidad de servicios
Los servicios deben utilizar estándares que permitan a diversos suscriptores utilizar el servicio. En servicios web, estándares como XML y la comunicación a través de HTTP se utiliza para garantizar que se ajuste a este principio.