Está en la página 1de 6

DISEO DE APLICACIONES WEB BASADAS EN ARQUITECTURAS ORIENTADAS A

SERVICIOS (AOS), UTILIZANDO WEBML



Lus Fernando GONZLEZ ALVARN
Facultad de Ingenieras, Politcnico Colombiano Jaime Isaza Cadavid
Medelln, Antioquia, 05001000, Colombia

Adriana Xiomara REYES GAMBOA
Facultad de Ingenieras, Politcnico Colombiano Jaime Isaza Cadavid
Medelln, Antioquia, 05001000, Colombia

Y

Gladis Helena VSQUEZ ECHAVARRA
Facultad de Ingenieras, Politcnico Colombiano Jaime Isaza Cadavid
Medelln, Antioquia, 05001000, Colombia



RESUMEN.

Para el anlisis que se realiza en el presente artculo es
necesario abordar los conceptos bsicos de las
Arquitecturas Orientadas a Servicios (AOS) o del ingls
Service Oriented Architecture (SOA), la cual obedece a
un concepto de arquitectura que define la utilizacin de
servicios para dar soporte a los requisitos de software del
usuario, dentro de un marco de trabajo en la fase de
implementacin del desarrollo de productos software;
permitiendo de forma gil la creacin y/o cambios de los
procesos de negocio.

Por otro lado se aborda el mtodo Web Modeling
Language (WebML), que corresponde a una notacin para
especificar complejos sitios Web en el mbito conceptual,
haciendo una breve descripcin de las diferentes fases
que lo componen.

La combinacin de SOA con WebML, es una alternativa
de diseo para la capa de presentacin en las
aplicaciones basadas en Arquitecturas Orientadas a
Servicios, que le permitirn a las empresas con una
estructura administrativa compleja y que tengan dentro de
sus activos mltiples sistemas de informacin; dar
soluciones integrales y efectivas a los diferentes
problemas, mediante la integracin de estos a travs del
diseo de WebServices; de esta forma poder obtener
mejor calidad en los datos, evitar procesos redundantes y
lograr una amplia visin sistmica, que permita tener
claridad y un completo manejo de la informacin.

Palabras Claves
Modelo, arquitectura, servicio, mtodo, integracin,
desarrollo.
1. INTRODUCCION

En este artculo se busca establecer un marco de
referencia que oriente el desarrollo metodolgico de
aplicaciones basadas en SOA para la Web, mediante la
implementacin del mtodo WebML, aprovechando la
parte que contribuye a la construccin del sistema; con lo
que se establece un marco de diseo para un desarrollo
robusto, funcional y distribuido, apto para implementar en
Internet, buscando presentar e integrar algunas de las
instancias metodolgicas ms representativas en el mbito
de la ingeniera Web, que inspiran la definicin, diseo y
creacin de aplicaciones que operan en ella, basadas en
SOA.

Lo anterior se justifica por la necesidad que tiene todo
desarrollador de aplicaciones Web, de conocer, aplicar e
integrar una amplia variedad de reas de trabajo, mtodos,
tcnicas y herramientas como: el cmputo distribuido,
diseo grfico, enfoque orientado a objetos, y diseo de
aplicaciones hipermediales; cada una de estas reas
demanda el conocimiento del marco terico, los
fundamentos y logstica que los respalda, as como los
procedimientos que se deben observar para hacer uso de
ellos.


2. ARQUITECTURAS ORIENTADAS A
SERVICIOS

Obedecen a un concepto de arquitectura que define la
utilizacin de servicios para dar soporte a los requisitos de
software del usuario, permitiendo de forma gil la
creacin y/o cambios de los procesos de negocio desde la
perspectiva de las tecnologas de la informacin (TI), a
travs de la composicin de nuevos procesos; utilizando
las funcionalidades de negocio que estn contenidas en la
infraestructura de aplicaciones actuales o futuras,
expuestas bajo la forma de tecnologas diseadas para
permitir la interoperabilidad entre sistemas a travs de una
red, las cuales se logran mediante un conjunto de
estndares abiertos que proporcionan un enfoque comn
para definir, publicar y utilizar los diferentes servicios
Web y que surgen de la implementacin de una
Arquitectura Orientada a Servicios, denominadas
Webservices.

