[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 484
  • Last Modified:

Calling C++ from Session Bean

Hey All, I have an application set up in JBoss and I need my session beans to make calls to a library of C/C++ functions used for some heavy computation. I've looked around on the web and other postings, but I'm still confused as to the best way to go. I've read that JNI could be the way to go but that it leads to a lot of problems, I've also read that CORBA is an option but it's an old and dying technology that's very difficult to implement. Some have suggested setting up a C/C++ application in a separate process and then passing data between the EJB and C/C++ using sockets or XML-RPC. What is the best way to go? I know each suggestion will have its pros and cons, so I guess i'm looking to find out what are all my options in this case and then what are the strengths and weaknesses of each, and for what situation is a particular solution best suited for.  Thanks in advance.
0
miggety
Asked:
miggety
  • 2
  • 2
1 Solution
 
anilallewarCommented:
Its a difficult one to answer. The best way to go would be using web-services to talk between your EJBS and the C/C++ functions that are opened as Web services. This is the most interoperable way but this would kill performance.

XML-RPC is a human readable, but inefficient, means of transporting information plus your C/C++ client would need to be changed to allow HTTP requests fror XML-RPC.

The other option that I know of is using RMI for the JNI calls if your C/C++ functions are on another server and the other server can have Java installed.

http://docstore.mik.ua/orelly/java-ent/jenut/ch03_07.htm
0
 
miggetyAuthor Commented:
Thanks anilallewar, that's a tremendous help! Should I even consider CORBA or is that standard completely dead? After reading your post i think RMI/JNI is the direction i'm going to head in. Thanks again.
0
 
anilallewarCommented:
CORBA is an integration technology, not a programming technology. It is specifically designed to be the glue that binds disparate programming technologies together; and yes it is not used so much but it wont be obsolete.

CORBA is a standard but again it will be a performance hit because of the standards involved. RMI/JNI would definitely be way ahead in terms of performance.
0
 
miggetyAuthor Commented:
Thanks again anilallewar!
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now