You are on page 1of 10

Universidad Tcnica Federico Santa Mara

Departamento de Informtica
Programa de Magster en Tecnologas de la Informacin

Web Services
Sergio Snchez R. email: ssanchez@uvm.cl
Ricardo Vsquez V. email: rvasquez@csav.com
Resumen
En la ltima dcada los Web Services han tomado un sitial importante dentro del entorno de los
desarrolladores de aplicaciones, por las ventajas que entregan a nivel de distribucin de servicios e
integracin de sistemas heterogneos. Por esto el objetivo fundamental de este estudio es dar a conocer los
Web Services de forma conceptual (sin entrar en detalles de implementacin) y poder determinar
detalladamente como estos dan respuesta a las problemticas comunes que subyacen de sus ventajas: manejo
de seguridad, coordinacin de procesos y manejo transacciones. Durante este estudio se comprender el
funcionamiento de los Web Services, las arquitecturas de componentes propuestas por empresas importantes
para el manejo de las problemticas planteadas anteriormente y un ejemplo aplicado de publicacin simple de
servicios mediante Web Services e integracin de sistemas.
1 Introduccin
Durante los inicios del desarrollo de las aplicaciones uno de los problemas que mas se trato de
solucionar era que los sistemas fueran independientes de la plataforma de hardware y sistema operativo, lo
que de alguna forma se logra con la aparicin de lenguajes de programacin que permiten realizar esa
diferencia, como por ejemplo Java. Luego, el ambiente WEB abri las puertas para generar aplicaciones
muchos ms independientes y accesibles desde cualquier parte del mundo, pero an as exista un problema
que se deba solucionar que era la heterogeneidad de los diferentes sistemas, los cuales estaban escritos en
lenguajes distintos por lo que su interoperabilidad se haca compleja. Es en este punto donde nace una
solucin que se empapa de diversas tecnologas que funcionan, y que de alguna forma solucionan este
problema de comunicacin entre aplicaciones que se encuentran en ambientes distribuidos (La WEB) y que se
desarrollan absolutamente de forma distinta. Est solucin es conocida como Web Services, tambin en
muchos textos se realiza una relacin directa con SOA (Arquitectura Orientada a Servicios), esto ya que los
Web Services son considerados los servicios bases para su funcionamiento, dejando claro que se podran
utilizar otros, por esto no es bueno mezclar los conceptos del todo.
En este estudio daremos a conocer los fundamentos de los Web Services y los nuevos problemas que
se les presentan, sobretodo en la integracin de sistemas y procesos de negocios. Adems se dar a conocer
una aplicabilidad real de la tecnologa dentro de una de las empresas nacionales ms importantes.
2 Desarrollo del informe
2.1 Aspectos Generales de los Web Services.
Uno de los conceptos, en la ltima dcada, que ha tomado importancia en el mundo del desarrollo de
aplicaciones es el de Web Services. Desde el punto de vista ms simple, se podra mencionar que los Web
Services son Servicios Web, entendiendo por servicios programas que pueden ser accedidos por la red (En
este caso la red sera la WEB). Desde el punto de vista de un desarrollador, un Web Service es un componente
independiente que posee un conjunto de funcionalidades que pueden ser accedidas desde cualquier lugar y
plataforma. Desde cualquier lugar, quiere decir que estarn disponibles dichos servicios a travs de un medio
comn de comunicacin (la WEB). Desde cualquier plataforma, quiere decir que los datos que se reciben y
son enviados por los Web Services son independientes de la plataforma de origen o destino, esto se logra
utilizando para la presentacin de los datos el Lenguaje Extendido de Marcas (XML).
El organismo encargado de desarrollar gran parte de los estndares de Internet, denominado W3C
(Word Wide Web Consortium) posee en la actualidad un grupo de investigacin especializado en Web
1

Service, lo que demuestra la importancia que tiene dicho concepto dentro de estos ltimos aos. Este grupo de
trabajo ha entregado una definicin formal acerca de los Web Services, la que se presenta a continuacin:
Un Web Service es una aplicacin de software identificada mediante una URI (Uniform Resource
Identifier. Tambin se utiliza URL), cuya interfaz es capaz de ser definida, descrita, y descubierta mediante
artefactos XML, y soportar interacciones directas con otras aplicaciones de software usando mensajes basados
en XML y protocolos basados en Internet [WEB-01].
Consensuando est definicin tcnica con la visin de los desarrolladores, se puede mencionar que el
Web Service es un componte de software que debe ser definido, descrito y descubierto mediante artefactos
XML. Es bueno dejar claro dentro del concepto tcnico que un Web Service no posee interfaces como una
aplicacin comn, sino que solo publica un conjunto de funcionalidades que podrn ser accedidas por otras
aplicaciones.
Un Web Service se basa en las siguientes tecnologas para dar cumplimiento a las definiciones
entregadas anteriormente [WEB-02]:
9 Un formato que describa la interfaz del componente (sus mtodos y atributos) basado en XML. Por lo
general este formato es el WSDL (Web Service Description Language).
9 Un protocolo de aplicacin basado en mensajes y que permite que una aplicacin interacte con el Web
Service. Por lo general este protocolo es SOAP (Simple Object Access Protocol).
9 Un protocolo de transporte que se encargue de transportar los mensajes por Internet. Por lo general este
protocolo es el HTTP (Hiper-Text Transport Protocol). Pudieran existir variantes para el transporte, pero
no son del estudio de este documento. Si requiere mayor informacin ver [TAR-01].
En la figura 1 se da a conocer la forma en que estas tecnologas interactan para permitir la
comunicacin entre un proceso que requiere la utilizacin de un Web Service y el mismo Web Service.
2