SOA es una metodologa y una gua de trabajo, que
permite documentar las competencias del negocio,
aportando apoyo a las actividades de integracin y
consolidacin dentro de las empresas u organizaciones. A
diferencia de las arquitecturas orientadas a objetos, SOA
est conformada por servicios de aplicacin acoplados.
Para algunos, sta es la evolucin de conceptos y
tecnologas existentes, soportadas por el uso de estndares
abiertos. Entre sus ventajas, se cuenta un menor costo de
integracin, mayor flexibilidad, reutilizacin de los
activos y servicios existentes, y un enfoque basado en
estndares e interoperabilidad.

Las aplicaciones basadas en SOA son distribuidas y se
basan en una arquitectura de tres capas que son:
presentacin, lgica de negocios y datos; stas se
desarrollan a travs de cinco fases las cuales se pueden
observar en la figura 1 y que demuestran claramente el
estndar de servicio que va relacionado con cada una de
ellas.


Figura 1: Fases de una Arquitectura Orientada a Servicios.
Fuente: Diseo y Elaboracin Propia.

Arquitectura De Un Webservices
Los Webservices extienden el principio del modelo de
computacin distribuida: donde adems de que las
aplicaciones pueden trabajar conjuntamente, las personas
podrn interactuar con otros sistemas y usuarios.

Sus principales caractersticas son:

Permiten que programas escritos en distintos
lenguajes sobre plataformas diferentes se comuniquen
entre s, mediante el uso de estndares
preestablecidos.

Se ejecutan sobre protocolos y estndares
ampliamente utilizados como TCP/IP, HTTP y XML.
La ventaja de esto radica en que las empresas que ya
cuentan con una infraestructura Web, han manejado
dichos estndares y adicionalmente la experiencia y
el costo de introducir el uso de Webservices es
significativamente menor comparado a tecnologas
anteriores.

Proveen mecanismos para describir sus interfaces de
manera que los clientes puedan usar esta informacin
para comunicarse con ellos.

Pueden ser registrados y localizados universalmente.

Para que se den estas caractersticas, se emplea el lenguaje
extendido de marcas o del ingls eXtensible Markup
Lenguaje (XML), el cual permite un amplio soporte al
manejo y explotacin del Webservice, constituyndolo en
el mecanismo de representacin de datos, cdigos y
mensajes por excelencia, que puede ser empleado desde
cualquier aplicacin.

Lo anterior se logra mediante el uso de documentos XML
acompaados por las definiciones de tipos de documentos
o del ingls Document Type Definition (DTD), los
esquemas reducidos de datos que son trabajados a travs
de lenguajes de esquemas como Schema for Object-
Oriented XML (SOX), y las hojas de estilo o Cascading
Style Sheets (CSS)
1
; permitiendo la presentacin de la
informacin en formato de Hyper Text Markup Lenguaje
(HTML).

A partir de XML y el protocolo HTTP, se da origen a
SOAP (Simple Object Access Protocol), que constituye el
medio para dar vida a los WebServices, permitiendo
proporcionar datos y servicios a otras aplicaciones a
travs de Internet, los cuales pueden ser declarados por
medio del lenguaje de descripcin de servicios Web o en
ingles Web Services Description Languag (WSDL), que
se transfieren sobre un protocolo de red por medio del
mecanismo Universal de Descripcin, Descubrimiento e
Integracin o en ingls Universal Description, Discovery
and Integration (UDDI), que es donde se registran y
consultan los WebServices.



1
Es un mecanismo simple que describe cmo se va a mostrar un
documento en la pantalla, o cmo se va a imprimir, o incluso cmo va
a ser pronunciada la informacin presente en ese documento a travs
de un dispositivo de lectura

Los beneficios de adoptar SOA son:

Mejora en los tiempos de realizacin de cambios en
procesos.
Posibilidad de evolucionar a modelos de negocios
basados en tercerizacin.

Facilidad para abordar modelos de negocios basados
en colaboracin con otros entes.

Capacidad de reemplazar elementos de una
aplicacin basada en arquitecturas orientadas a
servicios, sin interferir en el proceso de negocio.

Facilidad para la integracin de tecnologas.


3. DISEO Y DESARROLLO DE UNA
ARQUITECTURA ORIENTADA A SERVICIOS

SOA es tanto un marco de trabajo para el desarrollo de
software como de implementacin. Para que un proyecto
basado en SOA tenga xito, los desarrolladores deben
romper paradigmas y enfocar su mentalidad hacia la
creacin de servicios comunes, que pueden ser orientados
por clientes o por un software de conectividad, que ofrece
un conjunto de servicios que hacen posible el
funcionamiento de aplicaciones distribuidas, sobre
plataformas heterogneas (comnmente conocido como
middleware), para implementar los procesos de
negocio.

