Desarrollo de Sistemas de Información WEB orientados a Servicios


Valeria de Castro, Esperanza Marcos, Roel Wieringa

Haciendo un análisis sobre la tecnología Web desde su aparición hasta el día de hoy, vemos que el desarrollo de software relacionado con dicha tecnología ha ido evolucionando de forma progresiva. En los últimos años, ha surgido un nuevo paradigma para el desarrollo de aplicaciones conocido como Computación Orientada a Servicios (SOC, Service Oriented Computing) (Papazoglou y Georgakopoulos, 2003) que promueve la utilización de servicios como elementos para el desarrollo de aplicaciones, basándose para ello en una arquitectura orientada a servicios. Este nuevo paradigma en el desarrollo de aplicaciones, ha impulsado también una evolución en los Sistemas de Información Web (SIW) y en la forman en que éstos pueden ser desarrollados. Así, mientras que los primeros SIW se concebían como un medio para ofrecer información a los usuarios, y se construían fundamentalmente en base a páginas estáticas o dinámicas e hiperenlaces entre ellas, en la actualidad, muchos de los SIW se conciben como un medio para ofrecer servicios a través de Internet. Así mismo, hoy en día muchas de las grandes organizaciones están sustituyendo sus sistemas completamente integrados por redes del negocio en las cuales cada participante provee a los demás de servicios especializados (Curbera et al., 2003).

Debido a este cambio en los SIW, también en el campo de la Ingeniería Web, surge la necesidad de definir metodologías específicas que soporten el proceso de desarrollo de este tipo de sistemas, a los que hemos llamamos SIW orientados a servicios. Los sistemas orientados a servicios, son aquellos en los que las funcionalidades del sistema, se construyen en base a la composición o cooperación de servicios, entendiéndose un servicio como una funcionalidad que es ofrecida por una entidad y que satisface una necesidad de una entidad solicitante, y no como la forma en que una funcionalidad es implementada en el sistema.

Los Servicios Web proveen un marco para la aplicación basada en estándares del paradigma SOC (Curbera et al., 2003), definiendo mecanismos estandarizados para describir, publicar/localizar e interactuar con aplicaciones en línea (Curbera et al., 2002). Pero más allá de la idea básica de “describir, publicar, interactuar”, es necesario contar con mecanismos para la composición de servicios que permitan definir aplicaciones más complejas a partir de servicios básicos. Sin embargo, aunque el diseño e implementación de un Servicio Web resulta una tarea bastante simple, no se puede decir lo mismo del diseño y la implementación de los procesos de negocio. El modelado de negocio es una parte esencial del procesos de desarrollo de software que permite entender y describir los procesos de negocio implicados en el domino de aplicación. Sin embargo, pasar del modelado de procesos de negocio de alto nivel, realizado generalmente por los analistas o administradores del negocio y a menudo desde un punto de vista económico, a un lenguaje de composición que implemente dichos procesos a través de Servicios Web, no es una tarea sencilla (Verner, 2004).

MDA (Model Driven Architecture) (Millery y Mukerji, 2001), constituye una importante herramienta para la alineación entre los modelos de procesos de negocios de alto nivel y las tecnologías de la información (Harmon, 2004). Esto debido a que MDA proporciona una estructura conceptual que se extiende desde los modelos utilizados por los analistas de negocios hasta los diversos modelos utilizados por los desarrolladores de software, organizándolos de manera tal que unos puedan ser transformados en otros.

En este artículo se presenta un método basado en MDA para el desarrollo de SIW orientados a servicios. El método propuesto comienza con el modelado de negocio a nivel independiente de computación y propone diversos modelos independientes de plataforma para el modelado del aspecto de comportamiento de los SIW, los cuales se centran en el modelado de los servicios como elementos principales para la construcción del SIW. Para el modelado de negocio, se propone la utilización de un modelo llamado value model (Gordijn y Akkermans, 2003), a partir del cual es posible la identificación de los distintos servicios que serán ofrecidos a los usuarios o consumidores del SIW. Basado en este modelo de negocio, el método define nuevos modelos y guías para la trasformación entre éstos, permitiendo obtener como resultado un modelo de composición de servicios, en el que se representan los distintos participantes que forman parte de un negocio y la manera en que estos colaboran en la realización de cada uno de los servicios. Este enfoque, basado en el modelado de los servicios y en el modelo de negocio de la organización, contribuye al desarrollo de aplicaciones orientadas a servicios, mejorando la comprensión de los procesos de negocio, y facilitando de esta manera la implementación de tales aplicaciones a través del uso de las tecnologías Web disponibles.

