web-services - servicio - web service soap
¿Por qué necesitamos servicios web? ¿Qué tan diferente es de las aplicaciones web normales? (3)
Fuente: ¿Por qué los servicios web?
- Exponer la función existente en la red:
Un servicio web es una unidad de código administrado que se puede invocar remotamente usando HTTP, es decir, se puede activar mediante solicitudes HTTP. Por lo tanto, los servicios web le permiten exponer la funcionalidad de su código existente a través de la red. Una vez que se expone en la red, otra aplicación puede usar la funcionalidad de su programa.
- Conexión de diferentes aplicaciones, es decir, interoperabilidad:
Los servicios web permiten que diferentes aplicaciones se comuniquen entre sí y compartan datos y servicios entre ellos. Otras aplicaciones también pueden usar los servicios de los servicios web. Por ejemplo, la aplicación VB o .NET puede comunicarse con los servicios web de Java y viceversa. Por lo tanto, los servicios web se utilizan para hacer que la plataforma de aplicaciones y la tecnología sean independientes.
- Protocolo estandarizado:
Los servicios web utilizan un protocolo estándar estándar de la industria para la comunicación. Las cuatro capas (transporte de servicios, mensajería XML, descripción de servicios y capas de detección de servicios) utilizan el protocolo bien definido en la pila de protocolos de servicios web. Esta estandarización de la pila de protocolos brinda al negocio muchas ventajas, como una amplia gama de opciones, una reducción en el costo debido a la competencia y un aumento en la calidad.
- Bajo costo de comunicación:
Los servicios web utilizan SOAP a través del protocolo HTTP para la comunicación, por lo que puede usar su Internet de bajo costo para implementar servicios web. Esta solución es mucho menos costosa en comparación con soluciones propietarias como EDI / B2B. Además de SOAP a través de HTTP, los servicios web también se pueden implementar en otros mecanismos de transporte confiables como FTP, etc.
Acabo de comenzar con los servicios web, así que disculpe si mi pregunta suena estúpida.
¿Por qué necesitamos servicios web? ¿En qué se diferencian de las aplicaciones web normales?
Se han mencionado dos usos en muchos de los tutoriales. Una es la comunicación entre diferentes máquinas / aplicaciones , que suena bien. Pero el siguiente es desarrollar componentes de aplicación reutilizables . Mi pregunta es, ¿necesitamos servicios web para ese fin?
Por ejemplo, un convertidor de moneda se puede implementar como un servicio web y se puede publicar en una url. Pero luego, lo mismo se puede crear como una aplicación web. ¿Dónde está la ventaja real de usar servicios web?
Además, según algunas publicaciones en SO, los servicios web deberían usarse si no hay interfaz de usuario involucrada y aplicaciones web si se requiere una interfaz gráfica de usuario. ¿Es la elección tan simple?
Nota: Aquí me refiero al servicio web basado en SOAP. Los RESTOSOS pueden ser diferentes.
Los servicios web (especialmente SOAP) están diseñados para ser consumidos / leídos / usados por otros programas. Si alguna vez tuvo que escribir un programa de "eliminación de pantalla" (es decir, hacer funcionar una aplicación web y seleccionar los datos que necesita de todas las cosas que hacen que la página sea bonita y amigable para el usuario) apreciará la estructura.
Además, según algunas publicaciones en SO, los servicios web deberían usarse si no hay interfaz de usuario involucrada y aplicaciones web si se requiere una interfaz gráfica de usuario. ¿Es la elección todo eso simpe?
En pocas palabras, "sí".
Hay muchas ventajas de usar web services
. La principal ventaja sobre una aplicación http
regular es que utiliza mensajería SOAP
que es mucho más eficiente y con un menor ancho de banda.
Otra ventaja es que las capas Transporte de servicios, Mensajería XML
, Descripción del servicio y Detección de servicios utilizan un protocolo estándar que facilita a los desarrolladores el desarrollo de funcionalidades independientemente de los lenguajes de programación.
Supongamos que usted es proveedor de un servicio, por ejemplo, previsión meteorológica. ¿Por qué hacer que los desarrolladores vayan a su website
, scrap
su página y luego extraigan los datos que necesitan? ¿No sería más fácil desarrollar esto mediante web service
que un desarrollador puede pasar en una fecha y recuperar un documento xml
bien definido que contenga toda la información que necesita? Lo mismo ocurre con todo tipo de casos ...