Skip to main content


Posted by editor on June 21, 2007 at 7:19 AM PDT

Let your clients take some of the load off your webapp server

In our second webapp feature article of the week, we take a look at the RAJAX project, which allows you to move more of your webapp out to the client side. As the project page says, "The main goal is to create a library that at runtime will generate a proxy JavaScript class to a server side Java class allowing the web programmer to invoke remote methods in the local JavaScript object."

Paulo Lopes offers an introduction and tutorial on RAJAX
in todays Feature Article,
An (Almost) CPU-Free MVC Pattern with Ajax . Paulo says that with RAJAX, you can move some of your model and view logic over to the client, for example using XSLT in the browser to do client-side rendering and presentation rather than forcing the server to do that work.

But is this the right idea? Paulo says:

It is clear we can do it, but why we should do it is the next question to arise. Everything works fine with the current paradigm, so why make a change? To me, it is clear that this change should be made for the same reasons we started using Ajax in the first place: web applications were slow, suffered from network latency, etc. Ajax brought the data layer to the web browser; now we bring the layout layer to the web browser, too. By doing this, we get a clear separation of code and data, and simplify the code necessary for displaying a view in the browser by using XSLT transformations in a template instead of a big HTML file.

The more the clients do, the easier it should be for your server to scale. What do you think? Is this a workable approach for your webapp?

In Java Today, InfoQ reports that the first GNU Classpath/Sun Java hybrids have begun to appear. In Hybrids Combine GNU Classpath and OpenJDK, Xandy Johnson reports "The hybrids combine GNU Classpath with Java code that Sun has recently released under the GPL either to improve an existing project or to further the goal of having a completely Free JDK." The article covers projects from IKVM, CACAO, and Red Hat.

Jersey is the open source JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. Jersey also provides additional APIs and extension points (SPIs) so that developers may extend Jersey to suite their needs. Jersey is currently available as an early access implementation. Jersey cannot go to version 1.0 until JAX-RS reaches the final release and is an approved JSR. Until that point Jersey will track the JSR 311 API and will regularly update according to 311 Expert Group agreed snapshots of the API

In the latest Java Mobility Podcast, entitled A Swarm of Cheap Robots on Mars (Or Wherever You Need Them) , Bruce Boyes, CEO of Systronix, describes TrackBot, a small robotic device with built-in sensor modules that provide beaconing, obstacle avoidance, spatial awareness, communication, and navigation. Add a SunSPOT device to TrackBot, and the result is a powerful but affordable strategy for large-scale deployments in swarms and collaborative robotic behavior (see also TrackBot on YouTube).

Today's Weblogs start with
Sean Sheedy
Clarifying the MIDP3 pauseApp proposal.
"Thanks to publicity by Enrique Ortiz, the MIDP3 pauseApp proposal got some healthy discussion on KVM-INTEREST. In this post I've tried to summarize and address developer comments, and hopefully clarify some misconceptions about the proposal."

Alterna-browser fans will surely enjoy
Airlan San Juan's
My Ode to Opera Mini 4.
"Personally, I love the idea of a fast, nimble application for the masses, a no-nonsense, beautifully optimized and crafted piece of software whose function defines its form. If Apple's iPhone Safari is a tawdry, dressed-up dandy who prances about in voluminous costumes, then Opera Mini is a quiet, earnest, and honest young man who dresses plain, but works hard and fast and gets the job done."

Itching to try Java Persistence API? Arun Gupta gets to the basics in
Hello JPA World.
"After much discussion, I was able to finally create a simple "Hello JPA World" example that uses Java Persistence API (JPA) to store and retrieve data from JavaDB from a Servlet deployed on GlassFish V2 b50 using NetBeans IDE 5.5.1."

The discussion over OS-specific features continues in today's Forums, with cowwoc offering a perspective in the thread
Re: Which JSRs do you think should be proposed?
"If you really need some OS-specific feature such as symlinks it is up to you to propose what should happen on platforms that do not explicit support it. If you cannot come up with some portable equivilent then I think you'd be hard-pressed to convince me or others that it should go in the JDK. Java is not a programming language specifically for Windows or specifically for Linux. It is a language for the Java Virtual Machine. There is no point of programming for the JVM unless most platforms support most of the JVM features and by most I mean 95%. f you want OS-specific features I would suggest you use some 3rd party JNI library (numerous ones exist) and leave this stuff out of the JDK as it doesn't belong there."

mustangdolphin could use some deployment guidance in
javawebstart: Version based download.
"Anyone has idea about implementing the jnlp version based download? We are developing a webstart application, it has around 30 jar files in the jnlp. so every time when we deploy a new version of application, for the first time when we launch the application the time taken is around 30 mins, the further access to jnlp is not a problem coz the application is getting launched from the local cache. [...] But I feel if we use version based download, the jar files that were changed in the new version of the application will only be downloaded when we launch the application, the download time will be very less coz it will be downloading only the changed jars."

ndzpac would like to
search object in unmarshalled document
"In couple of xml documents which I unmarshal using JAXB, I have to search particular objects of specific class type, which can be buried beneath number of different structure/classes. I am just wondering, if there is some utility in JAXB to do that or any suggestions to achieve the same?"

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Let your clients take some of the load off your webapp server