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