1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University USA
Mar 27, 2015
1
Model-based Configuration Managementfor a Web Engineering Lifecycle
Tien N. NguyenElect. and Computer Engineering Department
Iowa State UniversityUSA
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
File representation level
Logical level
--------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
<html>-----------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
<html>-----------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SCM repository
9
Model-based Web SCM framework
SCM MODEL
VERSION MODEL
SYSTEMMODEL
DATA MODEL
FILES, DIRECTORIES
<html>-----------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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)
Generic Data Model Version Model
Structure Versioning Model
System Model
Configuration Management
Model
Versioned Hypermedia
Model
New types
of objects
THIRD-PARTY ENVIRONMENTCalling API
functions
Web SCM Infrastructure
Web Engineering tools/editors
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
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
Versioned Data Model
14
Adding Version Control
Attribute table
3 kinds of slots: constant, mutable, versioned
15
Graph-based Structure Versioning
1 2 3
4
5
Attr-name “a” “b” “c”
Attr-val
•Graph can be nested.•Attribute value can be in any data type, possibly a reference.
version
16
Structure Versioning Scheme
Tools/editors
Attributed trees and directed graphs
<html>-----------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
17
Fine-grained Structure Versioningv1 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
object’s internal structure and other important structures such as navigational, compositional, and logical structures.
19
Tree-structured discrete timeV1.0
V2.0
V3.0
V3.1 V3.2
A version is a point in the system’s lifetime.
Versions are points in time
20
Product VersioningTree-structured discrete timeV1.0
V2.0
V3.0
V3.1 V3.2
One global version space across entire project
21
Editing and Versions
Users select a current version to work on.
Tree-structured discrete timeV1.0
current => V2.0
V3.0
V3.1 V3.2
Temporary version
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
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.
Composite object
…
component component
component component
A versioned reference to a member component
Composite object
24
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,…
Configuration Management
25
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.
Hypertext Versioning
26
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
Hypermedia entities
27
Relationship network example
28
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.
Representation for hypermedia
29
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
Benefits of this hypermedia
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
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
Conclusions
38
Thank you
Tien N. Nguyen
Elect. and Computer Engineering Department
Iowa State University
www.eng.iastate.edu/~tien/
39
1
2 3
4 5
1
2 3
Version v1 Version v2
(content is modified)
Content Children Parent
n1 “” [n2,n3] null
n2 “” [n4,n5] n1
n3 “” null n1
n4 “” null n2
n5 “old” null n2
Content Children Parent
n1 “” [n2,n3] null
n2 “” [n5] n1
n3 “” null n1
n4 “” null null
n5 “new” null n2
5
Fine-grained tree versioning
40
Navigational structure
41
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
Benefits of this hypermedia (2)
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
screen 1
screen 2
Frame B
Frame Bscreen 3
screen 4