Counting Out Time
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 java.net project approval process.
As for Bruce, he appears in the
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."
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."
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 java.net
News Headlines :
- Eclipse 3.2 M5
- XFire 1.0-RC1
Innovation Award: 20.000 for best European Java/Eclipse
- DWR 1.1 RC1
- yEd Graph Editor 2.4
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
Current and upcoming Java
- February 20-23, 2006 - Enterprise Java Architecture Workshop Madrid
- February 22-23, 2006 - Sun Tech Days - Singapore
- February 24-26, 2006 - Greater Wisconsin Software Symposium
- February 25, 2006 - JCO Conference
- March 3-5, 2006 - Gateway Software Symposium
- March 6-9, 2006 - Enterprise Java Architecture Workshop Dublin
- March 6-9, 2006 - O'Reilly Emerging Technology Conference 2006
- March 10-12, 2006 - New England Software Symposium
- March 11, 2006 - JCO JUG Meeting
- March 11-12, 2006 - Weekend With Experts
- March 15, 2006 - JavaUK06
- March 17, 2006 - 3rd IEEE International Workshop on Mobile Peer-to-Peer Computing (MP2P'06)
- March 17-19, 2006 - Twin Cities Software Symposium
- March 21-22, 2006 - Java Expo '06 at Sun Tech Days Madrid
- March 23-25, 2006 - TheServerSide Java Symposium
- April 7-9, 2006 - Greater Carolina Software Symposium 2006
- April 11-12, 2006 - Sun Tech Days - Sao Paulo
- April 20-21, 2006 - Sun Tech Days - Moscow
- April 21-23, 2006 - Western Pennsylvania Software Symposium 2006
- April 24-27, 2006 - MySQL Users Conference 2006
- April 25-28, 2006 - Enterprise Java Architecture Workshop Toronto
- April 28-30, 2006 - Northern Virginia Software Symposium
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Who says Java can't do continuation servers?