Rational Application Developer & WebSphere Developer for zSeries Version 6.0.1.1

advertisement
Rational Application Developer
&
WebSphere Developer for zSeries
Version 6.0.1.1
Accessing DB2 for z/OS Setup
Instructions
Author: Mark Evans.
Rational – EGL Development
IBM Software Group
Page 1 of 27
Connecting to DB2 for z/OS using the DB2 Universal Driver JDBC
driver
Note: prior to starting to setup, you will need:
1. A valid DB2 Connect license as this is the product that allows JDBC access between a client
machine (e.g. Windows and DB2 on z/OS) and the host server machine.
To have a valid license, you need to either:
a. Have DB2 Connect (any version) installed on your machine (no configuration is required)
b. Have DB2 UDB installed and have access to a licensed copy of the
db2jcc_license_cisuz.jar file and it is in a folder accessible to your machine
c. Have access to DB2 Connect on a Gateway Server
The rest of these setup instructions assume you have either used option a.) or b.) and the
resulting db2jcc_license_cisuz.jar is contained in the <DB2installdir>\java folder.
2. DB2 for z/OS configured to accept TCP/IP requests from a client.
This would done using the Distributed Data Facility
3. Connection information for the DB2 on z/OS database.
You will need the following information in order to configure your connection to DB2 for z/OS.
a. DB2 on z/OS Location Name (NRARDSN7 below)
b. TCP/IP Domain name that the DB2 system (or hostname) runs on
c. TCP/IP port (TCPPORT below) that DB2 on z/OS listens on for incoming requests
NOTE: This information is written to the z/OS system console when the Distributed Data
Facility (DDF) of DB2 for z/OS is started (see next screen shot). Your DB2 on z/OS DBA
should be able to provide this information.
For this document, the following values are used for the DB2 on z/OS system:
Location
Domain/hostname
TCPPORT
NRARDSN7
carmvs1.pok.ibm.com
3504
Page 2 of 27
Overview:
When using EGL to access a DB2 on z/OS database there are 3 places that you might need to specify a
connection to your DB2 for z/OS database depending on what functionality you are using to access the
database – which includes:
1. Using the EGL SQL Retrieve functionality to create record definitions.
2. Using the EGL Data Parts or EGL Data and Pages Wizard
3. Accessing the database from a Web Application running with the WebSphere Application Server
V6 installed with Rational Application Developer V6.
Each will be explained in the following pages:
Page 3 of 27
1. Using the EGL SQL Retrieve functionality
EGL SQL Retrieve contains functionality that allows a developer to retrieve the database definitions from
the DB2 database catalog.
Database connection information needs to be specified to enable the retrieve functionality. This is done
using the EGL preferences named SQL Database Connections. Please see the following steps to
configure this preference.

Open up the Preferences dialog under the Window Menu option

Expand the EGL category in the preferences dialog and choose the SQL Database
Connections subcategory and change the following fields to specify the details for the host
system (see following screen shot for final values).
o
o
o
o
o
o
o
o
Connection URL:
jdbc:db2://hostname:tcpport/location
Database:
Location Name
User ID:
Valid Logon ID for z/OS system (in upper case)
Password:
Valid password for Userid (in Upper Case)
Database Vendor: DB2 Universal Database for your DB2 on z/OS level
JDBC Driver:
IBM DB2 Universal Driver
JDBC Driver Class: com.ibm.db2.jcc.DB2Driver
Class Location (use browse button if necessary):
D:\sqllib\java\db2jcc.jar;D:\sqllib\java\db2jcc_license_cisuz.jar
where:



o
d:\sqllib\java would be either your DB2 install directory or the directory
where the required jar files are copied.
db2jcc.jar contains the base DB2 functionality to access any database
db2jcc_license_cisuz.jar contains the DB2 connect license to enable
access to a z/OS DB2 database.
Secondary Authentication ID: Specifies an alternate schema name if using unqualified
table names (no schema) in the EGL SQL Record definitions (not used in our scenario)
Page 4 of 27
Screen shot with Final Setting for the EGL->SQL Database Connections
Page 5 of 27
2. Connections for – and using the EGL Data Parts or EGL Data Parts
and Pages Wizard
EGL provides a wizard to allow you to build EGL Data parts (Records and data items) and additionally
web pages based on the DB2 Table Definitions. The starting point for this wizard is to identify a
database to connect to in order to retrieve the list of available tables. The details of the database
connection can be specified as one of the first steps of the wizard or a connection definition can be setup
independently and then referred to in the data parts wizard. This document will show how to setup the
connection definition independently and then how to refer to it in the wizard.

