The Internet Encyclopedia (Volume 3)

(coco) #1

P1: c-161


SoftwareDesign WL040/Bidgoli-Vol III-Ch-24 June 23, 2003 16:25 Char Count= 0


292 SOFTWAREDESIGN ANDIMPLEMENTATION IN THEWEBENVIRONMENT

All start tags must have corresponding end tags
("</Title>"),
There must be a single root element, which must contain
all other elements,
Elements may be nested, but they must not cross
(<Title>...<Name>...</Title>...</Name>is not
allowed),
Each element, except the root element, must be con-
tained by exactly one parent element,
Element and attribute names are case-sensitive
(<TITLE> is different from <Title>),
Keywords and document type definition (DTD) elements
must be all uppercase (DOCTYPE, ENTITY, ELEMENT,
and ATTLIST), and
Empty element tags must end in"/>" (<editor/>).

Database Connectivity
A natural desire for Web software designers is to store
data in general database engines. This offers a gen-
eral solution to the problem of storing data and al-
lows developers to rely on the many advantages offered
by a database, including general access, efficiency of
storage and retrieval, and security. Both the J2EE and
.NET platforms provide general cross-vendor connec-
tivity and data access across relational databases from
different vendors. The platforms’ API support mecha-
nisms provide a convenient way to make generalized
database calls from within software. The calls are made
by embedding structured query language (SQL) state-
ments into programming statements. Within J2EE, the
Java Virtual Machine (JVM) uses a special JDBC driver
to translate generalized JDBC calls into vendor-specific
database calls. With .NET, programs connect to databases
using services that Microsoft Host Integration Server
2000 provides, such as the Component Object Model
(COM) Transaction Integrator (COM TI). In both plat-
forms, programs can connect to external databases us-
ing Web services technologies such as Component Object
Model (SOAP); Universal Description, Discovery, and In-
tegration (UDDI); and Web services description language
(WSDL).
The typical procedure for Web application programs
to connect to databases is to start by loading the database
driver. This generally has some database vendor-specific
aspects and includes information about where the
database is located. The second step is usually to obtain
a connection to the database. Again, this requires some
vendor-specific information, including security protocols
(user IDs and passwords). Subsequent steps are gen-
erally completely independent of the database vendor
or platform. The program should be able to create and
execute database statements and then use the results
(called “result sets”) from statements to access data
returned from the database. An obvious advantage of this
approach is that the programmers do not need to know
much about databases. Another advantage is that the
database does not have to be local but can be anywhere
on the Web (although in practice, the database is usually
connected to the Web or applications servers through a
secure intranet).

DESIGNING WEB SITE SOFTWARE
As a field, we are still learning how to design Web software
applications. Some companies rely on prebuilt Web appli-
cation servers (sometimes called “Web service platforms”)
such as IBM’s WebSphere, BEA’s WebLogic, and the open
source Java Struts. Other companies buy general-purpose
Web sites from vendors, which are then customized to
their needs. Still others build their own Web sites com-
pletely, because they cannot afford the expensive Web ser-
vice packages, because their Web sites are small enough
not to need that much support, or because their needs are
specialized enough so that the Web services do not sup-
port them. A complete description of how to define Web
site software is certainly beyond the scope of this chapter,
and, at present time, probably impossible. Nevertheless,
a few hints and design strategies have emerged as being
useful.
As with any software product, a crucial step is to es-
tablish a strong software requirements baseline, which
should be followed by a carefully considered information
architecture specification. This should include a site map,
navigation among Web pages, compositions, labeling, and
data element mappings. The navigation is one of the key
components of usability and the literature does not con-
tain much help for how to do this part of the design. A
careful Web application design will include a high-level
software design, software architecture and system archi-
tecture diagrams, class diagrams, sequence diagrams, and
class specifications.
One of the most commonly used design structures is
the model-view controller (MVC) architecture (Kassem
et al., 2000). It provides a way to divide the responsibili-
ties of objects. The intent is to decrease coupling between
objects and layers, which supports maintenance. An MVC
Web application contains three components, the model,
the view, and the controller. The model encapsulates the
application state, responds to state queries, presents ap-
plication functionality to the user, and notifies the view
of changes. The view renders the models on screen, re-
quests updates from models, sends user inputs to the con-
troller, and allows the controller to select a view. The con-
troller defines application behavior, maps user actions to
model updates, and selects a view to show to the user.
Many other architecture styles are currently being devel-
oped.
We are also beginning to see techniques for formal
modeling of Web site software applications. Sun, Song,
Liu, and Wang (2001) presented an XML/XSL approach
for developing Web software applications using the formal
specification language Object-Z. XSL Transformations
(XSLTs) are used to develop projection techniques and
tools from Object-Z (in XML) and UML (in XMI). This
provides a formal approach to modeling Web applica-
tions, which is not only helpful for standard e-business
Web applications, but may be necessary for the Semantic
Web (Berners-Lee, 1999).

Sound Software Design and Implementation
Practice for Web Software
Most software in use today only has had to satisfy modest
reliability requirements. The user base for Web software
Free download pdf