Servicio Web
A Servicio Web es un servicio ofrecida por un dispositivo electrónico a otro dispositivo electrónico, comunicándose entre sí a través de la World Wide Web. En un servicio Web, Web de tecnología como HTTP, originalmente diseñado para la comunicación human-machine, se utiliza para la comunicación de máquina a máquina, más específicamente para la transferencia de formatos de archivo de lectura mecánica como XML y JSON. En la práctica, el servicio Web proporciona típicamente una orientado a objetos Interfaz basada en Web a un servidor de base de datos, utilizado por ejemplo por otro servidor Web, o por un aplicación móvil, que proporciona una interfaz de usuario para el usuario final. Otra aplicación común ofrecido al usuario final puede ser un mashup, donde un servidor Web consume varios servicios Web en diferentes máquinas y compila el contenido a un usuario de la interfaz.
El W3C define un Web servicio generalmente como:
Un servicio Web es un sistema de software diseñado para soportar interacción interoperable de máquina a máquina sobre una red.
— W3C, Glosario de servicios Web[1]
Pueden utilizar servicios Web JABÓN sobre el protocolo HTTP, permitiendo interacciones menos costosas por Internet a través de soluciones propietarias como EDI/B2B. Además de SOAP sobre HTTP, servicios Web también pueden ser implementados en otros mecanismos de transporte fiable como el FTP. En un documento de 2002, el Grupo de trabajo de W3C Web servicios de arquitectura define una arquitectura de servicios Web, que requieren una implementación estandarizada de un "servicio Web". En este:
[Servicio Web] tiene una interfaz descrita en un formato procesable en máquina (específicamente WSDL). Otros sistemas interactúan con el servicio Web en una forma prescrita por su descripción usando JABÓN-mensajes, normalmente transportados utilizando HTTP con un XML serialización conjuntamente con otros estándares relacionados con la Web.
— W3C, Glosario de servicios Web[1]
En un documento de 2004, el W3C extiende la definición:
Podemos identificar dos clases importantes de los servicios Web:
- RESTO-compatible con servicios Web , en que el propósito principal del servicio es manipular representaciones de XML de Recursos Web uso de un conjunto uniforme de"apátrida"las operaciones; y
- servicios Web arbitrarios , en el cual el servicio puede exponer un conjunto arbitrario de las operaciones.
— W3C, Web servicios de arquitectura[2]
Contenido
- 1 Explicación
- 2 Web API
- 3 Métodos de diseño automatizado
- 4 Servicios web que utilizan lenguajes de marcado
- 5 Críticas
- 6 Pruebas de regresión de los servicios Web
- 7 Servicio Web de gestión del cambio
- 8 Véase también
- 9 Referencias
- 10 Acoplamientos externos
Explicación
El término "Servicio Web" describe una forma estandarizada de la integración de aplicaciones Web usando XML, SOAP, WSDL y UDDI estándares abiertos sobre un esqueleto de protocolo de Internet. XML es el formato de datos utilizado para contener los datos y proporcionar metadatos alrededor de él, JABÓN se utiliza para transferir los datos, se utiliza WSDL para describir los servicios disponibles y UDDI enumera qué servicios están disponibles.
Un servicio Web es un método de comunicación entre dos dispositivos electrónicos en una red. Es una función de software proporcionada en una dirección de red en la Web con el servicio siempre en como en el concepto de utility computing.
Muchas organizaciones utilizan múltiples sistemas de software para la gestión.[citación necesitada] Diferentes sistemas de software a menudo necesitan intercambiar datos entre sí, y un servicio Web es un método de comunicación que permite a dos sistemas de software para el intercambio de datos por internet. El sistema de software que solicita datos se denomina un solicitante del servicio, mientras que el sistema de software que procese la solicitud y los datos se denomina un proveedor de servicios.
Diferentes software puede usar distintos lenguajes de programación, y por lo tanto existe la necesidad de un método de intercambio de datos que no depende de un lenguaje de programación particular. Mayoría de los tipos de software puede, sin embargo, interpretar las etiquetas XML. Así, los servicios Web pueden utilizar archivos XML para el intercambio de datos.
Reglas para la comunicación entre diferentes sistemas es necesario definir, tales como:
- Cómo un sistema puede solicitar datos de otro sistema.
- Que parámetros específicos son necesarios en la solicitud de datos
- Cuál sería la estructura de los datos producidos. (Normalmente, se intercambian datos en archivos XML, y la estructura del archivo XML es validada contra un archivo .xsd).
- Qué error mensajes a mostrar cuando no se observa una cierta regla para la comunicación, para hacer solución de problemas más fácil
Todas estas reglas para la comunicación se definen en un archivo llamado WSDL (Lenguaje de descripción de servicios web), que tiene un .wsdl
extensión. (Propuestas para Servicios Web autónomo (AWS) buscan desarrollar servicios Web más flexibles que no dependen de reglas estrictas.[3])
Un directorio llamado UDDI (Universal Descripción, descubrimiento e integración) define que el sistema software debe contactarse para que tipo de datos. Así que cuando un sistema de software necesita un informe/datos particulares, que ir a la UDDI y qué otro sistema puede contactar para recibir los datos. Una vez que el sistema de software descubre que otro sistema deben contactar, luego se Contacta con dicho sistema mediante un protocolo especial llamado JABÓN (Simple Object Access Protocol). El sistema de proveedor de servicio primero validar la solicitud de datos haciendo referencia al archivo WSDL, procesar la solicitud y enviar los datos bajo el protocolo SOAP.
Web API
A Web API es un desarrollo en los servicios Web donde el énfasis ha estado moviendo hacia más simple transferencia de estado representacional (RESTO) basado en comunicaciones.[4] APIs rESTful no requieren (de protocolos de servicio Web basado en XMLJABÓN y WSDL) para apoyar sus interfaces.
Métodos de diseño automatizado
Herramientas automatizadas pueden ayudar en la creación de un servicio Web. Servicios utilizando WSDL, es posible o generación automática de WSDL para clases existentes (un modelo de abajo hacia arriba) o generar un esqueleto de clase dado WSDL existente (modelo top-down).
- Un desarrollador utilizando un modelo de abajo hacia arriba escribe implementar clases en primer lugar (en algún lenguaje de programación) y luego usa un WSDL generar herramienta para exponer métodos de estas clases como un servicio Web. Esto es más sencillo desarrollar pero puede ser más difíciles de mantener si las clases originales están sujetos a cambios frecuentes.[5]
- Un desarrollador utilizando un modelo de arriba hacia abajo escribe el documento WSDL primero y luego utiliza un código de generación de herramientas para producir el esqueleto de la clase, para ser completado en caso necesario. Este modelo generalmente se considera más difícil pero puede producir diseños limpiador y es generalmente más resistente al cambio. Como los formatos de mensaje entre el emisor y el receptor no cambian, los cambios en el emisor y el receptor no se afectan el servicio Web. La técnica también se conoce como contrato primero puesto que el WSDL (o contrato entre emisor y receptor) es el punto de partida.[6]
- Un desarrollador utilizando un subconjunto de WSDL (SWSDL)[7] (es decir, un WSDL con la operación del subconjunto en el WSDL original) puede realizar pruebas de servicio Web y descendente en desarrollo.
Servicios web que utilizan lenguajes de marcado
Hay una serie de servicios Web que utilizan lenguajes de marcado:
- JSON-RPC
- JSON-WSP
- Plantilla Web
- Lenguaje de descripción de servicios Web (WSDL) De el W3C
- Interfaz XML para servicios de red (XINS) proporciona un POX-formato especificación de servicios Web
- Lenguaje de conversación de servicios Web (WSCL)
- Lenguaje de flujo de servicios Web (WSFL) (reemplazado por BPEL)
- WS-MetadataExchange
- Transferencia de estado representacional (DESCANSAR) versus llamada a procedimiento remoto (RPC)
- XML-RPC -XML: llamada a procedimiento remoto
Críticas
Los críticos del no - RESTful Web services a menudo se quejan de que son demasiado complejas[8] y en base a software grandes distribuidores o integradores, más que típica código abierto puestas en práctica.
También hay preocupaciones sobre el rendimiento debido al uso de 'Web services' de XML como un formato de mensaje SOAP/HTTP en envolvente y el transporte.[9]
Pruebas de regresión de los servicios Web
No-funcionales y pruebas de servicios Web se realiza con la ayuda de análisis de WSDL. Pruebas de regresión se realiza mediante la identificación de los cambios realizados después de eso. Regresión de servicio Web pruebas de necesidades se puede categorizar en tres formas diferentes, es decir, cambios en el WSDL, cambios en el código y volver a pruebas selectiva de Web servicio de operaciones. Podremos capturar las necesidades de tres en tres formas intermedias de WSDL de subconjunto,[7] es decir, diferencia de WSDL (DWSDL), unidad WSDL (UWSDL) y reducido WSDL (RWSDL), respectivamente. Estos tres WSDLs subconjunto se combinan para forma combinado WSDL (CWSDL) que es más usada para pruebas de regresión del servicio Web. Esto ayudará en automatizado Web servicio de gestión del cambio,[10] realizando la selección de los casos de prueba pertinentes para la construcción de un conjunto reducido de ensayos de la vieja serie de pruebas. [11]
Servicios Web de prueba también pueden ser automatizados usando varias herramientas de automatización de prueba como SOAP UI, Conjunto de pruebas de aplicaciones de Oracle (AVENA),[12][13] La prueba funcional unificada, selenio, etc.
Servicio Web de gestión del cambio
Trabajos relacionados con la que trata de la visualización y captura de cambios en un servicio Web. Visualización y cálculo de los cambios pueden hacerse en forma de artefactos intermedios (subconjunto WSDL).[7] La penetración en cálculo del impacto de los cambios es útil en la prueba, de arriba abajo el desarrollo y reducir pruebas de regresión. Automatizado de gestión de cambio de servicio Web (AWSCM)[10] es una herramienta que identifica operaciones de subconjunto en un archivo WSDL para construir un subconjunto WSDL.
Véase también
- Lista de marcos de servicios para web
- Lista de protocolos de servicios Web
- Lista de especificaciones de servicio Web
- Middleware
- Arquitectura Servicio-orientada (SOA)
Referencias
- ^ a b "Glosario de servicios web". W3C. 2004-02-11. 2011-04-22.
- ^ "Relación con la World Wide Web y las arquitecturas del RESTO". Arquitectura de servicios Web. W3C. 2011-04-22.
- ^ Comparar: Oya, Makoto (2008-09-02). "Servicios de la Web autónoma basadas en la armonización del modelo dinámico". En Oya, Makoto; UDA, Ryuya; Yasunobu, Chizuko. Hacia una sociedad sostenible en redes ubicuas: la 8ª Conferencia IFIP sobre E-Business, E-Services y E-sociedad (I3E 2008), 24-26 de septiembre de 2008, Tokio, Japón. IFIP avances en información y tecnología de la comunicación. 286. Springer Science & Business Media (publicado en 2008). p. 139. ISBN 9780387856902. 2015-08-19.
Los servicios Web actuales, sistemas de partes interesadas [...] deben seguir las reglas predefinidas para un servicio de negocio particular, los protocolos de negocios enviar y recibir mensajes y funcionamiento del sistema incluidos. [...] Mecanismo más flexible se desea donde libremente construido y autónoma ejecutan sistemas puede intercambiar mensajes de negocio sin reglas estrictas previamente acordados. Lo llaman autónoma Web Services (AWS) y propone el marco llamado armonización de modelo dinámico (DMH) con su algoritmo, que ajusta dinámicamente modelos de procesos de negocios entre los sistemas [...].
- ^ Benslimane, D.; Dustdar, S.; Sheth, A. (2008). "servicios de aplicaciones híbridas: la nueva generación de aplicaciones Web". IEEE Internet Computing. 10 (5): 13 – 15. doi:10.1109/MIC.2008.110.
- ^ «Ayuda - creación de servicios Web de abajo hacia arriba». Eclipse. 2011-04-22.
- ^ «Ayuda - creación de servicios de la Web de top-down». Eclipse. 2011-04-22.
- ^ a b c Chaturvedi, Animesh (2014). WSDL al servicio del subconjunto de acceso para el análisis del subconjunto. 2014 IEEE 6 º Conferencia Internacional sobre ciencia y tecnología de la computación en nube. p. 688. doi:10.1109/CloudCom.2014.149. ISBN 978-1-4799-4093-6.
- ^ Bray, Tim (2004-10-28). "WS-Pagecount". TBray.org. 2011-04-22.
- ^ Gris, N. A. B. (2005). "Rendimiento de Middleware de Java - Java RMI, JAXRPC y CORBA". Universidad de Wollongong. págs. 31 a 39. 2011-01-11.
Los resultados presentados en este trabajo muestran que la naturaleza de los datos de respuesta tiene un mayor impacto en el rendimiento relativo ha sido permitido en la mayoría de los estudios anterior.
- ^ a b Chaturvedi, Animesh (2014). Automatizado de gestión de cambio de servicio de Web AWSCM - una herramienta. 2014 IEEE 6 º Conferencia Internacional sobre ciencia y tecnología de la computación en nube. p. 715. doi:10.1109/CloudCom.2014.144. ISBN 978-1-4799-4093-6.
- ^ Chaturvedi, Animesh; Gupta, Atul (2013). Una herramienta de apoyo enfoque para realizar pruebas de regresión eficiente de los servicios web. IEEE de 2013 7 º Simposio Internacional sobre el mantenimiento y evolución de sistemas orientada a servicios basados en Cloud. p. 50. doi:10.1109/MESOCA.2013.6632734. ISBN 978-1-4673-4889-8.
- ^ Conjunto de pruebas de aplicaciones de Oracle
- ^ Web servicios de pruebas utilizando la Suite de pruebas de aplicaciones de Oracle
Acoplamientos externos
Campos comunes de Wikimedia tiene medios relacionados con Servicios Web. |
Wikiversity tiene materiales de aprendizaje sobre Servicio Web |
- Patrón de diseño y un modelo distribuido de componente/servicio de mensajeria
- Página de inicio de actividad de servicios Web de W3C
- Arquitectura de servicios Web (Nota del grupo de trabajo de W3C)
- Dónde encontrar servicios Web en Internet: investigar los servicios Web en la World Wide Web (2008)
- Servidor dedicado configuración encontrar servicios Web servicio Web SA
- NIST SP800-95 guía para garantizar servicios Web