An Object Oriented Approach To Web-Based Application
An Object Oriented Approach To Web-Based Application
net/publication/3419231
CITATIONS READS
159 2,212
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Martin Gaedke on 12 April 2016.
OBJECT-
ORIENTED WEB
APPLICATION
DEVELOPMENT
60 JANUARY • FEBRUARY 1999 [Link] 1089 -7801/ 9 9 /$10.00 ©1999 IEEE IEEE INTERNET COMPUTING
.
IEEE Internet Computing, vol. 3(1), pp. 60-68, 1999
W E B A P P L I C A T I O N D E V E L O P M E N T
In this article we summarize work reported ear- a Web-based software solution and must accom-
lier on WebComposition,1 a model for Web appli- modate this.
cation development, then introduce the Web- The implementation transforms the design into
Composition Markup Language—an XML-based actual software. For Web applications, this phase has
language that implements the model. WCML to rely on available Web implementation technology.
embodies object-oriented principles such as mod- Finally, maintenance is concerned with modifi-
ularity, abstraction, and encapsulation. It facilitates cations to the software, which may occur at the
the description of higher level concepts and frame- implementation, design, or even analysis levels.
works for reuse that can bridge the gap we currently General software processes are hard to relate to the
perceive in Web application development between Web implementation model, as will be discussed
high-level design and low-level implementation. below. The Web implementation model is based on
We begin with a discussion of why the basic flat decomposition of applications into resources.
Web implementation model does not work as a Resources have a unique address, and they are
development model for Web applications. Related delivered on request from Web server to Web
work is presented in the sidebar, “Structured Web client. They can be static or dynamically generat-
Application Development,” on page 62. ed from a script, but they are inherently specific,
which means that they cannot capture abstractions.
WEB APPLICATION
DEVELOPMENT PROCESS Document Delivery Applications
We define a Web application as any software appli- The World Wide Web was originally designed as
cation that depends on the Web for its correct exe- an information medium for distributed research
cution. Obviously, software explicitly designed for teams.4 A key objective was to make it as easy as
delivery over the Web falls under this definition— possible for authors to deliver documents, and the
for example, Web sites or Web-based journals. notion of Web application development essential-
These kinds of software are characterized by a ly boiled down to document development by an
strong notion of content. author or small group of authors. For this kind of
We also include software that uses the Web development, the life cycle comprises informal
infrastructure for its execution. For example, many analysis of what is to be presented, informal design
information systems that were designed and built of how to structure it into hyperlinked chunks of
prior to the Web are now made available as Web information, and implementation through
applications through the use of browsers. Beyond markup. Following implementation, the docu-
legacy information systems, there is also software ments are maintained by the authors themselves.
that is less typical for delivery over the Web but still The Web implementation model was designed
dependent on it as the client-server platform for its to meet these life-cycle requirements. It is deliber-
execution. Two recently reported examples ately simple, based on the notion of resources that
addressed the coordination of distributed applica- model mostly self-contained chunks of informa-
tions2 and remote monitoring.3 tion. Resources are authored and maintained
rather independently of other resources, and links
General Software Development are the means by which resources can be combined
Conventional software processes usually address into coherent sets of documents—for example, a
four development phases: analysis, design, imple- Web site.
mentation, and maintenance/evolution. The resource concept fits the document-devel-
During analysis, developers build a model of an opment life cycle very well, and resources support
application in terms of the domain. Ideally, this the principles of modularity in this context. How-
analysis concentrates on the application’s problem ever, the use of the Web has moved far beyond its
space—separate from software considerations, original scope, even in document delivery. It has
which are part of the solution space. Accordingly, become a tool for high-end publishing with com-
this phase should not be affected by whether or not plex requirements related to layout, corporate iden-
the application is to be delivered over the Web. tity, and the integrity of large webs of information.
Based on the analysis, a model of the software The life cycle of a company Web site is now typi-
solution is defined during the design phase. Obvi- cally based on intensive requirements analysis in
ously, the Web application development process— terms of content, structure, access, and corporate
in contrast to a general software process—assumes identity. The design must decompose these require-
W E B O B J E C T M O D E L S
ments into resources and hyperlinks, and also ical. The resource model requires separate concerns
address layout. Maintenance must focus on the evo- such as user interfaces, application logic, and—for
lution of content, but also on site integrity. example—database back-ends to be embedded in
The life cycle is no longer author-centric. an intermingled way.
Requirements analysis involves, for example, infor- Because of the request-response style protocol
mation analysts as well as marketing people and between client and server, Web applications are
other stakeholders. Design addresses both database structured, in effect, as finite state machines (FSM):
development and graphic presentation. Imple- The nodes correspond to resources and the transi-
mentation requires Web programmers to use fea- tions leading away from a node correspond to
tures beyond simple markup, and maintenance hyperlinks or form elements within the node. This
involves site managers and Webmasters. distributes the application logic over a number of
The resource notion underlying the Web imple- resources in chunks of script code, in document-
mentation model does not meet the requirements embedded links, and in form elements. Content is
of this kind of life cycle. Most notably, there is no mixed with application logic and typically embed-
separation of concerns regarding content and lay- ded in script code that implements the application
out. Further, the Web implementation model does logic. Further, the user interface is declarative and
not provide abstractions to capture structural specified as documents to be rendered in standard
design for reuse, even though layout and naviga- browsers. A Web application typically generates the
tion structures are commonly reused in different user interface declaration dynamically to reflect
parts of a site. application and interaction state.
In summary, the delivery of applications in the
Life Cycle of General Applications Web environment is radically different from the
Delivered over the Web usual ways of delivering software, and imposes a
Nor does the resource model address the life cycle completely different structure and approach on
of general applications delivered over the Web. application development. Obviously, design and
Decomposing applications into resources is not log- maintenance of such applications should be in
Several communities are addressing the need for more ples are OOHDM1 and RMM.2 The proposed methods
structured development of Web applications. address primarily analysis and design. The underlying mod-
els are powerful but geared toward the hypermedia appli-
Commercial IDEs. There is a wide range of commercial cation domain. For example, RMM is based on the notion of
products. Integrated development environments (IDEs), how- entities and relations, which suit information system devel-
ever, fall far short of covering the whole development process opment but not software applications modeling in general.
and are mostly geared toward ad hoc implementation based CASE tools based on hypermedia development models
on tool-specific abstractions. Further, they are rather self- use automated code generation for mapping a design to a
contained and thus difficult to integrate with other tools and Web implementation; see, for instance, RMCase.3 To ensure
methods in a development process. The models underlying integrity throughout the life cycle, all maintenance/evolu-
IDEs do, in general, abstract from low-level technologies but tion activity must be carried out at design level, prohibiting
not to the extent required to establish conceptual integrity access to implementation detail. This is a serious constraint
from the design to the implementation and maintenance considering the general drive of Web applications to take
phases of development. For example, some IDEs address up the latest implementation technologies during evolution.
separation of general layout from content, but there are no
general mechanisms for separation of concerns. Object-Oriented Development. There is also work considering
Web development from a more general software process per-
Hypermedia Process Models. In contrast to commercial con- spective. We have described initial work on an object-orient-
tributions toward disciplined Web development, which are ed Web component model, WebComposition, and its role in
focused on products, the hypermedia community has pro- the Web application life cycle.4 The model (summarized in the
posed development models focused on processes. Two exam- main text) is an abstraction of the Web implementation model,
W E B A P P L I C A T I O N D E V E L O P M E N T
with each component encapsulating its mapping to a Web 2. T. Isakowitz, E.A. Stohr, and P. Balasubramaninan, “RMM: A Method-
implementation in a dedicated method or service. ology for Structured Hypermedia Design,” Comm. ACM, Vol. 38, No.
Similar work was presented by Barta and Schranz5 and 8, Aug. 1995, pp. 34-44; also available online at [Link]
by Coda et al.6 Barta and Schranz take a language-based [Link]/rmm/[Link].
approach for object-oriented description of Web applications. 3. A. Diaz et al., “RMC: A Tool to Design WWW Applications,” World
For analysis and design, they adopt RMM concepts, which Wide Web J., Vol. 1, No. 1, Dec. 1995; available online at
reflects their focus on hypermedia information systems. In con- [Link]
trast, Coda et al. propose a general software process to bridge [Link].
the gap between design and Web implementation. Their pro- 4. H.-W. Gellersen, R. Wicke, and M. Gaedke, “WebComposition: An
posed object-oriented implementation technology, WOOM, Object-Oriented Support System for the Web Engineering Lifecycle,”
is a generative model based on objects that model Web imple- Proc. Sixth Int’l WWW Conf. (WWW6), Computer Networks and ISDN
mentation primitives—in particular, HTML elements. Systems, Vol. 29, 1997, pp. 1,429-1,437; also available online at
Like the objects in WebComposition, WOOM objects [Link]
encapsulate the mapping to a Web implementation in a 5. R.A. Barta and M.W. Schranz, “Jessica: An Object-Oriented Hyper-
dedicated method. media Publishing Processor,” Proc. Seventh Int’l WWW Conf.
(WWW7), Computer Networks and ISDN Systems, Vol. 30, Elsevier
REFERENCES WITH URLS Science, Amsterdam, 1998, pp. 281-290; also available online at
1. D. Schwabe, G. Rossi, and S. Barbosa, “Systematic Hypermedia Design [Link]
with OOHDM,” Proc. ACM Int’l Conf. Hypertext, ACM Press, New York, 6. F. Coda et al., “Towards a Software Engineering Approach to Web Site
1996, pp. 116-128; also available online at [Link] Development,” Proc. Ninth Int’l Workshop on Software Specification and
~barman/HT96/[Link]. Design (IWSSD-9), IEEE Computer Society, Los Alamitos, Calif., 1998.
W E B O B J E C T M O D E L S
AN OBJECT-ORIENTED MODEL
Desktop login WindowsCE login FOR WEB APPLICATIONS
WebComposition is an approach to structured Web
Figure 2. Design of HTML-based login screens for two browser development that applies established object-orient-
platforms. ed software development principles to the World
Wide Web. The approach is based on a Web com-
works that are defined in terms of abstract objects, ponent model that abstracts from low-level Web
such as the one described in Figure 1. Nor can it implementation technologies to support seamless,
model the more specific design in Figure 2, which is reversible development of Web applications.
also based on an abstract object and the notion of Figure 3 illustrates the overall WebComposition
specialization by inheritance. The lack of abstraction architecture. A resource generator maps the com-
means that a Web implementation cannot factor ponent model to a standard Web implementation.
properties shared between objects into a generalized The model is maintained throughout the Web
object but must build them into each specific object. application’s life cycle, facilitating component reuse
The alternative of delegating shared code to a third and application evolution at a higher level of
object is also only minimally supported through abstraction. In other words, the component model
extensions such as server-side includes. maintains the developer’s view of an application,
Obviously, the lack of abstraction hampers con- from which the Web view is derived incrementally.
struction of general components and frameworks. We will briefly describe the component model
Further, it does not support the modular separation and the concepts for resource generation (for more
of concerns: Code for user interface elements can- detail, see Gellersen et al.1). Then we present a new
not be separated from code for page layout. development, the WebComposition Markup Lan-
Another problem, also illustrated in our small guage, that implements the WebComposition con-
example, is the gap between higher level design and cepts based on the World Wide Web Consortium’s
implementation. There is a drastic transition from eXtensible Markup Language (XML).7
the design—as represented in the object model
shown in Figure 2—to its implementation. It is dif- WebComposition Component Model
ficult to redesign during system evolution because WebComposition defines an object-oriented model
a Web implementation cannot capture the concepts that uses components as a uniform concept for
DBMS
HTML
HTML
HTML
File
system
XML-based WCML WCML HTML
description parser compiler documents
WWW
server
generated
Figure 3. Overall WebComposition architecture. A resource generator maps the component model to a standard Web
implementation.
W E B A P P L I C A T I O N D E V E L O P M E N T
W E B O B J E C T M O D E L S
W E B A P P L I C A T I O N D E V E L O P M E N T
W E B O B J E C T M O D E L S