Contactos

Servicios web XML. Tecnología de revisión. ¿Qué son los servicios web y por qué son importantes?

servicio web, servicio web (SPAC. Servicio web) - Identificado por el sistema de software de dirección web con interfaces estandarizadas.

Los servicios web pueden interactuar entre sí y aplicaciones de terceros A través de mensajes basados \u200b\u200ben protocolos específicos \u003d

  • XML-RPC.
  • etc.

El servicio web es una unidad de modularidad cuando utiliza la arquitectura de la aplicación orientada al servicio.

En la vida cotidiana, los servicios web se llaman servicios prestados en Internet.
En este consumo, el término requiere una aclaración.Si se trata de buscar, webmail, almacenar documentos, archivos, marcadores, etc.
Dichos servicios web se pueden usar independientemente del acceso a Internet, la computadora o el navegador.

Arquitectura

Como se muestra en la figura, puede distinguir tres instancias que interactúan dentro del servicio web. Traducimos sus nombres como cliente, artista y directorio (Solicitor de servicios, proveedor de servicios y intermediario de servicio).

Cuando el servicio está diseñado, el contratista lo registra en el catálogo donde los clientes potenciales pueden encontrarlo. El cliente, encontrar el servicio apropiado en el directorio, importa su especificación WSDL desde allí y desarrolla su software de acuerdo con él. WSDL describe el formato de solicitudes y respuestas que son intercambiadas por el cliente y el contratista durante el trabajo. Las siguientes normas se utilizan para garantizar la interacción:

  • Lenguaje de marcado extensible para almacenar y transferir datos estructurados;
  • Mensajería en la base de datos XML;
  • : Descripción Idioma interfaces externas Servicios web XML;
  • Interfaz de reconocimiento universal, descripciones e integración (descubrimiento universal, descripción e integración).

Directorio de servicios web e información sobre las compañías que proporcionan servicios web a un uso universal o empresas específicas. Mientras que existe UDDI, sin embargo, solo en redes de marca pequeña y aún no lo han encontrado extendido Abrir en línea.

Métodos de desarrollo

Hay medios de automatización de desarrollo de servicios web, separados. en dos grupos principales.

Al desarrollar desde abajo hacia arriba, se escribe la implementación de las clases de implementación, y los archivos WSDL Documenting Service se generan a partir de su texto de origen. La desventaja de este método es exposición a las clases de Java Cambios frecuentes. Al acercarse a Four-Down, WSDL se prepara primero, y se genera un esqueleto de clase Java a partir de ella, implementando el servicio. Este camino se considera más difícil, pero conduce a una decisión más limpia y mejor protegida de los cambios. Si bien el formato de los mensajes que se comunican con el que el cliente y el intérprete no cambian, los cambios en cada uno de ellos no violan la interacción. Esta técnica a veces se llama "Primero contrato", ya que el punto de partida es WSDL ("Contrato" entre el cliente y el ejecutante).

Dignidad

  1. Los servicios web proporcionan interacción sistemas de software Independientemente de la plataforma. Por ejemplo, Windows-C # -Clent puede comunicarse con un servidor Java que se ejecuta bajo Linux.
  2. Los servicios web se basan en estándares abiertos y protocolos. Gracias uso XML se logra fáciles de desarrollar y depurar servicios web.
  3. Usando el protocolo de Internet proporciona Interacción HTTP de los sistemas de software a través del firewall. Esta es una ventaja significativa en comparación con la tecnología como Corba, Dcom o Java RMI. Por otro lado, servicio web. no se vincula a HTTP: se pueden usar otros protocolos..

desventajas

  1. Pequeño rendimiento y mayor tráfico de red.en comparación con las tecnologías de RMI, CORBA, DCOM mediante el uso de mensajes XML de texto. Sin embargo, en algunos servidores web es posible configurar la compresión de tráfico de red.
  2. Aspectos de la seguridad. Los servicios web responsables deben usar la codificación, es posible requerir la autenticación del usuario. ¿Se prefieren aquí HTTPS, o SOLUCIONES, como la firma XML, el cifrado XML o SAML, si el desarrollador debe resolverse.

Ejemplos

Requisitos entre aerolíneas y agencias de viajes. El primero se proporciona a través de servicios web información útil que el segundo se usa al buscar ofertas óptimas a sus clientes.

Google de 2002 a 2009 proporcionó un servicio web que permitió a los clientes buscar información necesaria En Internet, así como lo hacen los usuarios ordinarios. Por conveniencia, es incomparablemente, por ejemplo, con un análisis automático de las páginas de Google HTML-Text.

Amazon.com tiene un servicio web que ofrece diversos servicios basados \u200b\u200ben web (algo "como servicio" - Tecnologías de la nube)

El encabezado de tema es realmente una pregunta, porque Yo mismo no sé lo que primero trato de trabajar con esto en este artículo. Lo único que puedo garantizar que el código enviado a continuación funcionará, pero mis frases solo serán suposiciones y conjeturas sobre cómo yo mismo entiendo todo esto. Entonces vamos ...

