An Introduction to Web Engineering Engineering (Glushko and

An Introduction to Web Engineering Engineering (Glushko and McGrath 2002), Content Engineering (Reich and G untner 2005), and Internet Software Engineering (Balasubramaniam et al. 2002). In comparison, Web Engineering is a concise term, although strictly speaking not completely accurate it is not the Web that is engineered, but rather Web applications. But Web Applications Engineering does not quite have the same ring to it. From the point of view of Software Engineering, the development of Web applications is a new application domain (Glass 2003, Kautz and N rbjerg 2003). Despite some similarities to traditional applications, the special characteristics of Web applications require an adaptation of many Software Engineering approaches or even the development of completely new approaches (Deshpande et al. 1999, Murugesan et al. 1999). The basic principles of Web Engineering can, however, be described similarly to those of Software Engineering (cf. e.g. Lowe 1999, Selmi 2005): 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. Web Engineering makes it possible to plan and iterate development processes and thus also facilitates the continuous evolution of Web applications. This permits not only cost reduction and risk minimization during development and maintenance, but also an increase in quality, as well as measurement of the quality of the results of each phase (Ginige and Murugesan 2001b, Mendes and Mosley 2006). The structure of this book is based on that of the Guide to the Software Engineering Body of Knowledge (SWEBOK, Bourque and Dupuis 2005), i.e. the individual chapters follow the structuring of traditional Software Engineering. Each of the contributions focuses on the special characteristics of the relevant topic in relation to the Web. The following section defines the categories of Web applications. Section 1.3 expands on this by describing the special characteristics of Web applications. Finally, section 1.4 presents an overview of the structure of the book. 1.2 Categories of Web Applications Web applications have varying degrees of complexity. They may be purely informational or handle full-size/full-fledged 24/7 e-commerce applications. Fig. 1-1 identifies different categories of Web applications depending on their development history and their degree of complexity and gives examples (cf. Murugesan 2000).2 We must bear in mind that there is a correlation between the chronology of development and complexity. Workflow-based applications, for example, are transaction-based, i.e. the higher level of development requires the previous development of a less complex category. However, there may be exceptions to that rule in that some of the categories (e.g. the portal-oriented applications) are historically rather recent while having a lower degree of complexity. 2 Similar categorizations of Web applications can be found e.g. in (Conallen 2000, Kappel et al. 2003, Powell et al. 1998, Pressman 2005, Weitz 2002).
Note: If you are looking for good and high quality web space to host and run your java application check Lunarwebhost java web hosting services

1 An Introduction to Web Engineering Gerti Kappel,

1.1 Motivation 3 applications (cf. Section 1.3). Additionally, concepts and techniques from relevant areas, such as hypertext or human-computer interaction, are often not applied in a consequent manner (Deshpande et al. 1999). Development standards for high-quality Web applications are nonexistent this is in part due to the relatively short history of the Web. The current practice in Web application development and the increasing complexity and relevance of Web applications for many areas of our society, in particular for the efficient handling of critical business processes (e.g. in e-commerce) (Deshpande and Hansen 2001), give growing cause for concern about this type of development and the long-term quality of Web applications, which already form the largest share of the individual software developed today. A survey by the Cutter Consortium (Cutter Consortium 2000) found that the top problem areas of large-scale Web application projects were the failure to meet business needs (84%), project schedule delays (79%), budget overrun (63%), lack of functionality (53%), and poor quality of deliverables (52%). Consequently, one could speak of a new form of software crisis (Naur and Randell 1968) the Web crisis (Ginige and Murugesan 2001a). Due to the omnipresence of Web applications and their strong cross-dependency, this Web crisis could be considerably more serious and widespread than the software crisis of the 1960s (Murugesan 2000, Lowe and Hall 1999, Retschitzegger et al. 2002). This is the challenge Web Engineering seeks to address. Web Engineering is not a one-time event; rather it is a process performed throughout the whole lifecycle of a Web application, similar to Software Engineering. In which ways does Web Engineering differ from Software Engineering and is it justifiable to consider it a separate discipline? A discipline can be defined as a field of study, i.e. a more or less self-contained field of science including research, teaching, and well-established scientific knowledge in the form of publications. The large number of publications, lectures, emerging curricula, workshops, and conferences1 show that according to this definition, Web Engineering can be considered an independent branch of Software Engineering (Kappel et al. 2005). Engineering in general means the practical application of science to commerce or industry with the goal of designing applications in a better, i.e. faster / cheaper / more secure / etc., way than hitherto. Software Engineering is defined as the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation (Boehm 1976). Based on this definition and on (Deshpande et al. 2002) we define Web Engineering as follows: 1) Web Engineering is the application of systematic and quantifiable approaches (concepts, methods, techniques, tools) to cost-effective requirements analysis, design, implementation, testing, operation, and maintenance of high-quality Web applications. 2) Web Engineering is also the scientific discipline concerned with the study of these approaches. Related terms in the literature coined for similar topics are e.g. Web Site Engineering (Powell et al. 1998, Schwickert 1997), Hypermedia Engineering (Lowe and Hall 1999), Document For an overview cf. (http://www.webengineering.org).
Note: If you are looking for good and high quality web space to host and run your java application check Lunarwebhost java web hosting services

1 An Introduction to Web Engineering Gerti Kappel,

An Introduction to Web Engineering 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 through a user interface, the Web browser. 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 static HTML pages, are not Web applications either. Of course broader definitions are conceivable that might include Web services and Web sites (Baresi et al. 2000). The conclusions of this book can be applied analogously for these cases as well. Limiting the definition to software intensive and interactive Web applications, however, actually increases the scope of the problem, as both the software and the user interface aspects in relation to the Web have to be examined, which is one of the objectives of this book. Despite the fundamental changes in the orientation of the Web from an informational to an application medium, the current situation of ad hoc development of Web applications reminds us of the software development practices of the 1960s, before it was realized that the development of applications required more than programming expertise (Murugesan 2000, Pressman 2000a, Retschitzegger and Schwinger 2000). The development of Web applications is often seen as a one-time event, it is often spontaneous, usually based on the knowledge, experiences, and development practices of individual developers, limited to reuse in the sense of the Copy&Paste paradigm , and ultimately characterized by inadequate documentation of design decisions. Although this procedure may appear pragmatic, such quick and dirty development methods often result in massive quality problems and consequently in great problems in operation and maintenance. The applications developed are often heavily technology dependent and error- prone, characterized by a lack of performance, reliability, and scalability, user-friendliness, and therefore also acceptance (Fraternali 1999). The strong interlinking of Web applications additionally increases the danger of problems spreading from one application to the other. The reasons for this situation are complex (cf. e.g. Balasubramaniam et al. 2002, Ginige 2000, Lowe 1999, Murugesan 2000, Murugesan and Ginige 2005, Rosson et al. 2005): Document-centric approach: The development of Web applications is often still considered to be document centric, i.e. an authoring activity that includes the creation and linking of Web sites and the inclusion of graphics (Ginige et al. 1995). Even though some types of Web applications (e.g. homepages, online newspapers, etc.) fall in this category, an authoring viewpoint is not adequate for the development of software intensive Web applications. The assumed simplicity of Web applications development: The broad availability of different tools, such as HTML editors or form generators (cf. Fraternali 1999) permits the creation of simple Web applications without specialized knowledge. Usually the emphasis is on visual design rather than internal structuring and programming. This results in inconsistencies and redundancy. Know-how from relevant disciplines cannot be applied or is not used:Itisacommon misconception that the development of Web applications is analogous to the development of traditional applications and that therefore the methods of Software Engineering can be used in the sense of a systematic, disciplined approach with adequate quality control measures. This, however, appears inadequate in many cases due to the special characteristics of Web
Note: If you are looking for good and high quality web space to host and run your java application check Lunarwebhost java web hosting services

1 An Introduction to Web Engineering Gerti Kappel,

1 An Introduction to Web Engineering Gerti Kappel, Birgit Pr oll, Siegfried Reich, Werner Retschitzegger Modern Web applications are full-fledged, complex software systems. Therefore, the development of Web applications requires a methodologically sound engineering approach. Based on Software Engineering, Web Engineering comprises the use of systematic and quantifiable approaches in order to accomplish the specification, implementation, operation, and maintenance of high- quality Web applications. We distinguish Web applications from the viewpoints of development history and complexity: Web applications can have document centric, interactive, transactional, or ubiquitous characteristics, or even features of the semantic Web. The particular requirements of Web Engineering result from the special characteristics of Web applications in the areas of the software product itself, its development, and its use. Evolution is a characteristic that encompasses these three areas. 1.1 Motivation The World Wide Web has a massive and permanent influence on our lives. Economy, industry, education, healthcare, public administration, entertainment there is hardly any part of our daily lives that has not been pervaded by the World Wide Web, or Web for short (Ginige and Murugesan 2001b). The reason for this omnipresence lies especially in the very nature of the Web, which is characterized by global and permanent availability and comfortable and uniform access to often widely distributed information producible by anyone in the form of Web pages (Berners-Lee 1996, Murugesan et al. 1999). Most probably you came across this book by entering the term Web Engineering into a search engine. Then, you might have used a portal for comparing offers of different vendors and finally, you may have bought the book using an online shop. While originally the Web was designed as a purely informational medium, it is now increasingly evolving into an application medium (Ginige and Murugesan 2001a, Murugesan et al. 1999). Web applications today are full-fledged, complex software systems providing interactive, data intensive, and customizable services accessible through different devices; they provide a facility for the realization of user transactions and usually store data in an underlying database (Kappel et al. 2002). The distinguishing feature of Web applications compared with traditional software applications is the way in which the Web is used, i.e. its technologies and standards are used as a development platform and as a user platform at the same time. A Web application can therefore be defined as follows:
Note: If you are looking for good and high quality web space to host and run your java application check Lunarwebhost java web hosting services