UML Extension for Web Applications

Web applications can be a very appropriate architecture for many applications. Its advantages include a heterogeneous client space, minimal client computing power, the ability to operate over very distributed networks like the Internet, as well as others.

The growth of the Internet and its ability to deliver commerce has fueled the recent growth of web applications.  Early successes with have given the business community reasons for moving mission critical systems to a web based architecture.  Web applications today are becoming more complex and harder to manage.

To help manage this complexity we need to model our web applications.  An important part of modeling is to model the "right" thing.  For web applications this means modeling those web specific elements like pages and hyperlinks alongside the rest of the systems models. 

UML is the standard modeling language for modeling software intensive systems.  Using UML for the analysis and design models, however raises some questions when modeling pages and hyperlinks.  UML, out of the box, is not a perfect fit.

The creators of UML recognized that standard UML is not a perfect fit for all types of applications, and so have defined a formal way to extend it to meet the needs of these special situations.  Web applications represent one of these situations, and this part of Conallen's site is devoted to presenting and explaining the UML Extension for Web Applications.

The extension is planned to be presented at several other conferences in 1999, including the next Rational Users Conference in Seattle (July 1999), and two Wrox Press ASP conferences in Washington, DC (September 1999) and in London, (November 1999). 

Various summaries and introductions to the extension have or will appear in the Communications of the ACM, ASPToday, and in the UML Resources web site at Rational Software. A full explanation of this work is currently being prepared for the book "Building Web Applications with UML" to be published later this year in the Object Technology Series of Addison Wesley Longman.

Keep an eye on this page, bookmark it even. We will be adding comments and additional resources as they get developed and come it.

The UML Web Application Specification (v0.91)

The UML Web Application Extension FAQ

White Papers

Modeling Web Application Design with UML - The original white paper proposing and explaining the need for an extension to UML to accommodate the special needs of web application design.

Sample Models

Glossary - A simple example of the use of the basic stereotypes of the extension.  This web application is meant to be an introductary example of the use of the extension to model scripted web pages.  The model is a completed design model of an application that is intended to be a software project glossary database. When set up on the project intranet users can browse and search the glossary as well as edit glossary entries.

Model (requires Java enabled browser)
Rose Model file (zipped 47k)
ASP files (zipped 11k)
Visual Basic 6 project files (13k)

This model was created and published with Rational Rose 98i Enterprise Edition's Web Publisher.

Rational Rose (Rose98/98i) and Visio Resources

Rose Icon files for the web extension to UML (6k zipped)

Visio Stencil (32k zipped)

ASPTool.ebs (ASPTool.zip 2k) - This Rose script added a new tool in the specification dialogs to allow the capture of web extension and ASP specific tagged values. Many of these tagged values are used during code generation (still working on that script).

MakeASPComponents.ebs (MakeASPComponents.zip 3k)- This Rose script creates an ASP, HTML or JS stereotyped components in the component view based on the stereotyped classes in the logical view. I find this one real handy.

umllink.gif (913 bytes) Additional UML information and resources