Web Service Flashcards
Parcial 4 Progra 3
Un servicio ofrecido por una aplicación que expone su lógica a clientes de cualquier plataforma mediante una interfaz accesible a través de la red utilizando tecnologías (protocolos) estándar de Internet. Es un conjunto de componentes que ofrece una serie de servicios, como puede ser: Como accesar a los datos de una base de datos sin la necesidad de conectarse directamente a ella, dar información para la generación de informes.
Web Service o Servicio Web
Ofrece un directorio de servicios en internet
Protocolo Encontrar - UDDI
Ofrece un modo de definir los servicios
Protocolo Describir - WSDL
Permite invocar métodos de los servicios
Protocolo Invocar - SOAP
Permite a los consumidores de los servicios enviar y recibir mensajes a y de los servicios
Protocolos de Datos - XML y XML Schema
Son protocolos abiertos de internet. Dan soporte a las capas superiores
Protocolos de Transporte - HTTP, SMTP y TCP
Secuencia de construcción y consumo de un Web Service
Creación, registro, búsqueda y consumo de un Web Service
1) Construir el Web Service
2) Registrar el Web Service (Registro UDDI)
3) Localizar el Web Service (Registro UDDI)
4) Pedir descripción (WSDL) del Web Service (Desde el consumidor)
5) Construir Proxy (Desde el consumidor)
6) Construir Cliente (Desde el consumidor)
7) Invocar métodos del Web Service (Utilizando SOAP o HTTP, GET o POST )
Ventajas de los Web Services
-Ofrecen una “tecnología distribuida de componentes” optimizada
-Evitan los problemas inherentes a la existencia de firewalls, ya que SOAP utiliza
HTTP como protocolo de comunicación.
-Permiten una invocación sencilla de métodos, mediante SOAP.
-Los clientes o “consumidores de servicios” pueden estar en cualquier plataforma (basta con que soporten XML/SOAP, incluso puede sustituirse SOAP por HTTP)
-Permiten centralizar los datos, independientemente de si los WebServices están distribuidos o no
Desventajas de los Web Services
- Para realizar transacciones no pueden compararse con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture).
- Su rendimiento es bajo si se compara con otros modelos de computación distribuida, como RMI (Remote Method Invocation), CORBA, o DCOM (Distributed Component Object Model).
- Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear la comunicación entre programas.
- Existe poca información de servicios web para algunos lenguajes de programación
Características de los Servicios Web
- Debe poder ser accesible a través de la web
- Debe contener una descripción de si mismo
- Debe poder ser localizado
Un componente software proporcionado a través de un endpoint accesible a través de la red.
Servicio
Es cada uno de los “elementos”, en nuestro caso nos referimos a servicios, que se sitúan en ambos “extremos” (uno que proporciona un servicio, y otro de lo consume) de la red que sirve de canal de comunicación entre ellos.
Endpoint
A nivel técnico, los servicios pueden implementarse de varias formas. En este sentido, podemos distinguir dos tipos de servicios Web:
Los denominados servicios Web “grandes” (“big” Web Services), es decir, Servicios Web SOAP, y los Servicios Web RESTful
Utilizan mensajes XML para intercomunicarse que siguen este estándar, dicho estándar es un lenguaje XML que define la arquitectura y formato de los mensajes. Dichos sistemas normalmente contienen una descripción legible por la máquina de la descripción de las operaciones ofrecidas por el servicio, escrita en WSDL que es un lenguaje basado en XML para definir las interfaces sintácticamente.
SOAP (Simple Object Access Protocol)
Son adecuados para escenarios de integración básicos ad-hoc. Dichos servicios Web se suelen integrar mejor con HTTP que los servicios basado en SOAP, ya que no requieren mensajes XML o definciones del servicio en forma de fichero WSDL. Utilizan estándares muy conocidos como HTTP, SML, URI, MIME, y tienen una infraestructura “ligera” que permite que los servicios se construyan utilizando herramientas de forma mínima.
Servicios Web RESTful
Orientada a servicios que permite crear una definición abstracta de un servicio, proporcionar una implementación concreta de dicho servicio, publicar y localizar un servicio, seleccionar un instancia de un servicio, y utilizar dicho servicio con una elevada interoperabilidad.Es posible desacoplar la implementación del servicio Web y su uso por parte de un cliente. También es posible desacoplar la implementación del servicio y de cliente. Las implementaciones concretas del servicio pueden desacoplarse a nivel de lógica y transporte.
Arquitectura de los Web Service
La descripción abstracta definida en un documento WSDL
PortType
Una instancia concreta de un Servicio se define mediante
Un elemento port de un WSDL
¿Un conjunto de ports definen?
un elemento service de un WSDL
¿En qué están basadas las tecnologías que son fundamentales para el desarrollo de Servicios Web?
XML
¿En qué se organizan los protocolos utilizados en los Servicios Web?
En una serie de capas
Es la capa que se encarga de transportar los mensajes entre aplicaciones. Normalmente se utiliza el protocolo HTTP para este transporte, aunque los servicios web pueden viajar mediante otros protocolos de transferencia de hipertexto como SMTP, FTP o BEEP.
Transporte de Servicios
Es la capa responsable de codificar los mensajes en XML de forma que puedan ser entendidos por cualquier aplicación. Puede implementar los protocolos XML-RPC o SOAP.
Mensajería XML
Se encarga de definir la interfaz pública de un determinado servicio. Está definición se realiza mediante WSDL.
Descripción de Servicios