wood burning stoves 2.0*
The moose likes Web Services and the fly likes RMI vs. SOAP for EJB calls from client application Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "RMI vs. SOAP for EJB calls from client application" Watch "RMI vs. SOAP for EJB calls from client application" New topic
Author

RMI vs. SOAP for EJB calls from client application

Scott DiNucci
Greenhorn

Joined: Aug 16, 2002
Posts: 2
I am working on a project to add additional functionality to an existing client-side Java application. The client was built using RMI to call EJBs. The new functionality will be built using WSAD 4.0.3 and deployed on a WAS 4.0.1 server. We are being asked to look at using SOAP instead of RMI. Using SOAP, can the client application call the EJBs directly or will a servlet need to be written? The reason I ask is the EJBs are written to the 1.1 specification since WAS 4.0.x does not support the 2.0 specification. Will we use JAXM or JAX RPC? Are these supported by the version of WSAD and WAS we are using. Does SOAP provide a clear reason for moving away from RMI? If anyone can point me to a good source of information or example as it relates to our environment, it would be appreciated.
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12761
    
    5
You will certainly have to have some sort of intermediary between your SOAP client and the EJBs to translate in both directions. Whether that is a servlet depends on the transport mechanism you have to use. I don't know a thing about what WSAD / WAS support.
Seems to me the only reason to go to SOAP would be if your clients can no longer use RMI for some reason - firewalls maybe?
Bill
Kyle Brown
author
Ranch Hand

Joined: Aug 10, 2001
Posts: 3892
    
    5
Originally posted by Scott DiNucci:
I am working on a project to add additional functionality to an existing client-side Java application. The client was built using RMI to call EJBs. The new functionality will be built using WSAD 4.0.3 and deployed on a WAS 4.0.1 server. We are being asked to look at using SOAP instead of RMI. Using SOAP, can the client application call the EJBs directly or will a servlet need to be written? The reason I ask is the EJBs are written to the 1.1 specification since WAS 4.0.x does not support the 2.0 specification. Will we use JAXM or JAX RPC? Are these supported by the version of WSAD and WAS we are using. Does SOAP provide a clear reason for moving away from RMI? If anyone can point me to a good source of information or example as it relates to our environment, it would be appreciated.

Read the documentation on Web Services that comes with WebSphere Studio 4.03. Also, read the "Web Services Wizardry" redbook on www.redbooks.ibm.com. You will not use either JAXM or JAX-RPC -- the Web Services support in WSAD 4.0 is through Apache SOAP. It can all be done through the wizards -- you won't need to write any of the client or server code yourself.
However, I would recommend you NOT do this for performance sake. You will notice a HUGE, HUGE drop in performance when moving to SOAP. It's OK to provide an additional interface for clients that can't use RMI/IIOP (like MS clients) but it's a BAD idea in general to try and replace RMI/IIOP with SOAP.
Kyle


Kyle Brown, Author of Persistence in the Enterprise and Enterprise Java Programming with IBM Websphere, 2nd Edition
See my homepage at http://www.kyle-brown.com/ for other WebSphere information.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: RMI vs. SOAP for EJB calls from client application
 
Similar Threads
Is it possible to export ANT build file from WSAD 5.1.1
RMI vs. SOAP for EJB calls from client application
WAS 5.0 initialcontext calls never return for RMI client app
Can rmi server and client be in one java process
Security in heterogeneous environment?