Вы находитесь на странице: 1из 29

ITCS 425

Lecture 2
Introduction to Web Standards and
Web Applications
• A Web application is a software system based on
technologies and standards of the World Wide Web
Consortium (W3C) that provides Web specific
resources such as content and services.
• This definition explicitly includes technologies as well
as user interaction. From this we can conclude that
technologies on their own, such as Web services, are
not Web applications, but they can be part of one.
Furthermore, this definition implies that Web sites
without software components, such as HTML pages,
are not Web applications either.
• Web Engineering is the application of
systematic approaches (concepts, methods,
techniques, tools) to cost-effective
requirements analysis, design,
implementation, testing, operation, and
maintenance of high-quality Web applications.
• Web Engineering is also the scientific
discipline concerned with the study of these
approaches.
The basic principles of Web Engineering can,
however, be described similarly to those of
Software Engineering:

• Clearly defined goals and requirements


• Systematic development of a Web application
in phases
• Careful planning of these phases
• Continuous audit of the entire development
process.
Categories of Web Applications
Web applications have varying degrees of
complexity. Therefore, we can find different
categories of Web applications, as follows:
1- Document Centric
2- Interactive
3- Transactional
4- Workflow based
5- Collaborative
6- Portal Oriented
1. Document centric Web sites. Web pages are stored on a Web
server as ready-made, i.e. static, HTML documents and sent
to the Web client in response to a request. These Web pages
are usually updated manually.
Drawbacks:
A. For Web sites requiring frequent changes or for sites with
huge numbers of pages this is a significant cost factor and
often results in outdated information.
B. Additionally, there is a danger of inconsistencies, as some
content is frequently represented redundantly on several
Web pages for easy access.
Benefits:
A. The simplicity and stability of such Web sites.
B. The short response time, as the pages are already stored on
the Web server.
2. Interactive Web applications, offering a first,
simple, form of interactivity by means of
forms, radio buttons and selection menus.
Web pages and links to other pages are
generated dynamically according to user
input.
Examples for this category are, news sites, or
timetable information.
3. Transactional Web applications were created to
provide more interactivity, giving the user the possibility of
not only interacting with the application in a read-only
manner, but also by performing updates on the underlying
content.
Example: Considering a tourism information system this
would allow, for example, to update the content or make it
possible to book rooms.

The prerequisite for this are database systems that allow


efficient and consistent handling of the increasing amount of
content in Web applications and offer the possibility of
structured queries.
Online banking, online shopping, and booking systems belong
in this category.
4. Workflow-based Web applications allow the
handling of workflows within or between different
companies, public authorities, and private users.
A driving force for this is the availability of appropriate Web
services to guarantee interoperability.
The complexity of the services in question, the autonomy of
the participating companies and the necessity for the
workflows to be robust and flexible are the main challenges.

Examples for this category are Business-to-Business solutions


(B2B solutions) in e-commerce, e-government applications, or
Web-based support of patient workflows in the health sector.
5. Collaborative Web applications are employed
especially for cooperation purposes in unstructured operations
(groupware). Collaborative Web applications support shared information
and workspaces.

• Such as wiki which is a web application which allows people


to add, modify, or delete content in a collaboration with
others. wiki differs from blog or most other such systems in
that the content is created without any defined owner or
leader.
• They are also used to keep logs of many small entries and
edits to mediate meetings or make decisions, such as,
scheduling systems, or as e-learning platforms.
• Another example is the social Web, where people provide
their identity to a (small) community of others with similar
interests. They serve the purpose of not only finding related
objects of interest but also finding people with similar
interests, belong to that category of applications.
6. Portal-oriented Web applications. A web
portal is a web site that functions as a point of
access to information in the Web.
A portal presents information from diverse sources in
a unified way. Apart from the standard search engine
feature, web portals offer other services such as e-
mail, news, stock prices, information, databases and
entertainment. Portals provide a way for enterprises
to provide a consistent information with access
control and procedures for multiple applications and
databases, which otherwise would have been
different entities altogether.
Two broad categorizations of portals are
horizontal portals, which cover many areas,
and vertical portals, which are focused on one
functional area.
Another definition for a horizontal portal is,
that it is used as a platform to several
companies in the same economic sector or to
the same type of manufacturers or
distributors. A vertical portal consequently is a
specialized entry point to a specific market or
interest.
Characteristics of Web Applications
• Web applications differ from traditional, non-
Web-based applications in a variety of
features.
• These characteristics can be arranged along
three dimensions: “product”, “usage”, and
“development”.
• Product-related Characteristics
consist of content, the hypertextual structure
(navigational structure), and presentation (the
user interface).

