You are on page 1of 7

WP WEB SERVICES 20/5/03 18:43 Página 1

e BA e-Soluciones
de Banda Ancha

whitepaper
Web Services
WP WEB SERVICES 20/5/03 18:43 Página 2

Web Services

índice
1. Introducción
2. ¿Qué son los Web Services?
3. ¿Cómo funcionan?
4. ¿Cuáles son las ventajas reales que ofrecen?
5. Para saber más...
6. Glosario de Términos

1 Introducción
En los últimos años, los sistemas que soportan las aplicaciones de negocio de las empresas han visto
cómo crecían de forma exponencial las relaciones de la empresa con su entorno - clientes y
proveedores - forzando su adaptación a este nuevo marco de relación.
En su origen, los Web Services (Servicios Web) fueron creados como un método para compartir recursos
en la red. En un entorno donde el aumento constante del número de usuarios demandaba cada vez
más un mayor número de recursos en la red, surgió la necesidad de facilitar la distribución entre
empresas de dichos recursos para satisfacer las necesidades de sus clientes. El resultado fue el
desarrollo de una tecnología de muy fácil implantación y que era capaz de solucionar los aspectos de
disponibilidad e inmediatez que se requerían.
Esta tecnología ha tenido una aceptación bastante importante excepto para los servicios que
implicaban transacciones seguras, debido a que aún se están definiendo los estándares para asegurar
el acceso a los Web Services. Tal es así, que este planteamiento se está empezando a trasladar a la
Intranet de las empresas. Así, los Servicios Web se están revelando como la tecnología capaz de
distribuir los recursos internos entre todos los sistemas, ahorrando costosos desarrollos de integración.

2 ¿Qué son los Web Services?


Los Web Services son pequeños programas formados por varios componentes que permiten ser
publicados en directorios e invocados para su ejecución por otros programas vía http, generando una
respuesta en XML.
Quizás la ventaja principal de los Web Services es que se trata de un estándar aceptado y que, a
diferencia de otras tecnologías de integración, posibilitan la compartición de funcionalidades entre
sistemas heterogéneos de forma transparente, mediante el intercambio de datos vía XML. Para este
intercambio el único requisito es establecer conexiones TCP/IP posibilitando la comunicación http
entre los sistemas.

1
WP WEB SERVICES 20/5/03 18:43 Página 3

whitepaper
Web Services

Un Web Service está formado por los siguientes componentes:


Lógica. Se trata del componente que procesa la petición para generar la información
solicitada por el cliente. Básicamente resuelve el “problema” y puede, para ello,
comunicarse con otros Web Services, acceder a bases de datos o bien invocar API de
otras aplicaciones solicitando la información (o parte de ella) que ha de generar
para enviar en formato XML.
SOAP (Simple Object Access Protocol). Protocolo de comunicación, basado en XML,
que sirve para la invocación de los servicios Web a través de un protocolo de
transporte, como HTTP. Consta de tres partes: una descripción del contenido del
mensaje, unas reglas para la codificación de los tipos de datos en XML y una
representación de las llamadas RPC para la invocación y respuestas generadas por
el Web Service.
UDDI (Universal Description, Discovery and Integration) Directorio donde es posible
publicar los Web Services, permitiendo con ello que los posibles usuarios de ese
servicio puedan obtener toda la información necesaria para la invocación y
ejecución del Web Service. Un directorio UDDI ofrece una serie de interfaces que
posibilitan tanto la publicación como la obtención de información sobre los Web
Services publicados. La información registrada se clasifica según lo que se desee
obtener del servicio:
Información de negocio: acerca de quién publica el servicio.
Información de servicio: descripción del tipo de servicio.
Información de enlace: dirección (URL, por ejemplo) para acceder al servicio.
WSDL (Web Services Description Language). Lenguaje basado en XML que permite la
descripción de los Web Services definiendo la gramática que se debe usar para
permitir su descripción y capacidades (datos, comandos que aceptan o producen), y
su publicación en un directorio UDDI.

3 ¿Cómo funcionan?
Imaginemos, en primer lugar, que una empresa tiene interés en desarrollar una serie de
Web Services que hagan visibles el resto de aplicaciones corporativas o, pensando quizás
en un alcance más público desde Internet, una serie de funciones asociadas a las
aplicaciones de facturación y cobros de sus clientes.
1. Desarrollo del Servicio: En primer lugar tendremos que desarrollar la lógica que
queremos ofrecer. Si, por ejemplo, queremos crear un servicio que me devuelva el
estado (o los estados) de una factura de un cliente, implementaremos la lógica
generando una consulta a la base de datos pasando los filtros que recibiremos
como parámetros de entrada del servicio que estamos creando. Crearemos además
un fichero WSDL describiendo las funcionalidades del servicio, protocolo de
transporte y dirección para su invocación.

