Red de conocimiento informático - Problemas con los teléfonos móviles - Habilidades de aplicaciones web (1) ¿Cómo llamar a WebService?

Habilidades de aplicaciones web (1) ¿Cómo llamar a WebService?

A primera vista, un servicio web es una aplicación que expone una API a la que se puede llamar a través de la web al mundo exterior. Esto significa que puede llamar a esta aplicación mediante programación a través de la Web. Una explicación más precisa de los servicios web: los servicios web son una nueva plataforma para crear aplicaciones distribuidas interoperables. Como programador de Windows, es posible que haya creado aplicaciones distribuidas basadas en componentes utilizando COM o DCOM. COM es una muy buena tecnología de componentes, pero podemos citar fácilmente situaciones en las que COM no puede cumplir los requisitos. La plataforma de servicios web es un conjunto de estándares que definen cómo las aplicaciones pueden interoperar en la web. Puede escribir servicios web en cualquier idioma que desee y en cualquier plataforma que desee, siempre que podamos consultar y acceder a estos servicios a través de estándares de servicios web. No importa qué herramienta utilice su servicio web o en qué idioma esté escrito, siempre que utilice el protocolo SOAP para llamarlo a través de HTTP, la estructura general será la misma. Normalmente, usted crea su servicio web en su idioma favorito (como VB 6 o VB.NET) y luego utiliza el kit de herramientas SOAP o el soporte integrado de .NET para exponerlo a los clientes web. Por lo tanto, los clientes en cualquier idioma y en cualquier plataforma pueden leer su documento WSDL para llamar a este servicio web. El cliente generará un mensaje de solicitud SOAP basado en el documento de descripción WSDL. Los servicios web se colocan detrás de un servidor web (como IIS). La solicitud SOAP generada por el cliente se integrará en una solicitud HTTP POST y se enviará al servidor web. Luego, el servidor web reenvía estas solicitudes al procesador de solicitudes de servicios web. Para los programas VB 6, el controlador de solicitudes de servicios web es una página ASP o extensión ISAPI que funciona junto con el componente SOAP Toolkit. Para los programas VB.NET, el procesador de solicitudes de servicios web es una extensión ISAPI que viene con .NET Framework. La función del procesador de solicitudes es analizar la solicitud SOAP recibida, llamar al servicio web y luego generar la respuesta SOAP correspondiente. Una vez que el servidor web recibe la respuesta SOAP, la enviará de vuelta al cliente a través de una respuesta HTTP. 2. Conceptos básicos Una vez creado el servicio SOAPWeb, otros lo llamarán. El Protocolo simple de acceso a objetos (SOAP) proporciona métodos estándar de llamada a procedimiento remoto (RPC) para llamar a servicios web. La especificación SOAP define el formato de los mensajes SOAP y cómo utilizar SOAP a través del protocolo HTTP. SOAP también se basa en XML y XSD. XML es el método de codificación de datos de SOAP. Las solicitudes de llamada a métodos y los valores de retorno de resultados entre el cliente y el servidor se colocan en estos mensajes. XML y XSD El lenguaje de marcado extensible (XML) es el formato básico para representar datos en la plataforma de servicios web. Además de ser fácil de crear y analizar, la principal ventaja de XML es que es independiente de la plataforma y del proveedor. La irrelevancia es más importante que la superioridad técnica. XML resuelve el problema de la representación de datos, pero no define un conjunto de tipos de datos estándar, y mucho menos cómo ampliar este conjunto de tipos de datos. Por ejemplo, ¿qué representa exactamente un número entero? 16 bits, 32 bits o 64 bits. Estos detalles son importantes para lograr la interoperabilidad. XML Schema (XSD) desarrollado por W3C es un conjunto de estándares que resuelve específicamente este problema. Define un conjunto estándar de tipos de datos y proporciona un lenguaje para ampliar este conjunto de tipos de datos. La plataforma de servicios web utiliza XSD como sistema de tipos de datos. Al construir un servicio web en un determinado lenguaje (como VB.NET o C#), para cumplir con el estándar de servicio web, todos los tipos de datos utilizados deben convertirse a tipos XSD.

WSDL (Lenguaje de descripción de servicios web) es un formato XML utilizado para describir los servicios proporcionados por el servidor. El archivo WSDL describe los servicios proporcionados por el servidor, los métodos de llamada proporcionados y el formato a seguir al llamar, como el formato de los parámetros de llamada y los valores de retorno, etc. WSDL es muy similar a IDL (lenguaje de descripción de interfaz) en la programación COM. Es un contrato entre el servidor y el cliente. Ambas partes deben actuar estrictamente de acuerdo con el contrato para realizar la función. WSML (Metalenguaje de servicios web) se utiliza para describir la relación de mapeo entre los métodos proporcionados en WSDL y el objeto COM que implementa el método. Este archivo es exclusivo de la implementación de Microsoft y no forma parte del estándar SOAP. Normalmente, este archivo sólo existe en el lado del servidor. 3. Características técnicas del servicio web: comunicación entre firewalls Si la aplicación tiene miles de usuarios y está distribuida por todo el mundo, la comunicación entre el cliente y el servidor será un problema espinoso. Porque suele haber un firewall o un servidor proxy entre el cliente y el servidor. En este caso, usar DCOM no es tan simple y, por lo general, no es conveniente publicar el programa cliente para una cantidad tan grande de usuarios. El enfoque tradicional es optar por utilizar el navegador como cliente, escribir muchas páginas ASP y exponer la capa intermedia de la aplicación al usuario final. El resultado de esto es que el desarrollo es difícil y el programa es difícil de mantener. Por ejemplo, para agregar una nueva página a una aplicación, primero debe crear una interfaz de usuario (página web) y, detrás de esta página, debe crear un componente de nivel medio que contenga la lógica empresarial correspondiente. una página ASP para aceptar la información ingresada por el usuario, llamar al componente de la capa intermedia, formatear el resultado en formato HTML y finalmente enviar la "página de resultados" de regreso al navegador. La programación del lado del cliente sería mucho más sencilla si el código del lado del cliente ya no dependiera tanto de formularios HTML. Si el componente de nivel medio se reemplaza por un servicio web, se puede llamar al componente de nivel medio directamente desde la interfaz de usuario, eliminando así el paso de crear una página ASP. Para llamar al servicio web, puede usar directamente un cliente SOAP como Microsoft SOAP Toolkit o .NET, o puede usar un cliente SOAP de desarrollo propio y luego conectarlo a la aplicación. No sólo acorta el ciclo de desarrollo, sino que también reduce la complejidad del código y mejora la capacidad de mantenimiento de la aplicación. Al mismo tiempo, la aplicación ya no necesita saltar a la "página de resultados" correspondiente cada vez que llama al componente de nivel medio. Por experiencia, en una aplicación con mucha interacción entre la interfaz de usuario y la capa intermedia, utilizar la estructura del Servicio Web puede ahorrar el 20% del tiempo de desarrollo dedicado a la programación de la interfaz de usuario. Además, dicha capa intermedia compuesta por servicios web se puede reutilizar en la integración de aplicaciones u otras situaciones. Finalmente, la lógica y los datos de la aplicación se "exponen" a través del servicio web, y los clientes de otras plataformas también pueden reutilizar estas aplicaciones. Fortaleza 2: integración de aplicaciones Todos los desarrolladores de aplicaciones de nivel empresarial saben que las empresas a menudo tienen que integrar varios programas escritos en diferentes idiomas y que se ejecutan en diferentes plataformas, y esta integración costará mucho dinero. Las aplicaciones a menudo necesitan obtener datos de programas que se ejecutan en el mainframe de IBM o enviar datos al mainframe o aplicaciones UNIX. Incluso en la misma plataforma, a menudo es necesario integrar varios software producidos por diferentes proveedores de software. A través de los servicios web, las aplicaciones pueden utilizar métodos estándar para "exponer" funciones y datos para que los utilicen otras aplicaciones. Por ejemplo, existe un programa de inicio de sesión de pedidos que se utiliza para registrar nuevos pedidos de los clientes, incluida la información del cliente, dirección de envío, cantidad, precio, método de pago, etc.; también hay un programa de ejecución de pedidos que se utiliza para gestionar el proceso. entrega real de mercancías. Los dos programas son de diferentes proveedores de software. Después de que llega un nuevo pedido, el programa de inicio de sesión del pedido debe notificar al programa de ejecución del pedido para enviar los productos. Al agregar una capa de servicio web encima del programa de ejecución de órdenes, el programa de ejecución de órdenes puede "exponer" la función "Agregar orden".

De esta manera, cada vez que llega un nuevo pedido, el programa de inicio de sesión de pedidos puede llamar a esta función para enviar la mercancía. Los servicios web son la clave para una integración B2B exitosa. A través de los servicios web, las empresas pueden "exponer" aplicaciones comerciales clave a proveedores y clientes designados. Por ejemplo, al "exponer" el sistema de pedidos electrónicos y el sistema de facturación electrónica, los clientes pueden enviar pedidos electrónicamente y los proveedores pueden enviar facturas de compra de materias primas electrónicamente. Por supuesto, este no es un concepto nuevo, el EDI (Electronic Document Interchange) ha sido así durante mucho tiempo. Sin embargo, la implementación del servicio web es mucho más simple que el EDI, y el servicio web se ejecuta en Internet y se puede implementar fácilmente en cualquier parte del mundo, por lo que su costo operativo es relativamente bajo. Sin embargo, el servicio web no es una solución completa para el intercambio de documentos o la integración B2B como EDI. El servicio web es solo una parte clave de la integración B2B y se necesitan muchas otras partes para lograr la integración. Fortaleza 4: Reutilización de software y datos La reutilización de software es un tema importante, existen muchas formas de reutilización y el grado de reutilización varía. La forma más básica es la reutilización de módulo de código fuente o de nivel de clase, y la otra forma es la reutilización de componentes de forma binaria. Actualmente, los componentes de software reutilizables, como controles de mesa o controles de interfaz de usuario, ocupan una gran parte del mercado. Sin embargo, existe una gran limitación en la reutilización de este tipo de software, es decir, la reutilización se limita al código y los datos no se pueden reutilizar. La razón es que es más fácil publicar componentes e incluso código fuente, pero no es tan fácil publicar datos, a menos que sean datos estáticos que no cambian con frecuencia. Los servicios web pueden reutilizar los datos detrás del código y al mismo tiempo permitir la reutilización del código. Al utilizar el servicio web, ya no es necesario comprar e instalar componentes de software de terceros como antes y luego llamar a estos componentes desde la aplicación, solo necesita llamar directamente al servicio web remoto. Por ejemplo, para confirmar la dirección ingresada por el usuario en la aplicación, solo necesita enviar la dirección directamente al Servicio Web correspondiente. Este Servicio Web le ayudará a verificar la dirección, ciudad, provincia, código postal y otra información. confirmar ¿Esta dirección está en el área del código postal correspondiente? Los proveedores de servicios web pueden cobrar por este servicio según el tiempo o el uso. Es imposible implementar dicho servicio mediante la reutilización de componentes. En ese caso, debe descargar e instalar una base de datos que contenga información como direcciones, ciudades, provincias y códigos postales, y esta base de datos no se puede actualizar en tiempo real. Otro caso de reutilización de software es la integración de la funcionalidad de varias aplicaciones. Por ejemplo, desea crear una aplicación de portal en la LAN para que los usuarios puedan consultar los paquetes de FedEx, comprobar las condiciones del mercado de valores, gestionar sus propios horarios y comprar entradas de cine en línea. Actualmente existen muchos proveedores de aplicaciones en la Web y todos ellos han implementado estas funciones en sus aplicaciones. Una vez que "expongan" estas funciones a través del servicio web, podrán integrar fácilmente todas estas funciones en su portal y proporcionar a los usuarios una interfaz unificada y amigable. En el futuro, muchas aplicaciones utilizarán servicios web para ampliar la estructura actual de la aplicación basada en componentes a una estructura híbrida de componente/servicio web. Puede utilizar las funciones proporcionadas por servicios web de terceros en sus aplicaciones, o puede utilizar las suyas propias. Las funciones se proporcionan a otros a través de Servicios Web. En ambos casos, el código y los datos detrás del código se pueden reutilizar.