Un web service es un conjunto de protocolos y
estándares que sirven para intercambiar datos
entre aplicaciones.
Toda la
comunicación se realiza sobre
HTTP. Los Web Services no
están ligados a ningún Sistema
Operativo o Lenguaje de
Programación.
VENTAJAS
Aportan interoperabilidad entre aplicaciones de
software. Fomentan los estándares y protocolos
basados en texto. Al apoyarse en HTTP, los
servicios Web pueden aprovecharse de los
sistemas de seguridad firewall sin necesidad de
cambiar las reglas de filtrado.
DESVENTAJAS
Desventajas Trata de una
tecnología que está en
plena fase de crecimiento.
Existe poca
documentacion.
COMPONENTES
XML
Es el lenguaje de etiquetas en el que está basado el
formato de los mensajes de cada Web Service.
SOAP
Simple Object Access Protocol. SOAP es un protocolo
escrito en XML para el intercambio de información entre
aplicaciones. Básicamente es un protocolo para acceder a
un Web Service.
WSDL
Simple Object Access Protocol. SOAP es un protocolo
escrito en XML para el intercambio de información
entre aplicaciones. Básicamente es un protocolo para
acceder a un Web Service.
UDDI
Universal Description, Discovery and
Integration. UDDI es un estándar XML para
describir, publicar y encontrar servicios web. Es
un directorio de interfaces de servicios web
descritos en WSDL que se comunican mediante
SOAP.
ARQUITECTURA
SERVICE DISCOVERY
Responsable de centralizar
servicios web en un directorio
común de registro y proveer una
funcionalidad sencilla para
publicar y buscar. UDDI se
encarga del Service Discovery.
SERVICE DESSCRIPTION
Uno de los aspectos más
característicos de los web
services es que se
autodescriben. Esto significa
que una vez que se ha
localizado un Web Service nos
proporcionará información
sobre que operaciones
soporta y cómo activarlo. Esto
se realiza a través del Web
Services Description
Language (WSDL).
SERVICE INVOCATION
Invocar a un Web Service implica pasar mensajes
entre el cliente y el servidor. SOAP (Simple Object
Access Protocol) especifica cómo deberíamos
formatear los mensajes request para el servidor, y
cómo el servidor debería formatear sus mensajes
de respuesta.
TRANSPORT
Todos estos mensajes han de ser transmitidos de
alguna forma entre el servidor y el cliente. El protocolo
elegido para ello es HTTP (HyperText Transfer
Protocol). Se pueden utilizar otros protocolos pero
HTTP es actualmente el más usado.
FUNCIONAMIENTO
El Service Provider genera
el WSDL describiendo el Web Service y
registra el WSDL en el directorio UDDI o
Service Registry.
El Service Requestor o la aplicación del cliente
requiere un Web Service y se pone en contacto
con el UDDI para localizar el Web Service.
El cliente, basándose en la descripción descrita por
el WSDL, envía un request para un servicio particular
al Web Service Listener, que se encarga de recibir y
enviar los mensajes en formato SOAP.
El Web Service analiza el mensaje SOAP del request e
invoca una operación particular en la aplicación para
procesar el request. El resultado se escribe de nuevo en
SOAP en forma de respuesta y se envía al cliente.
El cliente analiza el mensaje de respuesta SOAP y
lo interpreta o genera un error si ha habido
alguno.
TIPOS DE WEB SERVICES
SOAP
REST
Es un estilo de arquitectura de software para
sistemas distribuidos tales como la web, a
diferencia de SOAP, se centra en el uso de los
estándares HTTP y XML para la transmisión de
datos sin la necesidad de contar con una capa
adicional. Las operaciones( o funciones) se
solicitarán mediante GET, POST, PUT y DELETE, por
lo que no requiere de implementaciones
especiales para consumir estos servicios. Además
se podrá utilizar JSON en vez de XML como
contenedor de la información
COMPONENTES DE WEB
SERVICES RESTful
1. Protocolo cliente/servidor sin estado con
operaciones bien definidas El protocolo de
comunicación utilizado en los servicios REST es el
protocolo HTTP.
CODIGO DE ERROR
Es muy común que las APIs Restful definan unos
códigos de error personalizados y no utilicen los
códigos de error y estado propios del protocolo HTTP.
CACHEABLE
Es posible que clientes realicen una misma
petición de forma muy continuada. Si no hay
modificaciones en los datos, es interesante
disponer de caché para evitar un bajón en el
rendimiento general del resto de usuarios.
ESCALABLE
El sistema servidor encargado de recibir y
procesar las peticiones debe ser susceptible
de ser dividido en capas
METODOS
Metodos GET, POST, PUT, DELETE , PACH
IDENTIFICACION DE RECURSOS MEDIANTE URIS
Una URI no es más que una
cadena de texto con una
estructura determinada que
nos permite identificar un
elemento.
FROMATO DE RESPUESTAS
Una URI no es más que una cadena de texto
con una estructura determinada que nos
permite identificar un elemento.
NODE JS
Es un entorno JavaScript de lado de servidor que utiliza un
modelo asíncrono y dirigido por eventos. Node usa el motor
de JavaScript V8 de Google: una VM tremendamente rápida.
WEB MODULE
En la arquitectura Java EE, un módulo web es la unidad
desplegable y utilizable más pequeña de los recursos
web. Un módulo web contiene componentes web y
archivos de contenido web estáticos, como imágenes,
que se llaman recursos web. Un módulo Web es
empaquetado como un archivo JAR con la extensión .war
SERVIDOR HTTP
Un servidor web o servidor HTTP es un
programa informático que procesa una
aplicación del lado del servidor, realizando
conexiones bidireccionales o unidireccionales y
síncronas o asíncronas con el cliente y
generando o cediendo una respuesta en
cualquier lenguaje o Aplicación del lado del
cliente.
RUTAS Y URLs AMIGABLES
RUTA
Es una cadena de caracteres
concreta que señala la
localización exacta de un archivo
o directorio.
URL AMIGABLE
Es una cadena de caracteres concreta que señala
la localización exacta de un archivo o directorio.