2
WP WEB SERVICES 20/5/03 18:43 Página 4

whitepaper
Web Services

2. A continuación procederíamos a publicar el servicio en un directorio UDDI, lo


que de alguna forma es hacer público que el servicio ya se encuentra disponible
para su acceso. Usaremos el API del directorio para introducir la información de
negocio (Páginas blancas), la información de servicio (Páginas verdes) y la
especificación del servicio (Páginas amarillas), introduciendo el fichero WSDL de
descripción del servicio web.

1. Implementación
UDDI
Lógica WS SOAP
Descripción
WSDL

2. Publicación

A partir de este momento los usuarios pueden utilizar el recurso, para ello:
a. Buscaríamos el servicio web realizando una consulta al Directorio UDDI.
Para realizar la búsqueda se envía al directorio un mensaje SOAP específico.
Como resultado se creará una instancia en el cliente capaz de invocar al
servicio web gracias a la información obtenida en el directorio, y que nos
indica cómo accederemos, con qué sintaxis y qué protocolo usaremos para
ello.
b. Se invocará al servicio web con la información obtenida mediante
encapsulado de mensajes definidos por el protocolo SOAP.

UDDI a. Obtención
información del
servicio
Descripción
WSDL

SOAP
Lógica WS SOAP

b. Ejecución Cliente

3
WP WEB SERVICES 20/5/03 18:43 Página 5

whitepaper
Web Services

4 ¿Cuáles son las ventajas reales que ofrecen?


Hagamos antes una pequeña reflexión sobre la situación actual para poder comprender
cuál es el verdadero valor de los Web Services.
Por regla general, la implantación de las aplicaciones sirve para resolver una necesidad de
negocio o de relaciones entre empleados, proveedores y clientes. Se selecciona la
plataforma tecnológica más acorde a las necesidades o requerimientos y se realiza un
proyecto de implantación que integre los nuevos sistemas con el resto de procesos de la
empresa.
Pero, para realizar dicha integración, ¿de qué herramientas disponemos?:
Soluciones a medida que procesen la generación y recogida de ficheros entre cada
sistema, lo que es muy poco escalable ya que cada nueva aplicación requerirá de
nuevos y costosos desarrollos.
Aplicación de soluciones Middleware (como DCOM, CORBA, etcétera), con altos
requisitos para su implantación y costes moderados. Se necesitan, por lo general,
plataformas específicas.
La implantación de los Web Services en una empresa no requiere grandes inversiones, ya
que aprovecha la infraestructura y las herramientas utilizadas en las aplicaciones. Incluso,
llegando aún más lejos, cualquier componente ya desarrollado (EJB, Servlets, objetos COM,
etcétera) podrá convertirse en un Web Service mediante una sencilla adaptación. Además,
al estar basados en protocolos ampliamente aceptados, los Web Services son
multiplataforma, facilitando la implantación de los mismos independientemente de la
plataforma donde se implante la aplicación.
Aunque muy importante, por los ahorros de costes que permiten, no es ésta la única
ventaja que nos aportan los Web Services. Su simplicidad, apoyada en unos estándares
ampliamente aceptados, permite vislumbrar el valor que esta tecnología podría aportar al
negocio de las empresas.
El uso de XML para el formato de los datos hace que cualquier dispositivo que
disponga de un parser XML pueda usar los Web Services. Esto abre las puertas de las
aplicaciones a todos los dispositivos que irán haciéndose un hueco en los próximos
años: PDAs, Móviles GPRS / UMTS, Thin Clients, etcétera.
No será necesario ningún Middleware propietario para el intercambio de
información entre aplicaciones. En el contexto de la extranet, esto facilita que la
comunicación entre los procesos de distintas empresas sea mucho más ágil de
implantar, reduciendo con ello del Time to Market de los servicios.
Permite, además, la distribución de los procesos en la red. La extensión del uso de los
Web Services, facilita la reutilización de recursos aligerando el peso de las
aplicaciones, ya que la lógica de negocio puede repartirse entre distintos sistemas.

4
WP WEB SERVICES 20/5/03 18:43 Página 6

whitepaper
Web Services

5 Para saber más...