Introducción

Es necesario comenzar con el hecho de que se creó el concepto de servicios web. En el momento de este concepto, ya hubo tecnologías que permiten que las aplicaciones interactúen a distancia, donde un programa podría causar cualquier método en otro programa, que podría lanzar en una computadora ubicada en otra ciudad o incluso en el país. Todo esto está abreviado llamado RPC (llamadas de procedimiento remoto - Llamada por procedimiento remoto). Corba Technologies se puede presentar como ejemplos, y para Java - RMI (método remoto que invoca - Métodos de llamada remotos). Y todo parece estar bien en ellos, especialmente en corba, porque Puedes trabajar con ello en cualquier lenguaje de programación, pero algo faltaba. Creo que el MINUS CORBA es que funciona a través de algunos de sus protocolos de red En lugar de HTTP simple, que se romperá a través de cualquier firewall. La idea del servicio web fue crear un RPC de este tipo, que se lanzará en paquetes HTTP. Así comenzó el desarrollo de la norma. ¿Cuáles son los conceptos básicos de esta norma?
  1. JABÓN.. Antes de llamar a un procedimiento remoto, debe describir esta llamada en Archivo xml.e Jabón de formato. SOAP es solo una de las numerosas marcas XML, que se utiliza en los servicios web. Todo lo que queremos enviar en algún lugar a través de HTTP, primero se convierte en una descripción XML de SOAP, luego envuelve en el paquete HTTP y se envía a otra computadora en la red TCP / IP.
  2. WSDL. Hay un servicio web, es decir,. El programa cuyos métodos se pueden llamar remotamente. Pero la norma requiere que se realice una descripción a este programa, que afirma que "sí, no está equivocado, este es realmente un servicio web y puede causarlo tales métodos". Dicha descripción parece otro archivo XML que tiene otro formato, a saber, WSDL. Esos. WSDL es solo un archivo de descripción del servicio web XML y nada más.
¿Por qué preguntas tan brevemente? ¿Y con más detalle es imposible? Probablemente sea posible, pero para esto tendrá que contactar a los libros como Masnin T. "Servicios web de Java". Allí para las primeras 200 páginas. descripción detallada Cada etiqueta de estándares de jabón y WSDL. ¿Vale la pena hacer esto? En mi opinión no hay, porque Todo esto se crea en Java automáticamente, y solo necesita escribir los contenidos de los métodos que se supone que se eliminan. Entonces, en Java, una API así apareció como JAX-RPC. Si alguien sabe cuándo dicen que Java tiene una API de este tipo, significa que hay un paquete con un conjunto de clases que encapsulan la tecnología en cuestión. JAX-RPC ha desarrollado mucho tiempo desde la versión a la versión y, finalmente, se convirtió en JAX-WS. WS, obviamente, significa WebService y podría pensar que este es un simple nombre de RPC a la palabra popular. No es así porque Ahora, los servicios web se alejaban de la idea inicial y le permiten no simplemente llamar a métodos remotos, pero también simplemente enviar mensajes en formato SOAP. ¿Por qué lo necesito, no lo sé, todavía no lo sé, es poco probable que la respuesta aquí sea "en caso de que lo necesite de repente". Yo mismo me gustaría aprender de camaradas más experimentados. Bueno, lo último, entonces todavía hubo Jax-RS para los llamados Servicios de Restful Web, pero este es el tema de un artículo separado. Esta introducción se puede completar, porque A continuación, aprenderemos a trabajar con JAX-WS.

Enfoque general

Servicios web siempre hay un cliente y un servidor. El servidor es nuestro servicio web y, a veces, se llama punto final (como el punto final, donde vienen los mensajes de jabón del cliente). Tenemos que hacer lo siguiente:
  1. Describe la interfaz de nuestro servicio web.
  2. Implementar esta interfaz
  3. Ejecutar nuestro servicio web
  4. Escriba un cliente y llame de forma remota el método de servicio web deseado
Ejecutar el servicio web se puede hacer diferentes caminos: Describa la clase con el método principal y lanza el servicio web directamente como el servidor, o para tenerlo al servidor TOMCAT TIPO o cualquier otro. En el segundo caso, nosotros mismos no ejecutamos un nuevo servidor y no abra otro puerto en la computadora, y simplemente hable con el contenedor de servlet Tomcat, que "escribimos aquí las clases del servicio web, publíelas, por favor, a Todos los que lo llaman, podrían usar nuestro servicio web. En la independencia del método de lanzamiento de un servicio web, el cliente tendrá el mismo cliente.

Servidor