Open the Data Perspective by selecting Window->Open Perspective->Data

The Data Perspective will appear as follows:
Page 6 of 27

Select anywhere in the Database Explorer View (lower left hand corner), right-mouse click,
select New Connection. You will see the following:

Select the Choose a database manager and JDBC driver radio button, and give the connection
a descriptive name. (as shown below)
Page 7 of 27
Page 8 of 27

Select Next> to continue to the following screen

Here we
o
o
o
Expand DB2 Universal Database and select for z/OS and OS/390 V7 (or V8 depending
on your host system)
For the JDBC driver, choose IBM DB2 Universal. from the pull down
Enter the following to be able to connect the DB2 Database on your host system:
Our Example Settings
Database (location)
Host (domain)
Port Number (tcpport)
Class location:
NRARDSN7
carmvs1.pok.ibm.com
3504
d:\sqllib\java\db2jcc.jar;d:\sqllib\java\db2jcc_license_cisuz.jar
NOTE: Your default class location may be different, but correct. You can use the browse
button to navigate to confirm the file location or find them if they are somewhere else )
o
o
User ID (host user id):
MEVANS
Password: (host password) ********
NOTE the connection URL format: jdbc:db2://<host:port/DBNAME> is built for you as
you enter values.
Page 9 of 27

You can Test the Connection by clicking on the Test Connection button:

Select OK to clear the confirmation screen and then click on the Next > button.
Page 10 of 27

A dialog is presented to allow you to specify which schemas to use when the information is
retrieved. This dialog will be modified as noted below and the resulting screen capture is below:

Because we don’t want to import every table in the our database (e.g. NRARDSN7) database we
would want to filter everything out except the schema we will use on our project. To do this:
o
o
Select the Meet all conditions radio button.
Click on the Add button and in the Filter entry field, enter the schema we would like to
use (e.g DRBRUCE in this case)
o
Click on the OK button to continue.
o
When done the screen will look like the New Database Connection screen capture
above.
Page 11 of 27

Continue on by selecting the Next > button.


Unless you need to specify a different package owner or Build owner, then use the defaults
Continue on by selecting the Next > button. You will see the following confirmation screen:
Page 12 of 27

Click on the Finish button. Respond no when asked if you want to copy the contents to a Project
folder.

Once connected you would see the following in the Database Explorer View. This represents
the list of tables qualified with the defined schema

You are now connected to DB2 on the Host via the DB2 Universal DB2 Driver in the data
Perspective.

If using the EGL Data Parts wizard, you can choose this named Connection as shown below:

NOTE: If you want to change any details related to the connection such as changing your user
id, changing your password, or changing the schema filter, then you can edit the connection by
selecting the connection in the Database Explorer View, right-mouse click, and select edit
connection.
Page 13 of 27
3. Connections for Accessing DB2 for z/OS from WAS V6
With EGL you can write web applications whose database logic can be generated in Java code running in
the WebSphere Application Server. This Java code can access DB2 on z/OS databases. For test
purposes, by default a copy of the WebSphere Application Server V6 is installed with either Rational
Application Developer or WebSphere Developer for z/Series. This copy of the server is used to test
your EGL program.
When you test an EGL web application, the EGL program connects through something called a JNDI
name. This is a symbolic name that refers to a data source connection which in turn maps to the real
database. This mapping and the details of the database connection are specified within the WebSphere
Application Server and are used when the application requests a connection to the JNDI name.
In our scenario, we are going to use the JNDI name, jdbc/NRARDSN7 in our setup info to connect to the
NRARDSN7 database on the z/OS host.
The JNDI name needs to be named in the EGL build descriptor used for generation or debug and also
listed as a reference in the Web Archive deployment descriptor (the file web.xml). If you specified the
JNDI name when you created the web project, then the reference will be created for you. If you did not,
then you will need to add the reference to your web deployment descriptor (found in
<webprojectname>\WebContent\WEB-INF\web.xml on the references tab). Below is a screen capture of
an already specified reference using the JNDI name. If you don’t have this, then click the Add button and
fill in the rest of the entry fields as shown.
Page 14 of 27
After confirming/setting up the reference, the next step is to define the database (using a datasource) and
the mapping to the JNDI name to the WebSphere application Server. To do this:


