Like Jay says, several recent additions to the admin console use dojo:
Classloader Viewer
JMX Viewer
Dependency Viewer
LDAP Viewer
JNDI Viewer

The typical way of using dojo in a webapp is to include it in your WAR. Dojo provides some tooling to trim their js library down to just the parts that your webapp needs.

Instead of doing that we made the entire js library available at the context "/dojo" so that other webapps besides the admin console could share it. We could look into trimming some of the fat out of that js library by identifying which parts are less useful.

Another idea would be to zip the dojo js library in a jar and serve up files from it on demand using a servlet. That could have a performance impact on applications that use dojo more heavily because they load lots of js files on initial bringup.

Longer term, we're working on a pluggable admin console that will allow users to add these spiffy new viewers (and the dojo prereq) to their admin console on demand.

Best wishes,
Paul


On Jun 28, 2007, at 1:58 PM, Jay D. McHugh wrote:

Right now, I don't think we can remove dojo. Some of the more recent additions to the admin console are using it.

Those would either have to be removed, changed to plugins, or be completely rewritten.

I would say that if there is redundancy in the configs, that would be the place to look (at least for now).

BTW, do we need both versions of xbean (3.0 and 3.1)?

Jay

Kevan Miller wrote:

On Jun 28, 2007, at 12:35 PM, Jay D. McHugh wrote:

The page has been updated to move the contents of repository/ geronimo to repository/org/apache/geronimo.

I found a couple of other places where contents of the repository moved (tranql -> org/tranql, etc) and fixed those as well.

If anyone sees a module that moved (that I missed) let me know and I'll rework the table.

I already caught org/apache/geronimo/activemq-broker(1.2) s/b org/ apache/geronimo/configs/activemq-broker but haven't fixed it yet. For sizing purposes, that will not affect the following results.

Here are the places that I am seeing that the repository has grown (between 1.1.1 and 2.0):

Added (size rounded to nearest Meg)
com/sun/xml (5M)
commons-codec (1M)
commons-fileupload (1M)
commons-httpclient (1M)
commons-io (1M)
commons-jexl (1M)
commons-lang (1M)
commons-primitives (1M)
directory (1M)
directory-asn1 (1M)
directory-network (1M)
directory-protocols (1M)
directory-shared (1M)
dwr (1M)
javax (1M)
jaxen (1M)
jdbm (1M)
jline (1M)
jstl (1M)
net (1M)
ognl (1M)
org/apache/axis2 (3M)
org/apache/bcel (1M)
org/apache/cxf (2M)
org/apache/httpcomponents (1M)
org/apache/myfaces (1M)
org/apache/neethi (1M)
org/apache/openjpa (3M)
org/apache/ws/commons/axiom (1M)
org/apache/yoko (4M)
org/codehaus/castor (3M)
org/codehaus/swizzle (1M)
org/sl4j (1M)
org/springframework (1)
oro (1M)
regexp (1M)
woodstox (1M)
xml-resolver (1M)

Grew (growth rounded to nearest Meg)
org/apache/activemq (1M)
org/apache/geronimo (Some additions, some reductions: 8M overall - ~5M of this is dojo)
org/apache/tomcat (1M)
org/apache/xbean (1M) - We have 3.0 snapshot and 3.1 snapshot in 2.0

Those are only the increases. There may be more, but these were the ones that I caught (there are still some moved module issues yet to be found). As best as I could tell, upgrades between versions of the same component did not significantly contribute to the increase in footprint. Additional components is where we got hit the hardest.

Nice. Thanks for doing this Jay and Prasad...

Nothing really jumps out at me as being unnecessary... Just scanning that list for the big hitters...

com/sun (5M) is new
org/apache/yoko (4M) is new
org/apache/castor (3M) is new. OpenEJB is no longer dependent on castor (IIRC) We could look to see who else is dependent on it...
org/apache/openjpa (3M) is new.
org/apache/axis2 (3M)
org/apache/cxf (2M) is new.

All, except perhaps castor, are needed...


If we really wanted to cut down on carbs, we could ask ourselves if we really need to package Dojo. That would save 5 megs.

The only thing worth spending much time on, IMO, are Geronimo configs. By my count, configs in 2.0 is 15 Meg. In 1.1.1 they were 3.5 Megs (repository/geronimo/geronimo-*)

Should definitely look at is moving jar files (especially the redundant ones) out of org/apache/geronimo/configs. As in:

./activemq-ra/2.0-SNAPSHOT/activemq-ra-2.0-SNAPSHOT.car/rar/ activemq-core-4.1.1.jar ./activemq-ra/2.0-SNAPSHOT/activemq-ra-2.0-SNAPSHOT.car/rar/ activemq-ra-4.1.1.jar ./ca-helper-jetty/2.0-SNAPSHOT/ca-helper-jetty-2.0-SNAPSHOT.car/ WEB-INF/lib/geronimo-ca-helper-2.0-SNAPSHOT.jar ./dojo-jetty6/2.0-SNAPSHOT/dojo-jetty6-2.0-SNAPSHOT.car/WEB-INF/ lib/geronimo-dojo-2.0-SNAPSHOT.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/asm-2.2.3.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/asm-commons-2.2.3.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/asm-tree-2.2.3.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/cglib-nodep-2.1_3.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/commons-logging-1.0.4.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/geronimo-kernel-2.0-SNAPSHOT.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/geronimo-remote-deploy-2.0-SNAPSHOT.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/log4j-1.2.14.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/xpp3-1.1.3.3.jar ./remote-deploy-jetty/2.0-SNAPSHOT/remote-deploy-jetty-2.0- SNAPSHOT.car/WEB-INF/lib/xstream-1.1.3.jar ./system-database/2.0-SNAPSHOT/system-database-2.0-SNAPSHOT.car/ rar/tranql-connector-1.3.jar ./system-database/2.0-SNAPSHOT/system-database-2.0-SNAPSHOT.car/ rar/tranql-connector-derby-common-1.3.jar ./uddi-jetty6/2.0-SNAPSHOT/uddi-jetty6-2.0-SNAPSHOT.car/uddi-db/ tranql-connector-1.3.jar ./uddi-jetty6/2.0-SNAPSHOT/uddi-jetty6-2.0-SNAPSHOT.car/uddi-db/ tranql-connector-derby-common-1.3.jar ./uddi-jetty6/2.0-SNAPSHOT/uddi-jetty6-2.0-SNAPSHOT.car/uddi-jetty/ WEB-INF/lib/geronimo-uddi-server-2.0-SNAPSHOT.jar ./webconsole-jetty6/2.0-SNAPSHOT/webconsole-jetty6-2.0- SNAPSHOT.car/framework.war/WEB-INF/lib/geronimo-console- framework-2.0-SNAPSHOT.jar ./webconsole-jetty6/2.0-SNAPSHOT/webconsole-jetty6-2.0- SNAPSHOT.car/standard.war/WEB-INF/lib/geronimo-console- standard-2.0-SNAPSHOT.jar ./welcome-jetty/2.0-SNAPSHOT/welcome-jetty-2.0-SNAPSHOT.car/WEB- INF/lib/geronimo-servlet_2.5_spec-1.1-20070613.151247-4.jar ./welcome-jetty/2.0-SNAPSHOT/welcome-jetty-2.0-SNAPSHOT.car/WEB- INF/lib/geronimo-welcome-2.0-SNAPSHOT.jar

--kevan





Reply via email to