web engineering: creating a discipline among disciplines

6
Web engineering is a discipline among disciplines, cutting across computer science, information systems, and software engineering, as well as benefitting from several non-IT specializations. Intertwining so many disciplines presents a unique problem for organization and development. Here we discuss Web engineering’s classification, define its characteristics, and contrast its present issues with previous problems in information technology. W hile the World Wide Web may be “just another application of distributed computing” to some computer scientists, it is now widely acknowledged as a medium to deploy and develop applications. At the same time, there’s a certain déjà vu about the development of Web- based applications, reminiscent of the 1960s, before computing professionals acknowledged that computer applications involved much more than expertise in programming and general intelligence. Today’s Web-based application developers gen- erally seem young, full of energy, conversant in new technologies, and as though they’re enjoying themselves (analogous to the programming fra- ternity of the 1960s). In contrast, those in charge of corporate applications and systems generally seem old, tired, and weighed down by legacy sys- tems (the same perceptions we had of people using unit record systems). The similarities of this scenario are actually much more in-depth than simply discerning out- ward appearances. There are real dangers that the new Web technology and the pace at which it’s changing may divide the information technology community, and the Web-based application devel- opers may repeat the mistakes of their predeces- sors. The 1960s programmers generally disregarded the older systems and systems personnel to build applications anew—reflecting their youthful exu- berance and technological superiority—with insuf- ficient attention to the users’ needs and without sound methods of building and testing the appli- cations. These themes have dominated software engineering and information systems research and conferences for more than 30 years. The information technology community is accustomed to continuous change and has responded to change in the past by taking stock and creating new fields of study. Here, then, we take a close look at Web-based application devel- opment and argue that there’s more to such work than computer science, software engineering, and information systems encompass. Our communi- ty proposed the term “Web engineering” in 1998 with the first international workshop on Web engineering, 1 and this has since been used by many. However, the term Web engineering is still unfamiliar to many and not fully understood. We argue that the information technology commu- nity should view Web engineering as a new, emerging discipline in its own right, rather than subsuming it mainly under software engineering. 2 Perceptions of the Web and Web-based applications The Web has reached a level of public con- sciousness and a level of hype whereby almost everyone encountering the Web for the first time comes to it with some preconceived notions about what it might do. These perceptions directly affect the way Web developers may work within and outside organizations. Compared to the general public, our first major experience of the Web was relatively more inno- cent and significantly instructive. Even after more than 20 years of information technology back- ground for each of us, we found the Web an amaz- ing experience. On the other hand, the centralized information technology services within the uni- versity were profoundly upset by it. With hind- sight, we now understand that they saw it as a thoroughly unsettling experience—beyond their current competence, budget, and corporate con- cerns—whereas we tried to grapple with the impli- cations of transcending physical boundaries in information dissemination. Soon after that, we put up the faculty Web site as an experiment and realized the Web can unset- tle people in other ways, too. We were half- prepared to face the somewhat expected criticisms about its looks and organization, but there were 82 1070-986X/01/$10.00 © 2001 IEEE Web Engineering: Creating a Discipline among Disciplines Yogesh Deshpande and Steve Hansen University of Western Sydney, Australia Web Engineering

Upload: s

Post on 13-Mar-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web engineering: creating a discipline among disciplines

Web engineering is adiscipline amongdisciplines, cuttingacross computerscience, informationsystems, andsoftwareengineering, as wellas benefitting fromseveral non-ITspecializations.Intertwining so manydisciplines presents aunique problem fororganization anddevelopment. Herewe discuss Webengineering’sclassification, defineits characteristics,and contrast itspresent issues withprevious problems ininformationtechnology.

While the World Wide Web maybe “just another application ofdistributed computing” to somecomputer scientists, it is now

widely acknowledged as a medium to deploy anddevelop applications. At the same time, there’s acertain déjà vu about the development of Web-based applications, reminiscent of the 1960s,before computing professionals acknowledged thatcomputer applications involved much more thanexpertise in programming and general intelligence.

