Vamos a describir las características del enterno de desarrollo WebRatio que implementa el modelado mediante IFML.
En sus inicios, la plataforma Webratio utilizaba WebML para la realización de los modelos de la aplicación.
En estos momentos, IFML es el lenguaje de modelo por defecto de WebRatio.
El desarrollo de aplicaciones web con IFML se compone de los siguientes procesos.
- Modelado.
- Personalización e integración.
- Generación automática de código.
- Creación de la aplicación.
La plataforma WebRatio se integra con herramientas de Gestión del Ciclo de Vida. Todas las fuentes del proyecto se comparten mediante un servidor de trabajo colaborativo y un servidor de gestión de subversiones.
El problema de utilizar el control de versiones (VCS) es la incapacidad actual de resolver conflictos. Al presentarse conflictos en los modelos, el VCS mostrará las diferencias en el codigo XML de éstos, el cual será practicamente ininteligible.
A través de los componentes personalizados de WebRatio, es posible integrar a la aplicación una amplia variedad de sistemas y servicios como SAP, IBM Mainframe, Dropbox...
La Plataforma WebRatio facilita la integración de los sistemas de TICs con soluciones externas, facilitando la invocación y publicación de Web Services (REST, SOAP), así como servicios para la gestión de contactos y redes sociales como Facebook.
Web ratio ofrece 4 tipos de modelos:
Modelo de interacción de flujo: describe la interfaz de la aplicación: como el usuario interactúa con la aplicacion, la estructura de navegación, el contenido proporcionado, y las acciones disponibles. El modelo de flujo usa la notación IFML, que es un estándar de la OMG.
Modelo de dominio: describe la organización de datos de la aplicación y almacena la información obtenida del usuario y almacenada por la aplicación. Puede ser representada en UML y ER (entidad relación).
Modelo de flujo de ejecución: describe la secuencia de las operaciones para obtener la lógica de negocio a traves de eventos y gatillos en la interfaz de usuario. Junto con el modelo de interacción de flujo, el modelo de flujo de ejecución permite describir de una forma completa todas las características deseadas de una aplicación.
Modelo del proceso de negocio: describe un proceso empresarial. El modelo de proceso empresarial, usada junto con los demás modelos, permite obtener la implementación de la aplicación y automatizar el proceso de negocio. El modelo de proceso de negocio es expresada en notación BPMN (estándar OMG).
Nosotros nos centraremos en el modelo de interacción de flujo y modelo de dominio, que esta descrita con IFML y UML.
El lenguaje de modelado para los flujos de interacción, IFML, es el resultado de la experiencia con WebML, y se enfoca en su generalización para cualquier plataforma. IFML ha sido diseñado para expresar el contenido, la interacción con el usuario y el comportamiento del front-end de las aplicaciones que pertenecen a los siguientes dominios:
Interfaces usuario-máquina (HMI) integradas para el control de las aplicaciones. Aplicaciones multicanales y contextualizadas. Cabe anotar que IFML no cubre el modelado de conenidos de la presentación del front-end de una aplicación y tampoco las especificaciones de gráficos bidimensionales y tridimensionales. IFML está orientado principalmente a aplicaciones de negocios de uso intensivo de datos.
Fuertemente inspirado por WebML, actualmente representa su generalización desde el dominio Web a un dominio genérico para la representación del Front-end de cualquier tipo de aplicación (Web, Escritorio, Mobile, etc.)
Elemento de la interfaz que contiene elementos mostrando contenido y permitiendo interacción o otros Viewcontainers.

Elemento de la interfaz que muestra contenido o permite una entrada de datos.

Un evento que afecta al estado de la aplicación

Una pieza de la lógica de negocio activada por un evento.

Una dependencia de entrada-salida. La fuente del enlace tiene una salida que es asociada con la entrada del objetivo del enlace

Intercambio de datos entre ViewComponents o Acción como consecuencia de una interacción previa con el usuario.

Conjunto de ParameterBindings asociados a un InteractionFlow (siendo su navegación o flujo de datos)
