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

Transitions between pages are modeled and represented as a directed graph. Figure 4 shows the WAD metamodel elements related to page transition presented in the form of a class diagram in UML. A transition can be conditional; when an outgoing transition from a page is triggered, it is associated with data transmitted from the browser, which is typically user input. The transition flow may be determined by checking conditions based on the transmitted data. In WAD, this point of the conditional transition is called an action invocation. An action invocation refers to an action in which input parameters are specified. An action also specifies the possible result codes, and each result code is mapped to the next transition on the basis of the information specified by the action invocation. We present more details about the action element in the section below on data modeling.

Pages and transitions between pages are modeled as a directed graph of pages and action invocations. As the number of pages and action invocations increases, the corresponding directed graph becomes too complex to maintain. To keep directed graphs simpler, the notion of a region is introduced. A region contains a directed graph, while it is also regarded as a node. Page transitions can be modeled as a hierarchical directed graph that may include regions.

Another important part of the transition model is the notion of a port. Ports are attached to pages, action invocations, and regions. A port is either of an entry or exit type. An exit port can be the source of a link between two ports, and an entry port can be the target of a link. Ports attached to a region can be either the source or target of a link, and they are relay points of a transitional port connection between a port outside and another port inside the region. Generally, a chain of ports joins two artifact nodes, such as pages and action invocations. An entry port for a page or an action invocation respectively denotes an entry point to the page or the corresponding action.

In a specific implementation technology, such as J2EE, ports may be resolved as URLs representing pages and actions. The resolved URLs are embedded in Web application artifacts, such as pages and action programs, and used by the artifacts to refer to one another. It is very useful to model ports at this abstract level and to resolve ports automatically into URLs. The reason for this is that determining URLs requires careful consideration about the way in which pages and actions are physically deployed, and they are likely to change depending on nonfunctional considerations, such as security and access controls, that happen to be tied to the file directory structure. Ports hide the unnecessary details of such referential information that is dependent on implementation technology, but provide sufficiently detailed relationships between pages and action invocations.

Figure 5 illustrates our notation for pages, action invocations, and ports. This sample is composed of three nodes: a page, LogonPage, an action invocation, Logon, and a region, MainMenu. Exit ports are illustrated as thick red arrows in LogonPage and Logon. An entry port is shown as a thick blue arrow in MainMenu.

 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement
Click Here

Content provided in partnership with ProQuest