El método que se propone se ilustrara en este artículo a través de un SIW para la gestión y procesamiento de imágenes médicas que se está desarrollando actualmente (Hernández et al., 2006).

1. Método para el Desarrollo de SIW Orientado a Servicios

El método define un proceso basado en MDA para el desarrollo de SIW orientados a servicios (vea Figura 1). Dicho método incluye un modelo independiente de computación (CIM – Computational Independent Model) propuesto para el modelado del negocio, y varios modelos independientes de plataforma (PIMs – Platform Independent Models) para el modelado del comportamiento de los SIW.

Como puede verse en la Figura 1, el método comprende varios pasos, cada uno relacionado con la generación de un nuevo modelo. El método comienza con laconstrucción del modelo de negocio: el value model, a nivel CIM, y continúa con la generación de nuevos modelos de comportamiento a nivel PIM llamados: modelo de servicios del negocio, modelo de casos de uso extendido y modelo de proceso de ejecución de servicios, hasta obtener como resultado el modelo de composición de servicios.

En este artículo nos centraremos en la descripción de aquellos modelos que se construyen a partir de elementos que han sido identificados en el modelo de negocio, y describiremos las guías para la transformación entre ellos. Tales modelos son: elmodelo de servicios del negocio y modelo de composición de servicios. En ambos caso, la trasformación de elementos del modelo de negocio en elementos de los modelos no es “automática” y por tanto requerirá la intervención de un diseñador.Figura 1. Método para el Modelado Orientado a Servicios de SIW

2. Modelado de Negocio

El value model0 es un modelo que permite la representación una idea de negocio gráficamente a través de un conjunto de conceptos provenientes del las ciencias de la administración de negocios. En él se modelan actores que intercambian entre ellos objetos de valor (bienes, dinero o servicios). Además, es posible representar segmentos de mercados, identificando así un conjunto de actores. En el modelo se representan también actividades de valor, que son actividades que realiza un actor para la obtención de un beneficio. Una actividad de valor puede ser, por ejemplo, servicio que ofrece un actor.

La Figura 2 muestra el value model para el caso de estudio que vamos a analizar. En él se representan: el “Laboratorio de Análisis de Imágenes médicas de la Universidad Rey Juan Carlos (LAIM)” como un actor, y los “Centro Médicos” e “Investigadores en Neurociencias” como segmentos de mercado. Además, en el modelo se identifican como actividades de valor los servicios que ofrece el LAIM a sus clientes, estos son: el “servicio de procesamiento de imágenes médicas (SPim)”, el “servicio de almacenamiento y gestión de imágenes médicas (SAGim)” y “el servicio de visualización (tridimensional) de imágenes médicas (SVim)”. Los objetos de valor intercambiados entre los actores se muestran en la Figura 2 señalados en verde y asociados a una línea que indica la dirección del intercambio.

El value model permite además identificar caminos de dependencia. Tales caminos muestran, a través de una línea punteada, aquellos intercambios de objetos de valor que tendrán lugar ante un determinado estímulo o necesidad de un consumidor final perteneciente al negocio. Un camino de dependencia tiene una dirección y conecta nodos de dependencias. Un nodo de dependencia puede ser: un estímulo de inicio (representado por un círculo rojo), una unión o bifurcación (representado por una línea corta), o un nodo final (representado por un círculo rojo con una línea alrededor).

Figura 2. Value Model

La Figura 2 muestra también los caminos de dependencia para nuestro caso de estudio (a, b, c, y d). En primer lugar, los investigadores necesitan obtener las imágenes que les proporcionan los centros médicos, y lo hacen a cambio del pago de los mismos (camino (a) en la Figura 2). Una vez que las imágenes hayan sido adquiridas, los investigadores en neurociencias solicitan al LAIM el procesamiento o la realización de visualizaciones sobre dichas imágenes. Así, cuando se solicita un procesamiento (camino (b)), los investigadores proporcionan las imágenes y realizan el pago del procesamiento, obteniendo a cambio el resultado del mismo. Las imágenes que proporciona el investigador son recibidas por el SAGim, de donde el SPim las obtiene a cambio del resultado del procesamiento de las mismas. Un camino de dependencia similar ocurre cuando un investigador en neurociencias desea obtener las visualizaciones (camino (c)). Finalmente, los investigadores en neurociencias pueden realizar todo tipo de consultas a la base de datos, el SAGim es el encargado de atender esta necesidad y recibe a cambio el pago del servicio (camino (d)).

