[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ozone application design issue



On Wed, 22 Nov 2000 17:11:19 +0800
"Don Berendsen" <donberendsen@hotmail.com> wrote:

> I welcome anyone's thoughts or experiences on a design problem for part of 
> an ozone application I'm developing. The application GUI displays about 12 
> trees. Most are 2-4 layers deep and with 100-300 nodes. A few trees may 
> typically have several thousand nodes, and some users may have 10-20 
> thousand nodes in their application. Associated with each node is an object 
> whose details can be accessed through the GUI.
> 
> The problem is how best to implement the association between the node and 
> the ozone object considering ozone's client-server architecture.
> 
> For performance reasons it seems impractical to have the proxies that are 
> associated with each of the nodes on the client. Serializing thousands of 
> 10k+ objects just to display thier names and be able to access their methods 
> seems unwieldy.
> 
> My thought is to have the userObject in tree node be a lightweight object 
> containing only the name for display and an id that could be used to 
> retrieve the associated ozone proxy when needed. I would use an id since I 
> believe that ozone doesn't have an object identity object that could be used 
> for this purpose.  The trees of these lightweight objects would be built on 
> the server and provided to the client for display. There are many other 
> considerations such as updating the trees and retrieving branches for large 
> trees that I'm not addressing at this stage.
> 
> My request concerns the basic strategy of using lightweight objects instead 
> of ozone proxies as the node userObjects. Is there a better way? I welcome 
> your thoughts, experiences and suggestions.

With in the Prowler development (http://www.infozone-group.org/projects_main.html)
we've developed a class called CollapsableDocument which can be used to show
DOM trees in HTML or as a Swingtree, even for large trees. It does 
'lazy evaluation', i.e. only retrieve those nodes that or displayed. Maybe you
can adapt this class. 

Best Regards,
Gerd 

--
________________________________________________________________
Gerd Mueller                                    gerd@smb-tec.com     
SMB GmbH                                  http://www.smb-tec.com