Diferencia entre SOA y servicios web

Diferencia entre SOA y servicios web
Diferencia entre SOA y servicios web

Video: Diferencia entre SOA y servicios web

Video: Diferencia entre SOA y servicios web
Video: Ciclos económicos: ¿cuál es la diferencia entre recesión y depresión? 2024, Noviembre
Anonim

SOA frente a servicios web

Los servicios web se utilizan para crear aplicaciones que pueden enviar/recibir mensajes mediante SOAP sobre HTTP. Un servicio web es un paquete publicitado de funcionalidad que se ofrece a través de la web. SOA es un conjunto de conceptos arquitectónicos utilizados para el desarrollo e integración de servicios. Los servicios web se pueden utilizar para implementar SOA. Pero es solo un método único para realizar aplicaciones basadas en SOA.

¿Qué son los servicios web?

Un servicio web es un método de comunicación a través de la red. Según el W3C, un servicio web es un sistema dedicado a soportar transacciones de máquina a máquina a través de una red. Es una API web descrita en WSDL (Lenguaje de descripción de servicios web), y los servicios web suelen ser autónomos y autodescriptivos. Los servicios web se pueden descubrir utilizando el protocolo UDDI (Universal Description, Discovery and Integration). Al intercambiar mensajes SOAP (Protocolo simple de acceso a objetos) normalmente a través de HTTP (con XML), otros sistemas pueden interactuar con los servicios web.

Los servicios web se utilizan de diversas formas, como RPC (llamadas a procedimiento remoto), SOA (arquitectura orientada a servicios) y REST (transferencia de estado representacional). Hay dos metodologías de diseño automatizado para desarrollar servicios Web. El enfoque de abajo hacia arriba trata de crear primero las clases y luego usar herramientas de generación de WSDL para componer estas clases como servicios web. El enfoque de arriba hacia abajo trata de definir las especificaciones WSDL y luego usar herramientas de generación de código para generar las clases correspondientes. Los servicios web tienen dos usos principales. Se pueden utilizar como componentes de aplicaciones reutilizables y/o para conectar aplicaciones web que se ejecutan en diferentes plataformas.

¿Qué es SOA?

SOA (Arquitectura orientada a servicios) es un conjunto de conceptos arquitectónicos utilizados para el desarrollo e integración de servicios. SOA se ocupa de la informática distribuida, en la que los consumidores consumen un conjunto de servicios interoperables. Múltiples consumidores pueden consumir un solo servicio y viceversa. Por lo tanto, SOA se usa a menudo para integrar múltiples aplicaciones que usan diferentes plataformas. Para que SOA funcione correctamente, los servicios deben estar acoplados de forma flexible con los sistemas operativos y las tecnologías de las aplicaciones subyacentes. Los desarrolladores de SOA crean servicios utilizando unidades de funcionalidad y los ponen a disposición a través de Internet. Los servicios web se pueden utilizar para implementar la arquitectura SOA. En ese caso, los servicios web se convierten en las unidades de funcionalidad de SOA accesibles a través de Internet. Los servicios web pueden ser utilizados por cualquier persona sin preocuparse por las plataformas o los lenguajes de programación utilizados para desarrollarlos. SOA se basa directamente en el principio de orientación a servicios, que habla de servicios con una interfaz simple a la que los usuarios pueden acceder de forma independiente sin preocuparse por la implementación real de la plataforma del servicio.

¿Cuál es la diferencia entre SOA y los servicios web?

Existen algunas diferencias clave entre los servicios web y SOA. Los servicios web definen una tecnología web que se puede utilizar para crear aplicaciones que pueden enviar/recibir mensajes mediante SOPA sobre HTTP. Sin embargo, SOA es un modelo arquitectónico para implementar aplicaciones basadas en servicios débilmente acoplados. Los servicios web se pueden utilizar para implementar aplicaciones SOA. Aunque el enfoque de servicio web para SOA se ha vuelto muy popular, es solo un método único para implementar SOA. SOA se puede implementar utilizando cualquier otra tecnología basada en servicios (por ejemplo, CORBA y REST).

Recomendado: