Model-based Configuration Management for a Web Engineering Lifecycle



Similar documents
Web-Based Information Systems

Automated Test Approach for Web Based Software

Multimedia Applications. Mono-media Document Example: Hypertext. Multimedia Documents

technische universiteit eindhoven WIS & Engineering Geert-Jan Houben

2 A WORLD WIDE WEB SOFTWARE

Lightweight Data Integration using the WebComposition Data Grid Service

Mining a Change-Based Software Repository

Towards Web Design Frameworks (Wdfs)

Turning Emergency Plans into Executable

XFlash A Web Application Design Framework with Model-Driven Methodology

Configuration Management Models in Commercial Environments

Versioning and Evolution Control of Models in Software Configuration Management System

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Version Control. Luka Milovanov

Feature Guide Elastic Path Cortex. Version 6.5.1

Graph-Based Linking and Visualization for Legislation Documents (GLVD) Dincer Gultemen & Tom van Engers

U.S. Department of Health and Human Services (HHS) The Office of the National Coordinator for Health Information Technology (ONC)

Increasing Development Knowledge with EPFC

Patterns for Dynamic Websites

Component visualization methods for large legacy software in C/C++

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Model-based Version Management System Framework

CONCEPTUAL MODELING OF LARGE WEB SITES

ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004

Software Configuration Management.

Developing and Implementing Web Applications with Microsoft Visual C#.NET and Microsoft Visual Studio.NET

Towards a New Methodology for Developing Web-Based Systems

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

VPAT. Voluntary Product Accessibility Template. Version 1.5. Summary Table VPAT. Voluntary Product Accessibility Template. Supporting Features

Using Oracle9i SCM for Software Configuration Management. An Oracle Technical White Paper July 2002

Web Mining using Artificial Ant Colonies : A Survey

Chapter 1 Databases and Database Users

2667A - Introduction to Programming

How To Improve Performance In A Database

Modeling Web Applications Using Java And XML Related Technologies

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 1 Outline

Data Structure [Question Bank]

LabVIEW Internet Toolkit User Guide

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006

HOW TO INTEGRATE APPLICATIONS RELEASE 11i WITH CUSTOM APPLICATIONS

Client Overview. Engagement Situation. Key Requirements

JISIS and Web Technologies

OOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Students who successfully complete the Health Science Informatics major will be able to:

DIABLO VALLEY COLLEGE CATALOG

Modern Databases. Database Systems Lecture 18 Natasha Alechina

vcenter Operations Manager Administration 5.0 Online Help VPAT

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Service Oriented Architecture

Odyssey-SCM: An integrated software configuration management infrastructure for UML models

A Practical Usage of Innovative Web Design Methodology: The Relational Modeling Methodology

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

Metadata Management for Data Warehouse Projects

OODBMS Metamodel Supporting Configuration Management of Large Applications 1

User Manual. for the. Database Normalizer. application. Elmar Jürgens

Overview of DatadiagramML

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

Developing Software in a Private workspace PM PMS

PowerDesigner WarehouseArchitect The Model for Data Warehousing Solutions. A Technical Whitepaper from Sybase, Inc.

Apache Sling A REST-based Web Application Framework Carsten Ziegeler cziegeler@apache.org ApacheCon NA 2014

IBM Rational ClearCase, Version 8.0

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

Page: 1. Merging XML files: a new approach providing intelligent merge of XML data sets

Semantic Search in Portals using Ontologies

Outline. CIW Web Design Specialist. Course Content

MultiMedia and Imaging Databases

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

CMServer An Object-Oriented Framework for Website Development and Content Management

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

How We Did It. Unique data model abstraction layer to integrate, but de-couple EHR data from patient website design.

ICT 6012: Web Programming

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Chapter-1 : Introduction 1 CHAPTER - 1. Introduction

Transcription:

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

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 2

Web application development methods Several Web and hypermedia application development methods have been proposed. WebComposition, OOHDM, RMM, Modeldriven 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. 3

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 4

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. 5

6

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

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 <html>----------------------- 8

Modelbased Web SCM framework STRUCTURE VERSIONING SCM MODEL SYSTEM MODEL DATA MODEL VERSION MODEL <html>----------------------- VERSIONED HYPERMEDIA FILES, DIRECTORIES 9

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. 10

11

12

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 13

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

15

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

17

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. 18

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

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

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

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 22

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. Composite object A versioned reference to a member component component component component component 23

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, 24

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. 25

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 26

Relationship network example 27

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 finegrained versioning for hypertexts and links. 28

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 29

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. 30

Conceptual schema 31

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 32

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 33

Differencing tools 34

Versioning for an element 35

HTML version comparison 36

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 37

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

Fine-grained tree versioning Version v1 1 Version v2 1 2 3 2 3 4 5 5 (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 39

Navigational structure 40

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 41

Data records 42

Model-to-model logical connections 43

44