Today’s Web-based application developers gen-erally seem young, full of energy, conversant innew technologies, and as though they’re enjoyingthemselves (analogous to the programming fra-ternity of the 1960s). In contrast, those in chargeof corporate applications and systems generallyseem old, tired, and weighed down by legacy sys-tems (the same perceptions we had of peopleusing unit record systems).

The similarities of this scenario are actuallymuch more in-depth than simply discerning out-ward appearances. There are real dangers that thenew Web technology and the pace at which it’schanging may divide the information technologycommunity, and the Web-based application devel-opers may repeat the mistakes of their predeces-sors. The 1960s programmers generally disregarded

the older systems and systems personnel to buildapplications anew—reflecting their youthful exu-berance and technological superiority—with insuf-ficient attention to the users’ needs and withoutsound methods of building and testing the appli-cations. These themes have dominated softwareengineering and information systems research andconferences for more than 30 years.

The information technology community isaccustomed to continuous change and hasresponded to change in the past by taking stockand creating new fields of study. Here, then, wetake a close look at Web-based application devel-opment and argue that there’s more to such workthan computer science, software engineering, andinformation systems encompass. Our communi-ty proposed the term “Web engineering” in 1998with the first international workshop on Webengineering,1 and this has since been used bymany. However, the term Web engineering is stillunfamiliar to many and not fully understood. Weargue that the information technology commu-nity should view Web engineering as a new,emerging discipline in its own right, rather thansubsuming it mainly under software engineering.2

Perceptions of the Web and Web-basedapplications

The Web has reached a level of public con-sciousness and a level of hype whereby almosteveryone encountering the Web for the first timecomes to it with some preconceived notions aboutwhat it might do. These perceptions directly affectthe way Web developers may work within andoutside organizations.

Compared to the general public, our first majorexperience of the Web was relatively more inno-cent and significantly instructive. Even after morethan 20 years of information technology back-ground for each of us, we found the Web an amaz-ing experience. On the other hand, the centralizedinformation technology services within the uni-versity were profoundly upset by it. With hind-sight, we now understand that they saw it as athoroughly unsettling experience—beyond theircurrent competence, budget, and corporate con-cerns—whereas we tried to grapple with the impli-cations of transcending physical boundaries ininformation dissemination.

Soon after that, we put up the faculty Web siteas an experiment and realized the Web can unset-tle people in other ways, too. We were half-prepared to face the somewhat expected criticismsabout its looks and organization, but there were

82 1070-986X/01/$10.00 © 2001 IEEE

WebEngineering:Creating aDiscipline amongDisciplines

Yogesh Deshpande and Steve HansenUniversity of Western Sydney, Australia

Web Engineering

Page 2: Web engineering: creating a discipline among disciplines

other issues that, taken together, made us awareof the possible extra dimensions (such as graphicdesign, information ownership, network perfor-mance) that impinge on Web-based (application)development. Additionally, we then encounteredindifference and even hostility from some of ourcolleagues within academe and industry whoregarded the Web as frivolous, full of pretty pic-tures, and of no consequence to serious informa-tion technology—including legacy systems.

As we continued our work—developing sitesand simple database applications—it became obvi-ous that the Web-based application developmentdidn’t fit into any neat category, such as comput-er science, software engineering, or informationsystems, even though it drew from them. It alsobecame increasingly clear that the informationtechnology community wasn’t concerned withinformation dissemination (and hence with Website design and management, information struc-turing, and document and link management) nordid it see much potential in the Web as a mediumfor application deployment and development.

At this stage, the major contribution from infor-mation technology came only from those whobuilt network infrastructures, created protocols andtools for the Web, and carried out research in thecomputer security area. The software industryseemed dominated by its corporate bias and wasslow to realize the enormous reach of the Web andits potential to change the nature of applications.The 1997 Australasian Web (AusWeb97) confer-ence provided an early indication of this apathy.Organized by a noninformation technologydepartment of an Australian university, it drew 200participants, only 15 of whom were from recog-nized information technology departments,including three from our own group. Most of thedelegates were Web (site) designers, part of theWorld Wide Web Consortium (W3C), or from thepublic relations, education, library, and hypertextcommunities. This pattern repeated at the follow-ing year’s conference, which was merged with theSeventh World Wide Web conference (WWW7) inBrisbane in April 1998.

