In this exercise, the architecture of an existing application was reconstructed from the source code, the deployment descriptors, and the existing documentation. An incomplete software architecture documentation was created using UML 2.0 and informal notation. Below are observations regarding the Java Pet Store implementation, the UML 2.0 notation and the wiki as a tool to capture architecture information.

Contents

Comments on Java Pet Store Artifacts

About the Existing Documentation

There are two public documents published by the authors of the application: the Sample Application Design and Implementation and Chapter 11,
"Architecture of the Sample Application," of the Designing Enterprise Applications with J2EE book. The books provide the documentation of the architecture from the manufacturer's point of view. It is shows in fair detail the beans and servlets used in the application. They show in detail the EJBs and servlets used in the application. The documents also include sequence diagrams that explain some of the main functionalities of the system.

Nevertheless, from the perspective of an implementor the document is incomplete and inconsistent. Some of the diagrams have ambiguous notation, and there is no clear direction on what the static (module) and data views of the system are.

Issues in the Implementation

Several issues were found in the implementation during the architecture reconstruction effort:

Reflections on Using Wiki for Architecture Documentation

The architecture diagrams of the PetStore application were created using Microsoft Visio. To help distribution of effort and facilitate configuration management, the diagrams corresponding to each view were kept in a separate Visio file. The reflections on the use of wiki are restricted to the product that was used to develop the documentation: [www.mediawiki.org/ MediaWiki] version 1.4.

Benefits of Wiki for Architecture Documentation

Weaknesses of Wiki for Architecture Documentation

Comments on Architecture Documentation, Notations, Etc.

Benefits of an Architecture Documentation Template

By having a structured architecture document that follows a template, documenting is a matter of filling the sections prescribed by the template. It is easy to gauge how much of the document is left to be done. The ââ?¬Å?TBDââ?¬Â abbreviations was used consistently through the document to let readers (and authors) know what parts where missing.

UML 2.0 Notation

TBD

Other Comments

In a manual architecture reconstruction, some mistakes in diagram depictions can be detected when creating descriptions for the element catalog. This happened several times in the reconstruction of this system architecture. The element catalog definition served as a validation technique to the diagrams that had been issued.

Back to the Pet Store SAD main page