Cómo obtener la dirección de comunicación del WebService del agente móvil
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 una aplicación distribuida basada 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 cumple los requisitos. Una 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 el idioma que desee, 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 en qué herramienta o idioma esté escrito su servicio web, siempre que utilice el protocolo SOAP para llamarlo a través de HTTP, la estructura general es la misma. Normalmente, utiliza su idioma favorito (como VB 6 o VB) para crear su servicio web. NET) y luego a través de SOAP Toolkit o . neto. 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) y la solicitud SOAP generada por el cliente se integra en una solicitud HTTP POST y se envía al servidor web. El servidor web reenvía estas solicitudes al controlador de solicitudes del servicio web. Para los programas VB 6, el controlador de solicitudes de servicios web es una página ASP o extensión ISAPI que funciona con el componente SOAP Toolkit. Para programas VB.NET, el controlador de solicitudes de servicios web es. NET marco. La función del controlador 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 envía de vuelta al cliente mediante una respuesta HTTP.
2. Conceptos básicos Una vez creado el servicio web SOAP, otros lo llamarán. El Protocolo simple de acceso a objetos (SOAP) proporciona un método 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 Extensible Markup Language (XML) es el formato básico para representar datos en plataformas de servicios web. Además de ser fácil de construir y analizar, la principal ventaja de XML es que es independiente de plataforma y proveedor. La indiferencia es más importante que la superioridad técnica. XML resuelve el problema de la representación de datos, pero no define un conjunto estándar de tipos de datos, y mucho menos cómo ampliar este conjunto de tipos de datos. Por ejemplo, ¿qué representan los números enteros? 16, 32 o 64? Estos detalles son importantes para lograr la interoperabilidad. XML Schema (XSD) desarrollado por W3C es un conjunto de estándares para resolver 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 crear un servicio web en un 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)
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. 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 seguir estrictamente el contrato para implementar funciones.
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. En términos generales, los archivos sólo existen en el servidor.
Características técnicas del 3.3. Servicios de red
Elemento 1: Comunicación a través de firewalls Si una aplicación tiene miles de usuarios y está distribuida por todo el mundo, la comunicación entre el cliente y el servidor puede ser un problema complicado. Porque suele haber un firewall o un servidor proxy entre el cliente y el servidor. En este caso, utilizar DCOM no es tan sencillo y, por lo general, no resulta conveniente distribuir el programa cliente a una cantidad tan grande de usuarios. La forma tradicional es elegir un navegador como cliente, escribir una gran cantidad de páginas ASP y exponer la capa intermedia de la aplicación al usuario final. Por tanto, es difícil desarrollar y mantener programas.
Por ejemplo, para agregar una nueva página a una aplicación, primero debe configurar una interfaz de usuario (página web). Detrás de esta página, se debe configurar al menos una página ASP para aceptar información ingresada por el usuario. y llamar a los componentes de nivel medio, formatear los resultados en HTML y finalmente enviar la "página de resultados" al navegador. La programación del cliente sería mucho más sencilla si el código del cliente ya no dependiera tanto de formularios HTML.
Si el componente de nivel medio se reemplaza por un servicio web, 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 a un servicio web, puede utilizar directamente un cliente SOAP como Microsoft SOAP Toolkit o . NET, también puede utilizar su propio cliente SOAP desarrollado y conectarlo con su 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 se llama a un componente de nivel medio.
Desde una perspectiva de experiencia, en aplicaciones con mucha interacción entre la interfaz de usuario y la capa intermedia, el uso de la estructura del servicio web puede ahorrar un 20% del tiempo de desarrollo de 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 quedan "expuestos" a través de servicios web y los clientes pueden reutilizar estas aplicaciones en otras plataformas.
Proyecto 2: Integración de aplicaciones. Todos los desarrolladores de aplicaciones empresariales saben que las empresas a menudo necesitan integrar varios programas escritos en diferentes idiomas y que se ejecutan en diferentes plataformas, y esta integración consumirá muchos esfuerzos de desarrollo. 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 "exponer" funciones y datos de forma estándar para que otras aplicaciones los utilicen.
Por ejemplo, existe un programa de registro 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 y método de pago. Entrega 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 servicios web encima del ejecutor de órdenes, el ejecutor de órdenes puede "exponer" la funcionalidad "agregar orden". De esta forma, 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 críticas a proveedores y clientes designados. Por ejemplo, se exponen el sistema de pedidos electrónicos y el sistema de facturas electrónicas. Los clientes pueden enviar pedidos electrónicamente y los proveedores pueden enviar facturas de compra de materias primas de forma electrónica. Por supuesto, este no es un concepto nuevo. El EDI (Intercambio Electrónico de Documentos) es así desde hace mucho tiempo. Sin embargo, la implementación de servicios web es mucho más sencilla que el EDI. Además, los servicios web se ejecutan en Internet y pueden implementarse fácilmente en cualquier parte del mundo, por lo que sus costos operativos son relativamente bajos. Sin embargo, los servicios web no son una solución completa para el intercambio de documentos o la integración B2B como el EDI. Los servicios web son sólo una parte clave de la integración B2B y se necesitan muchas otras partes para lograr la integración.
Ítem 4: Reutilización de software y datos La reutilización de software es un tema amplio, con muchas formas y distintos grados. 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 en forma binaria.
Actualmente, los componentes de software reutilizables como los controles de mesa o los controles de interfaz de usuario ocupan una gran cuota de mercado. Sin embargo, la reutilización de este tipo de software tiene una gran limitación, es decir, la reutilización se limita al código y los datos no se pueden reutilizar. La razón es que es fácil publicar componentes e incluso código fuente, pero no 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 que el código se reutilice. Con los servicios web, ya no es necesario comprar e instalar componentes de software de un tercero antes de llamarlos desde una aplicación. Simplemente llame 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. El servicio web le ayudará a verificar la dirección, ciudad, provincia, código postal y otra información. confirmar si la dirección está en el área del código postal correspondiente. Los proveedores de servicios de Internet pueden cobrar por este servicio según el tiempo o el uso. Dichos servicios no se pueden reutilizar a través de componentes. En este caso, debe descargar e instalar una base de datos que contiene información como direcciones, ciudades, provincias y códigos postales, y esta base de datos no se puede actualizar en tiempo real.
Otra situación para la reutilización de software es la integración de la funcionalidad de varias aplicaciones. Por ejemplo, crear una aplicación de portal en una red de área local permite a los usuarios consultar paquetes de FedEx y ver el mercado de valores, administrar 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 propias aplicaciones. Una vez que "expongan" todas estas características a través de servicios web, podrán integrarlas fácilmente en su portal para proporcionar a los usuarios una interfaz unificada y fácil de usar.
En el futuro, muchas aplicaciones utilizarán servicios web para ampliar la actual estructura de aplicaciones basada en componentes a una estructura híbrida de componentes/servicios web. Pueden utilizar la funcionalidad proporcionada por servicios web de terceros en sus propias aplicaciones o proporcionar la funcionalidad de su aplicación a otros a través de servicios web. En ambos casos, puedes reutilizar el código y los datos que hay detrás de él.