Figura 1. Interconexin de los


Componentes para permitir la
comunicacin mediante Web Services
[TAR-01].

Explicacin Breve del Proceso:


1.- Se realiza un registro en el catalogo UDDI (Universal
Description, Discovery, and Integration). Este catalogo esta en
formato XML. En palabras simples es como un directorio de
pginas amarillas de Web Services. Este paso es conocido como
Publicacin.
2.- Se realiza la bsqueda de un Web Service en el Catalogo
UDDI. Este paso es conocido como Bsqueda.
3.- Se obtiene la referencia al Web Service. En la aplicacin que
requiere el servicio se crea un Proxy, el cul es un componente
lgico que emula las interfaces del Web Service, para as
permitir su utilizacin transparente para el desarrollador.
4.- Se establece la comunicacin entre el componente que
requiere el servicio y el Web Service. Esto se realiza utilizando
el protocolo SOAP sobre HTTP regularmente. Este paso es
conocido como Interaccin.

Para una mayor comprensin tcnica se definirn, ms en detalle, cada una de las tecnologas que
permiten la utilizacin de Web Service [WEB-03]:
9 SOAP (Simple Object Access Protocol): protocolo estndar creado por Microsoft, IBM y otros, el cul se
utiliza para codificar la informacin de los mensajes de peticin y respuesta de los Web Services que se
envan a travs de una red. Es un protocolo ligero de mensajes XML. Por lo tanto, este protocolo permite
codificar las llamadas a los mtodos de un Web Service y entender como debe codificar el Web Service
el resultado para que el peticionario del servicio lo pueda interpretar.
9 WSDL (Web Services Description Language): lenguaje desarrollado en forma conjunta por Microsoft e
IBM. Este lenguaje describe la interfaz pblica de los Web Service. Est basado en XML y describe la
forma de comunicacin, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios
para interactuar con los servicios listados en un catlogo.
Sergio Snchez R.
Ricardo Vsquez V.

