I'm currently investigating the use of Java to create a front end as a replacement for HTML/TT on some apps I am writting. They have got to the stage of complexity ( in terms of numbers of form elements, tabbed pages and interactions between the elements ) that I don't feel HTML was ever intended to cover. I'm not saying that it can't - merely that the level of complexity that is needed to do things elegantly makes it worth taking a step back and having another look at things.
Some more formal degree of seperation between the front end and application makes sense, if only from a future proofing perspective. It also has the advantage of keeping bodges and hacks contained - a safeguard aganst sloppy programming. I've had a play with perl TK previously, and whilst it was a powerfull tool, I didn't feel the interface felt sufficently native, and I also thought that the lack of a graphical design tool let it down slightly - it invites the practise of one person creating a drawing of some kind to illustrate the layout, before passing it onto an "underling" to create the application, which makes me feel like potential creativity and learning opportunities are going to waste.
Which brings me back to the start of this entry, Java seems to have some jolly nice GUI design tools for it, and now SWT/Jface and Swing have replaced AWT it is starting to seem like a potentially nice way of creating platform independent graphical interfaces to a backend application server, potentially running a completely different language.
At the moment I am only on the preliminary investigative phase, but seem to be erring towards using the eclipse IDE, potentially with the swt-designer plugin to create the GUI. Soap seems to have an interesting relationship with java, especially with relation to serialising objects to and from xml, but after a little reading I'm leaning towards using castor to perform this purpose. Then its just a matter of getting my head around Ant and Junit, and the countless other details which emerge when you look at something closely;).
At the moment this is all just an investigation, but if nothing else it's interesting to get an experience of a few different attitudes and patterns towards programming.