Experience Directory in Software

Java,J2EE,Oracle,Linux experience and workaround tips. If you have thought at least once like "How much should I learn technologies to be good enough developer?", Yes answer is here, just read this articles.All articles are made use at real project and making clients happy!

Monday, September 08, 2008

Performance improvement of Distributed Application RMI

Our application in big picture consists of 2 java applications.
One is responsible to handle the users' request for our web system, which is a J2EE application running on Tomcat4.1 corroborated with Apache HTTP Server2.0 and 
Another is responsible to  play an interface role between AS/400 based application which manages to manipulate the back-end DB and J2EE app.


[figure]
Apache+Tomcat(J2EE)   ==>  RMI app(J2SE)  ==> AS/400 => Back-end DB(DB2)


This is the simplest view of our web system,but major components are all in it.

Why the system architecture becomes like this is due to the historical reason in our project and security as well.
DB2 stores the users' confidential data, item stock data, place order data, and shipment data which all are essential.
and the member in one department in our organization managed it, and J2EE app has been managed by the member in different department.
and things didn't go smoothly at the time of system integration of AS/400 based and J2EE app..
then as a result of that, RMI use was thought and decided to use.

and now what's happened is the performance between Tomcat and RMI is very slow and 
at the busy time at around 12am noon to 14pm or so, it responds to each request very slowly.

but we did the following for improving its performance already.

1. Made tables in Oracle indexed organized tables
2. Cached the definite/constant search inquiry results in J2EE app
3. Stored static HTML file and picture file  on HTTP server
 

No comments:

The On Demand Global Workforce - oDesk