10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings.
Download PDF

Abstract

In this paper we describe our approach to reconstructing the software architecture of J2EE web applications. We use the Siemens Four Views approach, separating the architecture into conceptual, module, execution, and code views. We paid particular attention to the dependencies in the implementation, which led to two results. One is the distinction between a traditional usage dependency and a more superficial "knows" dependency, where one module knows of another by type name but nothing else. Another is the recognition of important but implicit dependencies in web applications, between a client page formatting a request and a module interpreting the request. We make these explicit as "logical interfaces." Using separate views improves our ability to describe these architectures, and we provide a scenario showing how it helps a developer understand the impact of changes to the application. Although we have not yet developed tools to automate such a reconstruction, this paper provides a critical first step in describing what should be present in an architecture description, and how this information can be deduced from the implementation.
Like what you’re reading?
Already a member?
Get this article FREE with a new membership!

Related Articles