users@glassfish.java.net

Re: Major Application client frustrations

From: Ryan J <ryan.j_at_vacode.com>
Date: Thu, 03 May 2007 12:28:41 -0600

Florian,

What version of Java are you using? I'm using version 6 (Update 1) and
I don't seem to have any of the ORBConstants you mention. I'm looking
at the source for:

com.sun.corba.se.impl.orbutil.ORBConstants

Are you setting those properties in your application client or on the
server?

I also share some of your frustrations. Mainly:

1. The lack of configuration options.
2. The lack of fault tolerance / error handling.

A lot of the issues are not impossible to work around, but it's time
consuming and frustrating to find a solution. The ORBConstants you've
posted is a perfect example of the 'type' of thing I feel like I'm
dealing with continually. I would expect network timeouts, retries,
etc. to be well documented, easy to set properties, but they're not.

As for fault tolerance / error handling it's one of the things that
frustrates me the most. The thing that's been annoying me lately is
trying to figure out all the runtime exceptions I need to catch and deal
with. For example:

org.omg.CORBA.COMM_FAILURE

I 'think' I understand why it's a runtime exception, but I'm not
'positive', so I won't speculate. I don't like to use blanket

catch(Exception e)

type code, but I'm not quite sure how to deal with some of the ORB
stuff. I don't have a clue what kind of / how many runtime exceptions
there are that I might need to deal with. Obviously I can figure it
out, but it's not the type of thing I want to be spending my time on.

NAT traversal isn't an issue for me right now, but I never even
considered the possibility of something not being NAT friendly these days.

In my opinion, a lot of the issues you've described can be solved with a
better application client container implementation. One of the main
things we need is the option of implementing callback handlers for
runtime configuration, logins and error handling. I've brought up all
of these issues on the mailing list before and was satisfied with the
responses I received. In fact, Tim (tjquinn) acknowledged some of my
concerns and was the person who suggested that a callback mechanism
would be the most likely solution to some of the issues I described.

From what I gather, the current application client container
implementation was intended to be a 'starting point' rather than a
robust solution. I think it's been fairly successful in provoking
discussion and am confident the developers will improve with the next
version.

I'm still developing, so am content to live with some of the
deficiencies for now and deal with them once I'm closer to deploying. I
intend to contribute to the discussion a bit more at that time.

Ryan