Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
5.1. Introduccin
Desde mediado de la dcada de los 90, con la aparicin y extensin de Internet a
niveles jams pensados, ha existido siempre la necesidad de integracin entre
sistemas muy heterogneos, tanto software como hardware. Muchas empresas
comenzaron grandes proyectos para lograr la mejor tecnologa integradora de
sistemas, pero a medida que la competencia se hacia cada vez ms fuerte, la
integracin se hacia cada vez ms difcil.
5.2. Definicin
Los Servicios Web exponen funcionalidad til a los usuarios Web mediante
un protocolo Web estndar. En la mayora de casos, el protocolo utilizado es
Simple Object Access Protocol (SOAP).
Los Servicios Web se registran de modo que los potenciales usuarios puedan
encontrarlos. Esto se realiza mediante Universal Discovery Description
and Integration (UDDI).
Los servicios web son muy prcticos al aportar gran independencia entre la
aplicacin que usa el servicio web y el propio servicio. De esta forma, los
cambios a lo largo del tiempo en uno no deben afectar al otro. Esta
flexibilidad ser cada vez ms importante, dado que la tendencia a construir
grandes aplicaciones a partir de componentes distribuidos ms pequeos es
cada da ms acusada.
Inconvenientes:
En relacin a las transacciones, no pueden compararse su grado de
desarrollo con los estndares abiertos de computacin distribuida como
CORBA.
Como hemos visto, los servicios web son componentes software que permiten a los
usuarios usar aplicaciones de negocio que comparten datos con otros programas
modulares, va Internet.
5.4.1. SOAP
Los datos pueden ser transmitidos a travs de HTTP , SMTP , etc. SOAP especifica el
formato de los mensajes. El mensaje SOAP est compuesto por un envelope (sobre),
cuya estructura est formada por los siguientes elementos: header (cabecera) y
body (cuerpo).
El enlace HTTP es opcional, pero casi todas las implementaciones SOAP lo soportan,
porque es el nico protocolo estandarizado para SOAP. Por esta razn, existe la
idea generalizada y equivocada de que SOAP requiere HTTP. Algunas
implementaciones soportan transportes MSMQ, MQ Series, SMTP o TCP/IP, pero
casi todos los servicios Web XML actuales utilizan HTTP porque es ubicuo. Como
HTTP es un protocolo fundamental en la Web, la mayora de las organizaciones ya
tienen una infraestructura de red que soporta HTTP y personal que ya sabe cmo
gestionarlo. La infraestructura de seguridad, monitorizacin y balance de carga
para HTTP ya est ampliamente disponible en la actualidad.
5.4.2. WSDL
Utilizando una analoga con otras tecnologas, podemos afirmar que WSDL es a
SOAP lo que IDL es a CORBA o COM.
La notacin que utiliza un archivo WSDL para describir formatos de mensajes est
basada en el estndar XML Schema, siendo neutral respecto del lenguaje de
programacin ya que est basado en estndares; esto lo hace apropiado para
describir interfaces de servicios Web XML accesibles desde una amplia variedad de
plataformas y lenguajes de programacin.
5.4.3. UDDI
Se puede ofrecer un servicio Web sin registrarlo en UDDI, accin anloga a abrir un
negocio en un stano y confiar en la publicidad boca a boca de nuestros clientes. Si
se desea alcanzar un mercado significativo, UDDI es fundamental para que los
clientes puedan encontrarnos.
El directorio UDDI tambin incluye varias formas de buscar los servicios que se
necesitan para construir aplicaciones. Por ejemplo, podemos buscar los
proveedores de un servicio en una ubicacin geogrfica especfica o un negocio de
un tipo especfico. El directorio UDDI proporciona informacin, contactos, enlaces e
informacin tcnica que permiten evaluar qu servicios satisfacen nuestros
requerimientos.
UDDI permite encontrar negocios que ofrecen servicios web. La especificacin WS-
Inspection permite navegar por una serie de servicios web ofrecidos en un
determinado servidor para encontrar los que satisfacen las necesidades especficas
que se puedan tener.
Segn el ejemplo del grfico, un usuario (que juega el papel de cliente dentro de
los Servicios Web), a travs de una aplicacin, solicita informacin sobre un viaje
que desea realizar haciendo una peticin a una agencia de viajes que ofrece sus
servicios a travs de Internet.
La agencia de viajes ofrecer a su cliente (usuario) la informacin requerida. Para
proporcionar al cliente la informacin que necesita, esta agencia de viajes solicita a
su vez informacin a otros recursos (otros Servicios Web) en relacin con el hotel y
la lnea area.
Por ltimo, el usuario realizar el pago del viaje a travs de la agencia de viajes
que servir de intermediario entre el usuario y el servicio Web que gestionar el
pago.
Microsoft.NET
WebLogic
WebSphere
ColdFusion MX de Macromedia
5.8. Seguridad
Actualmente, los servicios web estn siendo ampliamente aceptados por las
empresas para el desarrollo de software de uso interno. As los servicios pueden
implementar toda su funcionalidad y permanecer seguros tras el cortafuegos de la
compaa.
En contraposicin, los desarrollos actuales no ayudan a la cooperacin entre las
empresas ya que no existe ningn estndar establecido sobre las tcnicas de
seguridad. Debido a la tecnologa usada por los servicios web (en concreto SOAP),
las tcnicas de seguridad convencionales utilizadas en Internet no resultan
suficientes.
Con SOAP cada mensaje intercambiado realiza mltiples saltos, siendo dirigido a
travs de numerosos puntos intermedios antes de alcanzar su destino final. Por ello
los servicios web necesitan tecnologas que protejan los mensajes a lo largo de su
ruta completa.
Firma Digital XML: Asocia los datos del mensaje al usuario que emite la
firma, de modo que este usuario es el nico que puede modificar dichos
datos.
5.9. Calidad
Para que un web service se ejecute con correccin y satisfaga las expectativas
creadas, a parte del precio, habr que tener en cuenta una serie de parmetros
como por ejemplo, que los resultados obtenidos del mismo sean los esperados o
que el entorno de uso sea amigable.
Por ltimo, tambin sera interesante analizar las caractersticas que ofrece el
proveedor de servicios web. Actualmente no existen estndares al respecto, pero la
mayora de las empresas ya est demandando algn tipo de acuerdo o contrato con
los proveedores, de modo que se pueda garantizar la calidad y la fiabilidad de los
servicios contratados.
5.10. Algunos Ejemplos
Empresas multinacionales muy conocidas y muchas otras ms discretas han
empezado a desarrollar soluciones mediante tecnologa servicios web. A
continuacin se incluyen algunos ejemplos significativos:
Este mercado ofreca estas posibilidades desde hace tiempo: CORBA (Common
Object Request Broker Architecture) y antes incluso DCE (Distributed Computing
Environment). Cul es la diferencia con estas tecnologas?. La primera disparidad
es que SOAP es bastante menos complejo que las anteriores aproximaciones, de
modo que la barrera de entrada para una implementacin SOAP compatible con los
estndares es significativamente menor.
La otra ventaja significativa que tienen los servicios Web XML sobre anteriores
iniciativas es que trabajan con protocolos web estndares: XML, HTTP y TCP/IP. Un
significativo nmero de compaas ya tienen una infraestructura Web y personal
con conocimiento y experiencia en su mantenimiento, de modo que, nuevamente,
la barrera de entrada de los servicios web XML es considerablemente menor que las
tecnologas anteriores.
5.12. El Futuro Prximo
En apartados anteriores hemos hablado sobre cmo hablar con los servicios Web
XML (SOAP), cmo se describen los servicios Web XML (WSDL) y cmo encontrar
los servicios Web XML (UDDI). Estos protocolos constituyen un conjunto de
especificaciones que proporcionan la base para la integracin y agregacin de
aplicaciones.
Desde estas especificaciones base, las empresas estn generando soluciones reales
y obteniendo valor real de las mismas. Aunque se ha trabajado mucho para que los
servicios Web XML sean una realidad, es necesario hacer mucho ms.
Los primeros servicios web XML solan ser fuentes de informacin que podamos
fcilmente incorporar en las aplicaciones (cotizaciones de valores, previsiones del
tiempo, resultados deportivos, etc.).
Actualmente los servicios web XML tienen un gran xito entre el pblico, pero
todava hay temas sobre los que los desarrolladores deben seguir trabajando; por
ejemplo, la seguridad, gestin operacional, transacciones, mensajera fiable, etc.
La arquitectura Global XML Web Services Architecture (GXA) permitir que los
servicios Web XML evolucionen ofreciendo un modelo consistente y de propsito
general para aadir nuevas capacidades avanzadas a los servicios Web XML de
modo modular y extensible. WS-Security es una de las especificaciones de GXA.
Las necesidades de la gestin operacional como el routing de mensajes entre
mltiples servidores y la configuracin dinmica de estos servidores tambin
forman parte de la arquitectura GXA, y se satisfacen por la especificacin WS-
Routing y la especificacin WS-Referral. A medida que la arquitectura GXA
crezca, se presentarn especificaciones para estas y otras necesidades.
Exponer las aplicaciones existentes como servicios web XML permitir a los usuarios
construir nuevas y ms potentes aplicaciones que utilicen estos servicios como
bloques de construccin. Por ejemplo, un usuario podra desarrollar una aplicacin
de compras para obtener automticamente la informacin de precios de varios
fabricantes, que permitiera seleccionar un fabricante, enviar el pedido y a
continuacin realizar seguimiento del envo hasta que sea recibido. La aplicacin del
fabricante, adems de exponer sus servicios en la Web, podra a su vez utilizar
servicios web XML para verificar el crdito del cliente, realizar un cargo en su
cuenta y realizar el envo con una empresa de transporte.