ggkmath
ggkmath

Reputation: 4246

JNI + Java Platform + Java-based Application Server + HTTP Web Server

I need to decide between various Java technologies to install on a Linux server.

My back end (biz logic) is a Java program that must communicate with C functions using JNI. This Java program also must communicate with Oracle database (11G) using JDBC on one side, and BlazeDS residing in a Java-based Application Server on the other side (to communicate with Flash plug-in on client side). I also need an HTTP web server.

Not knowing much about Java, I wonder what the highest performance (e.g. fastest) and/or cleanest solution might be.

For example, should I install JDK on the server to provide JNI functionality, then then use Tomcat for everything else? Or, does Tomcat also include JNI? Or would something like JBoss which includes J2EE and serveletts capability be better, since it does everything in one package?

Just trying to learn any conventional wisdom about possible solutions, and pros and cons about going one way versus another.

Upvotes: 2

Views: 957

Answers (2)

Gil
Gil

Reputation: 3334

G-WAN is an HTTP server (critera #3) which executes Java scripts that can use Jar and other Java classes (criteria #2) while at the same time run C/C++ scripts (criteria #1).

The advantage of this solution is that you will have only one program running (no intermediate layers, no wrappers).

Disclamer: I am involved in the development of this project.

Upvotes: 1

mikera
mikera

Reputation: 106391

Any Java runtime environment can do JNI - so by implication if you have any application server (e.g. Tomcat or JBoss) running then you should be able to do JNI just fine.

Tomcat would be perfectly fine for what you are describing.

  • It's a popular lightweight application server
  • It supports servlets and JSPs so works well for serving HTML
  • It's probably a bit simpler to get started with than a full JBoss setup

On the other hand JBoss is great as well.

  • More of an "Enterprisey" focus - you can optionally get excellent commercial support from Red Hat
  • Might make sense if you wanted to leverage some of the other products in the JBoss ecosystem

I basically think both would serve your needs. I'd probably suggest writing a simple servlet-based application and try deploying it to both Tomcat and JBoss to see which one you prefer. If you stick to standard servlet features then your app should run on both Tomcat and JBoss so you can keep your options open.

The other thing to consider early is tool support - make sure you get comfortable and happy with your Java IDE tooling for your app development. My personal choice is Eclipse, which has great support via plugins for both JBoss and Tomcat. But most of the other major Java IDEs like IntelliJ IDEA or Netbeans should serve your purposes as well.

Upvotes: 1

Related Questions