"We may eventually achieve an engineering discipline that will allow us to build,
operate and maintain large hypermedia sites in a systematic, disciplined and quantifiable way."
This sentence is taken from the foreword to a book I co-authored back in 1998. The book is entitled
"Hypermedia - An Engineering Approach" and the statement was made by John B. Smith, Professor at Chapel Hill NC.
The Web, Web applications and the Web community overall have certainly come a long way since then:
with the Internet bubble burst, the Web 2.0 emerging, and the vision of the Semantic Web on the horizon, it is ever
more important to move away from ad hoc approaches and to follow engineering principles. Therefore, this textbook is
particularly appropriate at this time.
The book is also exceptionally interesting as it builds on existing software engineering knowledge:
to me, this more evolutionary rather than revolutionary approach fits well the overall development of the community
in the last decade. The authors based the structure of this book on the well-established "Guide to the Software
Engineering Body of Knowledge", i.e. the individual chapters follow the structuring of traditional Software Engineering.
The first (and introductory) chapter provides a definition for "Web Engineering" as a discipline, it categorises the
various types of Web applications and it presents the characteristics of Web applications. Each of the following
contributions then focuses on the special characteristics of the relevant topic in relation to the Web.
The Web is, at the infrastructure level, an engineered space created via formally specified languages
and protocols. However, as humans are involved in the actual creation of pages and using the links between them, their
interactions form emergent patterns in the Web at a macroscopic scale. These human interactions are in turn, governed
by social conventions, policies and laws. The development of Web applications is as a result a highly complex business
and it is essential that the engineering that underpins this development is very sound. Textbooks such as this one to
allow students and practitioners alike to engineer high-quality Web applications based on tried and trusted software
engineering principles are therefore of the utmost importance.
|