Servicios de red
De hecho, el objetivo principal de WebService es la interoperabilidad multiplataforma. Para lograr este objetivo, WebService es una nueva plataforma para crear aplicaciones distribuidas interoperables basadas completamente en XML (lenguaje de marcado extensible), XSD (XMLSchema) y otros estándares independientes de la plataforma y del proveedor. Como puedes ver, existen tres situaciones en las que utilizar un WebService puede aportar grandes beneficios.
A largo plazo 1: comunicación a través de firewalls
Si una aplicación tiene miles de usuarios distribuidos en todo el mundo, la comunicación entre el cliente y el servidor puede ser muy complicada. Esto se debe a que suele haber un firewall o un servidor proxy entre el cliente y el servidor. En este caso, utilizar DCOM no es tan sencillo y, a menudo, no resulta fácil distribuir el programa cliente a tantos usuarios cada uno. El enfoque tradicional es optar por utilizar el navegador como cliente, escribir un montón de páginas ASP y luego exponer el nivel medio de la aplicación al usuario final. Esto hará que el programa sea difícil de desarrollar y mantener.
Figura 1 Integración de la aplicación a través de WebService
Por ejemplo, para agregar una nueva página en la aplicación, primero debe construir la interfaz de usuario (página web) e incluir componentes de nivel medio correspondiente a la lógica de negocios, y luego construir al menos una página ASP para aceptar la entrada del usuario, llamar a los componentes de nivel medio y formatear los resultados en HTML. Los resultados se formatean en HTML y finalmente se envía una "página de resultados" al navegador. La programación del lado del cliente sería mucho más sencilla si el código del lado del cliente dependiera menos de los formularios HTML.
Si reemplaza el componente de nivel medio con un servicio web, puede llamar al componente de nivel medio directamente desde la interfaz de usuario sin crear una página ASP. Para llamar al servicio web, puede utilizar directamente MicrosoftSOAPToolkit o un cliente SOAP como .NET Framework. Esto 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 al componente de nivel medio.
Como regla general, el uso de una arquitectura como WebService puede ahorrar hasta un 20% del tiempo de desarrollo de la programación de la interfaz de usuario en aplicaciones donde hay mucha interacción entre la interfaz de usuario y el nivel medio. Además, esta capa intermedia compuesta por WebServices es completamente reutilizable en la integración de aplicaciones u otras situaciones. Finalmente, al "exponer" la lógica y los datos de la aplicación a través de un servicio web, los clientes de otras plataformas también pueden reutilizar la aplicación.
Ventaja 2: Integración de aplicaciones
Todos los desarrolladores de aplicaciones empresariales saben que integrar programas escritos en diferentes lenguajes y que se ejecutan en diferentes plataformas a menudo requiere mucho esfuerzo de desarrollo. Las aplicaciones a menudo necesitan obtener datos de programas que se ejecutan en mainframes IBM o enviar datos a mainframes o aplicaciones UNIX. Incluso en la misma plataforma, a menudo existe la necesidad de integrar varios programas 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 inicio de sesión de pedidos para registrar nuevos pedidos de clientes, incluida la información del cliente, dirección de envío, cantidad, precio y método de pago; también hay un programa de ejecución de pedidos para gestionar la entrega de; Envío real. Los dos programas son de diferentes proveedores de software. Cuando se recibe un nuevo pedido, el programa de ingreso de pedidos debe notificar al programa de ejecución de pedidos para enviar los productos. Al agregar una capa de WebService encima del ejecutor de la orden, el ejecutor de la orden puede "exponer" la funcionalidad "AddOrder". De esta manera, cada vez que llega un nuevo pedido, el registrador de pedidos puede llamar a la función para enviar la mercancía.
Beneficio 3: Integración B2B
La integración de aplicaciones con WebServices permite la automatización de los procesos de negocio dentro de una empresa. Pero, ¿qué sucede cuando las transacciones abarcan a proveedores y clientes y traspasan los límites de la empresa? La integración de transacciones comerciales a través de las fronteras de la empresa a menudo se denomina integración B2B.
WebService es la clave para una integración B2B exitosa. A través de WebServices, las empresas pueden "exponer" aplicaciones críticas para el negocio a proveedores y clientes específicos. Por ejemplo, a través de un sistema de pedidos electrónicos "abierto" y un sistema de facturación electrónica, los clientes pueden enviar pedidos electrónicamente y los proveedores pueden enviar facturas de compra de materia prima electrónicamente. Por supuesto, este no es un concepto nuevo, EDI (Electronic Document Interchange) existe desde hace mucho tiempo. Sin embargo, la implementación de WebService es mucho más simple que EDI, WebService se ejecuta en Internet y se puede implementar fácilmente en cualquier parte del mundo, y su costo operativo es relativamente bajo. Sin embargo, WebService no es una solución completa para el intercambio de archivos o la integración B2B como EDI. WebService es sólo una pieza clave de la integración B2B y se necesitan muchas otras piezas para lograr la integración.
El mayor beneficio de utilizar WebService para la integración B2B es la facilidad de interoperabilidad. Simplemente "exponga" la lógica empresarial como un servicio web y cualquier socio específico podrá llamar a la lógica empresarial independientemente de la plataforma en la que se ejecute su sistema y el lenguaje de desarrollo utilizado. Esto reduce significativamente el tiempo y el costo de la integración B2B, lo que hace posible la integración B2B para muchas pequeñas y medianas empresas que de otro modo no podrían permitirse el EDI.
Característica 4: Reutilización de datos y software
La reutilización de software es un tema importante. Hay muchas formas de reutilización y el grado de reutilización es grande o pequeño. La forma más básica es la reutilización a nivel de módulo o clase del código fuente, y la otra forma es la reutilización de componentes en forma binaria.
Figura 2 Integre las funciones de varias aplicaciones con WebService para proporcionar a los usuarios una interfaz unificada
Actualmente, los componentes de software reutilizables (como controles de formulario o controles de interfaz de usuario) tienen una gran proporción del mercado. Sin embargo, este tipo de reutilización 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 distribuir componentes e incluso código fuente, pero no tan fácil distribuir datos, a menos que sean datos estáticos que no cambien con frecuencia.
WebService permite reutilizar los datos detrás del código, al tiempo que permite la reutilización del código. Con WebService, ya no es necesario comprar e instalar componentes de software de un tercero y luego llamar a estos componentes desde la aplicación; simplemente llame directamente al WebService remoto. Por ejemplo, para confirmar la dirección ingresada por el usuario en la aplicación, simplemente envíe la dirección directamente al WebService correspondiente, y el WebService lo ayudará a verificar la dirección, la ciudad, la provincia y el código postal para confirmar si la dirección está en el código postal correspondiente dentro del área. Los proveedores de servicios web pueden cobrar según el tiempo o el uso. Eso no es posible con la reutilización de componentes porque hay que descargar e instalar una base de datos de direcciones, ciudades, provincias y códigos postales, y esa base de datos no se actualiza en tiempo real.
Otro caso a favor de la reutilización de software es la integración de funcionalidades en múltiples aplicaciones. Por ejemplo, crear una aplicación de portal en una red de área local permite a los usuarios consultar paquetes de FedEx, ver las condiciones del mercado de valores, gestionar horarios y comprar entradas de cine en línea. Actualmente, existen muchos proveedores de aplicaciones en la web que han implementado estas características en sus aplicaciones. Una vez que exponen estas funciones a través de WebService, es muy fácil integrar todas estas funciones en su portal, proporcionando una interfaz unificada y fácil de usar para sus usuarios.
En el futuro, muchas aplicaciones aprovecharán WebService para ampliar la estructura actual de la aplicación basada en componentes a una estructura híbrida de componente/servicio web, en la que podrá utilizar la funcionalidad de WebService de terceros en su aplicación o proporcionar su funcionalidad de su propia aplicación a otras a través de WebServices. En ambos casos, el código y los datos detrás del código se pueden reutilizar.
Como se puede ver en la discusión anterior, los servicios web son más útiles cuando se interopera o se realizan llamadas remotas a través de la Web. Sin embargo, hay situaciones en las que un WebService no aporta ningún beneficio.
Error 1: Aplicaciones independientes
Las empresas y los particulares todavía utilizan muchas aplicaciones de escritorio. Algunas de estas aplicaciones sólo necesitan comunicarse con otros programas en la computadora local. En este caso, es mejor no utilizar WebService y simplemente utilizar la API local. com es perfecto 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 el mismo servidor. Al realizar llamadas entre aplicaciones, es mejor utilizar COM u otras API nativas directamente. Por supuesto, es posible utilizar un WebService en estos casos, pero esto llevaría demasiado tiempo y no aportaría ningún beneficio.
Defecto 2: Aplicaciones homogéneas en LAN
En muchas aplicaciones, todos los programas se desarrollan en 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. En estos programas, usar DCOM es más eficiente que usar SOAP/HTTP. Del mismo modo, si un programa .NET desea conectarse a otro programa .NET en la red de área local, se debe utilizar la comunicación remota .NET. Curiosamente, también es posible especificar en .NETremoting el uso de SOAP/HTTP para llamar al servicio web. Pero es mejor realizar llamadas RPC directamente a través de TCP, lo cual es más eficiente.
En resumen, siempre que existan otros métodos que sean más eficientes y factibles desde la perspectiva de la arquitectura de la aplicación, no utilice WebService.