Comienza la idea y crea un nuevo proyecto. CREAR NUEVO PROYECTO. Especificamos el nombre Hellowebservice. Y haga clic en el botón próximo, Siguiente botón TERMINAR.. En carpeta sRC Crear un paquete ru.javarush.ws.. En este paquete, cree una interfaz Hellowebservice: Paquete RU. Javarush. Ws; // Esto es anotaciones, es decir,. Manera de celebrar nuestras clases y métodos. // En relación con la tecnología de servicio web Importar javax. JWS. Webmethod; Importar Javax. JWS. Servicio web; Importar javax. JWS. JABÓN. Soapbinding; // Decimos que nuestra interfaz funcionará como servicio web. @Servicio web. // Decimos que el servicio web se utilizará para llamar a los métodos. @Soapbinding (estilo \u003d Soapbinding. Estilo. RPC) Interfaz pública HellOarbservice ( // Decimos que este método se puede llamar de forma remota. @WebMethod Cadena pública gethellostring (nombre de cadena); ) En este Código, las clases de WebService y WebMethod son las llamadas anotaciones y no hacen nada, pero como marcamos nuestra interfaz y su método como servicio web. Lo mismo se aplica a la clase Soapbinding. La única diferencia es que Soapbinding es un resumen con parámetros. En este caso, el parámetro de estilo se usa con un valor que los altavoces que el servicio web no funcionará a través de documentos, sino como un RPC clásico, es decir, Para llamar al método. Implementemos la lógica de nuestra interfaz y cree una clase HellowebEBSERVICEIMPL en nuestro paquete. Por cierto, observo que el final de la Clase On Sobre FUP es un acuerdo en Java, según el cual significa implementar interfaces (implementación de la implementación de la palabra, la implementación de la palabra). Esto no es un requisito y usted es libre de llamar a la clase como desee, pero las reglas de buen tono de eso requieren: paquete RU. Javarush. Ws; // el mismo resumen, al describir la interfaz, Importar Javax. JWS. Servicio web; // Pero aquí se usa con el parámetro endpointInterface, // indicando el nombre completo de la clase de interfaz de nuestro servicio web @Webservice (endpointintinterface \u003d "ru.javarush.ws.hellowebebservice") Clase pública HellowebserviceImplips implementa HellowebebService (Gethellostring de cadena pública de @Override (nombre de cadena) ( // solo devolver saludos Devuelve "Hola," + Nombre + "!" ; )) Vamos a iniciar nuestro servicio web como un servidor independiente, es decir, Sin la participación de todos los servidores de Tomcat y Application (este es el tema de una conversación por separado). Para hacer esto, en la estructura del proyecto en la carpeta. sRC Cree un paquete de ru.javarush.endpoint, y crearemos una clase HellowebEservicePublisher con el método principal: Paquete RU. Javarush. punto final; // Clase, para iniciar un servidor web con servicios web Importar javax. XML. Ws. Punto final; // clase de nuestro servicio web Importar RU. Javarush. Ws. Hellowebebserviceimpl; Class Public HellowebebservicePublisher (Public Stating Void Main (String. Args) ( // Ejecutar un servidor web en Port 1986 // y en la dirección especificada en el primer argumento, // ejecutar un servicio web transmitido en el segundo argumento Punto final. Publicar ( "http: // localhost: 1986 / wss / hola", nuevo hellogeebserviceimpl ()); )) Ahora vamos a iniciar esta clase haciendo clic en Shift + F10.. En la consola, no aparecerá nada, pero el servidor se está ejecutando. Esto se puede ver en el navegador en el navegador http: // localhost: 1986 / WSS / HELLO? WSDL. La página que se abrió, por un lado, demuestra que tenemos un servidor web (http: //) en el puerto de 1986, y, por otro lado, muestra la descripción de WSDL de nuestro servicio web. Si detiene la aplicación, la descripción no estará disponible, como el servicio web, por lo que no haremos esto, pero nos dirigiremos a escribir al cliente.

Cliente

En la carpeta del proyecto sRC Cree un paquete de ru.javarush.client, y en ella la clase HellowebebServiceclient con el método principal: paquete RU. Javarush. Cliente; // necesita obtener una descripción de WSDL y a través de ella // llegar al servicio más web Importar Java. NETO. URL; // se producirá tal EXEpecne al trabajar con el objeto URL Importar Java. NETO. Malformedurlexception; // clases para resistir XML-KU con WSDL Descripción // y llegar a la etiqueta de servicio en ella Importar javax. XML. Espacio de nombres. QNAME; Importar Javax. XML. Ws. Servicio; // Interfaz de nuestro servicio web (necesitamos más) Importar RU. Javarush. Ws. Hellowebservice; Clase pública HellowebebserviceClient (la cadena estática estúpida principal (cadena args) lanza malformedurlexception ( // Crear un enlace a la descripción de WSDL URL URL \u003d nueva URL ( "http: // localhost: 1986 / wss / hola? wsdl") ; // Los siguientes parámetros del diseñador están mirando la primera etiqueta de descripción de WSDL - Definiciones // 1er argumento ver el atributo de targetnamespace // 2nd argumento miramos el atributo de nombre QNAME QNAME \u003d NUEVO QNAME ("http://ws.javarush.ru/", "HELLOGEEBSERVICEIMPLSERVICE"); // Ahora podemos llegar a la etiqueta de servicio en la descripción de WSDL, Servicio de servicio. \u003d Servicio. Crear (URL, QNAME); // más allá de la etiqueta de puerto invirtió en ella para // obtener un enlace a un servicio web alejado de nosotros Hellobservice hola \u003d servicio. Getport (Hellowebservice. Clase); // hooray! Ahora puedes llamar método remoto Sistema. Fuera. Println (hola. Gethellostring ("Javarush")); )) Dio el máximo comentario sobre el código en la listado. No tengo nada que agregar, así que corro (Mayús + F10). Tenemos que ver el texto: ¡Hola, Javarush! Si no lo veas, aparentemente se olvidó de iniciar el servicio web.

