Advanced - Powered by Google

Log In
New Account
My Page
Project Tree
Project Openings
Bright Side Framework
Posted By: Philippe de Cuzey
Date: 2003-12-18 09:54
Summary: Introduction to the SVO (Smart Value Object) project

The Smart Value Object allows server components to track client-side modification of business objects in a rich client/J2EE server environment, by using the latest features offered by bytecode processing tools.

When developing client/server applications, the usual way is to implement the Value Object (VO) pattern, through a set of Java objects representing a lightweight graph of persistent server objects, that the server sends to the client for user modification.

The Smart Value Object project (SVO) intents to go a little further by :

* transparently managing concurrency in a multi-user environment,
* analyzing the actual modifications done on the value object, to optimize data exchange and persistence issues,
* allowing a simple way of defining the graph of retrieved VOs.

The design makes the SVO independent from the persistence layer (entity EJB, JDO, Hibernate, ...).

This project is part of the Bright Side Framework, which goal is to provide ready-to-use high level components to quickly build business J2EE applications accessed by rich java/Swing clients on HTTP. The developers involved in the SVO project are Gaetan Zoritchak and Jan Berkel.

project planning : started in November 2003, the goal is to have a first version running in January 2004.

project status : currently, we are at the prototype stage, testing implementations. We encountered difficulties around the ClassLoading of our modified VO in a J2EE server and had to work around it by performing a post compilation modification of VO instead of a dynamic runtime modification. We will work again on this deployment part in the future.

technical consideration : the modification of the bytecode adds versioning info to the VO to allow a server service to verify the concurrency. It also modifies the access to the attributes by adding a field interceptor to flag the VO as dirty when needed. In case of a graph of VOs using collections or maps, these are replaced by our specific implementations in order to flag the added or removed dependent objects.

We have not figured out yet the way of defining the size of the VO graph.

As you see this project is in its early stage. We're interested in your opinion and ideas, so don't hesitate to give your feedback and share your experience (

Latest News
XWiki 9.9 Released
    Ecaterina Moraru (Valica) - 2017-10-24 17:50
ASM 6.0 released
    Eric Bruneton - 2017-09-23 11:21
Knowage 6.0 available now!
    Grazia Cazzin - 2017-06-20 13:14
XWiki 9.1 Released
    Vincent Massol - 2017-02-27 23:24
XWiki 9.1 Release Candidate 1 Released
    Thomas Mortagne - 2017-02-21 16:38

Discussion Forums: Introduction to the SVO (Smart Value Object) project

Start New Thread Start New Thread | Admin


Topic Topic Starter Replies Last Post

Copyright © 1999-2008, OW2 Consortium | contact | You have a difficulty, a problem ? Please report an issue using your OW2 forge account credentials