users@glassfish.java.net

application structure for local communication?

From: Kristian Rink <kawazu_at_zimmer428.net>
Date: Thu, 15 May 2008 11:26:07 +0200

Folks;

now that a bunch of kind souls both on this list and on the gf issue
tracker pointed me a few ways to go to get my "local HTTP remoting"
working on glassfish (thanks a load, folks, much appreciated!), I seem
to have won some time restructuring my application, making me think of
some basic considerations. Generally, I am not sure whether I would
like to keep doing "local HTTP remoting" or something like that in
order to make my front- and backend play along nicely both being
loosely coupled and without putting too much load on my servers.
Requirement is to be capable of having at least front- and backend
maintainable and deployable seperately from each other.

Options so far I considered:

- Putting front- and backend along with some other code into a single
EAR application. Seems good as I can make my webapp directly
communicate with the EJBs using the ejbs @Local interface and having
not that much infrastructure involved, but seems bad as I don't yet
know how to have parts of an EAR seperately redeployed (guess that's
not possible, talking about an EAR as a whole archive...).

- Putting front- and backend to different EARs, making them communicate
using web services (SOAP). This would provide a rather loose coupling
indeed but this way I would indeed end up having a lot of local
communication to happen across HTTP, plus the effort required to
generate/parse SOAP messages.

- Create two separate modules (backend -> ejb, frontend -> war) and use
@Remote EJB communication to tie them together. Seems to be the most
obvious solution but so far I somehow miss how to get the two things
(war and "remote" ejb not part of the same EAR) together.

So, considering some people around here have done way more about this
already than I have done so far: Any comments on this? Most notably,
any more interesting readings / tutorials / papers I should deal with
about this kind of architecture? So far, most of the tutorials (Java
EE, NetBeans) seem to rely solely on either putting everything to an
EAR or building a "standalone" appclient to interfer with a
server-sided EJB...

TIA and kind regards,
Kristian


[1] https://glassfish.dev.java.net/issues/show_bug.cgi?id=4994

-- 
Kristian Rink * http://zimmer428.net * http://flickr.com/photos/z428/
jab: kawazu_at_jabber.ccc.de * icq: 48874445 * fon: ++49 176 2447 2771
"One dreaming alone, it will be only a dream; many dreaming together
is the beginning of a new reality." (Hundertwasser)