Conclusión

En este tema se presentó. excursión corta en servicios web. Una vez más, diré que gran parte de lo que escribí son mis conjeturas sobre cómo funciona, y por lo tanto no debería confiar mucho. Estaré agradecido si la gente conocedora me corregirá, porque luego aprenderé algo. UPP.

Anotación: Áreas de uso. Beneficios. Características del desarrollo de servicios web para plataforma.net. Descripción y detección de servicios web.

¿Qué es el servicio web XML?

A medida que se desarrollan las tecnologías de la información, diferentes enfoques para escribir programas: modular programación, orientado al evento programación, orientado al componente programación y diseño. La continuación lógica de estos enfoques se ha convertido en orientado al servicio. desarrollo de software.

El uso de enfoques orientados al servicio nos permite hablar sobre la reutilización (reutilización) en el nivel macro (nivel de servicio), a diferencia del micro nivelado (nivel de objeto). Un enfoque orientado al servicio implica el uso de estándares simples y generalmente aceptados, lo que permite que las aplicaciones más diferentes se usen la funcionalidad de cada uno. Los servicios se pueden escribir utilizando una variedad de lenguajes de programación en varias plataformas. Además, los servicios se pueden implementar por separado o dentro del paquete de software en cualquier punto del mundo y, por lo tanto, proporcionarán acceso a su funcionalidad de red.

Nombre servicio (Servicio) Recurso que implementa una función de negocio y posee las siguientes propiedades:

  • se reutiliza;
  • determinado por una o más interfaces tecnológicamente independientes explícitas;
  • débilmente asociado con otros recursos similares y puede ser causado por los protocolos de comunicación, proporcionando la posibilidad de interacción entre los recursos entre ellos.

Un caso especial del servicio es el servicio web de XML.

Servicio web XML - Este es un tipo especial de ofrenda web, que:

  • desplegado en un servidor web;
  • publica métodos web que pueden ser causados \u200b\u200bpor clientes externos;
  • espera el recibo de las solicitudes de HTTP que son comandos de los desafíos de los métodos web;
  • realiza métodos web y resultados de devoluciones.

A diferencia del sitio web tradicional, Web -Service no tiene una interfaz de usuario. En su lugar, tiene una interfaz de software, es decir, Web -Service proporciona funciones (métodos web) que pueden causarse de forma remota (por ejemplo, en Internet). Web -Service no está destinado a servir a los usuarios finales. Su tarea es proporcionar servicios a otras aplicaciones, ya sea la expresión web, las aplicaciones con gráficos. interfaz de usuario o aplicaciones de consola.

Web -Service puede proporcionar información en tiempo real sobre los cursos de promoción, verifique las tarjetas de crédito o informe el pronóstico del tiempo. Las técnicas web son tan diversas como las aplicaciones ordinarias.

Web -Service no es propiedad de una empresa en particular. Este es un estándar industrial basado en protocolos abiertos (SOAP, HTTP, etc.). Web -Service se implementa en varias plataformas (incluso en los servidores que ejecutan Windows o UNIX). Web -Service se puede desarrollar utilizando muchas herramientas de desarrollo (desde editor de texto Antes de la familia Microsoft Visual Studio).

