Thursday, October 28, 2010

Configuring Oracle SOA Suite 11g with JDE on AS400 using JDBC

Awhile back I have attempted at using Oracle Application Adapter for JDE without much success, namely because there is no known customer currently. So I'm defaulting to JDBC as a means to connect to our JDE ERP8.

This is a guide for how to configure Oracle SOA Suite 11g to a JD Edwards ERP8 running on AS400 (iSeries). You will need to do these steps to setup your runtime environment.

  1. Download/extract IBM Toolkit for Java/JTOpen.
  2. Create a new directory, C:\Oracle\Middleware\wlserver_10.3\server\ext\jdbc\as400
  3. Copy the jt400.jar to C:\Oracle\Middleware\wlserver_10.3\server\ext\jdbc\as400\jt400.jar
  4. Edit C:\Oracle\Middleware\wlserver_10.3\common\bin\commEnv.cmd
  5. Append the new jar file in step (3) to the WEBLOGIC_CLASSPATH
  6. Restart both AdminServer and soa_server1.
  7. Goto Oracle Weblogic Administration Console (http://localhost:7001/console/)
  8. Navigate to soa_domain > Services > JDBC > Data Sources
  9. Add new JDBC Data Source, Name = AS400Connection, JNDI Name = jdbc/AS400Connection, Database Type = DB2 for i5/OS
  10. Database Driver as JTOpen's DB2 for i5/OS Driver (Type 4) IBM Toolkit for Java; Version 8.X, 9.X
  11. If you choose non-XA, remember to uncheck Supports Global Transactions.
  12. When prompted for the database port number, put in a temporary port as 60000.
  13. On the Test Database Connection screen, make sure you overwrite the database URL to match your environment, ie. jdbc:as400://JDESERVER;naming=DATASOURCE;errors=full.
  14. Deploy to target server soa_server1.
  15. If test connection failed with the error message "Cannot load driver: com.ibm.as400.access.AS400JDBCDriver", then repeat step (2) - (6)
  16. Next, create a new Outbound Connection Pool Configuration, Interface Name = javax.resource.cci.ConnectionFactory, JNDI Name = eis/DB/AS400Connection, dataSourceName = jdbc/AS400Connection.
  17. Save and run Update action on DBAdapter
  18. Done!