KerBlue:Overview:VirtualApplication
From SIDE-Labs.org
Virtual Application
Contents |
Model-Driven Engineering and SVA
Model-Driven Engineering (MDE) places the notion of model in the heart of development problematics. Classical approaches use modelling on the top of the development process, particularly with help of languages like UML using tools like Rational Rose. The developed models are then used as passive bases for the application specification. The MDE approach uses models as actors of the development by enabling the generation of applications using suitable tools, notably with help of generators which enable successive model transformations. The MDA (Model-Driven Architecture) approach of the OMG (Object Management Group) constitutes one of the best-known initiative regarding the MDE field. This approach advocates the use of specific standardised formalisms.
The KerBlue project follows the logic of the MDE development. It offers to model data-management applications with help of models. This modelling defines a Sustainable Virtual Application (SVA). Today, tools like BlueXML Developer Studio (open-source), WebRatio (proprietary), ... enable one to model applications (more or less completely) in this way. At the bottom of the SVA, the Sustainable Virtual Application Generator (SVAG) enables to take as input an SVA-model in order to return an SVF-model.
Model-Driven Web Engineering
Model-driven Web Engineering (MDWE) is an emergent discipline for the effective development and maintenance of large Web-based systems, such as those used nowadays by most companies. MDWE follows the principles of Model-Driven Engineering (MDE), which advocates the use of models and model transformations as the key features in all phases of software development. Through automated generation of implementations for the various platforms out of models, MDE greatly reduces development and maintenance costs, while increasing the quality of the software produced.
Web Engineering (WE) is a specific discipline in which MDE can be successfully applied. Mainly in Europe, existing MDWE approaches (such as OO-H, UWE, OOWS or WebML) already provide a set of suitable methods and tools for the design and development of most kinds of Web applications. These methods and tools are currently being used with remarkable success (especially in Europe) for the development and maintenance of some major companies’ Web applications (e.g., ACER in EMEA and PanAmerica regions, several banking institutions across Spain, etc).
However, most of these Web Engineering proposals do not fully exploit all the potential benefits of MDE, such as complete platform independence, and specifically tool interoperability. In addition, they also have some limitations, especially when it comes to exchanging models or expressing advanced concerns, such as architectural styles or distribution. Finally, industrial developers are increasingly demanding modelling solutions that could interoperate with their current software engineering approaches and environments, such as UML, Eclipse, etc.
(source MDWEnet)
Link on the MDWE Wiki page.
Help-Tools for Software Development
Help-tools for software development are located in the upside layer (SVA). This layer illustrates the fact that the application development is split into two profiles with very different skills: a computer specialist profile with technical skills and a business profile with functional skills.
Each profile has particular skills. It is illusory to believe that one or the other will have a double competence, excepting exceptional cases. Thus, we need to provide a development framework which fits each profile:
- A "classical" development and modelling framework, like Rational Rose or a more-specific modelling environment for the computer specialist;
- A Web-2.0, Ajax-based application, enabling the modification of data entry screens for the “business profile”.
Indeed, we consider that the tools based on “business specialised languages” are as so complicated and unattainable as the UML language.
The functional profile works only on the final interface, like the data entry screens: the UML models are hidden. This application needs to work without any additional download or computer changes. Thus, we need to develop a Web 2.0, Ajax-based application enabling the business specialist to modify the data entry screens. The changes will be reflected automatically on the model. This step represents only 20% of the final application, but demands 50% of the effort required for developing the application.
We identified some tools relative to (web) application development.
Design tools for SVA definition
Graphical Tools
- [BlueXML Developer Studio] is a modelling tool enabling today to define data-models (class diagrams defining an improved E/R model), group-management models, partial client-definition models (use-case diagrams), business-process-management models, or partial security models. BlueXML Developer Studio enables today to generate applications on the Entreprise Content Management (ECM) platform Alfresco.
- [WebRatio] is a web applications generator software using WebML models WebML (Web Modeling Language), WebML is a visual notation specifying content, composition and navigation functionnalities of hypertext applications using the ER (Entity-Relationship) and UML modeling languages. WebRatio build in an Ajax plugin.
- [ArgoUWE] is a web applications generator software using UWE models. The software is based on ArgoUML.
- [Himalia] is defined as "the first and only high-abstraction level User Interface Builder". Its model integrates user interface controls and patterns in a hypermedia-based model-driven development. However, its application-definition (meta-)model includes the definition of (static and dynamic) page navigation, as well as a presentation model. Although evading the notion of application data-modelling (e.g., E/R model), this tool is near in essence of the previous ones.
- [Adalon] enables the developer to generate code and documentation with help of a graphic modeler. The code is generated on the Fusebox framework. Similarly to Himalia, Adalon does not seem to provide a data-modelling meta-model.
- [VisualWade] is a free PHP-code generator, which produces web applications from design models. VisualWade uses the configuration model profile WebSA.
Domain Specific Languages (DSL)
- [WebDSL] is a domain specific language (DSL) for developing dynamic web applications from a rich data model.
- [Wisss] is a DSL and a Php generator. It aims to generate all layers (persistense, business and presentation) basing upon Zend Framwork. Wisss is focused on simplicity, flexibility, security and performance. This project is opensource. Further information can be found on the author's blog, Francois Gaudin (Makina Corpus' collaborator), or on the project wiki.
Others
- [TCS Instant Application Technology Solution] (a.k.a. JFlex). JFlex is a dynamic model-driven architecture; it marries a traditional MDA-approach with a dynamic interpretation of the application model during the execution. JFlex is similar in spirit to tools like WebRatio, the originality coming essentially from the dynamic interpretation of the model. Sflex is a prototypic version of JFlex.
- [MetaCASE MetaEdit+ DSM Environment] is aimed at the expert developer looking to gain productivity by generating full code directly from models. First you design the modeling language with MetaEdit+ Workbench and then other developers model with the language in MetaEdit+ Modeler. This approach enabled notably to design meta-models aiming at defining web applications.
- [RUX-Tool] s a tool that support the automatic generation of RIAs using the RUX-Model proposal. This tools helps developers representing all the graphic diagrams and representations proposed by RUX-Model. RUX-Tool is able to take advantage of the hypertext applications already defined in WebML. They are also working to define the necessary connection rules to use other well-known Web applications models like OO-H and UWE.