Los métodos de la mayoría de los webservice se denominan mensajes HTTP-Registros que contienen mensajes SOAP SOAP, este es XML-Language (Vocabulario XML) para llamar a procedimientos remotos para HTTP y otros protocolos ( descripción completa SOAP http://www.w3.org/tr/SOAP).

Lugar de servicio web entre otras tecnologías de llamadas remotas.

Hay muchos protocolos y tecnologías de llamadas remotas: Modelo de objeto de componentes distribuidos de Microsoft (DCOM), el Grupo de Gestión de Objetos "S Objeto común Solicitud de Broker Architecture (CORBA), Sun" Sección remota de la invocación (RMI) ,. Remoteo neto, servicios web XML.

Todas estas tecnologías orientadas a los componentes (DCOM, CORBA y RMI) se utilizaron con éxito en aplicaciones de intranet. Proporcionan arquitectura confiable y escalable. Sin embargo, al usar estas tecnologías, surgen dos problemas graves en Internet. Primero, interactúan mal entre sí. Todas las tecnologías operan con objetos, pero difieren significativamente en detalle: la gestión del ciclo de vida, el apoyo a los diseñadores y el grado de apoyo a la herencia. El segundo, mas aspecto importante Es que la orientación en la interacción RPC conduce a la construcción de sistemas fuertemente conectados basados \u200b\u200ben llamadas obvias de métodos de objeto.

En contraste con estas tecnologías, los servicios web XML y. Rema neto implementando completamente enfoque orientado a objetos Para la programación web.

Servicio web XML. - Componente que proporciona a Internet -Clients conjunto de API o métodos web. XML se incluye en el nombre, ya que las técnicas web y sus clientes lo utilizan para intercambiar datos. Sobre la base del servicio web son estándares abiertos, como HTTP, XML (protocolo de acceso de objetos simple - SOAP (Protocolo de acceso de objetos simple (Protocolo de acceso de objetos simple: Intenet estándar, que describe cómo pueden interactuar las aplicaciones, es decir, llamarse mutuamente usando HTTP y otros protocolos ). La tarea principal de Web -Service es garantizar la interacción entre programas. Muchos trabajos en los servidores UNIX, y las limpias de Windows están dirigidas a ellos. Los datos transmitidos a WebServis se serializan en XML y se transmiten a los paquetes de jabón. Los metadatos sobre los contenidos de dichos mensajes se almacenan en la WSDL-Conface Web -Service y los esquemas XSD. La principal ventaja de este enfoque es la legibilidad de metadatos. El desarrollador puede ver fácilmente la descripción completa de la Web -Service e incluso crear su propio módulo, desensamblando jabón.

.NET REMOTE. Proporciona infraestructura para objetos distribuidos. Es mucho más complicado por la Simple Web -Service Arquitectura basada en la transferencia de mensajes. . El control remoto neto incluye la transferencia de parámetros por referencia y valor, devoluciones de llamada, activación múltiple de objetos y políticas de gestión del ciclo de vida. Para utilizar las capacidades especificadas, la aplicación del cliente debe poseer todas las tecnologías. Datos en. El control remoto neto se transmite en formato binario o de jabón. Sin embargo, en cualquier caso, los metadatos sobre la estructura de la información transmitida se encuentran contenidos en un entorno de ejecución sociable. Sin un entorno de ejecución general (CLR), la aplicación del cliente no podrá desmontar específicos para. RECHO REMOTE DE LOS CABEOS DE SABIO. Es decir. El control remoto neto hace demandas sustancialmente más altas en comparación con el servicio web.

Desarrollo de servicios web en plataforma.net.

Hay muchas maneras de escribir el servicio web. Se pueden desarrollar manualmente o usar la impresión de jabón proporcionada por Microsoft, IBM, etc. escribiendo el servicio web con utilizando Microsoft.. La red tiene dos ventajas:

  • El marco de .NET simplifica significativamente el proceso de desarrollo al proporcionar la biblioteca de clases y la automatización de ciertas etapas de desarrollo;
  • Los servicios web escritos con .NET Framework son aplicaciones administradas. Es decir, en tales aplicaciones no hay problemas de fugas de memoria, punteros inicializados incorrectamente y otros problemas típicos Programación.

Criatura

Desarrollaremos un simple servicio web de la dirección de adición, que adquiere dos números. Solo tendrá un método Agregar que acepte dos enteros como parámetro y también devuelva un entero. El servicio de adición demuestra varios principios importantes para programar servicios web utilizando Microsoft .NET Framework.

  • Los servicios web se implementan como archivos ASMX. ASMX es una extensión de nombre de archivo especial, registrado para ASP .NET (más precisamente, para el controlador HTTP de ASP.NET en el archivo de configuración principal de ASP .NET Machine.config.
  • Los archivos ASMX comienzan con la directiva @WebService. La presente Directiva debe contener al menos el atributo de clase que especifique la clase desde la cual el servicio web consiste.
  • Las clases de servicio web pueden tener atributos de servicio web opcionales. En este ejemplo, dicho atributo asigna el nombre del servicio web y una descripción que se muestra en la página HTML cuando el usuario llama el navegador ADICIONALSERVICE.ASMX.
  • Los métodos web se declaran asignando métodos de clase Abra WebMetHod atributo. Para los métodos auxiliares utilizados dentro de él, pero se inaccesibles a los clientes externos, este atributo simplemente no se especifica.
  • Http, xml y jabón "invisible". Trabajar con los datos de XML y los mensajes de jabón realiza un marco .NET.

ADICIONESSERVICIO.MX<%@ WebService language="C#" Class="AddService" %> Uso del sistema usando System.Web.Services Clase AddService (Public Int ADD (INT A, INT B) (Devuelva A + B))

A pesar de los tamaños pequeños, ADIONSIBRICE.MX es un servicio web de pleno derecho si lo instala en un servidor web con ASP.NET. Sus métodos se llaman utilizando SOAP, HTTP GET y HTTP POST, y puede devolver los resultados como respuestas de SOAP o como conchas XML simples.

Usando el código de fondo, las clases de servicio web se pueden sacar de los archivos ASMX en archivos separados.

Servicios web Soporte de uso tipos de datos complejos Como parámetros de entrada o salida. Se admiten tipos de datos sofisticados, ya que XML facilita serializar la mayoría de los tipos de datos. Sin embargo, al probar automáticamente el servicio web ASP .NET no genera páginas de prueba para los métodos que reciben tipos de datos complejos. Esto se debe a que es imposible transferir un método web de tipos de datos complejos utilizando HTTP Get y Post.

Los servicios web le permiten llamar a sus métodos. asincrónico. La llamada asíncrona devuelve el control de inmediato, sin importar cuánto tiempo se necesita servicio web para el procesamiento de llamadas. Las llamadas asíncronas son útiles si el procesamiento de llamadas requiere un tiempo considerable. La solicitud hace una llamada, luego continúa trabajando sin esperar el resultado de la llamada, y luego recibe los resultados de una llamada asíncrona. Obtener el resultado ocurre cuando recordar Método web en un tiempo de aplicación conveniente ya sea cuando se suscribe a notificar el final del procesamiento de la llamada al servicio web (Mecanismo del delegado).

Los servicios web se pueden crear utilizando herramientas instrumentales, por ejemplo, Microsoft Visual Studio 2005. Para crear servicios web, se proporciona, hay un tipo separado de servicio web ASP .NET. Visual Studio genera un archivo ASMX, un archivo de código de fondo para describir las clases de servicio web, un archivo de configuración del servicio web, etc. Cuando inicia el proyecto, se produce una compilación de las clases de servicio y la apertura del archivo ASMX en la ventana del navegador. .

Descripción de los servicios web con contratos.

Para que otros desarrolladores utilicen la dirección de adición, deben saber qué métodos proporciona, qué protocolos soportan, firmas de métodos y la dirección del servicio web (URL). Todo esto y otra información se puede describir en WSDL (lenguaje de descripción del servicio web).


Detección de servicio web

¿Cómo aprenden otros desarrolladores sobre la existencia de un servicio de addección?

Primero, utilizando discoteca (reducción de la palabra descubrimiento): el mecanismo de archivo para buscar servicios web locales, es decir, el mecanismo para obtener una lista de los servicios web disponibles de los archivos de discoteca publicados en servidores web. Además, los archivos de discoteca contienen registros sobre la ubicación de los contratos de WSDL de los servicios disponibles. El archivo DISCO es un archivo XML con registros.

También es posible utilizar archivos VSDISCO que son similares a los archivos de disco, pero sus contenidos son el resultado de la búsqueda dinámica de los servicios web en estos directorios y todos los subdirectorios subdirectorios. ASP .NET muestra la extensión del nombre de archivo.vsdisco en el http-pro-botchik, que lo encuentra en este catálogo Y sus subdirectorios ASMX y DISCO y devuelven un documento de discoteca generado dinámicamente. Por razones de seguridad, una búsqueda dinámica en varias versiones .NET Framework está deshabilitada, pero se puede habilitar cambiando los registros de archivos Machine.Config.

Pero, ¿cómo es la búsqueda de servicios web en red global? Para buscar servicios web en la red global, Microsoft, IBM y Ariba desarrolló UDDI conjuntamente (Descripción Universal Descubrimiento e integración) - Especificación de la construcción bases distribuidas Datos que le permiten buscar servicios web. UDDI es apoyado por cientos de compañías. Los sitios de UDDI en sí son servicios web. Todos pueden publicar su registro basado en UDDI. La mayoría de los desarrolladores nunca usan directamente UDDI API. En cambio, los registros UDDI llaman herramientas Desarrollo. También generan las clases de conchas de servicios web detectados y seleccionados.

Resultados

XML Web -Service es un componente de software que proporciona la funcionalidad que más diferentes sistemasApoyar los estándares, como los clientes XML y HTTP de WebService, pueden ser locales y aplicaciones remotas. Web -Service le permite crear estructuras que facilitan la integración de diversos sistemas basados \u200b\u200ben estándares simples generalmente aceptados.

El servicio web es un programa al que se puede acceder a otros Internet (HTTP). Por ejemplo, supongamos que tiene una función que proporciona texto en formato HTML. El propósito de la aplicación es un navegador web que muestra los resultados, y la persona podrá leer fácilmente este texto en la página.

Por otro lado, la audiencia objetivo del servicio web es otro programa u otros servicios web que consumen datos atendidos por el servicio web. Por lo general, la salida se realiza en un lenguaje estándar, que puede entenderse por otros programas. Tome el ejemplo anterior si el servicio web muestra texto en formato XML, entonces otros servicios web que pueden leer o entender XML pueden usar esta salida.

La principal ventaja del servicio web es que las aplicaciones se pueden escribir en cualquier idioma, pero pueden intercambiar datos e intercambiar datos entre sí a través del servicio web. Aplicaciones de softwareEscrito en diferentes lenguajes de programación y trabajar en varias plataformas puede usar los servicios web para intercambiar datos a través de Internet (HTTP). Esta es la interacción (por ejemplo, entre Java y Python, o aplicaciones de Windows y Linux) asociado con el uso de estándares abiertos (XML, SOAP, HTTP).

  • Jabón (acceso simple de protocolo a objetos)
  • UDDI (descripción universal, detección e integración)
  • WSDL (Idioma de la descripción del servicio web)

¿Cuántos tipos diferentes de servicios web hay?

En primer lugar, hay dos tipos de servicios web, un simple protocolo de acceso a objetos (SOAP) y transferencia de estado representativa (resto).

  • El servicio de SOAP WEB acepta el formato XML y genera una salida en formato XML.
  • El servicio web de reposo es más versátil y puede recibir XML, así como JSON como una consulta y genera una salida a XML, así como en JSON o incluso HTML

Esta pregunta puede ser estudiada en la nuestra.

19 respuestas

Definición simple: el servicio web es una función a la que se puede acceder a otros programas de Internet (HTTP). Para aclarar un poco al crear un sitio web en PHP, que muestra HTML, su objetivo es un navegador y, además, una persona que lee una página en el navegador. El servicio web no está destinado a las personas, sino para otros programas.

Por lo tanto, su sitio web de PHP, que genera un entero aleatorio, puede ser un servicio web si muestra un entero en el formato que puede ser utilizado por otro programa. Esto puede estar en formato XML u otro formato si otros programas pueden entender la salida.

La definición completa es obviamente más complicada, pero usted hizo un inglés simple.

Explicación simplificada, no técnica: el servlet web permite que el programa hable con una página web, en lugar de usar su navegador para abrir una página web.

Ejemplo: Puedo ir a maps.google.com e ingrese la dirección de su casa, así como ver dónde vivo en mi navegador.

Pero que si escribes programa de computadora¿Dónde quieres tomar la dirección y mostrar un mapa bonito, al igual que los mapas de Google?

Bueno, podrías escribir perfectamente nuevo programa Mapeo desde cero, o podría llamar al servicio web que las tarjetas de Google proporcionan, envíenla la dirección, y devolverá la tarjeta gráfica de la ubicación que puede mostrar en su programa.

Hay muchos más, ya que algunos de los otros mensajes ingresan, pero el resultado es que permite que su solicitud le permita o extraer información de la información o transferir información a algún recurso. Algunos otros ejemplos:

Sí, este es un simple servicio web.

Los servicios web no son más que un mecanismo de consulta / respuesta que permite al cliente acceder / cambiar de forma remota los datos. Hay estándares oficiales para servicios web (SOAP, SOA, etc.), pero su página sencilla también es un servicio.

La principal desventaja de imprimir en la página es que su servicio devolverá HTML. Los formatos de datos preferidos son JSON y XML, ya que la mayoría de los marcos de clientes (y los marcos de servidor) están diseñados utilizando JSON y XML.

Entonces, si cambia su servicio de devolución:

algún número aleatorio

... algún número aleatorio

sería más útil para la mayoría de los clientes.

En términos más simplificados, el servicio web es lo que proporciona datos como servicio HTTP. Por supuesto, no es así ... pero él está cerca.

Los servicios web estándar utilizan el protocolo SOAP que define y la estructura de mensajes, y XML es un formato de datos.

Los servicios web están diseñados para hacer que las aplicaciones se creen utilizando diferentes tecnologías, podría interactuar entre sí sin problemas.

Los ejemplos de servicios web son cosas como Weather.com, lo que proporciona información del tiempo que puede usar en su sitio web o UPS, que proporciona un método para cotizar cotizaciones o seguimiento de paquetes.

La redacción se cambia en relación con el jabón, ya que no siempre es jabón, como mencioné, pero me gustaría hacerlo más comprensible. La clave proporciona datos como un servicio, y no un elemento de la interfaz de usuario.

El servicio web es diferente del sitio web que el servicio web proporciona información consumida por software, y no por personas. Como resultado, generalmente hablamos de los servicios expuestos de JSON, XML o SOAP.

Los servicios web son componentes clave en "Mashups". Masuups es cuando la información de muchos sitios se agrega automáticamente a un servicio nuevo y útil. Por ejemplo, hay sitios que combinan. Mapas de Google Con información sobre los informes de la policía para darte. representación gráfica Sobre el crimen en su área. Otro tipo de mashup sería recibir datos reales sobre las reservas proporcionadas por otro sitio, y combinarlas con una aplicación de comercio falso para crear un "juego de mercado" en el mercado de valores.

Los servicios web también se utilizan para proporcionar noticias (ver RSS), los elementos más recientes agregados al sitio, información sobre nuevos productos, podcasts y otras funciones notables que hacen un giro web moderno.

¡Ojalá te ayude!

Para la mayoría de los sitios tienes páginas HTMLque visita cuando usas tu navegador. Estas son las páginas leídas por una persona (después de la visualización en su navegador), donde muchos datos pueden estar llenos, porque tiene sentido para las personas.

Ahora imagina que alguien quiere usar algunos de estos datos. Pueden descargar su página y comenzar a filtrar todo el "ruido" para obtener los datos que necesita, pero la mayoría de los sitios web no se basan de tal manera que los datos por 100% se colocarán en el mismo lugar para todos los elementos, por lo que en Además de ser engorroso, también se vuelve poco fiable.

Ingrese los servicios web.

El servicio web es lo que ofrece el sitio web para ofrecer a aquellos que desean leer, actualizar y / o eliminar datos de su sitio. Puede llamarlo "Backdoor" para sus datos. En lugar de enviar datos como parte de una página web, se proporciona de antemano de cierta manera en que algunos de los más populares son XML y JSON. Hay varias formas de comunicarse con el servicio web, algunos usan jabón, otros, los servicios web de descanso "A, etc.

Lo que es característico de todos los servicios web es que son páginas web equivalentes a la máquina que el sitio ofrece a otros. Esto significa que otros que deseen usar datos pueden enviar una solicitud de ciertos datos que son fáciles de desmontar y usar. En algunos sitios, es posible que deba especificar el nombre de usuario / contraseña en la consulta para datos confidenciales, mientras que otros sitios permiten que cualquiera pueda extraer los datos que pueda necesitar.

La mejor explicación en idioma en Inglés Explicado a la analogía:

  • Las páginas web permiten que las personas se comuniquen y se cooperen entre sí.
  • Los servicios web permiten que los programas se comuniquen y se cooperen entre sí.

Su ejemplo de PHP es un servicio web para esta definición, porque la salida puede ser utilizada por otro programa. Pero, de hecho, la pantalla del raspador HTML no es una forma confiable o admitida para crear servicios web.

El servicio web es un conjunto de protocolos abiertos y estándares utilizados para intercambiar datos entre aplicaciones o sistemas. Las aplicaciones de software escritas en diferentes lenguajes de programación y en funcionamiento en diferentes plataformas pueden usar servicios web para intercambiar datos red de computadoras, como Internet, una forma similar a la comunicación de interprocesador en una computadora. Esta compatibilidad (por ejemplo, entre las aplicaciones Java y Python, o Windows y Linux) se relaciona con el uso de estándares abiertos (XML, SOAP, HTTP).

Todos los servicios web estándar están trabajando utilizando los siguientes componentes:

  • Jabón (objetos de protocolo de acceso simple)
  • UDDI (descripción universal, detección e integración)
  • WSDL (Idioma de la descripción del servicio web)

Funciona así:

WebService es una tecnología por la cual dos o más aplicaciones web remotas interactúan entre sí a través de la red / Internet. Se puede implementar utilizando Java, .NET, PHP, etc.

Características del servicio web: -

El sistema operativo proporciona la interfaz GUI (y CLI) con la que puede interactuar. También proporciona una API con la que puede interactuar con el software.

De manera similar, el sitio web proporciona páginas HTML con las que puede interactuar, y también puede proporcionar API, que ofrece la misma información y operaciones programáticamente. O estos servicios solo pueden estar disponibles a través de la API sin la interfaz de usuario adecuada.

El servicio web utilizado por los desarrolladores de software generalmente se relaciona con una operación realizada en un servidor remoto y se llama mediante la especificación XML / SOAP. Como en todas las definiciones, hay matices, pero este es el uso más común del término.

La forma sencilla de explicar el servicio web es ::

  • El servicio web es una forma de comunicación entre dos. dispositivos electrónicos en la World Wide Web.
  • Se puede llamar un proceso que el programador usa para comunicarse con el servidor.
  • Para llamar a este proceso, el programador puede usar jabón, etc.
  • Los servicios web se crean en la parte superior de los estándares abiertos, como TCP / IP, HTTP

La ventaja del servicio web es que, digamos, está desarrollando un código V.NET, y desea usar Java para usar este código. Puede interactuar directamente con la capa de abstrapsapy y no sé que la tecnología ha sido diseñada para desarrollar código.

Dado que @vincent Ramdhanie dijo que el servicio web no pretende ver / consumir al usuario final y otro programa. Por lo tanto, la lógica técnica en su programa será:

En el caso de un programa normal.

Usuario en el sitio web -\u003e HTML / JS / JQUERY, etc.\u003e Déme un número aleatorio -\u003e UR programa

uR PROGRAMA -\u003e Generar número aleatorio -\u003e Generar HTML y encapsular O / P -\u003e Volver al usuario



¿Te gustó el artículo? Compártelo