We became concerned at the divide betweenthe Web community and the mainstream infor-mation technology professionals and researchers,because it reminded us of the early PC and main-frame communities in the 1980s. We also beganto identify more dimensions to the Web-baseddevelopmental work that fell outside the mainboundaries of information technology, so westarted to discuss our concerns and perceptions

with both information technology and noninfor-mation technology professionals and lay people.As a result, we organized the first internationalworkshop on Web engineering at WWW7, fol-lowed by a similar workshop at the InternationalConference on Software Engineering (ICSE99),and have continued with these two conferences(WWW8, WWW9, and ICSE2000), interactingwith slightly different audiences.

What follows is the result of these deliberationsand the work carried out so far. It seems to us thatWeb-based application development has now pro-gressed sufficiently far—and is expanding suffi-ciently fast—to justify proposing it as a new fieldof study that draws from computer science, soft-ware engineering, and information systems butalso as distinct from them. Moreover, the influ-ences don’t simply stop at these disciplines—they’re derived from many others. This furtherunderlines the need to recognize Web engineer-ing as a discipline in its own right.

Characteristics and developmentThere are many important and distinguishing

characteristics of the Web-based applications.They include a relatively standard interface acrossapplications and platforms, applications whichdisseminate information, the underlying princi-ples of graphic design, issues of security, legal,social, and ethical ramifications, attention to site,document and link management, influences ofhypertext and hypermedia, network and Web per-formance, and evolving standards, protocols, andtools. These give rise to a potential world-wideuser base, possibilities in end user computing, evo-lutionary systems development, and completelynew types of applications.

Application development and user orientationIn developing applications and systems—

assuming a stable hardware and operating systemenvironment—developers divide specificationsinto three segments:

❚ Process logic

❚ Data management

❚ User interface

Partly as a consequence of practices datingback to the 1960s—and partly because of the timeconstraints under which such systems are devel-oped—developers perfect the process logic and

83

Ap

ril–June 2001

Page 3: Web engineering: creating a discipline among disciplines

data management first. They deal with the userinterface later and generally in a hurry. It there-fore isn’t surprising that the users of informationsystems have complained for decades about thepoor quality of the interface.

Users find the Web appealing because of itsconsistent user interface (dictated by the use ofHTML). Additionally, the Web’s effective platformindependence also frees the user from manyheadaches inherent in learning different inter-faces. These two characteristics of the Web envi-ronment contrast strongly with the need tocustomize the user interfaces for each non-Web-based application depending on the hardware andsoftware packages in use. Thus, Web-based appli-cations benefit from spending less time in creatinginterfaces. By freeing the application developersfrom designing interfaces every time, the Web letsdevelopers concentrate on back-end processing,such as process logic and data management.

CategoriesWe can divide Web-based applications into

two broad categories—informational applications(dissemination/presentation) and software appli-cations (in the usual sense).

Information technology professionals didn’tconsider the first category as part of their domainand consequently didn’t take much notice of theWeb in the initial stages. They also consideredWeb technology development as inadequate andunstable to support back-end applications as wellas hampered by the slow speed of networks.However, the advent of faster networks, new stan-dards and improved database connectivity, betterunderstanding of security issues, and commercialimperatives of e-commerce have now persuadedmany information technology departments totake the Web environment more seriously.

Meanwhile, other noninformation technologydepartments and both information technologyand noninformation technology enthusiasts wenton to create Web-based applications—withoutany reference to the old information technologyprofessionals—replicating the 1960s experience ofnot including or learning from the experience ofthe previous generation of application builders.Thus, possibly two types of Web-based applicationdevelopers exist: those who come from the tradi-tional applications and who need to update theirtechnical knowledge, and those who need to learnfrom the lessons of the last four decades to devel-op good methods and practices.

However, our experience suggests that even

experienced application developers will find thatWeb-based development requires newer methodsand wider awareness than the current softwareengineering practices engender.

Wider user base and graphic designWeb-based applications, almost by definition,