UDDI (Universal, Description, Discovery and Integration): es un directorio de Web Services distribuido
y basado en Web que permite que se listen, busquen, y descubran este tipo de componentes de software.
Por ltimo, para concluir este punto, es bueno mencionar que los Web Services no son la solucin a
todos los problemas, e idealmente fueron definidos para trabajar dentro los siguientes mbitos [WEB-02]:
9 Servicios simples y pblicos: se expondr una funcionalidad simple accesible desde Internet. Ej.: se
puede crear un servicio para entregar la temperatura de una ciudad en particular, al cul pueden acceder
diferentes aplicaciones.
9 Integracin de Aplicaciones: se usan como extensiones de sistemas ya existentes, para que estos sean
accesibles por aplicaciones y sistemas heterogneos desarrollados bajo cualquier plataforma y lenguaje y
que participan en procesos comunes.
9 Sistemas de Grid Computing: la definicin de Grid Computing: es una tecnologa innovadora que
permite utilizar de forma coordinada todo tipo de recursos (entre ellos cmputo, almacenamiento y
aplicaciones especficas) que no estn sujetos a un control centralizado. En este sentido es una nueva
forma de computacin distribuida, en la cual los recursos pueden ser heterogneos (diferentes
arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de rea extensa
(por ejemplo Internet) [WEB-03]. En este caso de arquitecturas distribuidas la utilizacin de Web
Services es muy provechosa sobre todo en el compartimiento de aplicaciones y datos heterogneos.
En los puntos siguientes se darn a conocer temas relevantes para el trabajo eficiente y efectivo de
los Web Services.
2.2 Seguridad en Web Services

Considerando que los Web Services son componentes de software, es bueno mencionar que su
desarrollo es soportado por el Framework .NET de Microsoft y el Framework J2EE de Sun. Esto es
importante de mencionar ya que existen formas de aplicar seguridad en el desarrollo de los Web Services
utilizando particularidades del entorno de desarrollo y las plataformas en que ellos trabajan (Entindase para
este caso plataformas como sistemas operativos y servidores web). Durante este punto no se definirn las
particularidades de los ambientes de desarrollo para la seguridad, pero si desea tener mayor informacin ver
[WEB-07] y [WEB-08].
Parece razonable considerar el tema de la seguridad en el trabajo de Web Services, ya que como
principio bsico sera importante tener seguridad que al servicio al cul accedo a buscar informacin sea
realmente el servicio que necesito, adems que las respuestas que se entreguen sean realmente las correctas.
Claramente la seguridad tiene un mayor trasfondo que lo mencionado anteriormente, pero esa incertidumbre
pone en el tapete la duda sobre el trabajo con estos componentes. Con respecto al punto de la seguridad la
W3C en la especificacin de la Arquitectura de Web Services (WSA) indica algunos requisititos que se deben
cumplir entorno a la seguridad, los cuales son:
9 Tratar la seguridad de los Web Services a travs de dominios y plataformas distribuidas. Para mayor
detalle de este requisito ver punto AC006 de la [WEB-09].
9 Permitir la proteccin de privacidad para el cliente de un Web Services a travs de mltiples dominios y
servicios. Para mayor detalle ver punto AC020 de la [WEB-09].
Estas indicaciones apuntan directamente a considerar que uno de los fuertes de los Web Services es
su trabajo en ambientes distribuidos, lo que entrega problemticas por ejemplo como la suplantacin. Y el
otro punto est orientado a entender que debe existir una seguridad para los clientes que acceden a estos
servicios, entendiendo que el cliente debe confiar plenamente en que la contraparte solicitada es realmente lo
esperado, esto tambin sucede al revs, en los casos que los servicios solicitados no sean pblicos.
Entorno a estos requisitos Microsoft e IBM durante el ao 2002 trabajaron en la definicin de una
arquitectura de seguridad para los Web Services, la cul se muestra en la figura 2, actualmente esta iniciativa
esta siendo coordinada por OASIS [WEB-10].

Sergio Snchez R.
Ricardo Vsquez V.

Figura 2. Stack de Protocolos de la Arquitectura de


Seguridad Definida por Microsoft e IBM. [WEB-11]

Cada uno de los componentes de este stack


sern descritos en detalle ms adelante
demostrando que cumple con las especificaciones
bsicas de seguridad exigidas por la W3C. A
continuacin se entrega una visn general de las
capas que conforman esta arquitectura:
1.- Es el modelo de seguridad de mensajes, est
capa provee lo bsico para las dems capas de la
arquitectura.
2.- Es la Policy Layer (Capa Poltica) la cul
incluye una poltica de Web Service de punto final
(WS-Policy), un modelo de confianza (WSTruest), y un modelo de privacidad (WS-Privacy).

Juntas estas especificaciones iniciales proporcionan la base sobre la cual se puede trabajar para establecer
servicios interoperables seguros de Web Services a travs de dominios de confianza.
3.- Est capa esta determinada para trabajar con los clientes, partners, y organizaciones estndares (Customer
Layer) para proveer a continuacin especificaciones de seguridad federada lo cul incluye: conversacin
segura (WS-SecureConversation), confianza federada (WS-Federation) y autorizacin (WS- Authorization).
Est explicacin de la arquitectura permite determinar que cumple con los requisitos solicitados por
W3C entorno a considerar la seguridad de los Web Service en ambientes distribuidos (Segn figura 2 punto 1
y 2) y dar privacidad a los clientes en estos ambientes (Segn figura 2 punto 3). A continuacin se describen
en detalle cada uno de los protocolos definidos en las diversas capas:
9 WS-Security [WEB-11]: aborda el tema de la seguridad haciendo uso de las especificaciones y los
estndares existentes. Con ello se evita la necesidad de definir una solucin de seguridad completa en
WS-Security. La industria ha resuelto muchos de estos problemas. Kerberos y X.509 se ocupan del tema
de la autenticacin. Asimismo, X.509 emplea la infraestructura de clave pblica (PKI) existente en la
administracin de claves. XML Encryption y XML Signature describen distintas formas de cifrar y
firmar el contenido de los mensajes XML. XML Canonicalization analiza los modos de hacer que XML
est preparado para el proceso de firma y cifrado. Lo que WS-Security aporta a las especificaciones
existentes es un marco en el que incorporar estos mecanismos a un mensaje SOAP. Esta tarea se realiza
en un modo neutral de transporte.

Figura 3 Proceso Comn al utilizar WS-Security


9

9
9
9

WS-Policy [WEB-04]: establece como los solicitantes y proveedores del servicio pueden especificar
requisitos que determinen cmo debe llevarse a cabo la comunicacin. Generalmente esos requisitos en
su mayora hacen referencia a polticas de seguridad: Mecanismos de autentificacin, algoritmos
criptogrficos, longitudes de claves, tratamientos de informacin personal, etc.
WS-Trust [WEB-04]: especifica mecanismos para establecer diferentes modelos de confianza.
WS-Privacy [WEB-04]: proporcionar un marco de trabajo para generar sentencias sobre requerimientos
y preferencias de privacidad de informacin.
WS-SecureConversation [WEB-04]: proporcionar mecanismos para contextos de seguridad para el
establecimiento de comunicacin autenticada. El contexto de seguridad comprende aspectos tales como
el establecimiento de claves de sesin, claves derivadas, algoritmos, etc.
Sergio Snchez R.
4
Ricardo Vsquez V.

WS-Federation [WEB-04]: componente que tiene que ver con la federacin de cuentas y gestin de
identidad. Este actualmente posee soporte para SAML (Security Assertions Markup Language),
estndar de OASIS para la autentificacin de usuarios.
9 WS-Authorization [WEB-04]: proporcionar mecanismos para descubrir los requerimientos de
declaracin/privilegio de un servicio.
Esta arquitectura es una de las alternativas consideradas para entregar seguridad en los Web Services,
dejando claro que pueden existir otras, ya que est es dirigida por Microsoft e IBM solamente.
En resumen, es bueno considerar en este tipo de arquitecturas distribuidas poner nfasis en la
seguridad, por lo que, est arquitectura mostrada responde a los requisitos necesarios definidos por W3C, y
cualquier iniciativa que aparezca deber considerar dichos requisitos.
2.3 Coordinacin y Transacciones en Web Services
Una de las aplicaciones interesantes en las cuales pueden ser utilizados los Web Services es para la
implementacin de procesos de negocios empresariales.
Los Web Services han permitido avanzar en permitir el intercambio de informacin entre
organizaciones diferentes que implementan sus procesos de negocios de forma distinta (B2B, Business to
Business). Estos servicios se utilizan para comunicar las distintas organizaciones de forma independiente de
las soluciones de negocio adoptadas por cada una de ellas, permitiendo de esta forma a las empresas ofrecer
su informacin destinada a los distintos procesos de negocio. As es posible que otras organizaciones que
quieran acceder a dicha informacin e interactuar con esta organizacin puedan hacerlo mediante el acceso a
los Servicios que hubiese ofrecido la organizacin para ese efecto. De tal modo, es posible apreciar el
intercambio de informacin de una manera totalmente automtica, lo cual permite obtener ahorros en los
costos y una mayor eficiencia en los procesos.
En el escenario descrito anteriormente, los Web Services ofrecen a las actividades de negocio una
plataforma excelente para realizar la comunicacin entre las organizaciones. Muchos de estos procesos de
negocios son muy complejos por lo que un solo Web Service es insuficiente para completar el proceso, por lo
que en la realidad se necesita acceder a varios servicios los cuales deben ser supervisados y coordinados
para realizar dichos intercambios de informacin. Es por tal razn, que se necesitan mecanismos que permitan
realizar la coordinacin para estos complejos procesos que surgen de las distintas entidades. Dentro de los
mecanismos existentes en la actualidad se encuentran un conjunto de especificaciones llamadas WSCordination y WS-Transaction que han sido desarrollados por IBM, Microsoft y BEA [WEB-12].
2.3.1 Coordinacin
El mundo de los Web Services no se encuentra libre de complicaciones que pueden ser producidas
por ataques (al compartir un medio masivo como Internet), fallos de red, problemas de coherencia de la
informacin en todo el sistema, etc. Por tanto, un punto de vital importancia para los Web Services que
implementan complejos procesos de negocio es mantener la coherencia y consistencia de la informacin en
todos los sistemas que forman parte de la red distribuida de informacin a la cual pertenecen. Para conseguir
la coherencia y consistencia se necesita utilizar mecanismos de Coordinacin.
La coordinacin permite que todas las entidades que participan en el proceso de negocio tomen parte
en el mismo de forma ordenada, para que los resultados sean consistentes con todo el sistema de informacin
en todo momento [WEB-12].
Los procesos de negocios a coordinar pueden ser muy variados, por lo cual pueden causar que un
determinado protocolo de coordinacin sea no vlido. Por este motivo se han estado desarrollando variados
mecanismos que intentan ser altamente genricos para que las distintas modificaciones o cambios que son
necesarios para coordinar los procesos de negocios puedan ser incluidos sin problemas. El mecanismo
genrico descrito para realizar la coordinacin en Web Services es la especificacin denominada WSCoordination.
WS-Coordination proporciona una infraestructura que permite dar soporte a concretas formas de
coordinacin (protocolos de coordinacin). Esta especificacin fue publicada el ao 2002 por IBM, Microsoft
Sergio Snchez R.
Ricardo Vsquez V.

y BEA Systems. Entre los objetivos generales que describe esta especificacin podemos mencionar los
siguientes [WEB-13]:
9 Mtodo que permite introducir identificadores nicos en los mensajes intercambiados entre los servicios
(Coordination Context, Cabecera SOAP).
9 Mtodo para informar del rol que asume cada participante en una conversacin (Activation Interface).
9 Mtodo para que los Web Services registren su inters en participar de la conversacin (Registration
Interface).
Estos objetivos son logrados de forma independiente del protocolo de coordinacin ejecutado por los
participantes.
WS-Coordination
permite
establecer varios tipos de
coordinacin los cuales pueden
verse en la figura 5. Estos tipos
de coordinacin pueden ser
implementados dependiendo de
de la complejidad del proceso
de negocio.
Figura 4 Tipos de Coordinacin.
Entre los componentes que se encuentran en WS-Coordination podemos mencionar las abstracciones
utilizadas en la descripcin de las interacciones entre un coordinador y sus participantes [WEB-13]:
9 Coordination Protocol: Corresponde al conjunto de reglas a las cuales una conversacin debe ajustarse al
momento de su desarrollo (descripcin del protocolo de coordinacin).
9 Coordination Type: Corresponde a la especificacin del tipo de protocolo utilizado, vale decir, un valor
de coordination type representa una conversacin concreta.
9 Coordination Context: corresponde a la estructura de datos utilizada para detallar la conversacin a la
cual pertenecen los mensajes SOAP intercambiados.
En cuanto a las formas de interaccin que es posible encontrar entre un coordinador y sus
participantes podemos mencionar [WEB-13]:
9 Activacin: esta interaccin ocurre cuando un participante solicita a un coordinador la creacin de un
nuevo contexto de coordinacin, vale decir, la creacin de una nueva conversacin.
9 Registro: Esta interaccin ocurre cuando un participante se registra en un coordinador para participar en
una conversacin.
9 Interacciones especficas del protocolo: Estas interacciones ocurren cuando el coordinador y los
participantes registrados intercambian mensajes especficos del protocolo de coordinacin de
conversacin.
En resumen WS-Coordination aporta la capacidad de registrar a los sistemas que tomaran parte en un
proceso de negocio y generar un contexto con informacin (tanto del registro como de la coordinacin) para
entregarla a los otros sistemas participantes en el proceso de negocio.
2.3.2 Transacciones
Hemos hablado sobre la necesidad de mantener la informacin de forma consistente en todos los
sistemas que participan del entorno distribuido. Para lograr este propsito es necesario junto con la
coordinacin manejar otro concepto que tiene su origen en las base de datos. Este concepto al cual nos
referimos es el de Transaccin.
Una transaccin permite obtener consistencia debido a que el sistema envuelve los cambios de
informacin que se realizan en el mismo como una unidad atmica en dicha transaccin. Esto quiere decir que
si la transaccin por alguna razn falla el intercambio de informacin contenida en la transaccin no toma
efecto, quedando todos los sistemas participantes del entorno distribuido de manera coherente y consistente
con la situacin al momento anterior a iniciarse la transaccin fallida. Ahora si la transaccin resulta exitosa,
todos lo cambios sern propagados a los sistemas participantes del entorno distribuido. En resumen una
transaccin es una operacin o un conjunto de operaciones, que se llevarn a cabo si la operacin se realiza de
Sergio Snchez R.
Ricardo Vsquez V.

forma completa y obteniendo resultados esperados, o se descartarn dichas operaciones en caso de no


satisfacer todos los requisitos exigidos a la misma [WEB-12].
Hoy en da, la complejidad de los procesos de negocio determina que el tiempo de ejecucin que
tienen los servicios que atienden a los procesos sea muy elevado, adems adicionalmente estos servicios se
encuentran ubicados en un entorno como la Web, la cual se encuentra siempre amenazada por continuos y
mltiples tipos de fallas (cadas de servidores, saturacin en peticin de servicios, fallas de conexin, etc.), las
cuales generan como resultado que el problema de la coherencia y consistencia de la informacin se
transforme en algo bastante comn.
Entonces para lograr que los procesos de negocios puedan ser implementados con Web Services, ya
mencionamos en el punto anterior la existencia de un componente que apoya a la coordinacin (WSCoordination), pero este componente tambin se ayuda de un segundo componente el cual permite manejar el
concepto de transacciones para los Web Services, el cual corresponde a la especificacin de WS-Transaction.
WS-Transaction se apoya en la infraestructura de WS-Coordination, la cual modela el contexto de la
transaccin. Esta especificacin tiene su origen como ya lo habamos mencionado en el contexto de las bases
de datos y es utilizado en entornos distribuidos cuando dos o ms Web Services estn involucrados en una
interaccin (conversacin) y las operaciones invocadas no son independientes. El objetivo final es que todas
las operaciones sean ejecutadas con xito, o en caso contrario ninguna de ellas sea ejecutada. Las
transacciones en Web Services poseen algunas diferencias notables con las generadas en bases de datos, entre
las cuales podemos mencionar que el tiempo que cuesta en completar un transaccin en Web Services es
muchsimo ms largo de lo que toma en una base de datos debido a que en los Web Services es posibles
ejecutar complejos procesos de negocios; otra diferencia es que se amplia la variedad de recursos y
operaciones a aplicar sobre ellos [WEB-12].
La especificacin de WS-Transaction fue publicada el ao 2002 por IBM, Microsoft y BEA. La cual
especifica un protocolo estndar para la ejecucin de transacciones en entornos de Web Services. La
especificacin establece dos tipos de transacciones [WEB-13]:
9 Atomic Transactions: Corresponde a transacciones atmicas o de corta duracin, en las cuales se
conserva la idea de las propiedades ACID (Atomicidad, Coherencia, Aislamiento y Durabilidad) en un
sentido muy estricto, lo que resulta en que todas las operaciones dentro de una transaccin se ejecutan
con xito o no se ejecuta ninguna. Este tipo de transacciones por lo general resultan en entornos muy
confiables.
9 Business Activities: Corresponde a transacciones de larga duracin en la cual las propiedades ACID son
flexibilizadas. Las operaciones son todas invocadas a los participantes, los cuales despus de su ejecucin
informan al coordinador si estas operaciones han sido completadas con xito. Si alguna de estas
operaciones falla, se requiere la ejecucin de operaciones de compensacin ya que ac los cambios son
permanentes desde el principio, por tanto si la operacin falla se deber realizar operaciones que permitan
deshacer los cambios.
De los dos tipos de mecanismos de transaccin, el ms utilizado para implementar procesos de
negocios complejos es por transaccin Busines Activities.
En la figura podemos esquematizar el stack para
Web Services considerando las especificaciones
de WS-Coordination y WS-Transaction para
tratar los aspectos de coordinacin de las
operaciones que estos realizan.

Figura 5 Stack para Web Services considerando


coordinacin y transacciones.
2.4 Aplicacin prctica de Web Services en un entorno empresarial
Para ratificar todo lo detallado en esta monografa referente a los Web Services, se presentar una
aplicacin concreta en la cual pueden ser utilizados Web Services en un entorno empresarial.
Sergio Snchez R.
Ricardo Vsquez V.

El entorno empresarial elegido ha sido la Compaa Sudamericana de Vapores (en adelante CSAV),
la cual corresponde a una empresa chilena de transporte martimo, la que actualmente es la ms grande de
Latinoamrica.
CSAV fue fundada en 1872 en el Puerto de Valparaso (Chile), siendo una de las compaas ms
antiguas del mundo. En el comienzo las actividades de CSAV consistan exclusivamente de servicios de
cabotaje en la costa pacfico Chilena, pero muy rpidamente se fueron extendiendo a lo largo de la costa
Oeste de Sudamrica hasta el Canal de Panam. Posteriormente extendi la esfera de sus operaciones a los
Estados Unidos, Europa, el lejano Oriente y Japn, al Sudeste Asitico/islas del Pacfico y la costa este de
Sudamrica.
CSAV opera a travs de los cinco continentes, ofreciendo servicio de "lnea", por los cuales es capaz
de proveer trficos permanentes a ciertos puertos, itinerarios fijos y naves preparadas para transportar un gran
nmero de contenedores y una alta variedad de carga convencional. Asimismo, CSAV posee barcos
especialmente diseados para carga congelada, vehculos, carga a granel y productos forestales. Otorgando un
servicio "puerta a puerta", a cualquier destino, el cual normalmente es conducido en conjunto con las
subsidiarias de CSAV: Sudamericana Agencias Areas y Martimas S.A. SAAM, como una agencia martima
de transporte de mercancas, y COSAN, Terminal de contenedores en Santiago [WEB-14].
CSAV debido a su operacin y complejo proceso de negocio que involucra mltiples agencias en
todo el mundo, las cuales apoyan el proceso de transporte y con las cuales requiere tener una estrecha relacin
de intercambio de informacin. Actualmente CSAV requiere mejorar su plataforma de intercambio de
informacin con sus agencias relacionadas. Para lograr este propsito se puede implementar un proyecto
tecnolgico para lograr el intercambio de informacin mediante el uso e implementacin de una plataforma de
Web Services.
Esta plataforma tecnolgica de Web Services permitir una mayor visibilidad de las agencias, las
cuales sern capaces de conseguir informacin relativa a sus reservaciones (booking), Bill of Ladings (BLs)
y Notas de Correccin de fletes (FCN). La plataforma de Web Services permitir integrar las distintas
agencias con CSAV, las cuales se encuentran en distintas plataformas tecnolgicas. Adems permitir
intercambiar grandes volmenes de datos con un bajo consumo de trfico de red ya que los Web Services
trabajaran sobre Internet.
Para comenzar el proyecto de esta plataforma podemos definir un piloto con tres Web Services
destinados al intercambio de informacin entre CSAV y sus agencias relacionadas. Los Web Services a
implementar son:
9 GET_BOOKINGS: Este servicio tendr la responsabilidad de entregar los documentos de reservas de
carga. Para obtener los documentos de carga ser necesario ingresar ciertos parmetros que permitirn
obtener la informacin necesaria y que usualmente es obtenida por las agencias.
Especificacin del Web Service.
Service Name
Get_Bookings
Web Service
Type
http://<Server>/AgencyServices/AgencyServices.asmx
Location
Parmetros para el Web Service GetBookings.
Nombre
Tipo
Largo Descripcin
Req.
1 userId
Carcter
15
Cdigo de Usuario
S
2 password
Carcter
20
Password de Usuario
N
3 systemId
Carcter
Sin uso
N
4 xmlFilters
Carcter
Estructura xml con los valores para filtros.
S
5 xmlBookings
Carcter
Estructura Xml con los Bookings
N
6 errorCode
Entero
Cdigo de Error
N
7 errorMessage
Carcter
150
Mensaje de Error
N
9

GET_BLANDFCN: Este servicio tendr la responsabilidad de entregar los Documentos correspondientes


a los Bill of Lading (manifiesto de embarque internacional) y a las FCN que son las correcciones de
Fletes que son hechas a los Bill of Lading en el caso que exista un error o a peticin de un cliente.
Sergio Snchez R.
Ricardo Vsquez V.

Especificacin del Web Service.


Service Name
Get_BlsAndFCNs
Web Service
Type
http://<Server>/AgencyServices/AgencyServices.asmx
Location
Parmetros para el Web Service Get_BlAndFcns.
Nombre
Tipo
Largo
Descripcin
1 userId
Carcter
15
Cdigo de Usuario
2 password
Carcter
20
Password de Usuario
3 systemId
Carcter
Sin uso
4 xmlFilters
Carcter
Estructura xml con los valores para filtros.
5 xmlDocuments
Carcter
Estructura Xml con los Documentos
6 errorCode
Entero
Cdigo de Error
7 errorMessage
Carcter
150
Mensaje de Error

Req.
S
N
N
S
N
N
N

GET_BOOKINGLEGS: Este Servicio tendr la responsabilidad de entregar la informacin relativa a los


tramos que har una determinada reserva de carga o una carga ya conformada.
Especificacin del Web Service.
Service Name
Get_BookingLegs
Web Service
Type
http://<Server>/AgencyServices/AgencyServices.asmx
Location
Parmetros para el Web Service Get_BookingLegs.
Nombre
Tipo
Largo Descripcin
Req.
1 userId
Carcter
15
Cdigo de Usuario
S
2 password
Carcter
20
Password de Usuario
N
3 systemId
Carcter
Sin uso
N
4 xmlFilters
Carcter
Estructura xml con los valores para filtros.
S
5 xmlSteps
Carcter
Estructura Xml con los Bookings Legs
N
6 errorCode
Entero
Cdigo de Error
N
7 errorMessage
Carcter
150
Mensaje de Error
N
La implementacin de estos simples Web Services permitirn una mejor comunicacin en lo referido a las
necesidades de informacin entre las agencias relacionadas y CSAV. Adems esta implementacin deja de
manifiesto el potencial que puede tener el uso de Web Services para el intercambio de informacin entre
distintas organizaciones (B2B) para el manejo de sus procesos de negocios.
3 Conclusiones
Encontrar las respuestas a problemas tecnolgicos, est demostrado que ms que ser una solucin al
problema nicamente abre un conjunto de nuevos problemas que deben ser solucionados. Esto ha pasado en la
historia de los Web Services, ya que entran como una solucin a la problemtica de poder publicar servicios
simples mediante Internet, y tambin a posteriori se convierten en una de las alternativas para poder realizar la
integracin de aplicaciones y procesos de negocios.
Bajo el enfoque inicial del trabajo de un Web Service se pueden realizar estas nuevas tareas
asignadas, pero no de la mejor forma, por lo que se hace absolutamente necesaria la implementacin de
nuevos componentes que permitan manejar la seguridad, la coordinacin y los procesos envueltos en
transacciones. Las grandes compaas como Microsoft e IBM ponen delante de sus intereses comerciales
estos nuevos problemas, permitiendo que su unin de cmo fruto la definicin de componentes formados en
un arquitectura que apoyen y permitan el correcto desenvolvimiento de los Web Services, dentro del contexto
de las problemticas planteadas.

Sergio Snchez R.
Ricardo Vsquez V.

Es bueno mencionar que los Web Services no son la panacea, pero si permiten de una forma no muy
compleja solucionar problemas que se vuelven cada vez ms cotidianos en el mbito de los negocios y el uso
de las nuevas tecnologas.
En resumen, esta tecnologa tiene algo claro sus fundamentos bsicos, los cuales tienen soporte desde
las empresas de framerwork de desarrollo ms importantes Microsoft, SUN e IBM, pero que en lo tangencial
a los nuevos problemas no estn en completo acuerdo lo que de alguna forma limita un desarrollo mejor de la
tecnologa. Es de esperar que en un mediano plazo existan los estndares necesarios que nos mejoren el
panorama global y que abarquen y solucionen los nuevos problemas presentados a esta tecnologa.
Referencias
[WEB-01]
[WEB-02]
[WEB-03]
[WEB-04]

[WEB-05]
[WEB-06]
[WEB-07]

[WEB-08]

[WEB-09]

[WEB-10]

[WEB-11]

[WEB-12]

[WEB-13]

[WEB-14]
[TAR-01]

www.w3.org/2002/ws/. Sitio oficial del grupo de estudio de Web Services de W3C.


www.moisesdaniel.com/es/wri/wsepsu. Documento introductorio sobre Web Services y sus
diversos escenarios de uso.
http://es.wikipedia.org. Sitio utilizado para la obtencin de las diversas definiciones de
protocolos que se encuentran en este articulo.
www.willydev.net/descargas/prev/WSSev.pdf. Titulo: La seguridad en web services: entre
la incertidumbre y la sobreinformacin, Roberto Lpez Navarro, Servicio e Integracin,
2003. Documento aborda el mbito de la seguridad en web services desde las diversas
perspectivas existentes hasta la fecha de publicacin.
http://www-128.ibm.com/developerworks/library/ws-secroad/ . Arquitectura de Seguridad
Propuesta por Microsoft e IBM.
http://www-306.ibm.com/software/solutions/webservices/ws_spec_sec.html . Especificacin
de la arquitectura de seguridad propuesta por Microsoft e IBM.
www.mundotutoriales.com. Tutorial: De la seguridad en Servicios Web para .NET,
Willy.Net. Aborda temas de seguridad asociados a Web Services bajo una arquitectura
Microsoft.
http://www.amereiaf.org.mx/cursos/VisionWebServicesJava.pdf. Presentacin que se centra
en el desarrollo de Web Services en el entorno J2EE. Mencionando en uno de sus puntos la
seguridad.
http://www.w3.org/TR/2002/WD-wsa-reqs-20021114. Documento que define los requisitos
para la creacin de la Arquitectura para los Web Services (WSA). Dentro de estos
requerimientos se toca el tema de seguridad.
http://www.oasis-open.org/committees/tc_cat.php?cat=ws. Sitio de OASIS (Organization for
the Advancement of Structured Information Standards) coordinador actual del tema de
seguridad en Web Services. Para lo cul posee un grupo de trabajo asociado al tema.
http://msdn.microsoft.com/. Buscar: Security in a Web Services World: A Proposed
Architecture and Roadmap, 2002. Este artculo describe en detalle la Arquitectura de
Seguridad para Web Services propuesta por Microsoft e IBM. Buscar WS-Security, 2002.
Este artculo describe en detalle la especificacin WS-Security.
http://internetng.dit.upm.es/business%20activity.pdf. Garca M. Ivn, Coordinacin de
procesos de negocio en entornos de servicios web: implementacin de business activity,
Universidad Politcnica de Madrid.
http://iaaa.cps.unizar.es/docencia/SWD/9.CoordinacionEstandares.pdf. Presentacin que trata
Estndares relacionados con la Coordinacin de Servicios de los profesores lvarez P &
Baares J., Programa de Doctorado de Informtica e Ingeniera de Sistemas, Universidad de
Zaragoza. Espaa.
http://www.csav.com/pages/sp_compania.htm Sitio Web con informacin referente a
Compaa Sudamericana de Vapores.
Tarea 1 Sistemas Distribuidos y Middleware - Using Message-Oriend Middleware for
Reliable Web Services Messaging, Sergio Snchez & Ricardo Vsquez, MTI 2006.

Sergio Snchez R.
Ricardo Vsquez V.

10

You might also like