jueves, 27 de octubre de 2011

Web Service

Un servicio web es un método de comunicación entre dos dispositivos electrónicos en la red.
El W3C define un "servicio web" como "un sistema de software diseñado para apoyar lainteroperabilidad de máquina a máquina de la interacción en una red . Cuenta con una interfaz que se describe en un formato procesable por máquina (específicamente Web Services Description Language, conocido por el acrónimo WSDL ). Otros sistemas interactúan con el servicio Web de una manera prescrita por su descripción usando SOAP de mensajes, por lo general transmitida a través de HTTP con una serialización XML en conjunto con otras web relacionadas con las normas ". [ 1 ]

El W3C también dice, "Podemos identificar dos grandes clases de servicios Web, RESTcompatible con los servicios Web, en la que el principal objetivo del servicio es de manipular representaciones XML de recursos de la Web utilizando un conjunto uniforme de "apátridas" operaciones y arbitraria servicios web, en la que el servicio puede exponer a un conjunto arbitrario de las operaciones ".

Grandes servicios Web

"Los servicios Web grande" el uso de Extensible Markup Language (XML) mensajes que siguen a la de SOAP estándar y han sido populares entre las empresas tradicionales. En estos sistemas, a menudo hay una descripción legible por máquina de las operaciones ofrecidas por el servicio por escrito en el Web Services Description Language (WSDL). Este último no es un requisito de un jabón de punto final , sino que es un requisito previo para la automatización del lado del cliente la generación de código en muchas Java y . NET marcos de SOAP (marcos, como Apache Axis2 , Apache CXF , y la primavera son excepciones notables). Algunas organizaciones de la industria, tales como el WS-I , el mandato de ambos SOAP y WSDL en su definición de un servicio Web.


Web API

Servicios Web en una arquitectura orientada a servicios.
Web de la API es un desarrollo de servicios Web (en un movimiento llamado Web 2.0 ) donde el énfasis se ha ido alejando de SOAP deservicios basados ​​en la dirección de transferencia de estado representacional (REST) ​​basado en comunicaciones. [ 3 ] los servicios REST no requieren XML, SOAP o WSDL API de servicios definiciones.
Web APIs permiten la combinación de varios servicios web en aplicaciones nuevas se conoce como mashups . [ 4 ]
Cuando se utiliza en el contexto de desarrollo Web , Web API normalmente es un conjunto definido de transferencia de hipertexto (HTTP ) mensajes de solicitud junto con una definición de la estructura de los mensajes de respuesta, por lo general se expresa en un lenguaje de marcado extensible ( XML ) o JavaScript Object Notation (JSON ) format.
Al ejecutar servicios Web compuestos, cada servicio sub se pueden considerar autónomas. El usuario no tiene control sobre estos servicios.También los servicios Web en sí no son fiables, el proveedor de servicios puede quitar, cambiar o actualizar sus servicios sin previo aviso a los usuarios. La tolerancia de la fiabilidad y la culpa no está bien sustentada, las fallas pueden ocurrir durante la ejecución. Manejo de excepciones en el contexto de los servicios web es todavía un tema de investigación abierto, aunque aún puede ser manejado por responder con un objeto de error a los clientes.

Estilos de uso

Los servicios Web son un conjunto de herramientas que se pueden utilizar en un número de maneras. Los tres estilos más comunes de uso son RPC , SOA y REST . cita requerida ]

las llamadas a procedimiento remoto

Los elementos arquitectónicos que participan en el XML-RPC.
RPC servicios Web presentan una función de distribución (o método) interfaz de llamada que es familiar para muchos desarrolladores. Normalmente, la unidad básica de la RPC de servicios Web es la operación WSDL.
Los primeros servicios Web se han centrado en las herramientas de RPC, y como resultado de este estilo está muy extendido y apoyado. Sin embargo, a veces es criticado por no ser imprecisa, ya que se realiza con frecuencia por los servicios de mapas directamente a la lengua específica de las funciones o llamadas a métodos. Muchos proveedores se sintió que este enfoque es un callejón sin salida, y presionó para RPC a ser rechazado en el perfil WS-I Basic .
Otros enfoques, con casi la misma funcionalidad RPC son Object Management Group 's (OMG) Common Object Request Broker Architecture ( CORBA ), Microsoft 's distribuidos Component Object Model ( DCOM ) o Sun Microsystems s 'Java / Remote Method Invocation ( RMI ) .

Arquitectura orientada a servicios

Los servicios Web también se puede utilizar para implementar una arquitectura de acuerdo a la arquitectura orientada a servicios (SOA) conceptos, donde la unidad básica de la comunicación es un mensaje, en lugar de una operación. Esto se refiere a menudo como "orientados a mensajes "de servicios.
SOA servicios Web son compatibles con la mayoría de los principales proveedores de software y analistas de la industria. A diferencia de RPC de servicios Web, bajo acoplamiento es más probable, debido a que la atención se centra en el "contrato" que ofrece WSDL, en vez de los detalles de implementación.
Los analistas de middleware utilizar buses de servicios empresariales (ESB) que se combinan mensajes orientados a la transformación y los servicios Web para crear una SOA orientada a eventos . Un ejemplo de un ESB de código abierto son WSO2 ESB , Mula y ESB Abierto .
Representación de los conceptos definidos por WSDL 1.1 y documentos WSDL 2.0.


Transferencia de estado representacional (REST)

REST trata de describir las arquitecturas que utilizan los protocolos HTTP o similar, al limitar la interfaz a un grupo de conocidos, las operaciones estándar (como GET, POST, PUT, DELETE de HTTP). Aquí, la atención se centra en la interacción con stateful recursos, en lugar de mensajes o de las operaciones.
Una arquitectura basada en REST (que es "REST") puede utilizar WSDL para describir la mensajería SOAP sobre HTTP, puede ser implementado como una abstracción puramente en la parte superior de SOAP (por ejemplo, WS-Transfer), o puede ser creado sin utilizar SOAP en todos.
WSDL versión 2.0 ofrece soporte para la unión de todos losmétodos de petición HTTP (no sólo GET y POST, como en la versión 1.1) por lo que permite una mejor aplicación de servicios Web REST . [ 5 ] Sin embargo, el apoyo a esta especificación, sigue siendo insuficiente en el desarrollo de software kits , que a menudo ofrecen herramientas sólo para WSDL 1.1.


metodologías de diseño automatizado

Las herramientas automatizadas pueden ayudar en la creación de un servicio Web. Para los servicios a través de WSDL, es posible generar de forma automática WSDL para las clases existentes (una estrategia de abajo hacia arriba) o para generar un esqueleto de clases dadas las WSDL (una estrategia top-down).
  • Un desarrollador que utilice un método de abajo hacia arriba escribe la aplicación de las primeras clases (en algún lenguaje de programación), y luego utiliza una herramienta de generación de WSDL para exponer los métodos de estas clases como un servicio Web. [ 6 ] Esto es a menudo el enfoque más simple.
  • Un desarrollador que utilice un método de arriba hacia abajo, escribe el documento WSDL y luego utiliza una herramienta de generación de código para producir el esqueleto de clases, que se completará en caso necesario. De esta manera se considera en general más difícil, pero puede producir diseños más limpios

No hay comentarios:

Publicar un comentario