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
In most cases, a page is assigned a URL for requests of page content, and an action invocation is assigned a URL for invocations of the action, including its business logic. Regions are not mapped to any implementation resources.
Structured page content
The content of a page is often partitioned and grouped into multiple sections. For example, in some cases, pages are composed of a set of HTML frames; in other cases, pages are generated using a page template that includes other subtemplates, which generate HTML fragments. Because we need the ability to model a structure that expresses HTML frames or page templates that consist of subtemplates, we introduce the notion of a fmmeset and frame.
Figure 6 illustrates a sample graphical notation of a page flow with a frameset and frame. A frameset defines a page template that is composed of one or more subtemplates. A frame defines a subtemplate, which occupies a partition within a frameset. In terms of hierarchical page flows, a frameset is considered a unit of presentation, e.g., a URL that contains a page flow within each child frame. The model illustrated in Figure 6 declares that
1. The frameset FS consists of frames LEFT and RIGHT.
2. Pages NaviA and NaviB appear in the frame LEFT.
3. Pages B1, B2, and B3 appear in the frame RIGHT.
When a user activates (clicks) the exit port in the page Welcome, which is connected to frameset FS, the frameset FS is displayed in the browser window. The frameset FS displays a page that consists of two frames: LEFT and RIGHT. The entry point of a frameset, which is illustrated as a yellow dot in the figure, specifies the initial pages to be displayed in each frame. The frames might be implemented as HTML frames or HTML fragments embedded in the page. If a user activates an exit port in page B1, the contents in the frame RIGHT are replaced with the one generated by page B3 because the exit port is connected to page B3. If a user activates an exit port in page B3, the frameset is reset, and a plain Web page, Bye, is displayed, because the exit port is linked to page Bye located outside of frameset FS. A diamond represents an interframe page transition, called a jumper-out. A jumper-out is connected to a jumper-in, which is illustrated as a circle. If a user activates a jumper-out from page NaviA, page B1 is displayed within the frame RIGHT, while page NaviA is still displayed in the frame LEFT.
The notion of a frameset and frame in WAD can also be used to describe the inclusion of page templates. A frameset represents a page template (JSP) that includes other page templates, and a frame represents a placeholder within the container page template (frameset). Each page within a frame appears at the place specified by the frame.
Data model
In addition to triggers (e.g., HTML links and buttons) for page transitions, a page often includes user interface controls that receive user input. A set of input data that is transferred to an action may be further transferred to back-end applications or database systems, it may be temporally stored for later use in the application session, or it may just be used to determine the next transition. As we noted in section 4, bugs that are hard to detect can result from misunderstandings by developers and protocol mismatches between input data sent from a page and the expectations of the actions that receive the data. Therefore, it is worthwhile to specify precisely the properties of data in the model and force all related artifacts to comply with it.
- 5 Rules for Immediate Annuities
- Death in the Family: 12 Things to Do Now
- Dumbest Things You Do With Your Money
- 6 Online Networking Mistakes to Avoid
- 401(k) Mistakes to Avoid
- 5 Economic Scenarios to Keep You Up at Night
- The Real ‘Best Places to Retire’
- Best Credit Cards for You
- 12 Tough Questions to Ask Your Parents
- The Real ‘Best Colleges’
- Home Buyer Tax Credit: How to Cash In
- Why You Shouldn't Bash Cash
- 8 Phony 'Bargains' and Better Alternatives
- Danger: 3 Debit Card Scams to Avoid
- 6 Myths About Gas Mileage
- 29 Fees We Hate Most
- Quick and Easy Ways to Boost Returns
- Best Stocks to Buy Now
- Lower Your Taxes: 10 Moves to Make Now
- New Jobs: 8 Lessons from Real-Life Career Switchers
- The New Job Market: Who Wins and Who Loses?
- Health Care Reform's Public Option: Everything You Need to Know
- Volunteer Work When Unemployed: Should You Work for Free?
- Whose Recovery Is This?
- Long-Term-Care Insurance: 4 Biggest Risks to Avoid
Content provided in partnership with
Most Recent Technology Articles
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
- Effects of creative, educational drama activities on developing oral skills in primary school children
- Failed businesses in Japan: a study of how different companies have failed, and tips on how to succeed, in the Japanese market
- Political stability and economic growth in Asia



