Hello,
I want to share my experience about one of my projects and say thank you to the community.
Scenario :
My company's ERP system is SAP and rent a procurement system for bid.
It's architecture bases on Webshpere5 and Oracle and IBM Java 1.4. The
provider informed us that they decide to close this bid platform on
2016/03/31 about 3 month ago.
The good news is that they can give us the complete source
code. But we don't have Webshpere and another Oracle License for this
system. Fortunately, I found that there is a PostgreSQL wiki site
providing useful information about tools and migration tips. After doing
some analysis, I decide to use Jetty 9 and PostgreSQL 9.1 and Oracle
Java 1.7 to replace them. Transferring data is another problem. I decide
to use Pentaho Data Integration tool. It is an ETL tool. I can learn
about the status of transferring until the job was done. It helps me to
keep the consistency of data in Oracle and PostgreSQL.
After
modifying many SQL commands to be suitable for PostgreSQL and settingĀ
web.xml for Jetty, our procurement system can be active successfully
without Webshpere and Oracle. However, its performance is poorly. I
found that there are two problems to result in this situation. One is
that JVM will crash accidentally. The other is that sometimes JDBC could
not connect to PostgreSQL.
Fortunately, Jetty is flexible
and Java's garbage collection log provides useful information. I can
tune JVM with different parameters while initiating Jetty. The last
problem is JDBC. It use DBCP 1.3 as default to connect database.
According to our new architecture, I replace DBCP with
PGConnectionPoolDataSource.
Now our system is running
smoothly with this kind of architecture. I also use some PERL scripts to
transfer data and JCO RFC to perform SAP's transaction.
Thank You All !
Regards,
Chingyuan