Development and Evolution of Web-Applications ... - Semantic Scholar

6 downloads 6 Views 318KB Size Report
May 15, 2000 - The high speed of innovation shortens the life cycle of Web- .... it greatly facilitates the mapping of relational database content to the Web.
M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000.

Development and Evolution of Web-Applications using the WebComposition Process Model Martin Gaedke, Guntram Gräf Telecooperation Office (TecO), University of Karlsruhe, Vincenz-Priessnitz Str. 1, D-76131 Karlsruhe, Germany E-Mail: {gaedke|graef}@teco.uni-karlsruhe.de

Abstract. From a software engineering perspective the World Wide Web is a new application platform. The implementation model that the Web is based on makes it difficult to apply classic process models to the development and even more the evolution of Web-applications. Component-based software development seems to be a promising approach for addressing key requirements of the very dynamic field of Webapplication development and evolution. But such an approach requires dedicated support. The WebComposition Process Model addresses this requirement by describing the component-based development of Web-applications. It uses an XML-based markup language to seamlessly integrate with existing Webstandards. For the coordination of components the concept of an open process model with an explicit support for reuse is introduced. By describing application domains using domain-components the process model addresses the need for a controlled evolution of Web applications.

1. Introduction By supporting ubiquitous access to any kind of information and applications the World Wide Web (Web) has become the dominant platform for the delivery of hypermedia applications. Applications are subject to permanent change triggered by increasing competition, especially in commercial domains such as electronic commerce. Changes affect but are not limited to functionality, application interfaces and content [5]. These applications, referred to as Web-Applications, are strongly influenced by the specific properties of the implementation model they are based on. The high speed of innovation shortens the life cycle of Webapplications because applications are forced to undergo a permanent evolutionary process. Nevertheless, the increasing complexity of Web-applications is still addressed with a rather unstructured approach for application development and evolution [1] [19]. It becomes clear that the construction and evolution of applications for the World Wide Web requires similar support such as is available for traditional applications through models, methods and principles of software engineering. The World Wide Web with its particular characteristics and properties has become a new application domain of software engineering [10] that still needs a sound theoretical foundation. This new discipline that has been established during the previous two years as Web Engineering promises to both reduce costs and increase quality during the development and evolution of Web-applications: Web Engineering – The application of systematic, disciplined and quantifiable approaches to the cost-effective development and evolution of high-quality applications in the World Wide Web. Web Engineering implicitly considers Berners-Lee's central demand for heterogenity of the system and autonomous administration of its resources [2]. This demand that we will refer to as the basic principles of the Web, is a major obstacle for current approaches to the development and maintenance of Web-applications, which will become obvious in section 2 of this contribution. Furthermore, a fine-grained and reuse-oriented implementation is necessary to allow for the federation of existing Web-applications or application parts into new applications [14]. The positive experiences with component based software development and its advantages [32] [30] [46] [45] make it desirable to be able to use a dedicated component technology for the development and evolution of Webapplications. This is also a prerequisite to be able to fully take advantage of applying modern reuse oriented software engineering processeses to Web-technology. Besides an adequate component technology for the Web this also implies a process model in the sense of a software development model that describes the componentbased construction and evolution of Web-applications on the basis of the basic principles of the Web. Existing process models for the development of Web-applications are discussed in the next section of this contribution. In section 3 a component-based process model is introduced that supports the reuse of components and that is in concordance with the basic principles of the Web. It models the evolution of a Web-application on the basis of dedicated domain-components. In section 4 a real application system is shortly described that has been developed and evolved according to the WebComposition process model and with the help of the WCML component technology. The contribution concludes with a short summary.

M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000.

2. WebEngineering approaches to software reuse A new engineering approach is needed for the disciplined and reuse-oriented development of Web-applications. In this section we will therefore investigate process models for software development as well as dedicated process models for the Web. 2.1 Process models in software engineering The best known process models such as the waterfall model, explorative process models [44], the prototype model and the spiral model [4] are only with serious constraints applicable to the development of Webapplications [35] [31]. The strong dynamics of change that especially apply to large and long-living Webapplications, the distributed nature of the medium as well as the development process, and the basic principles of the Web lead to problems hindering the evolution of Web-applications. Since the end of the 1980s several new models have been introduced that, while based on the classical process models, focused on the object-oriented development of software systems. Object-oriented development turns away from function oriented approaches as they have been suggested by e.g. Yourdan [47] and DeMarco [7]. Systems that have been developed on the basis of decomposition of functionality are often subject to tremendous changes when functional requirements change. In contrast it is possible to achieve a much higher consistency throughout the various steps of the process if object orientation in combination with an appropriate specification model is used. This also allows for an iterative approach. Well known examples of this class of process models are the Semantic Object Modeling Approach [22], the Objectory Software Development Process respectively Unified Software Development Process [28] and the OPEN Process [23]. Unfortunately none of them explicitly supports software reuse [32] [30] [46]. The basic principles of the Web as well as the paradigm of viewing software as a component system are further obstacles, since in this case heterogeneous and orthogonal processes have to be considered for the evolution of different components in heterogeneous environments. 2.2 Dedicated process models for the Web

Hypertext Design Model The Hypertext Design Model (HDM) [16] [17] is a model for the structured design of hypertext-applications. Therefore it describes a design model rather than a process model. Still, it supports the design phase of hypermedia-applications and can be integrated with existing process models. HDM requires that the application uses a consistent and predictable reading environment. An advantage of HDM is its ability to decompose hypertext-applications into fine-grained artifacts for reuse while considering ensuing structural relations. Nevertheless, the applicability of HDM is severely limited by its methodology. The developer is subject to a high cognitive load caused by an unsatisfactory process model that neither supports artifact reuse nor allows for modeling artifacts using an object-oriented paradigm. The mapping of a hypertext-application designed with HDM to a Web-application is difficult due to the lack of an appropriate support. JESSICA The project JESSICA [1] tries to cover the complete life cycle of a Web-application including analysis, design, implementation and maintenance. Schranz et al. [41] suggest an object-oriented approach that is based on Object Oriented Analysis and Design by Yourdon [48] and the Object Oriented Modeling Technique (OMT) by Rumbaugh et al. [39]. The concept of use cases is applied during analysis. The Unified Modeling Language (UML) is used to specify results during analysis and design. The JESSICA system provides a modeling language based in the Extended Markup Language (XML) and a mechanism for the automatic mapping from the design model to Web-resources. The design entities described using the JESSICA language are available for management and maintenance throughout the whole system lifecycle. The JESSICA language is object-based and as such provides only some object-oriented concepts for the abstract description artifacts of Web-applications. Through the use of templates and JESSICA objects the concepts of abstraction, encapsulation, aggregation and inheritance are made available. References between corresponding objects are resolved by the JESSICA system and mapped to HTML links. JESSICA objects are simple sets of attributes. Many concepts and notations of the UML can therefore not easily be applied. Method calls are not supported because executable entities do not exist. The design is supported with a special, functionally limited UML editor that has been adapted to the JESSICA system. The JESSICA method does not explicitly support reuse, but JESSICA objects can we reused in heterogeneous

M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000.

environments since their description is based on XML. A separate application evolution is not considered due to the use of classical process models. Object-Oriented Hypermedia Design Method In contrast to HDM, the Object-Oriented Hypermedia Design Method (OOHDM) [43] offers a clearly defined procedure for the development of hypermedia-applications. OOHDM consists of the four steps conceptual design, navigational design, abstract interface design and implementation, which have to be executed according to an iterative and incremental process model. A Web-application can be described with the help of three models [42]. The conceptual model corresponds to a traditional object-oriented model and describes design entities using UML notation, the navigation model describes the navigational view on the conceptual model and the abstract interface model describes the presentation of interface objects. The modularity and reusability of design concepts is relatively high due to the high degree of abstraction found in the resulting models. On the other hand does the generality of the modeling approach tend to lead to a higher complexity. For example the method explicitly supports the use of design patterns but does not support the retrieval of patterns nor does it provide assistance for automating the implementation of reusable design artifacts. OOHDM considers several important aspects of Web-applications but is lacking system support that adequately corresponds to the basic principles of the Web. This implies many problems such as the implementation in heterogeneous environments, the integration of distributed objects and artifacts. Relationship Management Method / RMCase The Relationship Management Method (RMM) by Isakowitz et al. [27] is a platform-independent process-model for hypermedia applications that can also be used for the development of Web-applications. The process model consists of seven detailed phases. An important aspect associated with the use of this process model is the support through a tool. RMCase [8] is a CASE tool that supports the complete life cycle of a Web-application. It is structured into a series of contexts that provide different views on the design objects. Some of these views correspond to models associated with single phases of the process model. During the design phase a special language supports the definition of a data-model adapted to hypertext-systems. While this data-model is not equally well suited for all kinds of Web-applications it greatly facilitates the mapping of relational database content to the Web. Unfortunately, the problem of integrating seamless evolution to the lifecycle of a Web-application remains unsolved. Due to the nature of the model, maintenance and reuse are mainly limited to data rather than artifacts or components and are subject to restrictions through certain initially defined structures. Reuse of artifacts in other processes is not explicitly supported. WSDM The Web Site Design Method (WSDM) [6] is focused on user-centered rather than data-centered design. The design is driven by the views of different user-classes instead of the available data. The process model is limited to a class of pure information systems, so-called "kiosk Web-sites". It does not support the user-class "application Web-sites" that encompasses the remaining often more complex application systems. Typical problem areas such as maintenance are not explicitly addressed. Like in other models there is no explicit support for reuse. 2.3 Comparison of the process models Table 1 briefly summarizes the most important aspects of the dedicated process models for the Web that have been discussed in this section. The following criteria have been applied: • Consistency (C): This criterion describes how easy it is to migrate entities between models of different process steps. • Web-Characteristics (W): Indicates if the process model provides support due to Web-specific characteristics, e.g. Links, coarse-grained implementation model. • Gap (G): Does the approach supports mapping a design to the implementation-model of the Web. • Loyalty to principles (L): This term describes how well the process model is in concordance with the basic principles of the Web, e.g. does the process model allow reuse of artifacts developed in orthogonal processes. • Explicit Reuse (R): This criteria indicates whether the model explicitly forces reuse of entities. • Evolution Plan: This criteria describes if the process model supports a persistent consideration of evolution, as supported in modern software engineering process model, cf. Domain Engineering.

M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000. Table 1. Comparison of the process models

C

W

G

L

R

E

Standard models













Spiral model

(+)





O

(+)

(+)

OO-models

+





+

+

(+)

HDM/HDM2





O







OOHDM

+

(+)

O



O



RMM/RMCase



O

(+)







JESSICA

O

+

+







WSDM





O







– no support

O little support

(+) some support

+ sufficient support

3. WebComposition Approach In this section we will describe the WebComposition approach consisting of the WebComposition Process Model, reuse management, a component technology, and evolution planning based on domain engineering and an evolution model. evolution analysis and planning

evolution realization

evolution design

Fig. 1. Evolution spiral of the WebComposition Process Model

3.1 WebComposition Process Model The WebComposition Process Model consists of several phases. The phases are derived from the common phases of modern (object-oriented) process models as well as solutions addressing the need of software reuse. The Process Model follows an evolution spiral consisting of evolution analysis and planning, evolution design and evolution realization (Figure 1). The WebComposition Process Model is an open process model. This means that within the evolution spiral for the application various orthogonal processes following different process models can exist. The importance of openness will be detailed in the following paragraphs. As an example, a development team could develop a component according to the Waterfall Model while another team favors a different process model for its own problem domain. Figure 2 shows the coordination of different processes through the WebComposition Process Model and illustrates its openness. The coordination of the models is made possible by an explicit and coordinated reuse management [11]. All process models must therefore be adapted to the reuse management which is e.g. possible through generalization

M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000.

[32]. This seeming disadvantage of generalization of process models only applies to the storage and management of artifacts and is thus anyway part of the application of a process model. process management

processes for component development and reuse software development model A

explicit, coordinated reuse management

software development model B

... Fig. 2. Coordination of orthogonal processes in the WebComposition Process Model

Figure 3 details the view of the process model for the development team that uses the waterfall model. The phases have been adapted to the WebComposition Process Model. The bi-directional arrows symbolize the coordination of artifact exchange. Through the adaptation of a model the reuse management gains access to all important documents, components, code-fragments etc. that are of importance within the process or in the lifecycle of the considered component. By integrating all processes of the different process models with the WebComposition Process Model the reuse management can determine the state of all components of a component software or a Web-application and can use this information for evolution. The consistency of object-oriented process models is based on the assumption that one model is jointly used in all phases. In WebComposition this basic idea is extended towards the coordination of different processes in component software. A precondition for this is therefore the definition of a model that can be used for the different process models, especially the object-oriented ones, as well as for the coordination of the artifacts from the different phases of all processes. It seems straightforward to choose an object-oriented model for the adaptation within the WebComposition Process Model. This adaptation model and the reuse management will be described following this sub-section. Therefore we assume their existence when describing the WebComposition Process Model here.

analysis explicit, coordinated reuse management

design realisation test software development model A

Fig. 3. Waterfall adaptation within the WebComposition Process Model

The application of a process model for the production of software systems implies the existence of different artifacts that serve as criteria for the advancement from a process step to the step that succeeds it. From a component perspective it becomes obvious to regard all artifacts within this process as components and to ideally simulate their "creation" through reuse. Examples for reusable artifacts/components are project plan after the analysis phase, design patterns [15], code-fragments created during the implementation phase or coding and testing policies that are used during the implementation and testing phases. A component system is created via the composition of these components. Dynamic aspects within the process model For the integration of a process model into the WebComposition Model the artifacts that are created during the process must be compatible with the WebComposition Process Model. To ensure this the artifacts must be adapted to the model with which artifacts are described within the WebComposition Model. Only by description of all artifacts on the basis of a uniform model can these be reused within processes of different process models.

M. Gaedke, G. Graef (2000): Development and Evolution of Web-Applications using the WebComposition Process Model. International Workshop on Web Engineering at the 9th International World-Wide Web Conference (WWW9), Amsterdam, The Netherlands, May 15, 2000.

The use of a uniform model requires in this case at most two transformations of an artifact. First the artifact of the producer process is transformed to the WebComposition Model from where it can later we transformed into an artifact of another process. Thus for the description of artifact types in a model an object-oriented approach is suitable. From a reuse perspective all phases must begin with the question wether or not there already exists an appropriate solution that can be reused, either directly or in a modified version. As an example we will describe the development of an order entry system for mobile phones. During analysis it is stated that an appropriate program does not exist and that the design would include two main functions: the input of customer data and the selection of a telephone to be ordered. During the subsequent step it is found out that there already exists an appropriate component for the input of customer data. The development of the new Web-application/component therefore includes the reuse of an already existing component for customer data input. Figure 4 illustrates the process and also shows the influence from the reuse process.

analysis

evolution analysis

fec ts> >

strategic evolution planning

Suggest Documents