Model-based Configuration Management for a Web Engineering Lifecycle - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

Model-based Configuration Management for a Web Engineering Lifecycle

Description:

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

Number of Views:148
Avg rating:3.0/5.0
Slides: 45
Provided by: TIENNGUY
Category:

less

Transcript and Presenter's Notes

Title: Model-based Configuration Management for a Web Engineering Lifecycle


1
Model-based Configuration Managementfor a Web
Engineering Lifecycle
Tien N. Nguyen Elect. and Computer Engineering
Department Iowa State University USA
2
Web Engineering
  • Web development has changed
  • Initially seen as a form of authoring
  • Now, also a form of application development
  • A lot of efforts and time have been spent to
    maintain Web-based applications.
  • Requires the same rigor as successful software
    development/maintenance
  • Hence, Web engineering has emerged
  • Promotes the use of sound technical and
    management principles for Web applications

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

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

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

6
Example
v1
v2

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

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

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

11
Web SCM architecture (2)
THIRD-PARTY ENVIRONMENT
Web Engineering tools/editors
Calling API functions
New types of objects
Configuration Management Model
Versioned HypermediaModel
System Model
Structure Versioning Model
Generic Data Model
Version Model
Web SCM Infrastructure
12
Web SCM architecture (3)
THIRD-PARTY ENVIRONMENT
Web tools/editors
Calling API functions
Existing Object types
Configuration Management Model
Versioned Hypermedia Model
Bridges/wrappers
System Model
Structure Versioning Model
Generic Data Model
Version Model
Web SCM Infrastructure
13
Versioned Data Model
  • Node a basic unit of identity (containing no
    values intrinsically other than itself)
  • Slot a location that stores a value of any data
    type, possibly a reference.
  • Can exist in isolation, but typically attached to
    nodes via attributes
  • Attribute A mapping from nodes to slots

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

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

4
16
Structure Versioning Scheme
Attributed trees and directed graphs
Tools/editors
lthtmlgt--------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
----------------
17
Fine-grained Structure Versioning
v1
v2
18
Benefits
  • Very flexible
  • Nodes can participate in multiple graphs
  • One mechanism for storing all information
  • Graph structure and content
  • Common structure shared among versions
  • Fine-grained structure versioning of Web objects
    internal structure and other important structures
    such as navigational, compositional, and logical
    structures.

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

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

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

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

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

A versioned reference to a member component
Composite object
component
component

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

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

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

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

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

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

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

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

34
Differencing tools
35
Versioning for an element
36
HTML version comparison
37
Conclusions
  • A novel SCM approach model-based SCM
  • An infrastructure for building SCM services into
    Web engineering environments
  • Direct representation of Web object structure and
    structural changes
  • Manage changes to Web objects at different levels
    of abstractions in a more meaningful manner
  • Manage different structures (internal,
    navigational, compositional), and logical
    connections among Web objects

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

39
Fine-grained tree versioning
Version v1
Version v2
2
2
(content is modified)
5
5
4
Content Children Parent
n1 n2,n3 null
n2 n5 n1
n3 null n1
n4 null null
n5 new null n2
Content Children Parent
n1 n2,n3 null
n2 n4,n5 n1
n3 null n1
n4 null n2
n5 old null n2
40
Navigational structure
41
Benefits of this hypermedia (2)
  • Avoid complexity of version creation in
    versioning tasks for hypermedia structure
  • Reduces cognitive overhead for users
  • Avoid a serious UI problem version selection
    problem in link navigation
  • Users traversal occurs at current version.
  • Avoid problems in providing SCM for both
    hypermedia structure and individual links
  • No more check in, check out individually for
    hypermedia entities

42
Data records
43
Model-to-model logical connections
44
Web screen design
  • Presentation design
  • A screen basic unit of the presentation model
  • Users specify presentation properties of a screen
    via CSS-like style sheets
  • Composition of screens atomic composite

Frame A
Frame B
screen 3
screen 2
screen 4
screen 1
Frame B
Write a Comment
User Comments (0)
About PowerShow.com