¿Qué es el servicio web?
Pongo mis notas de estudio y experiencias de aprendizaje en mi blog. Las correcciones son bienvenidas. Hoy escribiré sobre la pregunta más básica, ¿qué es exactamente un servicio web? 1. El concepto de servicio web Si desea comprender el servicio web, primero debe comprender qué es el servicio. Tradicionalmente, llamamos "servicios" a las funciones proporcionadas por los programas en segundo plano de la computadora (Daemon). Por ejemplo, si deja que se ejecute un software antivirus en segundo plano y este monitoreará automáticamente el sistema, entonces este monitoreo automático es un "servicio". En términos sencillos, un "servicio" es una determinada función que una computadora puede proporcionar. Según diferentes fuentes, los "servicios" se pueden dividir en dos tipos: uno es "servicio local" (utiliza servicios proporcionados por la misma máquina, no se requiere red) y el otro es "servicio de red" (utiliza servicios proporcionados por otra (los servicios informáticos deben realizarse a través de Internet). Por ejemplo, tengo un lote de imágenes y necesito reducir su tamaño a la mitad. Entonces, podemos pensar en el "ampliar imágenes" como un servicio. Puede usar el "servicio local" para usar software para reducir la imagen en su computadora, o puede usar el "servicio de red" para cargar la imagen en un sitio web, dejar que el servidor reduzca la imagen por usted y luego enviársela de regreso. a través de la red una vez finalizado. Es como si pudieras hacer algo tú mismo o dejárselo a otra persona. Cuando tenga hambre, puede cocinar usted mismo o puede llamar y pedir una pizza y pedirle a la tienda que la cocine por usted y se la entregue en su puerta. La esencia del "Servicio Web" es llamar a los recursos de otros sitios web a través de la red. Por ejemplo, el año pasado escribí un "Muro de imágenes del terremoto de Sichuan" que muestra dinámicamente las últimas imágenes sobre el terremoto de Sichuan. Sin embargo, todas las imágenes no se almacenan en mi servidor, sino en flickr.com. Simplemente hago una solicitud dinámica pidiendo a flickr.com que me proporcione la imagen. En este caso, flickr.com proporciona un servicio web. Si almaceno todas las imágenes en el servidor local y no llamo a flickr.com, entonces estoy usando el "servicio local". Por lo tanto, los servicios web permiten que su sitio web utilice recursos de otros sitios web, como mostrar el clima, mapas, las últimas actualizaciones de Twitter, etc. en la página web. 2. Arquitectura de Servicio Web y Nube Si la parte principal de un software utiliza "servicios de red", es decir, "subcontrata" el almacenamiento o los enlaces informáticos a otros sitios web, entonces decimos que el software pertenece a la arquitectura de Servicio Web. La idea básica de la arquitectura del servicio web es dejar las funciones no centrales a otros tanto como sea posible y desarrollar las funciones principales usted mismo. Por ejemplo, si desea desarrollar un software para un álbum de fotos, puede utilizar el servicio de red de Flickr para almacenar todas las fotos en él. Sólo necesita hacer todo lo posible para crear el álbum de fotos. En términos generales, cualquier función que no forme parte de su competitividad central debe ser "subcontratada". Los recientemente populares "computación en la nube" o "servicios en la nube" son en realidad sinónimos de servicio web, pero son más vívidos. No dicen que dejes las cosas en otras computadoras, pero dicen que las dejas en la "nube". 3. Desventajas de los servicios locales Los "servicios de red" son la tendencia futura del desarrollo y uso de software. Los servicios locales se utilizarán cada vez menos, principalmente por las siguientes tres razones: * Recursos locales insuficientes. Muchos datos e información no están disponibles localmente y sólo se pueden obtener de otros sitios web. * Factores de costo. A menudo resulta antieconómico proporcionar servicios localmente y resulta más económico utilizar los servicios de un sitio web profesional. Esto implica tanto hardware como personal. Incluso si puede permitirse el lujo de adquirir el hardware, encontrar una persona que administre el sistema sigue siendo muy problemático. *Pobre portabilidad. Si desea portar servicios locales a otras máquinas, suele resultar difícil, especialmente en situaciones multiplataforma.
4. Ventajas del Servicio Web Además de las desventajas de los servicios locales, el Servicio Web también tiene las siguientes ventajas: * Independiente de la plataforma. No importa qué plataforma utilice, puede utilizar servicios web. * Lenguaje de programación independiente. Siempre que cumpla con los protocolos pertinentes, puede utilizar cualquier lenguaje de programación para solicitar servicios web de otros sitios web. Esto aumenta enormemente la aplicabilidad de los servicios web y reduce los requisitos para los programadores. * Para los proveedores de servicios web, implementar, actualizar y mantener servicios web es muy simple, no es necesario considerar problemas de compatibilidad con el cliente y se puede completar de una vez. * Para los usuarios de servicios web, pueden implementar fácilmente la agregación (mashup) de múltiples datos y múltiples servicios, para que puedan hacer cosas que antes eran simplemente inimaginables. 5. Tendencias de desarrollo de servicios web Según mi observación, actualmente existen varias tendencias de desarrollo de servicios web. * En términos de uso, el uso de RPC y jabón está disminuyendo, y la arquitectura Restful ocupa la posición dominante. * En términos de formato de datos, el uso del formato XML está disminuyendo y el uso de formatos ligeros como json está aumentando. * En términos de arquitectura de diseño, cada vez más software de terceros permite a los usuarios comunicarse directamente con la nube en el cliente (es decir, el navegador), en lugar de utilizar servidores de terceros para transferir o procesar datos. (Fin)