1- Content. It is King.
Web application developers must therefore
not only act as programmers but also as
authors. It includes the following
characteristics:
I. Document-centric character and multimediality:
Depending on the structuring, content is provided
as tables, text, graphics, animations, audio, or
video.
“Document character” in Web applications refers
to the fact that content is provided, i.e. documents
are generated that present information in an
appropriate way for certain user groups.
Content is also generated and updated
dynamically; e.g. the number of available rooms in
a tourism information system.
II. Quality demands: Depending on the application
area, the content of a Web application is not only
subject to differing update frequencies, but also to
different quality metrics regarding its being up to
date, exact, consistent and reliable.
This requires not only the consideration of these
quality demands in the requirements definition but
also in the evaluation of the systems.

Regardless of where a Web application is used,


content quality is a critical factor for its acceptance.
The great challenge is being able to guarantee the
quality of the data despite the large volume and high
frequency of updates.
2- Hypertext. Amongst the specific characteristics of
Web applications is the non-linear nature of
hypertextual documents.
The hypertext paradigm as a basis for the structuring
and presentation of information was first mentioned
by Vannevar Bush (Bush 1945).
Basic elements of hypertext models are nodes, links
and anchors.
A node is a self-contained uniquely identifiable
information unit. On the Web this might be an HTML
document which can be reached via a URL (Uniform
Resource Locator).
A link is the path from one node to another. On the
Web, it is “next node according to recommended
reading order” or “diagram for mathematical
formula”.
An anchor is the area within the content of a node
that is the source or destination of a link.
3- Presentation
Two special features of Web applications at the presentation
level, i.e. the user interface, are aesthetics and self-
explanation.

Aesthetics: In contrast to traditional applications, the


aesthetics of the presentation level of a Web application, the
“look and feel” of the user interface, is a central factor not
least because of the high competitive pressure on the Web.
The visual presentation of Web pages is subject to fashion
trends and often determines success or failure, in particular
for e-commerce applications.

Self-explanation: Besides aesthetics, it is essential that Web


applications are self-explanatory, i.e. it should be possible to
use a Web application without documentation. The navigation
system or interaction behavior must be consistent within the
whole application, so that users can quickly become familiar
with the usage of the Web application.
• Usage-related Characteristics
Compared with traditional applications,
1. the usage of Web applications is extremely heterogeneous. Users vary in
numbers and cultural background, devices have differing hardware and
software characteristics, and the time and location from where the
application is accessed cannot be predicted.
2. Additionally, developers not only have no possibility of knowing the
potential diversity of these so-called contextual factors in advance, they
also cannot influence them in any way because of their autonomous
nature.

The usage of Web applications is therefore characterized by the necessity


to continuously adapt to specific usage situations, so-called contexts.
Adjustment to these contexts can be equally necessary for all parts of the
Web application, i.e. content, hypertext, and presentation.

Because of the fundamental significance of adjustment to contexts,


usage-related characteristics are divided into three groups: social context,
technical context, and natural context.
• Development-related Characteristics
The development of Web applications is
characterized by the necessary resources,
such as the development team and the
technical infrastructure, the development
process itself, and the necessary integration of
already existing solutions.
Technical Infrastructure
The inhomogeneity and immaturity of the used components are important
characteristics of the technical infrastructure of Web applications.

Inhomogeneity: The development of Web applications depends on two


external components: server and browser. While the Web server can
usually be configured and operated as desired by the application
programmers, there is no way to influence the users’ Web browsers and
their individual preferences. This situation is additionally complicated by
different browser versions.

Immaturity: Because of the increasing time-to-market pressure,


components used in Web applications are often immature, i.e. they either
have bugs or lack the desired functionality. Additionally, a version update
of the Web application often entails a change of the development
environment. As a result, development knowledge is often lost or cannot
even evolve in the first place.
Process
The development process is the framework for all development-related
characteristics, and is in turn influenced by flexibility and parallelism.

Flexibility: In Web application development it is impossible to have a rigid,


and predefined project plan. It is vital to react flexibly to changing
conditions.

Parallelism: Due to the necessity for short development times and the fact
that Web applications can often be split up into components, many Web
applications are developed in parallel by various subgroups of the
development team. Contrary to traditional software development these
subgroups are therefore structured according to these components and
not according to the expertise of the project members (e.g. GUI
developers, data modelers, etc.). In addition to this parallel development
of application parts, methodical tasks such as design, implementation and
quality assurance are often carried out simultaneously for different
versions.
Integration
A special characteristic of many Web applications is
the need for internal and external integration.
Integration in this context refers not only to
technical aspects, but also to content and
organizational aspects.

Internal integration: Frequently, Web applications


have to be integrated with existing systems when
existing content, e.g. product catalogues, are to be
made available through a Web application.
• External integration: In addition to internal integration, the
integration of content and services of external Web
applications is a special characteristic of Web applications.

The integration of external services, e.g. in portal-oriented


Web applications, is based on the increasingly common
development form of providing and using Web services. A
Web service in this context is a reusable component with an
unambiguously defined interface and functionality. The
interaction of different Web services, avoiding undesired side
effects, and guaranteeing quality of service are a few of the
many relevant issues in this context.

Вам также может понравиться