3. Modelado del Comportamiento

Tal como se muestra en la Figura 1, el primer modelo propuesto para el modelado del comportamiento es el modelo de servicios del negocio. Este modelo se representa mediante la técnica de diagramas de casos de uso. En él, sólo se identifican actores y servicios del negocio. Los actores de este modelo son los consumidores o usuarios del sistema y los servicios del negocio son funcionalidades que serán ofrecidas por el sistema para satisfacer las necesidades de los consumidores. En el modelo los servicios del negocio se representan como casos de usos estereotipados con <<BusService>>

Observe que una vez realizado el value model e identificados los caminos de dependencia, ya conocemos qué servicios serán provistos a los consumidores o usuarios del sistema y qué actores o miembros del negocio participan en la realización de cada uno de estos servicios. Sin embargo, el value model es un modelo de negocio, y en él no se representa el concepto de SIW, sino sólo el negocio y las relaciones en los miembros que participan en él, por tanto, para poder comenzar con el modelado de la funcionalidad o comportamiento del sistema, será necesario primero identificar el alcance o límites del SIW que se quiere desarrollar. Esto implica determinar ¿quién será el consumidor o usuario del SIW?, ¿cuál de los actores representados posee el SIW que vamos a desarrollar? y ¿cuáles de las necesidades requeridas por los consumidores serán soportadas por el SIW?. Respondiendo a éstas preguntas identificaremos los actores y los servicios del negocio que formarán parte del modelo de servicios del negocio.

La Figura 3 muestra el modelo servicios de negocio para el SIW en cuestión. Las actividades necesarias para la construcción de este modelo son:

Representar los actores del sistema respondiendo a la pregunta de ¿quiénes son los consumidores del sistema?. En nuestro caso el consumidor o usuario del sistema es el investigador en neurociencias, y por tanto se representa en el modelo como actor.

Representar los servicios del negocio del sistema teniendo en cuenta los caminos de dependencia identificados en el value model. Cada origen de un camino de dependencia representa una necesidad de un consumidor, pero es necesario determinar cuáles de ellas serán soportadas o provistas por el SIW y por tanto, representadas en éste modelo como servicios del negocio. Para ello será necesario determinar ¿cuál de los actores representados posee el SIW que vamos a desarrollar? y ¿cuáles de las necesidades requeridas por los consumidores serán soportadas por el SIW?. En nuestro caso, quién posee el SIW es el LAIM, y las necesidades requeridas por los consumidores que serán soportadas por el SIW son las realizadas a través de los servicios del LAIM (caminos de dependencia (b), (c) y (d) de la Figura 2).

Figura 3. Modelo de servicios del negocio del SIW

El modelo de casos de uso extendido permite la identificación y modelado de las funcionalidades que son requeridas por el sistema para llevar a cabo los servicios del negocio. Así, por ejemplo, el servicio “Realizar consultas” se descompone en varias funcionalidades: identificarse en el sistema, realizar el pago del servicio, realizar la consulta, ver los resultados de la consulta y, opcionalmente, descargarse las imágenes obtenidas como resultado. Por su parte, el modelo de proceso de ejecución de serviciosrepresenta a través de un diagrama de actividad, el flujo para la ejecución de un servicio del negocio. Las actividades de dicho modelo son obtenidas a partir de las funcionalidades identificadas en el modelo anterior. Más detalles de tales modelos pueden ver en (De Castro et al., 2006).

El modelo de composición de servicios es un modelo que se representa a través de un diagrama de actividad. En él se muestra también el flujo para la ejecución de un servicio del negocio pero de una manera más detallada, incluyendo los conceptos de operaciones de actividad y colaboradores del negocio. Las operaciones de actividad son las acciones que son llevadas a cabo en cada actividad que forma parte de un servicio del negocio, y los colaboradores del negocio son aquellas entidades internas o externas al sistema que realizan cada una de las operaciones de actividad. Estos últimos, son obtenidos a partir del value model. En el modelo las operaciones de actividad se representan como actividades estereotipadas con <<AOp>> y los colaboradores como calles (swimlanes). El modelo de composición de servicio permite además indicar cuales de las operaciones identificadas en el modelo serán soportadas por Servicios Web, utilizando para ello el estereotipo <<WS>>.

La Figura 4 muestra el modelo de composición de servicio para el servicio del negocio “Realizar consulta”. Las actividades necesarias para la construcción de este modelo son:

