2 WEB APPLICATION
CHARACTERISTICS
The quality of both Web and traditional applications
is judged according to the application’s reliability,
usability and maintainability. However, unlike many
traditional software vendors, if a new company puts
up a new competitive site of a quality that is higher
than existing websites, customers will almost
immediately shift their business to the new site once
they discover it (Offutt, J. 2002). Usually, when
dealing with traditional applications, users take their
time before shifting to another application however
in the web environment, no loyalty is expected from
any customer. To gain users’ trust in the web
domain, many characteristics that assess the quality
of the application have to be considered These
include: reliability, usability and security in addition
to many other important factors such as:
availability, scalability and maintainability. In the
case of online information systems, the required
quality may be higher than many traditional
information systems (Holck, J, 2001). Despite the
different issues handled in the newly emerging web
approaches such as OOHDM, this quality
requirement must be clearly taken into
consideration.
3 BACKGROUNDS: OOHDM
The Object Oriented Hypermedia Design Model
(OOHDM) uses abstraction and composition
mechanisms in an object oriented framework to, on
one hand, allow concise description of complex
information items, and on the other hand, allow the
specification of complex navigation patterns and
interface transformations (Schwabe, D., 2002). With
OOHDM, we end up having two model levels that
are the conceptual and navigational model. The
conceptual model shows classes and their
relationships specifically related to a domain (Lima,
F., 2002). It is concerned with the application’s
domain semantics instead of the type of users and
tasks. On the other hand, the navigational model in
OOHDM describes the navigational structure of a
hypermedia application in terms of navigational
contexts, which are induced from navigation classes
such as nodes, links and indices (Schwabe, D.,
2002). The navigational model consists of two
schemas that are the navigational class schema and
the navigation context diagram. The former defines
all navigable objects as views over the application
domain while the latter defines the main structuring
primitives for the navigational space: navigation
contexts and links that connect them (Lima, F.,
2002). Note that different navigational models may
be built for the same conceptual schema to express
different views on the same domain. The navigation
contexts which are sets of navigation objects may be
specified as groups of contexts too (Refer to (Lima,
F., 2002) for illustrations and more details). In this
paper, we tend to complement the OOHDM by
providing an aspectual representation of the different
possible navigation contexts through the adaptation
of the concepts of AOP onto web applications. The
conceptual part stays intact and we adopt the same
definition and notation used in OOHDM. The
following section details the newly introduced aspect
oriented approach aimed at structuring the web
application and achieving aspect reusability.
4 ASPECT ORIENTED
NAVIGATIONAL MODEL
For web applications to be successful, the
navigational structure must be carefully defined
(Schwabe, D., 2001). In this paper, we mainly
aspectualize the navigational model of a web
application; An aspect refers to a specific
functionality of the application. Note that any
website has a special purpose to achieve. This
purpose refers to the main functionality of the web
system and it is designated as the Core Aspect (CA)
of the web application. The other functionalities
offered by the web system are called Supporting
Aspects (SA). Therefore, according to this approach,
any web application can be modeled as a set
composed of one core aspect and a number of
supporting aspects that interact with each other in
order to achieve a fully functional web system. This
aspectual decomposition of the web application
leads us to a more structured web design model
which in its turn simplifies maintainability and
scalability since the module where the code must be
altered or added can be easily specified. This has a
positive impact, for example, on the usability of an
online application. Indeed, an easily scalable
application will grow without problems and will
provide new functionalities to its customers making
it more and more usable. Figure 1 models the idea of
dividing the web application into CA and SAs. In
addition, there exist other types of online
applications which have separate profiles and users.
In such applications, a new aspect is introduced and
it is referred to as the Authenticity Aspect (AA). In
this case, the application is modeled as a set of AA,
CA and SAs. We can not access the CA unless the
AA returns correctly. Figure 2 illustrates the usage
of AA.
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
268