Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
www.webratio.com
WebRatio.
Piazza Cadorna, 10. I-20123 Miln, Italia
marco.brambilla@polimi.it
www.webratio.com
ndice
1. Introduccin......................................................................................... 1
2. El lenguaje WebML original ................................................................. 2
3. Arquitecturas Orientadas a Servicios ................................................... 5
4. Procesos de Negocios en la Web ......................................................... 6
5. Personalizacin del Usuario y Contextualizacin .................................. 8
6. Web Semntica y Servicios .................................................................. 9
7. Aplicaciones de Internet con Contenido Enriquecido ......................... 10
8. El Interaction Flow Modeling Language ......................................... 11
9. La plataforma de desarrollo WebRatio............................................... 12
10. Conclusiones .................................................................................... 14
Referencias WebML ............................................................................ 14
www.webratio.com
1. Introduccin
Las aplicaciones Web Data-Intensive, por ejemplo: sistemas informticos cuyo principal objetivo
es dar acceso a contenidos organizados, fueron la primera aplicacin industrial en la Web, y
perduran hoy en da, en trminos de volumen y valor comercial.
En este documento retratamos nuestros esfuerzos hacia la definicin de un enfoque modeldriven (guiado por modelos) dirigido a uno de los aspectos ms relevantes en el desarrollo de
tales sistemas: el front-end. El desarrollo del front-end es an un proceso costoso e ineficiente,
donde la codificacin manual es, todava, el enfoque de desarrollo predominante, la reutilizacin
de los artefactos de diseo es escaza, y la portabilidad entre distintas plataformas sigue siendo
difcil. La disponibilidad de un lenguaje de modelado para los flujos de interaccin independiente
de la plataforma de implementacin, puede traer muchos beneficios al proceso de desarrollo de
aplicaciones front-end: permite la especificacin formal de las diferentes perspectivas del frontend (contenido, composicin de la interfaz, opciones de interaccin y navegacin, y la conexin
con la lgica de negocios y la presentacin); disipa inquietudes dentro del grupo al separar la
especificacin del front-end de los problemas especficos de la implementacin; mejora el
proceso de desarrollo, al fomentar la separacin de las reas durante el diseo de la Interaccin
de Usuario, otorgando as la mxima eficiencia a cada uno de los roles de desarrollo; permite la
comunicacin entre el diseo de la interfaz y la interaccin con los actores menos tcnicos,
logrando una validacin rpida de los requerimientos.
Presentamos nuestro trabajo sobre el Interaction Flow Modeling Language (IFML), adoptado
como un estndar por la Object Management Group en Marzo de 2013. Su definicin presta una
especial atencin al modelado de la usabilidad y la comprensibilidad, al considerar
cuidadosamente todos los factores que puedan contribuir para lograr que la Gestin de la
Informacin del Producto (PIM-Product Information Management) sea de rpido aprendizaje,
fcil uso, apto para la implementacin y abierto para la reusabilidad y extensibilidad:
Es conciso, evitando las redundancias y reduciendo el nmero de tipos de diagramas y
conceptos necesarios para expresar las decisiones del diseo de las interacciones ms
importantes.
Provee reglas de inferencia de modelos en el nivel de modelado que automticamente
emplean patrones por defecto para la deduccin automtica de detalles cuando sea
necesario.
Incluye la extensibilidad en la definicin de nuevos conceptos (por ejemplo, novedosos
componentes de interfaz o tipos de eventos)
Asegura la posibilidad de implementacin, esto quiere decir que soporta la construccin de
frameworks de transformacin del modelo y generadores de cdigo que puedan mapear el
PIM en una adecuada PSM y, finalmente, en aplicaciones que pueden ser ejecutadas por un
amplio rango de plataformas tecnolgicas y dispositivos de acceso.
Asegura la reutilizacin a nivel de modelado, lo que significa que soporta la definicin de
patrones de diseo reusables que pueden ser almacenados, documentados, buscados,
recuperados y re-utilizados en otras aplicaciones.
www.webratio.com
IFML puede ser visto como la consolidacin del Lenguaje de Modelado Web (WebML) [1]
definido y patentado hace 15 aos como un modelo conceptual para las aplicaciones Wed dataintensive. Su principal innovacin fue la notacin de modelado de hipertexto, que permite la
especificacin de pginas Web conformadas por componentes conceptuales (units)
interconectadas mediante links, igualmente, conceptuales. El modelo de hipertexto se crea en
una simple y muy intuitiva notacin visual, pero tiene una semntica rigurosa, que permite la
transformacin automtica de los diagramas en el cdigo ejecutable de una aplicacin Web
data-intensive. Originalmente, el enfoque de WebML se concentraba en la definicin de eficaces
conjuntos de units; con el tiempo, nos dimos cuenta que las units son solamente componentes
especficos que pueden ser definidos y adaptados a las necesidades de cualquier desarrollo
tecnolgico actual; en su lugar, la esencia del modelo de hipertexto de WebML se basa en las
reglas para conectar componentes y links dentro de un grfico, y deducir todas los posibles
patrones para el traspaso de los parmetros y la conexin de los componente de la interfaz y los
tipos de links. Un grfico bien estructurado asegura el correcto flujo de datos entre las units y
establece el orden apropiado de ejecucin de los componentes cuando se muestra el contenido
de las pginas. Finalmente, el levantamiento de un modelo de hipertexto equivale a la
representacin de la ejecucin de los componentes accionados por los clicks generados por el
usuario. En retrospectiva, las opciones de enlace y la semntica de los componentes eran
totalmente adecuadas para el propsito y permanecieron estables durante los 10 aos de
evolucin del lenguaje. De hecho, ste es uno de los principales valores transmitidos a IFML.
WebML experiment una serie de extensiones a lo largo de los aos, con el objetivo de estar a la
par de las principales tendencias en las tecnologas de desarrollo de software:
Web Services y arquitecturas orientadas a servicios [11];
Integracin con procesos de negocios [5];
Personalizacin, adaptacin, context-aware, y movilidad [6]
Web semntica y WebServices semnticos [4];
Aplicaciones de internet robustas [3];
Aplicaciones basadas en bsquedas;
Soporte para la reutilizacin, multihilos y modularizacin.
Este documento resalta el eje principal del lenguaje WebML, describe rpidamente sus
extensiones principales y muestra el enfoque de trabajo en su plataforma de desarrollo
complementaria, WebRatio.
www.webratio.com
Home page
Loans page
OK
Loans Index
Loan Details
Proposals
Index
Loan
Loan
LoanProposals
[LoanToProposal]
Enter New
Proposal
Create Prop
Connect
LoanProposal
LoanToProposal
Este ejemplo contiene units para la publicacin de contenidos (data e index units) que
muestran los atributos de una o ms instancias de una determinada entidad. De acuerdo con la
sintaxis, cada tipo de unit tiene un cono distintivo y el nombre de la entidad se encuentra
especificado al pie de la unit; debajo del nombre de la entidad, predicados (llamados selectors)
expresan las condiciones filtrando las instancias de la entidad que se van a mostrar. El ejemplo
3
www.webratio.com
www.webratio.com
(a)
(b)
www.webratio.com
Los puertos de Servicio son un ejemplo de un concepto WebML que no tiene nada que ver con la interaccin del
usuario, muestra cmo el objetivo general del modelo (navegacin del hipertexto) se ha generalizado para cubrir
nuevos requerimientos. Cambios an mas radicales para utilizer los Web Services semnticos, como se ilustra a
continuacin.
www.webratio.com
restricciones, cumpliendo diferentes roles de usuarios, cuyo trabajo conjunto debe ser
coordinado. Pueden estar distribuidas en diferentes nodos de proceso, debido a las restricciones
empresariales, caractersticas del diseo o la existencia de sistemas heredados que vayan a ser
reutilizados. WebML y WebRatio han sido ampliados para cubrir los requerimientos de ste tipo
de aplicaciones [5], a travs de:
La integracin de guas especficas de diseo del workflow en el ciclo de vida del desarrollo;
Dos modelos diferentes para representar los procesos de negocio;
Nuevas primitivas de diseo (es decir, WebML units) para reforzar las excepciones de los
procesos de negocio;
Nuevas herramientas para el diseo de aplicaciones dirigidas por workflows: un modelador
de procesos y un traductor de procesos a esquemas de hipertexto.
El enfoque hacia el modelado basado en procesos utiliza la notacin BPMN para la descripcin
de los requisitos de negocio, y luego los mapea en pedazos de modelos de hipertexto que
describen la interaccin con el usuario de cada tarea que conforma el proceso de negocio. La
percepcin es que el proceso avanza mientras los actores navegan en el front-end, siempre y
cuando el modelo de hipertexto y los metadatos del proceso se mantengan sincronizados. Para
ello, nuevas primitivas son agregadas al modelo de hipertexto para especificar los lmites de las
actividades (llamadas activity areas) y la navegacin dependiente del proceso (llamados workflow
links). La Figura 6 muestra algunas de stas primitivas: Activity Areas representa los grupos de
pginas que implementan el front-end para ejecutar una actividad; links especializados describen
los efectos secundarios de la navegacin relacionados al workflow: actividades de inicio, de
finalizacin, de suspensin y de reanudacin. Los procesos distribuidos implementados en SOAs
se pueden obtener al combinar los workflows y las primitivas de los WebServices [5].
Activity Area1
Activity Area2
...
...
A
Figura 6. Dos activity areas y los eventos start y end que significan el comienzo y el final de una
actividad.
El clculo del tiempo de ejecucin del proceso se determina mediante un componente lgico de
control de procesos. ste, utiliza la informacin almacenada en los metadatos y los logs del
proceso para definir su estado actual y las transiciones de estado disponibles.
WebRatio soporta el modelado de procesos de negocio mediante:
Un editor de modelado de flujos para especificar los procesos de negocio en la notacin
BPMN.
Transformaciones de modelos que convierten un proceso de negocio en un esquema de
hipertexto WebML.
7
www.webratio.com
Context sub-schema
Location
Cinema
MinLon
MaxLon
MinLat
MaxLon
Name
1:N 1:1 Address
Description
Picture
0:N
1:1
Device
Activity
CPU
InputDevice
Display
Memory
1:N
Name
Handycap
Description
0:N
Personalization
sub-schema
1:1
Comment
Rate
Title
Comment_Date
Movie
1:1
User
UserComment
0:N
0:N
0:N
UserName
Password
EMail
1:N
1:N
Group
GroupName
1:N
1:N
Module
ModuleID
0:N
Title
Year
Description
Official_Site
Figura 7. Tres modelos que representan al usuario, la personalizacin y los datos de contexto.
En estas aplicaciones, el diseo del proceso se amplia gracias a un paso preliminar que se ocupa
del modelado de los perfiles del usuario y de la informacin del contexto.
Los requerimientos del usuario y del contexto se describen a travs de 3 modelos diferentes que
complementan a los datos de la aplicacin (ver Figura 7):
El modelo de usuario describe los datos de los usuarios y derechos de acceso a los objetos
de dominio. En particular, la entidad User muestra un perfil bsico de usuario, la entidad
Group habilita los derechos de acceso para los grupos de usuarios, y la entidad Module
permite a los usuarios y a los grupos ser asignados, de forma selectiva, los accesos a
cualquier elemento de hipertexto (site views, pginas, units de contenido individual e incluso
links).
El modelo de personalizacin asocia las entidades de la aplicacin con la entidad User por
medio de relaciones que representan las preferencias del usuario o la pertenencia. Por
ejemplo, la relacin entre las entidades User y UserComment en la Figura 7 proporciona la
identificacin de los comentarios que el usuario ha hecho, y la relacin entre las entidades
User y Movie representa las preferencias del usuario sobre pelculas especficas.
8
www.webratio.com
El modelo de contexto incluye a entidades como Device, Location y Activity, que describen
propiedades del contexto relativas a la adaptabilidad. Las entidades de Contexto se
conectan a la entidad User para asociar cada usuario a su contexto personal.
Durante el diseo del hipertexto, la contextualizacin se puede relacionar con pginas
seleccionadas, y no necesariamente con toda la aplicacin. Las pginas de localizacin estn
etiquetadas con la letra C (por Context-aware) para distinguirlas de las pginas
convencionales. Las acciones de adaptabilidad estn agrupadas dentro de una context cloud que
debe ser ejecutada antes de la computacin de la pgina. Las Clouds generalmente incluyen
operaciones de WebML que leen los datos de personalizacin o contextualizacin y luego
adaptan el contenido de la pgina o modifican el flujo de la navegacin definido en el modelo.
Siteview
Conventional
Page 1
Context-aware Page
Conventional
Page 2
P: Context Parameter
Data Unit
OID: Object
Identifier
Source
Figura 8. Modelo que contiene una pgina context-aware etiquetada con una C y asociada a
una context cloud.
www.webratio.com
Ampliamos WebML en [4] con el fin de generar, por encima de modelos convencionales (de:
procesos, datos, servicios e interfaces); un amplio nmero de descripciones semnticas
requeridas por el paradigma de la Web Semntica de una manera semi-automtica, integrando
as la produccin y el mantenimiento de la informacin semntica en el ciclo de generacin de la
aplicacin.
Definimos un proceso para el diseo de recursos semnticos al extender el proceso de diseo
SOA con dos tareas adicionales:
Importacin de la Ontologa, para reutilizar ontologas existentes con el objetivo de describir
el dominio de la aplicacin Web en desarrollo.
Anotacin Semntica, para especificar cmo las pginas o servicios de hipertexto se pueden
expresar utilizando conocimientos ontolgicos existentes.
Las primitivas del WebML bsico han sido ampliadas con componentes para la consulta y
navegacin ontolgica, por medio del poder expresivo de los lenguajes ontolgicos (inspirados
en SPARQL y RDF-S). Estas unidades permiten realizar consultas en las clases, instancias,
propiedades y valores; comprobando la existencia de objetos especficos; y verificando si existe
una relacin entre dos recursos. Otras units importan el contenido de una ontologa y devuelven
la descripcin RDF de una determinada parte del modelo ontolgico. Operaciones como el
aumento y la disminucin han sido agregadas tambin al ampliar los componentes de mapeo
XML2XML ya desarrollados en el contexto de SOAs.
www.webratio.com
Figura 9. Ejemplo de datos WebML con RIA activada (a) y un modelo de hipertexto (b).
En el modelo de contenidos, los contenidos, por consiguiente, son caracterizados por dos
diferentes dimensiones: su ubicacin, que puedes ser servidor o cliente, y su duracin, que
puede ser persistente o temporal. Por ejemplo, en la Figura 9 la entidad WishLists est
etiquetada como cliente (C) y temporal (cono vaco) para representar que los datos son
almacenados provisionalmente en el lado del cliente durante el tiempo de ejecucin de la
aplicacin.
De manera similar, el concepto de pgina en WebML se ha ampliado, al agregar pginas
clientes, que incorporan contenido o lgica controlados (la menos en una parte) por el cliente; su
contenido puede ser operado tanto del lado del cliente cmo del servidor, mientras que la
presentacin, visualizacin y manejo de eventos ocurren en lado del cliente. La Figura 9 muestra
una pgina cliente que contiene una index unit con datos obtenidos desde el servidor, pero
filtrados mediante predicados (price<=max) computados en el lado del cliente. Con el fin de
ajustarse de la manera ms flexible a la manera cmo las RIAs gestionan el contenido de las
pginas, la semntica de la operacin de las pginas ha sido tambin revisada.
www.webratio.com
12
www.webratio.com
aplicaciones B2C y B2E (como portales, sitios de e-Commerce, Help Desk Ticketing Solutions,
Customers Self-Service Desks, Sistemas de administracin de suscripciones, aplicaciones
corporativas personalizadas, etc.). Las aplicaciones generadas cumplen con los estndares
HTML5, CSS3 y Java para adaptarse a los continuos cambios de cdigos y tecnologas. Las
aplicaciones Web construidas con la Plataforma WebRatio respetan los estndares Java/JSP2.0+
y pueden ser desplegadas en servidores On-Premises o en el Cloud (Pblico o Privado). Los
planes de deployment son totalmente personalizables.
La Plataforma WebRatio se integra con herramientas de Gestin del Ciclo de Vida (Atlassian
JIRA, IBM Rational Team Concert, etc.). Todas las fuentes del proyecto se comparten mediante
un servidor de trabajo colaborativo y un servidor de gestin de subversiones (CVS o Subversion).
Ayuda tambin a afrontar los desafos de las DevOps (Development & Operations) al facilitar la
colaboracin entre los equipos de desarrollo y operacin.
A travs de los componentes personalizados de WebRatio, es posible integrar a la aplicacin una
amplia variedad de sistemas y servicios como SAP, Tibco, IBM Mainframe y aplicaciones SaaS
como Salesforce.com, Dropbox etc. incluyendo cdigos personalizados heredados (legacy). La
Plataforma WebRatio facilita la integracin de los sistemas de TICs con soluciones externas,
facilitando la invocacin y publicacin de Web Services (REST, SOAP), as como con servicios de
login Single-Sign-On, para compartir contenido, para la gestin de contactos, y Redes Sociales
como Facebook, Twitter, LinkedIn, G+, etc.
Figura 10. Captura de pantalla WebRatio que muestra un extracto de un diagram IFML.
13
www.webratio.com
10. Conclusiones
A travs del presente documento presentamos el lenguaje IFML y la plataforma de desarrollo
model-driven, WebRatio, y el recorrido que inicia con WebML hacia la estandarizacin de IFML
en la OMG. El estndar y la herramienta son, en la actualidad, ampliamente aceptados en
grandes industrias de Europa y Estados Unidos, as como en Latinoamrica y Asia. El enfoque ha
ganado una amplia aceptacin gracias a las pocas barreras de aprendizaje para los nuevos
tcnicos y la disponibilidad de herramientas de soporte apropiadas. Las destrezas bsicas de
modelado son enseadas generalmente en 6 horas de capacitacin, y el programa completo
para profesionales certificados requiere un total de 8 das. Estadsticas en el campo estiman que
son necesarios 2 o 3 meses para alcanzar una productividad de nivel industrial. Una vez que se
logra este nivel, se garantiza la alta eficiencia en el proceso de desarrollo con una mejora de
hasta un 60% en el esfuerzo de desarrollo y de hasta un 80% de ahorros en las etapas de
mantenimiento y evolucin, gracias a la generacin automtica del cdigo y la posibilidad de
trabajar desde el nivel de modelado [2].
Referencias WebML
[1] R. Acerbis, A. Bongio, M. Brambilla, S. Butti, S. Ceri, P. Fraternali. Web Applications Design
and Development with WebML and WebRatio 5.0. TOOLS 2008, 392-411 and
http://www.webratio.com/.
[2] R. Acerbis, A. Bongio, M. Brambilla, M. Tisi, S. Ceri, E. Tosetti. Developing eBusiness
Solutions with a Model Driven Approach: The Case of Acer EMEA. 7th International
Conference on Web Engineering, ICWE 2007, Como, Italy. Springer LNCS 4607, ISBN 978-3540-73596-0, pp. 539-544.
[3] A. Bozzon, S. Comai, P. Fraternali, G. Toffetti Carughi. Conceptual Modeling and Code
Generation for Rich Internet Applications. International Conference on Web Engineering,
Springer, 2006, pp. 353-360.
[4] M. Brambilla, I, Celino, S. Ceri, D. Cerizza, E. Della Valle. Model-Driven Design and
Development of Semantic Web Service Applications. ACM TOIT, 8:1, 2008.
[5] M. Brambilla, S. Ceri, P. Fraternali, I. Manolescu. Process Modeling in Web Applications.
ACM TOSEM, 15:4, 2006.
[6] S. Ceri, F. Daniel, M. Matera, F. Facca. Model-driven Development of Context-Aware Web
Applications, ACM TOIT, 7:1, 2007.
[7] S. Ceri, P. Fraternali, A. Bongio. Web Modeling Language (WebML): a modeling language
for designing Web sites. WWW9 / Computer Networks 33, 2000.
[8] S. Ceri, P. Fraternali, A. Bongio, M. Brambilla, S. Comai, M. Matera. Designing Data-Intensive
Web Applications. Morgan Kaufmann, 2002.
[9] S. Ceri, M. Matera, F. Rizzo, V. Demald. Designing Data-Intensive Web Applications for
Content Accessibility using Web Marts. Communications of ACM 50: 4, 55-61, 2007.
[10] S. Comai, P. Fraternali. A Semantic Model for Specifying Data-Intensive Web Applications
Using WebML. Semantic Web Workshop, Stanford, USA, July 2001.
[11] I. Manolescu, M. Brambilla, S. Ceri, S. Comai, P. Fraternali. Model-Driven Design and
Deployment of Service-Enabled Web Applications. ACM TOIT, 5:3, 2005.
[12] Object Management Group, M. Brambilla, P. Fraternali et al. The Interaction Flow Modeling
Language (IFML) 1.0. March 2014. www.ifml.org
14