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