¿Qué es un servicio web, cuándo se utiliza y cómo se utiliza?
A continuación, también citaré algunas situaciones en las que no se debe utilizar el servicio web.
Comunicación a través de firewalls
Si su aplicación tiene miles de usuarios y todos están distribuidos por todo el mundo, entonces la comunicación entre el cliente y el servidor será una cuestión difícil. Esto se debe a que normalmente hay un firewall o un servidor proxy entre el cliente y el servidor. En este caso, no es tan sencillo si desea utilizar DCOM y, por lo general, no está dispuesto a lanzar su programa cliente a una cantidad tan grande de usuarios. Entonces, finalmente eliges usar el navegador como cliente, escribir un montón de páginas ASP y exponer la capa intermedia de la aplicación al usuario final. ¿El resultado? Si tiene suerte, será más difícil de desarrollar. Si no tiene suerte, terminará con una aplicación que no podrá mantenerse en absoluto.
Imagínate cómo deberías agregar una nueva página a tu aplicación: primero debes crear la interfaz de usuario (página web), y detrás de esta página, los componentes de nivel medio que contienen la lógica de negocio correspondiente. Esto no es suficiente, debe crear al menos 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 nuevamente al navegador. Si el código del cliente ya no depende tanto de formularios HTML, ¿no sería mucho más sencilla la programación del cliente? Además, ¿se puede omitir el paso de crear una página ASP?
Por supuesto. Si su componente de nivel medio es 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 al servicio web, puede utilizar directamente un cliente SOAP como MicrosoftSOAP Toolkit o .NET, o puede utilizar un cliente SOAP que haya desarrollado usted mismo y luego conectarlo a su aplicación. Hacerlo no sólo acortará el ciclo de desarrollo, sino que también reducirá la complejidad del código y mejorará la capacidad de mantenimiento de toda la aplicación. Al mismo tiempo, su aplicación ya no necesita saltar a la página de resultados correspondiente cada vez que llama al componente de nivel medio.
Desde mi experiencia, en una aplicación donde la interfaz de usuario y la capa intermedia tienen mucha interacción, usar la estructura del servicio web puede ahorrar fácilmente 20 años de tiempo de desarrollo dedicado a la programación de la interfaz de usuario. Otra ventaja de hacer esto es que obtendrá una capa intermedia compuesta por servicios web, que se pueden reutilizar en la integración de aplicaciones u otras situaciones. Finalmente, exponer la lógica y los datos de su aplicación a través del servicio web también permite a los clientes de otras plataformas reutilizar su aplicación.
Integración de aplicaciones
Todos los desarrolladores de aplicaciones empresariales 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 desarrollo. esfuerzo. Sus aplicaciones a menudo necesitan obtener datos de programas que se ejecutan en mainframes IBM antiguos o enviar datos a mainframes 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, tiene un programa de inicio de sesión de pedidos que se utiliza para registrar nuevos pedidos de clientes, incluida información del cliente, dirección de envío, cantidad, precio, método de pago y otra información. Al mismo tiempo, también dispones de un programa de ejecución de pedidos para la gestión de envíos reales. 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 AddOrder.
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. Luego integre aplicaciones B2B a través del servicio web
El servicio web es la clave para una integración B2B exitosa. A través de los servicios web, su empresa puede exponer aplicaciones comerciales críticas a proveedores y clientes designados. Por ejemplo, al exponer su sistema de pedidos electrónicos y su sistema de facturación electrónica, sus clientes pueden enviarle órdenes de compra electrónicamente y sus proveedores pueden enviarle facturas electrónicas por las compras de materias primas. Por supuesto, este no es un concepto nuevo: el intercambio electrónico de documentos (EDI) existe desde hace mucho tiempo. La principal diferencia entre Webservice y EDI es que la implementación de Webservice es mucho más simple que EDI, y Webservice 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, Webservice no es una solución completa para el intercambio de documentos o la integración B2B como EDI. El servicio web es sólo una parte clave de la integración B2B y se necesitan muchas otras partes para completar esta integración.
La mayor ventaja de utilizar Webservice para lograr la integración B2B es que se puede lograr fácilmente la interoperabilidad. Siempre que exponga su lógica empresarial como un servicio web, puede permitir que cualquier socio designado llame fácilmente a su lógica empresarial, independientemente de la plataforma en la que se ejecute su sistema o el lenguaje de desarrollo que utilice. Esto reduce en gran medida el tiempo y el costo invertido en la integración B2B. Este bajo costo permite que muchas pequeñas y medianas empresas que originalmente no podían afrontar el costo de inversión del EDI logren la integración B2B. Reutilización de software
La reutilización de software es un tema amplio que se presenta en muchas formas y grados. La forma más básica es la reutilización de módulo de código fuente o de nivel de clase. Otra forma es la reutilización de componentes en 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, la reutilización de este tipo de software tiene una seria limitación: la reutilización se limita al código, pero no se pueden reutilizar los datos. La razón es que puede publicar fácilmente componentes e incluso código fuente, pero no es tan fácil publicar datos, a menos que sean datos estáticos que no cambien con frecuencia.
El servicio web le permite reutilizar los datos detrás del código mientras reutiliza el código. Al utilizar Webservice, ya no tendrá que comprar e instalar componentes de software de un tercero antes de llamar a estos componentes desde su aplicación. Sólo necesita llamar directamente al servicio web remoto. Por ejemplo, si desea confirmar la dirección de correo electrónico ingresada por el usuario en su aplicación, entonces solo necesita enviar la dirección directamente al servicio web correspondiente, y el servicio web le ayudará a verificar la dirección, ciudad, provincia y postal. Dirección de codificación y otra información para confirmar que la dirección está efectivamente en el área del código postal correspondiente. Los proveedores de servicios web pueden cobrar por este servicio según el tiempo o la cantidad de usos. No es realista implementar un servicio de este tipo mediante la reutilización de componentes, porque entonces 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 de reutilización de software es la de integrar la funcionalidad de varias aplicaciones. Por ejemplo, desea crear una aplicación de portal en una red de área local que permita a los usuarios consultar sus paquetes de FedEx, ver las condiciones del mercado de valores, administrar sus horarios y comprar entradas de cine en línea. Actualmente existen muchos proveedores de aplicaciones en la Web, todos los cuales han implementado las funciones anteriores en sus aplicaciones. Una vez que expongan estas funciones a través del servicio web, podrá integrar fácilmente todas estas funciones en el sitio de su portal y proporcionar a los usuarios una interfaz unificada y amigable.
Utilice el servicio web para integrar funciones en varias aplicaciones y proporcionar a los usuarios una interfaz unificada.
Muchas aplicaciones utilizarán el servicio web para ampliar la estructura actual de la aplicación basada en componentes a componentes y una estructura híbrida del servicio web. También puede utilizar las funciones proporcionadas por servicios web de terceros en su aplicación. También puede proporcionar la funcionalidad de su propia aplicación a otros a través del servicio web. En todos estos casos, puedes reutilizar el código y los datos detrás del código. En resumen, el servicio web será una forma muy poderosa de reutilización de software.
Aplicaciones independientes
Actualmente, también disponemos de multitud de aplicaciones de escritorio para uso empresarial y personal. Algunos de ellos simplemente necesitan comunicarse con otros programas que se ejecutan en la máquina. En este caso, será mejor que ya no usemos el servicio web, solo usemos la API local. COM es ideal para trabajar en esta situación porque es pequeño y rápido. Lo mismo ocurre con el software de servidor que se ejecuta en un servidor: es mejor utilizar COM u otras API locales directamente para realizar llamadas entre aplicaciones. Por supuesto, el servicio web también se puede utilizar en estas situaciones, pero eso no solo consumirá demasiado, sino que tampoco le brindará ningún beneficio.
Aplicaciones isomórficas en LAN
En muchas aplicaciones, todos sus programas se desarrollan con VB o VC, todos usan COM bajo la plataforma Windows y todos se ejecutan en la misma LAN. Por ejemplo, tiene dos aplicaciones de servidor que necesitan comunicarse entre sí, o tiene un programa cliente Win32 o WinForm que desea conectarse a otro programa de servidor en la LAN. Usar DCOM en estos programas es mucho más eficiente que SOAP/HTTP. De manera similar, si tiene un programa .NET que se conecta a otro programa .NET en la LAN, debe usar la comunicación remota .NET. Curiosamente, en la comunicación remota .NET, también puede especificar el uso de SOAP/HTTP para realizar llamadas a servicios web. Sin embargo, es mejor realizar llamadas RPC directamente a través de TCP, que es mucho más eficiente. En resumen, siempre que vea otros métodos que sean más efectivos y factibles que el servicio web desde la perspectiva de la estructura de la aplicación, no utilice más el servicio web. Resumen
Webservice es una nueva plataforma para crear aplicaciones distribuidas interoperables. El objetivo principal de Webservice es la interoperabilidad multiplataforma. Para lograr este objetivo, Webservice se basa completamente en XML, XSD y otros estándares que son independientes de la plataforma y los proveedores de software.
Los servicios web son muy útiles cuando las aplicaciones se comunican entre plataformas y redes. El servicio web es adecuado para la integración de aplicaciones, la integración B2B, la reutilización de códigos y datos y la comunicación cliente-servidor a través de la Web.
Por supuesto, el servicio web no es omnipotente y no se puede abusar del servicio web en todas partes. En algunos casos, los servicios web pueden degradar el rendimiento de las aplicaciones sin aportar ningún beneficio. Por ejemplo, las aplicaciones homogéneas que se ejecutan en una máquina o una LAN no deberían utilizar servicios web para comunicarse.
Primero genere la plantilla, coloque una cesta desplegable en EditItemTemplate y seleccione la fuente de datos.
Establezca el atributo gridview Allowpaging = true para habilitar la paginación y AllowSorting = true para ordenar