are meant for a more inclusive user base, whichgoes beyond the previous confines of depart-ments, divisions, or organizations. One conse-quence is that application developers may notknow who the users are. These applications couldbe within an organization (intranets), across anumber of organizations (extranets), or over theInternet. The users may come from specificallyidentified or targeted groups or remain unidenti-fied even when they use the systems. Systemsanalysis and design methodologies have untilnow advocated fairly explicit identification of theusers. It’s a new challenge to devise methods todeal effectively with unknown users.

User interfaces for applications must considerunknown users (current and future) and com-pete—indirectly—with the interfaces that com-petitors and even collaborators create. Now thatWeb surfers have seen alternatives, they won’t besatisfied with the merely functional interfacesthey’ve had to deal with before. So, creating aes-thetically pleasing Web sites and pages has becomepart of the application development. Accordingly,graphic designers become a necessary part of thedevelopment team. Although the Web is suppos-edly platform independent, in reality the range ofmonitors and the proliferation of browser versionscan create problems when developing a standardinterface for an application. This adds a newdimension to testing applications as well.

Security considerationsThe Web opens applications and servers to the

world. Developers must be aware then of the pos-sible security issues and preferably include—asnecessary—experts from the Web security area.

Legal, social, and ethical issuesWe’ve observed scores of Web site/page devel-

opers (with and without an information technol-ogy background) and we’ve been surprised byhow much and how easily everyone tends todownplay the legal, social, and ethical issues.Simply put, the Web adds an element of publish-ing to whatever else the developers may do andthis brings with it the responsibilities of the pub-lishing industry. The Web makes it easy to copy

84

IEEE

Mul

tiM

edia

Page 4: Web engineering: creating a discipline among disciplines

elements from other sites, to publish informationabout users without their permission, and even tosteal identities. Therefore, privacy for clients mustbe guaranteed. Even an interface’s design andconstruction can interfere with copyright andintellectual property rights.

Also, we must afford access to handicappedpeople. The New South Wales government inAustralia, for example, requires that its sites beaccessible to visually impaired people. Until now,application developers operated within the con-fines of organizations and haven’t developed suf-ficient awareness of the consequences of theiractions when they are exposed to the rest of theworld. Even where criminal or mischievous ele-ment is absent, acts of omission and commissioncan have consequences both for developers andtheir organizations, as the Napster case shows. Weknow of several examples first hand where copy-right and privacy violations have taken place andour colleagues and students weren’t even aware oftheir transgressions. One such case in fact led topublicity in the local media and had to be clearedup before more misunderstandings arose.Fortunately, the editor responsible in the lattercase exonerated the concerned person and apolo-gized for any offense caused. The media and expe-rienced Web designers highlight some of theseissues, but we tend to dismiss them rather easily.

Site, document, and link managementA Web site quickly grows to thousands of com-

puter files with hyperlinks criss-crossing through-out. Therefore, any site or application developermust not only cater to the application’s function-ality (process logic and data management) butalso to the structure and constituting elements ofits design at a more detailed level (such as docu-ments and links). Links may be broken or missingfor a variety of reasons, anything from simplychanging the file’s name—an oversight—torestructuring any portion of the site. Publishedinformation easily becomes outdated; even whenit isn’t, the visitors need reassurance that whatwas last updated six months before is still valid.Web developers might not undertake some of thisroutine maintenance, leaving it to the adminis-trative—as opposed to technical—personnel.Thus, there’s a need for new methods from com-puter science and software engineering disciplinesfor site management. We also need new policiesfor management and human resources for theireffective implementation. For an early effort indefining new jobs, see Hansen et al.3

Information structuring, hypertext, multimedia,and hypermedia

Information structuring isn’t a new topic forapplication developers because database designstrategies pay explicit attention to informationstructuring. However, the introduction of hyper-links, multimedia, and hypermedia now compli-cates the scene, going beyond the traditionalnumbers and text that developers have dealt withpreviously. Structuring this information for efficientand reliable management is an area where a lot ofresearch occurs and new methods are being devised.

End user computingThe era of end user computing started with the

