Hi all,
I'm not a very experienced J2EE developer.
Recently, I'm trying to write an application which is divided into 3 tiers:
* business logic level (running on a J2EE server) consists of EJB
components.
* orchestration level (running on a J2EE server) which will accept
requests from client applications (not web browsers) and talk to
business logic level components to achieve certain tasks
* client level will run heavy client applications which will talk to
orchestration level across internet connections.
My question is: what communication method/protocol will be suitable for
the communications between these 3 tiers. The options are:
* RMI-IIOP
* XML-RPC
* SOAP
* Other :)
P.S. Transfer of binary data is also required
Could some one please give me some advices of which communication
methods shall I use? Performance is the priority consideration. Please
help. Thanks!!
Joe
arimanni@gmail.com - 20 Dec 2007 08:33 GMT
RMI may be easier but there's one important issue: the clients and the
J2EE server need to run on compatible JRE's.
With XML based protocol (such as SOAP):
- The client and server can run on different Java versions.
- You can also call the services with non-Java clients.
With RMI, it may be possible to achieve better performance, but it
needs careful design and implementation. With SOAP, you know exactly
what is being serialized.
> Hi all,
> I'm not a very experienced J2EE developer.
[quoted text clipped - 22 lines]
>
> Joe
Arne Vajhøj - 23 Dec 2007 17:54 GMT
> Recently, I'm trying to write an application which is divided into 3 tiers:
>
[quoted text clipped - 18 lines]
> methods shall I use? Performance is the priority consideration. Please
> help.
Considering that:
- it is fat client not web client
- performance is prioritized
then I would suggest you go for EJB calls (some RMI-IIOP on the
wire, but you do not care about wire format).
Arne