Make sure you are in a Web Perspective
Start the WebSphere Application Server as it has to be started to use the WAS Administrative
Console which is needed for this setup. The can be done by either:
o Choosing the JSP and with the right-mouse click, select Run->run on server. If it is not
started, it will start the server for you.
o Switch to the servers view and selecting the server and choosing Start (from the context
menu).

Once the server is started, choose to Run the Administration Console by selecting the server in
the Servers view and then right-mouse click, Run administrative console
Page 15 of 27

The Admin Console view will open up. Maximize it by double-clicking on the tab where the words
“Admin Console” are written.
Page 16 of 27

Enter any User ID (arbitrary within your test WAS) and press Log In. The following screen will
appear:
Page 17 of 27

First, you need to define a userid and password to use in the connection to the DB2 on z/OS
system. This is done using the Security section of the Admin Console. So, expand Security
and select Global Security. The following screen should appear:

Expand the JAAS Configuration on the right hand side, and select J2C Authentication Data.
The following screen will appear
Page 18 of 27
You may or may not already have entries depending on what other web application testing you
have already been doing.

Click the New button to add a new entry for the host User id and Password. The following screen
appears and should be filled in as described following the screen shot.
Alias
User ID
Password
Arbitrary name (e.g. HostMEVANS)
Host Logon User ID (in upper case)
Host Logon Password (in upper case)
Page 19 of 27

Click the Apply button and then choose save (the link) in the Messages box (see below)

Click the Save button to confirm saving the information
Page 20 of 27

Expand the Resource category and choose JDBC providers. The following screen will appear:

If there is already a DB2 Universal JDBC Driver Provider in the list of providers, select the link to
continue and skip this step.
If not, then click New to define a new JDBC provider. On the first screen to appear (below) select
the following values:
Step 1: Database Provider
DB2
Step 2: Select the Provider Type
DB2 Universal JDBC Driver Provider
Step 3: Select in the implementation type
Connection Pool Data Source
Page 21 of 27
Click Next and on the next screen (not shown), use the defaults (values specified will be in the
screen shot for the next step).
Click Apply and save on this screen (as noted above for the user id settings). You will be
returned to the panel above with the listing of the JDBC Providers. Select the DB2 Universal
JDBC Driver Provider link.
Page 22 of 27

The following screen shot appears when the DB2 Universal JDBC Driver Provider Link is
selected.
Page 23 of 27

Select Data Sources under Additional Properties, and the following screen appears

Choose New to add the data source (database connection) information and the following screen
appears.
Change fields in the upper half as follows:
Name (Arbitrary, but meaningful)
JNDI name (name in web.xml reference)
NRARDSN7
jdbc/NRARDSN7  note…case must match
Page 24 of 27

Scroll down to the bottom of the page
Set the following:
Component Managed authentication alias
Alias created in previous security step
e.g. mevansT40Node01/HostMEVANS
Container-managed authentication alias
Alias created in previous security step
Database Name (location)
NRARDSN7
Driver Type
4 (default)
Server Name (domain/hostname)
carmvs1.pok.ibm.com
Port Number (TCPPORT)
3504

After setting these fields, click Apply and then save (as in previous steps) (may need to scroll to
top)

The new data source should appear in the list.
Page 25 of 27

When you defined the JDBC provider, by default, WebSphere Application Server uses a variable
named “DB2UNIVERSAL_JDBC_DRIVER_PATH” to identify the path/directory of the DB2 jar
files. Therefore, you need to set the value of this variable to the path/directory.
To do this, expand the Environment category and select WebSphere Variables. The following
screen should appear.
Page 26 of 27

If not already set (the column has a blank value), then select the
DB2UNIVERSAL_JDBC_DRIVER_PATH by clicking on it. The following dialog will appear:

Set the value field to the path/directory that contains the Db2 jar files (e.g. db2jcc.jar). In this
case, they are in my DB2 install directory, d:\sqlllib\java.

Click the Apply button and save the configuration as before.

Logout of the Admin Console, by clicking logout in options at top of the page and close the
Admin Console.

In the servers view, restart the server.
Congratulations….you should be ready to use the DB2 for z/OS with your EGL web
application when running under WAS!!!
Page 27 of 27
Download