geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder" <>
Subject Re: AJAX and Geronimo
Date Mon, 14 Aug 2006 15:15:12 GMT
OK, so if I understand this right DWR provides the ability to invoke
server-side Java APIs and translate arguments and return types between
JavaScript and Java.  Whereas Dojo provided more graphical bells and
whistles like the ability to manipulate the page DOM, but only on the
client side.  So you might use an app-specific DWR transport to call
something on the server, and then hand off the response to the shared
Dojo scripts to create some new content on the screen and make it
wiggle or something.  Is that about right?


On 8/14/06, Paul McMahan <> wrote:
> Aaron,  You're correct that this approach wouldn't work for DWR (at
> least not in a straightforward way) since DWR uses server side classes
> that need classloader access to the webapp.  But Dojo is different in
> that it is really just a collection of static resources (javascript,
> css, images, etc) and does not require any server side communication
> or even java for that matter.  Developers typically just extract all
> the Dojo resources into their webapp and load them into the browser
> via references in their HTML.
> As a matter of fact Dojo and DWR are quite complimentary to each other
> since Dojo provides UI controls and DWR provides server communication.
>  As you know, Geronimo already provides DWR as a jar in the repository
> that can be shared between webapps and versioned separately from the
> applications that use it.  Providing this same type of functionality
> for Dojo is a little more unnatural since its composed of static
> resources instead of java class files.  But I'm thinking that making
> the Dojo resources available in a native webapp at a predetermined
> context provides equivalent functionality except for one limitation:
> multiple versions of the webapp can not run simultaneously when they
> use the same context root.  IMHO that limitation is acceptable since a
> large number of use cases are still supported.
> Best wishes,
> Paul
> On 8/11/06, Aaron Mulder <> wrote:
> > I'm not sure what you're planning to do with AJAX, but wouldn't Dojo
> > need access to classes in the web app?  At least, when we use DWR, we
> > point it to server-side classes and APIs and it automagically
> > generates JavaScript wrappers for those.  If so, I'm not sure it would
> > work to have Dojo deployed at a static location like /dojo in a
> > standalone web app, because I'm not sure how it would see the
> > user-specific classes.  Maybe some ThreadContextClassLoader magic?
> >
> > Thanks,
> >      Aaron
> >
> > On 8/11/06, Paul McMahan <> wrote:
> > > Dojo is a popular open source AJAX library that's available under the
> > > BSD and Academic Free licenses.  The DayTrader folks use it in the web
> > > UI they recently announced on the Geronimo dev list and Chris used it
> > > in the nice LDAP UI he did for GERONIMO-1823.  I would also like to
> > > start introducing some use of it into the Geronimo admin console when
> > > its appropriate to do so.
> > >
> > > The way that developers usually incorporate an AJAX library into their
> > > applications is by making a copy of its static files (javascript, css,
> > > gifs, etc) in their webapp and referencing them from their servlets
> > > and JSPs.  The obvious downside is that each application has a
> > > separate copy of the AJAX library, increasing the server's overall
> > > disk footprint (Dojo is ~3mb) and preventing the browser from using a
> > > single copy of the library files from its cache.  Another downside is
> > > that the AJAX library can't be upgraded independently from the web
> > > application.
> > >
> > > I think it would be great if Geronimo could provide a more AJAX
> > > friendly development environment by helping solve these problems.  One
> > > idea is that Geronimo could include the Dojo library as a native,
> > > standalone webapp with its AJAX library files laid out so that other
> > > applications can point at from their HTML.  Referencing it in
> > > geronimo-web.xml would cause Geronimo to start it up and make its
> > > files available at some predetermined context root, say /dojo.
> > > Referencing it with a versionless moduleId would make sure the most
> > > recent version is always used.  So AJAX enabling your application in
> > > Geronimo would be a simple as "add this line to your
> > > geronimo-web.xml".
> > >
> > > Does this sound like a good idea?  Any suggestions or concerns?
> > > Perhaps this could be done as a plugin instead of a native module?
> > >
> > > Best wishes,
> > > Paul
> > >
> >

View raw message