Skip to main content

Counting Out Time

Posted by editor on February 20, 2006 at 7:26 AM PST

Who says Java can't do continuation servers?

One of the major axes Bruce Tate grinds in Beyond Java is the emerging importance of the "continuation server", which is a style of server-side programming in which continuations are used to save thread state for an indefinite time, even surviving a server restart if necessary. In an ONJava article, he sold the idea like this:

Continuation-based web frameworks generally make web development much easier by simulating a stateful application. The framework uses continuations to automatically save the state of an application when your application needs to get data from the user. The application can also reload a continuation if the user presses the Back button or goes back to an older page in the browser history.

Tate cites some examples of continuation servers in dynamic languages -- he likes Seaside, but it's implemented in the beloved-but-nichey Smalltalk.

Fortunately, Java implementations of continuations are coming on strong.

In this week's Spotlight,
the Dalma Workflow Engine offers a means of doing Java-based continuations. "While functional programming languages typically have a built-in support for continuation, procedural programming languages like Java usually doesn't. Because of this, the use of continuation has been largely limited to computer scientists... While continuation itself will likely to remain as one of the most difficult programming concepts to understand, there are many applications of it that are useful for general developer audience." One such use is illustrated in Kohsuke Kawaguchi's blog Dalma to automate project approval process.

As for Bruce, he appears in the
Also in
Java Today
section, in which he
says Java/J2EE is facing dramatic change, and could be "dead like COBOL, not like Elvis" in an Integration Developer News Interview with Bruce Tate. Clarifying, he says that important ideas are emerging outside of the Java environment: "I'm not ready to say Java is on its way out as far as COBOL. There will always be demand for Java in [corporate IT]. But, I will say Java is entering a very critical time. They say there is a new language every 10 years, and if you count Java as being launched in 1996, we're just about there. So, for the next wave of ultra productive [technologies] I am looking outside Java, and mostly at Open Source technologies. "

"While you might usually end up stuck in a buzzword-compliance nightmare, with packets of WSDLs, BPELs, and SOAPs flying around left, right, and center, there are occasions where it may be possible to push through a REST-style, resource-centric approach; where there is no official strategic direction for SOA already in place, where there is a reasonable amount of flexibility and imagination on the part of the project owners, and perhaps with a bit of technical enlightening on the part of the technical lead(s)." Jason R. Briggs pulls off this two-for-one deal by using Jython to wrap SOAP's formalities around a REST-based SOA architecture in Playing Together Nicely: Getting REST and SOAP to Share Each Other's Toys.

In Projects and
the Jini Community notes the recent 1.0 release of Thor, a project to "allow Jini services to retrieve runtime configuration information across the network, but allow that information to be administered in a central fashion." Version 1.0 "adds a few serviceUi tweaks and better cold-start loading using fallback to XML initialisation files."

The Javapedia page for JDBC defines it as "the part of the Java library which allows interaction with relational databases using SQL." The page also provides links to JDBC articles and related open-source projects, as well as open-source connection pools, and a note that JDBC is a trademarked term, not an acronym.

An opinion on why Java3d is not widespread
kicks off today's Forums:
"From what I see in west europe, Java3D is only 3D support for Java. Very useful scenegraph but good only for science and aero industry. Games in Java will either use the mobile API or JOGL, or Xith maybe, or the like. I see no future for aviatrix, very small for xith. Jmonkey has better chances. Java3D will be there for long and useful, but only for a couple people. Moreover, speed is of great concern for everyone so C++ direct low level code will always beat everyone."

The message
Re: No unit tests? get to the whole point of unit tests:
"They work at the individual class level, testing all methods of a class that are not private. The point of them is to pick up all the little changes that, while not part of the public API, still go to making up the running code. That's why unit tests should be part of the same codebase as the code it is testing. Having them as an independent project is not a workable situation."

Ed Burns
New Drafts of Java EE Web Tier: JSF 1.2, JSP 2.1, Servlet 2.5 in today's Weblogs, rolling it up as
an "announcement of new drafts of Java EE Web Tier Specs".

In JDBC 4.0 keeps moving forward, Lance Andersen writes:
"JDBC 4.0, JSR 221, has completed Public Draft, and we are working towards Proposed final draft. Here is a reminder of the functionality that is part of this release."

Dru Devore helps you "learn how to utilize a Maven repository from NetBeans 5.0 saving you from storing libs in CVS" in
Maven Repository with NetBeans 5.0

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

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.

Who says Java can't do continuation servers?