Internet es la conectividad mundial de cientos de miles de computadoras de varios tipos que pertenecen a múltiples redes. En la World Wide Web, un servicio web es un método estandarizado para propagar mensajes entre aplicaciones cliente y servidor. Un servicio web es un módulo de software que está destinado a llevar a cabo un conjunto específico de funciones. Los servicios web en la computación en la nube se pueden encontrar e invocar a través de la red.
El servicio web podría entregar funcionalidad al cliente que invocó el servicio web.
Un servicio web es un conjunto de protocolos y estándares abiertos que permiten el intercambio de datos entre diferentes aplicaciones o sistemas. Los servicios web pueden ser utilizados por programas de software escritos en una variedad de lenguajes de programación y que se ejecutan en una variedad de plataformas para intercambiar datos a través de redes informáticas como Internet de manera similar a la comunicación entre procesos en una sola computadora.
Cualquier software, aplicación o tecnología en la nube que utilice protocolos web estandarizados (HTTP o HTTPS) para conectarse, interoperar e intercambiar mensajes de datos, comúnmente XML (lenguaje de marcado extensible), a través de Internet se considera un servicio web.
Los servicios web tienen la ventaja de permitir que los programas desarrollados en diferentes idiomas se conecten entre sí mediante el intercambio de datos a través de un servicio web entre clientes y servidores. Un cliente invoca un servicio web enviando una solicitud XML, a la que el servicio responde con una respuesta XML .
Funciones de los Servicios Web
- Es posible acceder a él a través de Internet o redes intranet.
- Protocolo de mensajería XML que está estandarizado.
- Sistema operativo o lenguaje de programación independiente.
- Utilizando el estándar XML, es autodescriptivo.
- Se puede utilizar un enfoque de ubicación simple para localizarlo.
Componentes del servicio web
XML y HTTP es la plataforma de servicios web más fundamental. Los siguientes componentes son utilizados por todos los servicios web típicos:
SOAP (Protocolo simple de acceso a objetos)
SOAP significa «Protocolo simple de acceso a objetos». Es un protocolo de mensajería independiente del transporte. SOAP se basa en el envío de datos XML en forma de mensajes SOAP. Un documento conocido como documento XML se adjunta a cada mensaje. Solo la estructura del documento XML, no el contenido, sigue un patrón. Lo mejor de los servicios web y SOAP es que todo se envía a través de HTTP, el protocolo web estándar.
Se requiere un elemento raíz conocido como el elemento en cada documento SOAP. En un documento XML, el elemento raíz es el primer elemento. El «sobre» se separa en dos mitades. El encabezado viene primero, seguido del cuerpo. Los datos de enrutamiento, o la información que dirige el documento XML a qué cliente debe enviarse, se encuentran en el encabezado. El verdadero mensaje estará en el cuerpo.
UDDI (Descripción Universal, Descubrimiento e Integración)
UDDI es un estándar para especificar, publicar y descubrir los servicios en línea de un proveedor de servicios. Proporciona una especificación que ayuda en el alojamiento de datos a través de servicios web. UDDI proporciona un repositorio donde se pueden alojar archivos WSDL para que una aplicación cliente pueda descubrir un archivo WSDL para conocer las diversas acciones que ofrece un servicio web. Como resultado, la aplicación cliente tendrá acceso completo a UDDI, que sirve como base de datos para todos los archivos WSDL.
El registro UDDI contendrá la información requerida para el servicio en línea, al igual que un directorio telefónico tiene el nombre, la dirección y el número de teléfono de una determinada persona. Para que una aplicación cliente pueda averiguar dónde está.
WSDL (lenguaje de descripción de servicios web)
Si no se puede encontrar un servicio web, no se puede utilizar. El cliente que invoca el servicio web debe conocer la ubicación del servicio web. En segundo lugar, la aplicación cliente debe comprender lo que hace el servicio web para invocar el servicio web correcto. El WSDL, o lenguaje de descripción de servicios web, se utiliza para lograr esto. El archivo WSDL es otro archivo basado en XML que explica lo que el servicio web le hace a la aplicación cliente. La aplicación cliente podrá comprender dónde se encuentra el servicio web y cómo usarlo utilizando el documento WSDL.
¿Cómo funciona el servicio web?
El diagrama muestra una versión muy simplificada de cómo funcionaría un servicio web. El cliente usaría requests para enviar una secuencia de llamadas de servicio web a un servidor que alojaría el servicio web real.
Las llamadas a procedimientos remotos son las que se utilizan para realizar estas requests. Las llamadas a métodos alojados por el servicio web correspondiente se conocen como llamadas a procedimiento remoto (RPC). Ejemplo: Flipkart ofrece un servicio web que muestra los precios de los artículos ofrecidos en Flipkart.com. El front-end o capa de presentación se puede escribir en .Net o Java, pero el servicio web se puede comunicar mediante cualquiera de los dos lenguajes de programación.
Los datos que se intercambian entre el cliente y el servidor, que son XML, son la parte más importante del diseño de un servicio web. XML (lenguaje de marcado extensible) es un lenguaje intermedio simple que es entendido por varios lenguajes de programación. Es una contraparte de HTML. Como resultado, cuando los programas se comunican entre sí, lo hacen mediante XML. Esto crea una plataforma común para que las aplicaciones escritas en diferentes lenguajes de programación se comuniquen entre sí.
Para transmitir datos XML entre aplicaciones, los servicios web emplean SOAP (Protocolo simple de acceso a objetos). Los datos se envían mediante HTTP estándar. Un mensaje SOAP son datos que se envían desde el servicio web a la aplicación. Un documento XML es todo lo que está contenido en un mensaje SOAP. La aplicación cliente que llama al servicio web se puede crear en cualquier lenguaje de programación porque el contenido está escrito en XML.
Características/características del servicio web
Los servicios web tienen las siguientes características:
(a) Basado en XML : la representación de información y las capas de transporte de registros de un servicio web emplean XML. No hay necesidad de enlace de red, sistema operativo o plataforma cuando se usa XML. En el nivel medio, las aplicaciones basadas en ofertas web son altamente interoperables.
(b) Conexión flexible: un cliente de un proveedor de servicios de Internet no está necesariamente vinculado directamente a ese proveedor de servicios. La interfaz de usuario de un proveedor de servicios web puede cambiar con el tiempo sin afectar la capacidad del usuario para interactuar con el proveedor de servicios. Un sistema fuertemente acoplado significa que las decisiones del usuario y del servidor están inextricablemente vinculadas, lo que indica que si una interfaz cambia, la otra también debe actualizarse.
Una arquitectura débilmente conectada hace que los sistemas de software sean más manejables y permite una integración más fácil entre diferentes estructuras.
(c) Capacidad de ser Síncrono o Asíncrono: La sincronicidad se refiere a la conexión del cliente con la ejecución de la función. El cliente está bloqueado y el cliente tiene que esperar a que el servicio complete su operación, antes de continuar en las invocaciones síncronas. Las operaciones asincrónicas permiten que un cliente invoque una tarea y luego continúe con otras tareas.
Los clientes asíncronos obtienen sus resultados más tarde, pero los clientes síncronos obtienen su efecto inmediatamente cuando se completa el servicio. La capacidad de habilitar sistemas débilmente vinculados requiere capacidades asíncronas.
(d) Granularidad gruesa: los sistemas orientados a objetos, como Java, hacen que sus servicios estén disponibles a través de métodos individuales. A nivel corporativo, una técnica de carácter es una operación demasiado fina para ser útil. La creación de una aplicación Java desde cero requiere el desarrollo de varias estrategias de granularidad fina, que luego se combinan en un proveedor de granularidad aproximada que es consumido por un comprador o un servicio.
Las corporaciones deben ser de grano grueso, al igual que las interfaces que exponen. La generación de servicios web es un enfoque fácil para definir servicios de granularidad gruesa que tienen acceso a suficiente lógica empresarial comercial.
(e) Admite llamadas de procedimiento remoto: los consumidores pueden usar un protocolo basado en XML para llamar a procedimientos, funciones y métodos en objetos remotos que utilizan servicios web. Un servicio web debe admitir el marco de entrada y salida expuesto por los sistemas remotos.
Desarrollo de componentes para toda la empresa En los últimos años, JavaBeans (EJB) y los componentes .NET se han vuelto más frecuentes en implementaciones arquitectónicas y empresariales. Se utilizan varias técnicas de RPC para asignar y acceder a ambas tecnologías.
Una función web puede admitir RPC ofreciendo sus propios servicios, similares a los de un rol tradicional, o traduciendo las invocaciones entrantes en una invocación de componente EJB o .NET.
(f) Admite intercambios de documentos: una de las características más atractivas de XML es su enfoque simple para comunicarse con datos y entidades complejas. Estos registros pueden ser tan simples como hablar con una dirección actual o tan complejos como hablar con un libro completo o una Solicitud de cotización. Las administraciones web facilitan el intercambio simple de archivos, lo que ayuda a incorporar la reconciliación.
El diseño del beneficio web se puede ver de dos maneras: (i) El primer paso es examinar cada carácter en pantalla del beneficio web en detalle. (ii) El segundo es echar un vistazo a la pila de convenciones de beneficios web en rápido crecimiento.
Ventajas del servicio web
El uso de servicios web tiene las siguientes ventajas:
(a) Las funciones comerciales se pueden exponer a través de Internet: un servicio web es un componente de código controlado que brinda funcionalidad a las aplicaciones del cliente o a los usuarios finales. Se puede acceder a esta capacidad a través del protocolo HTTP, lo que significa que se puede acceder desde cualquier lugar en Internet. Debido a que ahora se puede acceder a todas las aplicaciones a través de Internet, los servicios web se han vuelto cada vez más valiosos. Debido a que ahora se puede acceder a todas las aplicaciones a través de Internet, los servicios web se han vuelto cada vez más valiosos. Es decir, el servicio web se puede ubicar en cualquier lugar de Internet y brindar la funcionalidad requerida.
(b) Interoperabilidad : las administraciones web permiten que diversas aplicaciones se comuniquen entre sí e intercambien información y servicios. Diferentes aplicaciones también pueden hacer uso de los servicios web. Una aplicación .NET, por ejemplo, puede comunicarse con las administraciones web de Java y viceversa. Para que la etapa de aplicación y la innovación sean autónomas, se utilizan administraciones web.
(c) Comunicación a bajo costo : debido a que los servicios web emplean el protocolo SOAP sobre HTTP, puede usar su conexión a Internet de bajo costo existente para implementarlos. Los servicios web se pueden desarrollar utilizando protocolos de transporte confiables adicionales, como FTP, además de SOAP sobre HTTP.
(d) Un protocolo estándar que todos entienden : los servicios web se comunican a través de un protocolo industrial definido. En la pila de protocolos de servicios web, las cuatro capas (Transporte de servicios, Mensajería XML, Descripción de servicios y Descubrimiento de servicios) utilizan protocolos bien definidos.
(e) Reutilización : un solo servicio web puede ser utilizado simultáneamente por varias aplicaciones cliente.
Ejemplos de preguntas
Pregunta 1. ¿A qué te refieres exactamente cuando dices que vas a subir un archivo a Internet? El nombre del protocolo que se utilizó para ello.
Responder:
Subir un archivo a un servidor es el proceso de transferir un archivo desde su computadora a un servidor a través de Internet. FTP (Protocolo de transferencia de archivos) es el protocolo que se utiliza para esto. Una aplicación de cliente FTP permite que un usuario se comunique con un programa de servidor FTP para obtener acceso a datos y servicios en la máquina del servidor. Los usuarios deben poder conectarse a Internet o comunicarse con una aplicación de cliente FTP para utilizar el programa de servidor FTP.
Pregunta 2. ¿Por qué necesitamos un servicio web?
Responder:
Las aplicaciones basadas en web se desarrollan utilizando una variedad de plataformas de programación en el mundo empresarial actual. Algunas aplicaciones están escritas en Java, otras en .Net y otras en Angular JS, Node.js y otros marcos. La mayoría de las veces, estos diversos programas requieren alguna forma de comunicación para trabajar juntos. Debido a que están escritos en lenguajes de programación separados, garantizar una comunicación precisa entre ellos se vuelve extremadamente difícil. Los servicios web tienen un papel en esto. Los servicios web proporcionan una plataforma común para que varias aplicaciones escritas en diferentes lenguajes de programación se conecten entre sí.
Pregunta 3. Para los servicios web, ¿qué tipo de seguridad se requiere?
Responder:
Los servicios web deben tener un nivel de seguridad más alto que el Secure Socket Layer (SSL) (SSL). Entrust Secure Transaction Platform es la única forma de alcanzar este nivel de seguridad. Este nivel de seguridad es necesario para los servicios web a fin de garantizar transacciones confiables y proteger la información confidencial.
Publicación traducida automáticamente
Artículo escrito por sameekshakhandelwal1712 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA