Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

Similar presentations


Presentation on theme: "1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University."— Presentation transcript:

1 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University USA

2 2 Web Engineering n Web development has changed u Initially seen as a form of authoring u Now, also a form of application development n A lot of efforts and time have been spent to maintain Web-based applications. n Requires the same rigor as successful software development/maintenance u Hence, Web engineering has emerged u Promotes the use of sound technical and management principles for Web applications

3 3 Web application development methods n Several Web and hypermedia application development methods have been proposed. u WebComposition, OOHDM, RMM, Model- driven Web development, HyperDE, WAM… n They introduce several models that address different aspects of Web development. u Data, presentation, navigation, etc n Each method introduces different set of logical abstractions and entities.

4 4 Configuration Management n Software configuration management (SCM) u software engineering sub-discipline n SCM is the discipline of organizing and managing the evolution of a software system. n Web SCM has special challenges: variety of object types, high rate of changes, continuous evolution, hyperlink structures,… n Various types of Web SCM tools u Version control, change management, content management, configuration management

5 5 Related work n Version and configuration management tools u Focus on files, not a Web project as a whole u Change management based on files, text lines u Inadequate to represent Web object structure n Web application development environments u File/directory-oriented versioning (commercial) u Limited support for CM (research) n Versioned hypermedia systems: focus on hypermedia documents, limited support for programs n Our previous work (Molhado [ICSE 2005], SC [WWW 2004]) focused on contents of Web artifacts.

6 6 Example * v1 v2 File representation level Logical level ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- --- ------------------------------------ ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- ------------------------------

7 7 File-oriented SCM model FILES/ DIRECTORIES (text or structured files) File-based SCM system Web Engineering Models Configuration Management Primary targets of SCM are files/directories. ----------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- -----------------------------------------

8 8 Model-based Web SCM n All Web objects in models are versioned and saved persistently. u Web objects do not need to be files or within files ----------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- SCM repository

9 9 Model- based Web SCM framework ----------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- -----------------------------------------

10 10 Web SCM infrastructure n An infrastructure for building SCM services into Web engineering environments n The infrastructure provides u Direct representation of Web object structure and structural changes, without need for analysis of file contents, u SCM among entities, rather than among files, u Structure-oriented versioning and SCM of Web entities in any models, and u Versioned hypermedia between entities.

11 11 Web SCM architecture (2) Generic Data Model Version Model Structure Versioning Model System Model Configuration Management Model Versioned Hypermedia Model New types of objects THIRD-PARTY ENVIRONMENT Calling API functions Web SCM Infrastructure Web Engineering tools/editors

12 12 Web SCM architecture (3) Generic Data Model Version Model Structure Versioning Model System Model Configuration Management Model Versioned Hypermedia Model Existing Object types Web tools/editors Bridges/wrappers Calling API functions THIRD-PARTY ENVIRONMENT Web SCM Infrastructure

13 13 n Node: a basic unit of identity (containing no values intrinsically other than itself) n Slot: a location that stores a value of any data type, possibly a reference. u Can exist in isolation, but typically attached to nodes via attributes n Attribute: A mapping from nodes to slots Versioned Data Model

14 14 Adding Version Control Attribute table 3 kinds of slots: constant, mutable, versioned

15 15 Graph-based Structure Versioning 1 2 3 4 5 Attr-nameabc Attr-val Graph can be nested. Attribute value can be in any data type, possibly a reference. version

16 16 Structure Versioning Scheme Tools/editors Attributed trees and directed graphs ----------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- ----------------------------------------- -----------------------------------------

17 17 Fine-grained Structure Versioning v1 v2

18 18 Benefits n Very flexible u Nodes can participate in multiple graphs n One mechanism for storing all information u Graph structure and content n Common structure shared among versions n Fine-grained structure versioning of Web objects internal structure and other important structures such as navigational, compositional, and logical structures.

19 19 Tree-structured discrete time V1.0 V2.0 V3.0 V3.1 V3.2 n A version is a point in the systems lifetime. Versions are points in time

20 20 Product Versioning Tree-structured discrete time V1.0 V2.0 V3.0 V3.1 V3.2 n One global version space across entire project

21 21 Editing and Versions n Users select a current version to work on. Tree-structured discrete time V1.0 current => V2.0 V3.0 V3.1 V3.2 Temporary version

22 22 System Model n Acts as a bridge to third-party environment n Works at the model level, rather than files u Allows for the description of a Web application via models with objects, compositions, structures, and relationships n Provides an infrastructure for extensibility of new types of Web objects u Atomic and composite component types u User-defined object types derived from them u Structure is represented via a directed graph

23 23 n A composite object contains a directed graph whose nodes have versioned references to objects. u Nodes can have multiple user-defined attributes. n This attributed digraph is used to represent the structure of a composite object. Composite object … component A versioned reference to a member component Composite object

24 24 n SCM supports via Molhado [ICSE 2005] u set the current version (switching), u discard or capture changes to a project, u detect (structural) changes between two arbitrary versions, u open and create a project, u retrieve and modify meta-data of a project or of a version, u manipulate structures,… Configuration Management

25 25 n HTML-style hyperlinks u Each node can have an href slot. n Using edges in a directed graph u Create a composite component u Use the digraph of the composite component to represent relationships among objects n Versioned hypermedia model u Hypermedia elements are first-class entities. Hypertext Versioning

26 26 n Open hyperbase approach: A relationship (hypertext) network is managed separately from object contents. n A relationship network is defined as a set of links and anchors. n A link, representing a relationship, is an association among a set of anchors. n An anchor denotes a region of interest within an object, but is not part of it. n A linkbase: a container of hypertext networks Hypermedia entities

27 27 Relationship network example

28 28 n A linkbase is a composite component. n A hypertext network is an atomic component, and has a digraph-based internal structure. n Each link or anchor is represented as a logical unit (node) in that graph. n The graph represents linking structure among anchors and links. n Digraph versioning scheme enables fine- grained versioning for hypertexts and links. Representation for hypermedia

29 29 n Links are explicit and have variable arity. n Both fine-grained and coarse-grained linking are supported. n Relationship networks are separated from object contents. n Fine-grained versioning for hypermedia structures and individual links Benefits of this hypermedia

30 30 WebSCM n OO Hypermedia design model [Schwabe et al] n Conceptual data model: schema design n Presentation model: Web screen design u Presentation design u Screen composition design u Navigational design n Implementation model: HTML, scripts, … n WebSCM manages configurations among objects in different models and versions of logical connections among them.

31 31 Conceptual schema

32 32 Implementation level n Representing Web content n Types of objects u Data objects: documents, images, audio, video u Source code: scripts, applets, controls u Component libraries: JavaBeans, MSF classes n Textual vs. binary u Textual objects are structurally versioned F Markup documents (?ML), source code u Binary objects are versioned as a whole

33 33 Content change management n Allows users to track history at any level u Document node u Web objects u Web system as a whole n Uses either the tree-based or digraph-based structure versioning algorithms n The algorithms are generic for any node in a tree or a digraph n Differencing and merging

34 34 Differencing tools

35 35 Versioning for an element

36 36 HTML version comparison

37 37 n A novel SCM approach: model-based SCM n An infrastructure for building SCM services into Web engineering environments u Direct representation of Web object structure and structural changes u Manage changes to Web objects at different levels of abstractions in a more meaningful manner u Manage different structures (internal, navigational, compositional), and logical connections among Web objects Conclusions

38 38 Thank you Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University www.eng.iastate.edu/~tien/ tien@iastate.edu

39 39 1 2 3 4 5 1 2 3 Version v1 Version v2 (content is modified) ContentChildrenParent n1 [n2,n3]null n2[n4,n5]n1 n3nulln1 n4nulln2 n5oldnulln2 ContentChildrenParent n1[n2,n3]null n2[n5]n1 n3nulln1 n4null n5newnulln2 5 Fine-grained tree versioning

40 40 Navigational structure

41 41 n Avoid complexity of version creation in versioning tasks for hypermedia structure u Reduces cognitive overhead for users n Avoid a serious UI problem: version selection problem in link navigation u Users traversal occurs at current version. n Avoid problems in providing SCM for both hypermedia structure and individual links n No more check in, check out individually for hypermedia entities Benefits of this hypermedia (2)

42 42 Data records

43 43 Model-to-model logical connections

44 44 Web screen design n Presentation design u A screen: basic unit of the presentation model u Users specify presentation properties of a screen via CSS-like style sheets n Composition of screens: atomic & composite Frame A screen 1 screen 2 Frame B screen3screen3 screen 4


Download ppt "1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University."

Similar presentations


Ads by Google