james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject [server.trunk] dependencies visualization
Date Wed, 13 Aug 2008 11:37:36 GMT
I'd like to share a couple of charts I created yesterday to better 
understand the current status.

I created a graph including the dependencies between our modules and 
with external jars.

Here is what yED automatically creates by reducing and creating an 
automatic left to right "tight" directed dependencies tree for
http://people.apache.org/~bago/server/2008-08-12-server-trunk-modules-full-dependency-tree.gif

THe groups are also automatically created by yEd by using the 
"Autogrouping" "Directed Subtrees" option.

Here is a smaller graph created by closing the groups created previously:
http://people.apache.org/~bago/server/2008-08-12-server-trunk-modules-full-dependency-tree-closed.gif

I find it cool how an automatic layout created a clear visualization of 
our 3 layers (api, library, function).

I used green for our modules (light for apis, medium for library, dark 
for functions) and light azure for the util modules.
I then used red for avalon framework, purple and orage for excalibur and 
cornerstone. Blue is for commons-*. Violet is for other james products.

Edges are coloured as the target node, so to easily see what kind of 
dependencies each node has by looking at exit edges colours.

It's not perfect (it does not contain all of our dependencies and 
classes) but I found it interesting and I wanted to share it.

 From this graph we can see that once we remove most 
cornerstone/excalibur dependencies by using delegation in 
avalon-socket-library the only cornerstone/excalibur dependencies will 
be the datasource related ones (cornerstone-datasources-api, 
cornerstone-datasources-impl, excalibur-datasource) and the store-api. 
ATM core-library, management-library and avalon-socket-library have 
direct dependencies on this jars. I'd like to confine them to functions 
as a short term goal.

Stefano

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message