mass arrival of PCs in the mid 1980s. Informationtechnology professionals have justifiably criticizedit for its deficiencies—its lack of formal methods,insufficient understanding of theory, and poormaintenance, for example. The Web greatlyamplifies the end users’ reach—beyond the desk-top PC to the Internet—both in accessing andpublishing information. The end users will har-ness this power to solve their problems, regardlessof whether information technology professionalshelp. It’s imperative that we devise methods andprocesses to assist end users, develop their appli-cations, and take the message of systematic devel-opment, testing, and maintenance to them alongwith the responsibilities of deploying the applica-tions on the Web.

Software engineering is meant to address prob-lems of large, team-based projects. End user pro-jects are unlikely to fall into this category butmust be addressed now, to increase the reliabilityof applications and at the same time release thecreative power of people in general.

New types of applicationsUntil now, application developers were con-

fined to specific places and organizations and rarelycombined resources from diverse origins. The Webcan link widely dispersed sites, organizations, andresources. The Environmental Defense Fund, forexample, links detailed US maps with publicdomain information on chemical dumping to cre-ate an information system accessible across theWeb. Problems and issues of distributed, collabo-rative, and cooperative applications will arise inthis environment and it’s up to us to find solutions.

Evolutionary systems developmentMany systems development methodologies are

popular now and the waterfall method2 of appli-

85

Ap

ril–June 2001

Page 5: Web engineering: creating a discipline among disciplines

cation development dominates discussions. A spe-cific problem identified in systems developmentis the effort spent on working to a specification.We arrive at the specifications after consultingwith a set of users identified at a project’s start.However, users’ requirements continue to changeeven before the final implementation of a system.

Web-based applications frequently deal withcompletely unidentified users, and their expecta-tions (requirements) and behavior patterns decidewhether the application is successful. An addi-tional complicating factor is that, as mentionedbefore, such applications are likely to competeagainst similar offers from other organizations.This introduces a new variable of popularity—andhence, durability—of the application. Under-standing users’ requirements in these circum-stances becomes much more complicated than itwas before. Again, new methods of user analysisare required for Web-based applications.

Network and Web performanceUntil now, we’ve implemented network appli-

cations in environments with known networkcapabilities. We’ve regarded network applicationtuning as a technical issue for the experts.However, Web-based application developers can’tafford such luxuries. Their decisions on where andwhat to include in Web pages (for example, text,images, other multimedia objects, and databaseconnections) affect the time to download infor-mation and the subsequent use of the application.They also have to make assumptions about thekind of networks their anonymous users access.Thus, Web-based applications acquire anotherdimension of complexity.

Evolving standards, protocols, and toolsWeb technology is changing fast, and develop-

ers are continually adding new standards, proto-cols, and tools. There’s also the imperative—drivenby competition—to adapt to and adopt changingtechnology almost as soon as it’s available. Thereare applications for DOS 3.1 still in use in variousorganizations around the world. It’s almost impos-sible to think of any Web-based applications basedon HTML 2.0—or for that matter, HTML 3.2—andthese developments are only a few years old. Thesechanges in Web technology raise questions aboutmaintenance of applications and training of per-sonnel. For an individual application developer,keeping track of new developments and the com-petition introduces extra dimensions with anurgency previously unencountered.

Virtual organizationsGlobalization, internetworking, and the Web

have led some experts to speculate about creatingvirtual organizations where people could belongto an organization but live and work anywhere inthe world. The ubiquity of networks would over-come geography and time differences. The kindsof applications enabling such organizations andtheir development are mainly in the realm ofresearch for now.

Web engineeringThe foregoing analysis and discussion identi-

fies the new elements of Web-based applicationsthat aren’t covered by parts of computer science,software engineering, or information systems. Theanalysis also establishes the need for systematicapproaches, and development strategies for Web-based application development. In 1998, we pro-posed calling Web-based application development“Web engineering.”

Computer science, software engineering,information systems, and Web engineering

In a nutshell, computer science concentrateson hardware and (systems) software to get opti-mal and reliable performance. Software engineer-ing addresses large-scale, team-based projectswhile information systems, originating from dataprocessing, concerns itself with information sys-tems within organizational units.