Representar los colaboradores del negocio. Estos se obtienen a partir de los actores, segmentos de mercado y actividades de valor que ofrecen o reciben objetos de valor ante una necesidad de un consumidor, lo que puede verse gráficamente en le modelo como aquellos que son atravesados por un camino de dependencia. En nuestro caso, para el servicio “Realizar consulta”, identificamos dos colaboradores del negocio (vea la Figura 4): el “LAIM” que es quien implementa las operaciones básicas del SIW y el “SAGim” que se ocupa del procesamiento de las consultas y gestión de imágenes.

Representar las operaciones de actividad identificando las acciones que llevará a cabo el sistema en cada una de las actividades identificadas en el modelo de proceso de ejecución de servicios. Así, por ejemplo, para la actividad “realizar pago del servicio”, se identifican dos acciones que son “validar la tarjeta de crédito” y “registrar pago”. Una vez identificadas las operaciones de actividad, éstas se distribuyen en las distintas particiones del diagrama de actividad, que representan los colaboradores del negocio, teniendo en cuenta quien las lleva a cabo.

Representar los flujos de datos y de control entre las operaciones de actividad determinando flujos secuenciales, paralelos, bifurcaciones, etc. Tales flujos pueden ser derivados a partir del modelo de proceso de ejecución de servicios realizado previamente.

Figura 4. Modelo de composición de servicios correspondiente al servicio del negocio “Realizar consulta”

4. Conclusiones

En este artículo se ha presentado un método basado en MDA para el desarrollo de SIW orientados a servicios, que va desde el modelado de negocio de alto nivel, hasta los modelos independientes de plataforma del SIW, centrándose en el modelado del comportamiento de éstos. Este enfoque contribuye al desarrollo de aplicaciones orientadas a servicios, facilitando la implementación de tales aplicaciones a través del uso de las tecnologías Web disponibles actualmente para el paradigma SOC.

A través de un caso de estudio de un SIW real, se ha descrito el modelo de negocio utilizado y, posteriormente, se ha ilustrado cómo es posible derivar a partir de él los modelos PIM del aspecto de comportamiento.

Actualmente, se están desarrollando otros casos de estudios para la validación de esta propuesta. En concreto, un sistema CRM para la Seguridad Social, un SIW de gestión de autoescuelas y una aplicación Web para la gestión de presupuestos participativos.

Además, se está trabajando en la definición de modelos a nivel PSM que faciliten la generación de código en algunos de los lenguajes disponibles actualmente para la composición de Servicios Web.

Referencias

  • M. Papazoglou, D. Georgakopoulos, “Serviced-Oriented Computing”, Communications of ACM, Vol. 46(10), pp. 25-28, (2003).
  • F. Curbera, R. Khalaf, N. Mukhi, S. Tai, S. Weerawarana, “The next step in Web services”, Communications of ACM, Vol. 46(10), pp. 29-34, (2003).
  • F. Curbera, M. Duftler, R. Khalaf, W. Nagy, N. Mukhi and S. Weerawarana, “Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI”, IEEE Internet Computing, Vol. 6(2), pp. 86-93, (2002).
  • L. Verner, “BPM The Promise and the Challenge”, Queue of ACM, Vol. 2(4), pp. 82-91, 2004.
  • J. Millery and J. Mukerji eds., Model Driven Architecture. Document number ormsc/2001-07-01. Accesible en: http://www.omg.com/mda, (2001).
  • P. Harmon, The OMG’s Model Driven Architecture and BPM. Newsletter of Business Process Trends. En: http://www.bptrends.com/publications.cfm, (2004).
  • J. Gordijn and J.M. Akkermans, “Value based requirements engineering: exploring innovative e-commerce idea”, Requirements Engineering Journal, Springer Verlag, Vol. 8(2), pp. 114 -134, (2003).
  • JA. Hernandez, C. Acuña, V. de Castro, E. Marcos, M. Lopez, N. Malpica, “A WEB-PACS for Multi-center Clinical Trials”, IEEE Transactions on Information Technology in Biomedicine, Vol, 11 (1), ISSN: 1089-7771, pp. 87-93, 2006.
  • V. De Castro, E. Marcos, M. López Sanz, “A Model Driven Method for Service Composition Modeling: A Case Study”, Int. Journal of Web Engineering and Technology, Vol. 2(4), Eds: Inderscience Enterprise Ltd, pp. 335-353.