El desarrollo de sistemas usando SOA requiere un
compromiso con este modelo en trminos de
planificacin, herramientas e infraestructura.

Cuando se habla de SOA, se est haciendo referencia a un
juego de servicios residentes en Internet o en una intranet,
que se relacionan con diversos estndares, dentro de los
cuales se pueden mencionar:

Extensible Markup Lenguaje (XML)
Es un metalenguaje de marcacin ampliable (extensible
de etiquetas) desarrollado por el World Wide Web
Consortium (W3C). Permite la lectura de datos a travs
de diferentes aplicaciones, por lo cual muchos lo
consideran un formato simple pero estricto y que juega
un papel fundamental en el intercambio de una gran
variedad de datos en forma segura, fiable y fcil, en un
proyecto Web. Es un lenguaje muy similar a HTML pero
su funcin principal es describir datos y no mostrarlos
como este ltimo.

Dentro de las ventajas que ofrece XML es que es
extensible: Despus de diseado y puesto en produccin,
es posible extender XML con la adicin de nuevas
etiquetas, de modo que se pueda continuar utilizando sin
complicacin alguna.

Si un tercero decide usar un documento creado en XML,
es sencillo entender su estructura y procesarla; lo cual
permite determinar donde estn las mejoras de
compatibilidad entre aplicaciones.

Hyper Text Markup Lenguage (HTTP)
Lenguaje de marcacin de hipertexto. Es el protocolo
principal de la World Wide Web, se considera simple, sin
estado y orientado a conexin, porque emplea para su
funcionamiento un protocolo de comunicaciones llamado
Transmisin Control Protocol (TCP), que establece un
canal de comunicaciones entre el cliente y el servidor, por
el cual pasan los bytes que constituyen los datos de la
transferencia, en contraposicin a los protocolos
denominados datagrama (o no orientados a conexin), que
dividen la serie de datos en pequeos paquetes (o
datagramas) antes de enviarlos, pudiendo llegar por
diversas vas del servidor al cliente [1].

Simple Object Access Protocol (SOAP)
Protocolo simple de acceso a objetos. Este se encarga de
estandarizar el intercambio de mensajes entre diferentes
aplicaciones, por eso su funcin bsica es la de definir un
formato de mensajes estndar (basado en XML) que
encapsular la comunicacin entre las diferentes
aplicaciones.

Web Services Description Language (WSDL)
Lenguaje de Descripcin de Servicios Web. Se basa en
XML y permite la descripcin de los servicios Web
desplegados. Se utiliza tambin para la localizacin y
ubicacin de estos en Internet.

Universal Description, Discovery and Integration
(UDDI)
Es un catlogo de negocios independiente basado en
XML, que lista los negocios de Internet de todo el mundo.
Es una iniciativa industrial abierta, en donde los negocios
se listan a s mismos en la Web, como si se tratara de las
pginas amarillas en una gua telefnica. Es patrocinado
por Organization for the Advancement of Structured
Information Standards (OASIS), y permite a las empresas
publicar listas de servicios y descubrirse entre s, y as
definir cmo los servicios o aplicaciones de software
interactan sobre Internet [2].

Hay que considerar, sin embargo, que un sistema SOA no
necesariamente necesita utilizar estos estndares para ser
"orientado a servicios", pero es altamente recomendable
su uso, porque en un ambiente SOA, los nodos de la red
hacen disponibles sus recursos a otros participantes que se
encuentran en ella como servicios independientes a los
que tienen acceso de un modo estandarizado.

La mayora de las definiciones de SOA identifican la
utilizacin de WebServices (empleando SOAP y WSDL)
en su implementacin, no obstante esto se puede hacer
utilizando otra tecnologa basada en servicios.


4. LENGUAJE DE MODELADO WEB (WebML)

Es una notacin para especificar complejos sitios Web en
el mbito conceptual[3], que permite apoyar las
actividades del diseo de estos, a partir de su descripcin
desde distintos puntos de vista como son el conceptual, el
navegacional y el de presentacin, entre otros.

WebML provee grficos, formalismos, especificaciones, y
diseo de procesos apoyados por herramientas grficas,
los cuales se desarrollan a travs de las diferentes fases de
su ciclo de vida, el cual se observa en la figura 2.


