Skip to main content

Accidents Will Happen

Posted by editor on August 2, 2005 at 8:53 AM PDT

Deal with dropouts

One of the mantras of network programming is that remote programs fail in ways that purely local ones don't. This often leads to a discussion of whether you should approach your network code with an RPC-like mindset that makes remote calls look like local ones, a messaging system that hurls data into the ether and may hope to get a response someday, or something else entirely (Jini?). The RPC vs. messaging discussion returns in Also in Java Today, but let's table that for a moment.

Imagine you want to build a system that allows people to spend money. That should have you thinking transactions, for reasons that are far too well-established to merit repeating. On the other hand, your system needs to allow people to spend money via their mobile devices, which should have you thinking signal loss. Remote programming was fun enough when one party might crash or be disconnected -- having a party that may drop in and out of network adds another degree of risk and uncertainty.

To wit: how will you even know to rollback a failed transaction when the mobile client drops and doesn't come back?

In today's Feature Article,
Taking Service-Oriented Architectures Mobile, Part 2: Mobile Transactions, Nigel Warren and Philip Bishop look at how to extend the basic principles of service-oriented architecture (SOA) to devices at the edge of the network. This article adds the ability for devices to become involved in atomic transactions, ensuring that all of the relevant resources that a system provides are coordinated and managed so that the overall state of the system remains consistent.

In Also in
Java Today
maybe Messaging may not be the way to Build a Distributed System? B. Scott Andersen writes: "Eric Armstrong's recent article on Artima caught my eye and made me think a bit about the evolution of distributed programming techniques. In the beginning, there was the message. But what now?"

In Hibernate Criteria API: Multi-Criteria Search Made Easy, John Ferguson Smart says the traditional approach of putting together HQL queries on the fly is "cumbersome and error-prone". Is there an alternative? "Yes, there is: the Hibernate criteria API, a powerful and elegant technique for complex, dynamic search functionalities. Using the online accommodations database cited previously, this article examines the criteria API solution and its benefits.

James Gosling continues his consideration of floating point inaccuracies in today's Weblogs.
Transcendental Two, he writes:
"There's a piece of historical baggage in the definition of sin/cos that is much older than just 'whatever the 8087 chip happened to do': why are the sin and cos functions defined based on parameters that are periodic in a transcendental number? Having the period be 2*pi is based on decades (centuries!) of mathematical standard practice."

Ben Galbraith sticks up for GUI builders in Successful GUI Building... Today: "The HackNot blog recently slammed the use of GUI builders; I think that sentiment is entirely wrong. Over the past year, I've experienced a very pleasant change in attitude, and whereas last year I would have voiced ambivilance about using GUI tools, today I think you'd be crazy to avoid them."

User Interface Optional? Vikram Goyal explains
"why the best mobile device business applications will have no user interface at all."

An important deadline appears in today's Projects and
: today is the last day for nominations for the NetBeans Board Elections. The polling period begins tomorrow and runs for two weeks (until August 16), with results announced on August 17. Nominations need to be made on the mailing list; see the elections page for information on joining that list and participating

The JSR Community project jsr264-public offers an Order Management API, defining an interface to an Order Management component, with specific extensions for activation and work order management use-cases. The JSR is in the "Early Draft Review stage, meaning the public has access to a draft of the spec and feedback to the expert group is being actively sought.

In today's Forums,
ewin is frustrated
Re: improve javax.comm: "JavaComm is one of Sun's unloved children. It just got the absolute minimum maintenance over the years. It has serious design errors which haven't been corrected, and probably will never be corrected. E.g. the dreaded properties file, which makes it impossible to install JavaComm via WebStart, because WebStart can't move that file into the required location, but JavaComm again and again check the existence of the file."

A Sun Java System Application Server 8.1 UR1 dependency is a problem for brianpdoyle: "The latest weekly EA build requires Sun Java System Application Server 8.1 UR1. Is this dependency going to be something that is just temporary or something that other application servers will need to do to implement to support JAX-WS 2.0. Also is there a workaround for this dependency now so I can get it to work with Tomcat 5.5.4?"

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.

Deal with dropouts