Model-driven development of large-scale Web applications
IBM Journal of Research and Development, Sep-Nov 2004 by Tai, H, Mitsui, K, Nerome, T, Abe, M, Et al
Annotating the model
While the WAD metamodel is designed independently of specific runtime frameworks, a model whose runtime-independent part is specified in WAD also requires runtime-dependent information, since it eventually has to be a Web application built within a specific runtime framework. For example, when an action is invoked in Struts, a model must specify the class name of the object in which the action parameters are stored. This information is required to generate the configuration files for Struts applications, but this does not make sense for other runtime frameworks. In a WAD model, this kind of platform-dependent information is described as annotation objects. Annotation objects can be attached to most WAD model elements and treated as an additional attribute of the element to which they are attached.
7. Tools and an integrated development environment
In this section, we describe a tool prototype called the Web application development support tool (hereafter, WAST workbench). It was built to facilitate and exploit the WAD metamodel. The WAST workbench is implemented as a set of plugins for the WebSphere* Studio platform [12], which is based on Eclipse technology [13]. Figure 9 shows a screenshot of this tool. The WAST workbench consists of several views and an editor. WAD files are displayed in the navigator view, (a) in the figure, which is a built-in view provided by the platform. When a WAD file is opened by the editor and is selected, a specific menu item for this editor is added to the main menu. An example is shown in (b), and the model information is displayed in the editor and in two other views. The page flow editor (c) enables users to edit the page transitions as a graph. The outline view (d) shows all of the model elements as a tree, and users can add or remove model elements in this view. The properties view (e) displays the properties of the model element selected in the outline view or the page flow editor.
The WAST workbench consists of base plugins and an extension plugin. The base plugins provide the core functions, such as model manipulation, customizable implementations of the editor, and the views. The extension plugin provides concrete implementations of the views and the editor, along with the editor actions that support the development roles described in section 5. Figure 10 depicts the functions we have implemented for the Struts runtime environment: the model validator, the skeleton code generator, the configuration file generator, and the stub code generator.
Model validator
This function investigates models and detects errors, such as missing model elements, missing or inappropriate attribute values, and disconnected ports. It helps model maintainers ensure the correctness of models, which is also important for various code generators as well.
Skeleton code generator
It is beneficial if we can have a good starting point for the implementation work, especially when the number of artifacts is large. Our tool prototype generates three kinds of skeleton code for Struts applications from WAD models:
Most Recent Technology Articles
- INTERVIEW WITH BEN BUTTERS, DIRECTOR OF EUROPEAN AFFAIRS AT EUROCHAMBRES : "A PERFECT ROAD MAP FOR EU CLUSTERS DOES NOT EXIST".
- AGENDA.(Brief article)(Conference notes)
- FIGHT AGAINST INTERNET PIRACY.
- INTERNET : AUTHORS' SOCIETIES URGE ACTION AGAINST PIRACY.
- TELECOMMUNICATIONS : BUSINESSEUROPE HOSTILE TO FURTHER CONTRACTUAL OBLIGATIONS.(Brief article)
Most Recent Technology Publications
Most Popular Technology Articles
- BizRate to monitor in-store customer satisfaction for Office Depot stores - Market Intelligence
- Speed control of separately excited DC motor
- What is precision air conditioning and why is it necessary?
- Effects of creative, educational drama activities on developing oral skills in primary school children
- 3G: naughty or nice? PhoneErotica.com generates over 300 million hits per month, and rings up more minutes of use per month than MSN