Figura 2: Ciclo de vida de WebML
Fuente: [4]

A continuacin se hace una breve descripcin de cada una
de las fases del ciclo de vida de WebML:

Modelo Estructural
Cuando se trabaja con WebML el proceso de desarrollo
comienza con la descripcin conceptual del sistema, en la
cual, utilizando herramientas CASE para modelado, como
UML, DIA, Enterprise Architec, se representa la
estructura esttica del sistema, mediante la definicin de
entidades o contenedores de datos y sus relaciones.

Una caracterstica a destacar de WebML es que no exige
ninguna herramienta especfica para hacer este modelo.

Modelo De Hipertexto
Luego de haber cumplido con en el anterior, se realiza
ste, en el que se describen los diferentes hipertextos que
van a ser publicados en el sitio Web. Cada uno de estos
define una vista del sitio y su descripcin se realiza
mediante dos modelos: el de composicin, que define las
pginas que componen la estructura del hipertexto, as
como el contenido de stas; y el de navegacin, que
describe cmo se podr navegar a travs de ellas,
especificando los vnculos (links) entre pginas y entre
unidades de una misma pgina.

Modelo De Presentacin
En esta fase se define claramente la apariencia grfica de
cada una de las pginas que conformarn el proyecto.
WebML no incluye un modelo especfico para establecer
la presentacin a nivel conceptual.

Modelo De Personalizacin
Se encarga de definir como debe adaptarse el sistema a los
diferentes roles de usuario. Uno de los aportes ms
interesantes de WebML es que ofrece una herramienta
CASE que permite aplicar las tcnicas propuestas y
conseguir los resultados sistemticamente [5].

WebML se enfoca en el diseo de la interfaz. Para esto
provee una serie de estereotipos que pueden ser
implementados usando XML.


5. PROCESO DE DISEO BASADO EN WEBML

Para un buen diseo, se debe partir de un anlisis
cuidadoso al inicio de la planificacin del proyecto,
teniendo en cuenta el uso de herramientas y metodologas
apropiadas, que permitan detallar el problema y proponer
una lnea concreta de accin.

Partiendo de lo anterior y teniendo en cuenta que WebML
es una notacin para especificar portales Web complejos
en el mbito conceptual y que facilita la descripcin a un
alto nivel a travs de distintas dimensiones, se determina
un diseo completo y estructurado, que se aplicar en el
momento de establecer los elementos de ste, los cuales
harn parte de la capa de presentacin del WebServices.

Durante el proceso de creacin de un WebServices se
requiere la participacin de distintos especialistas que
elaboren las siguientes actividades:

Modelo estructural.
Arquitectura de la aplicacin.
Diseo de pginas.
Esquema de navegacin.
Diseo arquitectnico (empleado en los estilos de
presentacin de las pginas).
Diseo de la interfaz para la administracin del
portal.
Opciones de personalizacin, las cuales incluyen las
reglas de negocio.

Al desarrollar en conjunto todas las actividades
mencionadas anteriores, se est incorporando al
WebServices el proceso de diseo mediante WebML, lo
cual se logra mediante la ejecucin de los siguientes
pasos:



Levantamiento de requerimientos
Se identifican los objetivos, destinatarios, contenidos,
estilos, atributos de personalizacin y condiciones a
satisfacer.

Diseo de datos
Es donde se determina el modelo de estructura a travs de
los esquemas lgicos.

Diseo de hipertexto general
Se establecen las pginas y las relaciones entre las
entidades del esquema de estructura, con lo que se obtiene
un esqueleto del sitio Web.

Diseo de hipertexto a detalle
Se concentra en las particularidades de cada pgina y
unidad, precisando la estructura, contenidos, objetos,
experiencia, y cualquier otro elemento integrante de las
pginas.

Diseo de presentacin
Se incorpora el estilo de presentacin a cada pgina.

Diseo de usuario y de grupo
Permite definir los perfiles del usuario basados en los
requerimientos de presentacin y en los roles de cada
grupo.

Diseo personalizado
Se realiza a travs del perfil de usuario y de las reglas de
negocio que pueden garantizar una efectiva
personalizacin del sitio Web.

Luego del diseo se definen los siguientes modelos:

Modelo estructural
Donde las entidades son los elementos que lo componen,
las cuales disponen de atributos con tipos asociados y
propiedades con mltiples ocurrencias que pueden
disponer de varios valores y estn organizadas en
jerarqua que pueden ser editadas en XML.