Engineering itself is a term that people under-stand fairly well even though individual disci-plines within engineering debate from time totime what constitutes their own specializations.When discussing the term in the context of soft-ware engineering, Berry4 noted that, “Engineeringis about the systematic application of scientificknowledge in creating and building cost-effectivesolutions to practical problems.”

With Berry’s definition in mind, Web engi-neering can be defined as the application of a sys-tematic, disciplined, quantifiable approach todevelopment, operation, and maintenance of theWeb-based applications or the application of engi-neering to Web-based software.5

Web engineering is thus an early identificationof a rapidly growing field with a much more for-ward looking approach than just implying a col-lection of preexisting and proven developmentpractices. It draws not only from computer science,software engineering, and information systems, butalso from other disciplines. As such, it identifies thenext stage in information technology evolution.

86

IEEE

Mul

tiM

edia

Page 6: Web engineering: creating a discipline among disciplines

ConclusionsDuring the last 50 years, computing has

changed the way the world works and the Web ischanging it even faster. Even with the mass par-ticipation and influence implicit in the Web, theinformation technology community has a greatresponsibility to actively guide the developmentof Web-based applications. Information technol-ogy has seen many very significant changes in thepast and has responded by creating new fields ofstudy. Web-based application development nowhas reached such a stage. Since so many fieldsinfluence Web-based applications outside com-puter science, software engineering, and informa-tion systems, it’s time to acknowledge this as Webengineering—a discipline in its own right. MM

References1. Proc. 1st Int’ Workshop on Web Eng. (WebE 98), 14

Apr. 1998, http://fistserv.macarthur.uws.edu.au/san/

webe98/.

2. R.S. Pressman, Software Engineering: A Practitioner’s

Perspective, 5th ed., McGraw-Hill, New York, 2000.

3. S. Hansen and Y. Deshpande, “A Skills Hierarchy for

Web Information System Development,” Proc.

Australasian Web Conf. (AusWeb 97), Southern Cross

Univ. Press, Lismore, Australia, 1997, pp. 114-121.

4. D. Berry, Academic Legitimacy of the Software

Engineering Discipline, SEI tech. report CMU/SEI-92-

TR-34, Carnegie Mellon Univ., 1992.

5. S. Murugesan et al., “Web Engineering: A New

Discipline for Web-Based System Development,”

Online Proc. 1st Int’l Conf. Software Eng., Workshop

on Web Eng., http://fistserv.macarthur.uws.edu.au/

san/icse99-WebE/ICSE99-WebE-Proc/San.doc.

Yogesh Deshpande is a senior lec-

turer in computing at the School

of Computing and Information

Technology and a founding mem-

ber of the Web-based Information

Systems and Methodologies

(WebISM) Research Group at the University of Western

Sydney. He has BStat and MStat degrees from the Indian

Statistical Institute and MSc and PhD degrees from the

London School of Economics. His research interests

include Web engineering and design, information sys-

tems, end user computing, and simulation modelling.

Deshpande is a member of the Operational Research

Society, the ACM, and the IEEE Computer Society. He’s

also a member of the WebNet 2001 Conference program

committee.

Steve Hansen is an associate pro-

fessor in the Department of

Computing and Information

Systems and the director of the

PlatformWeb project team at the

University of Western Sydney.

Hansen has an MSc degree from Sydney University. He

has won the University service award for the

PlatformWeb project designed to help in Web-based

teaching delivery and student administration.

PlatformWeb received an honorable mention at the

Australasian Web, AusWeb 99 conference. He actively

works for and advocates the integration of Web engi-

neering with institutional operations. His interests are

in the areas of Web engineering, electronic communi-

cations, technology management, and in the diffusion

and adoption of innovations.

87

Ap

ril–June 2001

Readers may contact Deshpande and Hansen at the WebISM Research Group, University of Western Sydney,

Campbelltown Campus, Locked bag 1797, Penrith South DC, NSW 1797, Australia, email {y.deshpande,

s.hansen}@uws.edu.au.