Web Services es una tecnología definida por W3C (www.w3.org) donde participan los
principales desarrolladores y proveedores de TI.
Además existen otros foros encargados de estudiar procesos que permitan la extensión
de esta tecnología en escenarios más complejos, o simplemente, velar por la
interoperatividad de las versiones de distintos proveedores. A continuación se describen
los trabajos más importantes que actualmente se están llevando a cabo:
Interoperability (www.ws-i.org): Este grupo se encarga de promover la
interoperabilidad de los Web Services entre cada una de las plataformas,
aplicaciones y lenguajes de programación. Se trata de un foro abierto donde se
ofrecen a los clientes o posibles usuarios de guías de implementación prácticas
recomendadas y soporte para el desarrollo de servicios web interoperables.
Security: trata de definir unos requisitos a aplicar en los mensajes SOAP para
aumentar la seguridad en el uso de los Web Services garantizando la integridad de
los mensajes, la confidencialidad y la autenticación.
(http://www-106.ibm.com/developerworks/webservices/library/ws-secure )
BPEL4WS (Business Process Execution Language for Web Services): Lenguaje para
describir procesos de negocio sobre Web Services. Este lenguaje, combinado con las
especificaciones WS-Transaction y WS-Coordination, determina como se deben de
definir, coordinar e integrar los procesos de negocio dentro de la empresa o con
otros proveedores, a través de sistemas heterogéneos.
Un proceso de negocio define básicamente el flujo de tareas que debe realizar así
como el orden en que se han de ejecutar y el intercambio de información que se
hereda de una tarea a la siguiente. BPEL4WS, define como realizar este proceso
usando Servicios Web.
(http://www-106.ibm.com/developerworks/webservices/library/ws-bpel)
(http://www06.ibm.com/developerworks/webservices/library/ws-transpec)
(http://www-106.ibm.com/developerworks/library/ws-coor)

6 Glosario de Términos
API (Application Program Interface). Especificación para convención de llamadas a
funciones desde un programa que define el interfaz de un servicio.
COM (Component Object Model). Entorno de desarrollo que posibilita la creación de
objetos que pueden ser usados por las aplicaciones que soportan este entorno. Los
objetos OLE y ActiveX están basados en este modelo.

5
WP WEB SERVICES 20/5/03 18:43 Página 7

whitepaper
Web Services

CORBA (Common Object Request Broker Architecture). Arquitectura que posibilita el


intercambio de objetos entre aplicaciones. Un objeto CORBA puede estar desarrollado
en cualquier lenguaje y correr en cualquier sistema operativo.
DCOM (Distributed Component Object Model). Extensión del modelo COM que posibilita
el intercambio de objetos entre aplicaciones, conceptualmente similar a CORBA pero
basado exclusivamente a entornos Windows.
EJB (Enterprise Java Beans). Componentes desarrollados en Java que posibilitan la
interconexión de capas en aplicaciones multicapa cliente – servidor.
GPRS (General Packet Radio Service). Estándar para las comunicaciones inalámbricas
mediante terminales móviles, que soportan velocidades de hasta 115 Kbs.
HTML (Hipertext Markup Language). Lenguaje desarrollado por el W3C para el formato
de documentos usados en Internet.
PDA (Personal Digital Assistant). Pequeño dispositivo personal capaz de integrar
pequeñas aplicaciones y un teléfono móvil (en algunos casos).
RPC (Remote Procedure Call). Conjunto de herramientas software desarrolladas por un
consorcio de fabricantes y diseñadas para asistir a los diseñadores en la creación de
aplicaciones distribuidas.
TCP/IP (Transmission Control Protocol/Internet protocol). Sistema de protocolos,
definidos en RFC 793, en los que se basa buena parte de Internet. El primero se encarga
de dividir la información en paquetes en origen, para luego recomponerla en destino,
mientras que el segundo se responsabiliza de dirigirla adecuadamente a través de la
red.
Servlet. Pequeño programa que se ejecuta dentro del entorno de un Servidor Web, en el
servidor.
UMTS (Universal Mobile Communicatios System). Estándar para las comunicaciones
móviles que soporta velocidades de hasta 2 Mbs.
W3C (World Wide Web Consortium). Organización apadrinada por el MIT y el CERN, entre
otros, cuyo cometido es el establecimiento de los estándares (especificaciones,
directrices, software, y herramientas) relacionados con WWW.
XML (Extended Markup Language). Lenguaje definido por el W3C como una evolución
del lenguaje HTML para generar documentos más flexibles.

Mayo de 2003 6

You might also like