Modelo de composicin
En ste se definen los nodos que representan el hipertexto
incluido en el portal, al especificar las unidades de
contenido, los elementos de informacin y las pginas
WebML; los cuales soportan como unidades, a los datos,
multidatos, listas de objetos y filtros, para dirigir la
bsqueda y directivas que se usan para representar la
conexin entre un objeto simple, semnticamente
relacionado con otro.

Modelo de Navegacin
ste involucra la notacin, patrn y cadena de
navegacin y por ltimo las vistas del portal.

Teniendo en cuenta estos estndares se determina que una
de las mejores alternativas en el momento de pensar en el
diseo de la capa de presentacin, es WebML, cuyos
conceptos son asociados al WebService; ya que ste
provee una serie de estereotipos que pueden ser
implementados con una notacin grfica y textual
representada en XML, la cual, como se explico
anteriormente es la base de una Arquitectura orientada a
Servicios.

6. CONCLUSIONES

El diseo de aplicaciones Web basadas en Arquitecturas
Orientadas a Servicios utilizando WebML, es una
alternativa apropiada, cuando se habla de diseo en la
capa de presentacin de este tipo de aplicaciones, ya que
la utilizacin del modelado de WebML permite
enriquecer el diseo de la interfaz de comunicacin con el
usuario, sus componentes, relaciones y mecanismos de
navegacin, tanto de manera grfica como a travs de
XML.

Una de las ventajas de SOA es que permite abordar
proyectos a partir del fraccionamiento del problema. La
idea principal es crear servicios que resuelven situaciones
puntuales y que cada uno de estos sea reutilizable.

Uno de los aportes significativos en cuanto a las
aplicaciones basadas en SOA, es que estas permiten
unificar los servicios que el usuario comnmente utiliza;
dichas aplicaciones por tal motivo deben contar con un
diseo de interfaz que sea agradable, amigable y adecuado
para cada proceso que ejecute el usuario.

Dentro de las aplicaciones basadas en SOA, se consideran
como puntos iniciales a tener en cuenta: la descripcin de
la informacin, las personas, los procesos, la integracin
de las aplicaciones y por ltimo la reusabilidad del
software.

El diseo de aplicaciones basadas en SOA es apropiado
para los servicios que tiene cambios frecuentemente, por
tal motivo se requiere mas dedicacin en las fases de
planificacin y definicin del servicio, as como en su
documentacin. Dependiendo de la capa, se encuentran
mltiples mtodos y herramientas de modelado de estas
aplicaciones, que ayudan a que estas fases cumplan con
su objetivo.


7. REFERENCIAS BIBLIOGRAFICAS

[1]Fundamentos de la Web [en lnea] [fecha de consulta:
05/02/2009]http://www.cibernetia.com/manuales/intro
duccion_aplicaciones_web/2_1_fundamentos_web.php
[2]ALEGSA. UDDI Universal Description, Discovery
and Integration [en lnea] [fecha de consulta:
02/02/2009]. http://www.alegsa.com.ar/Dic/uddi.php
[3]CERI, S., FRATERNALI, P., BONGIO, A.,
BRAMBILLA, M., COMAI, S., and MATERA, M.
(2002). Designing Data-Intensive Web Applications.
Morgan Kauffmann.
[4]ESCALONA, M J. (2004) Modelos y tcnicas para la
especificacin y el anlisis de la navegacin en
sistemas software. Escuela Tcnica Superior de
Ingeniera Informtica, Universidad de Sevilla.
[5]WebRatio. The CASE Tool for the Web. Politecnico di
Milano. http://www.webratio.com/sv1.do
[6]DUSTIN, E., RASHKA, J., and MCDIARMID, D.
(2002) Quality Web Systems: Performance,
Security,and Usability. Addison-Wesley.
[7]GAMMA E. et al. (1995) Design Patterns: Elements of
reusable object-oriented software. Addison-Wesley.
[8]PRESSMAN, R. E. (2005) ingeniera de software.
Sexta Edicin en Espaol, McGraw Hill.
[9]W3C XML Information Set [en lnea] [fecha de
consulta: 07/02/2009] http://www.w3.org/TR/2004/
REC-xml-infoset-20040204.
[10]WebML ORG. WebML User Guide. [en lnea] [fecha
de consulta: 13/02/2009]. http://www.WebML.org