Connect to JD Edwards Data in JRuby

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Create a simple JRuby app with access to live JD Edwards data.

JRuby is a high-performance, stable, fully threaded Java implementation of the Ruby programming language. The CData JDBC Driver for JD Edwards makes it easy to integrate connectivity to live JD Edwards data in JRuby. This article shows how to create a simple JRuby app that connects to JD Edwards data, executes a query, and displays the results.

Configure a JDBC Connection to JD Edwards Data

Before creating the app, note the installation location for the JAR file for the JDBC Driver (typically C:\Program Files\CData\CData JDBC Driver for JD Edwards\lib).

JRuby natively supports JDBC, so you can easily connect to JD Edwards and execute SQL queries. Initialize the JDBC connection with the getConnection function of the java.sql.DriverManager class.

The driver connects to JD Edwards through your Application Interface Services (AIS) Server. Set the following connection properties:

  • URL: The base HTTPS URL of your AIS Server (e.g., https://jde-ais.example.com:8300).
  • User: Your JD Edwards username.
  • Password: Your JD Edwards password.
  • Environment (optional): The JD Edwards environment to use (e.g., PD920 for production or DV920 for development). If not specified, the AIS Server's default environment is used.
  • Role (optional): The JD Edwards role for the session. If not specified, the AIS Server's default role is used.
  • DeviceName (optional): An identifier for the connecting device or application, used for auditing and logging on the AIS Server.
  • Jasserver (optional): The specific Java Application Server (JAS) instance to route requests through, useful in clustered environments.

Choosing Which Data Is Exposed

JD Edwards organizes tables and business views by System Code, and the driver exposes each System Code as its own schema. Use these properties to control which schemas are available:

  • DataModel: One or more ERP modules (comma-separated) whose System Codes are exposed as schemas, or All to expose every System Code in the connected instance. Defaults to FinancialManagement.
  • SystemCodes: A comma-separated list of additional System Codes to expose alongside those from DataModel (e.g., 42,43).

When you connect, the driver sends your credentials to the AIS Server to obtain a session token and caches it. The driver requests a new token automatically before the session expires.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the JD Edwards JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.


java -jar cdata.jdbc.jdedwards.jar

Fill in the connection properties and copy the connection string to the clipboard.

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

Below is a typical JDBC connection string for JD Edwards:


jdbc:jdedwards:URL=https://your-jde-environment-app.example.com;User=admin;Password=myPassword;

Create a JRuby App with Connectivity to JD Edwards Data

Create a new Ruby file (for example: JDEdwardsSelect.rb) and open it in a text editor. Copy the following code into your file:


require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for JD Edwards 2018/lib/cdata.jdbc.jdedwards.jar'

url = "jdbc:jdedwards:URL=https://your-jde-environment-app.example.com;User=admin;Password=myPassword;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT DocumentNumber, Amount FROM AccountsPayable.AccountLedger")
while (rs.next) do
  puts rs.getString(1) + ' ' + rs.getString(2)
end

With the file completed, you are ready to display your JD Edwards data with JRuby. To do so, simply run your file from the command line:


jruby -S JDEdwardsSelect.rb

Writing SQL-92 queries to JD Edwards allows you to quickly and easily incorporate JD Edwards data into your own JRuby applications. Download a free trial today!

Ready to get started?

Download a free trial of the JD Edwards Driver to get started:

 Download Now

Learn more:

JD Edwards Icon JD Edwards JDBC Driver

Rapidly create and deploy powerful Java applications that integrate with JD Edwards data including AccountLedger, ProposalofPayment, ContractRevenueSummary, EmployeeEnrollment, RentIncreaseAmounts, and more!