| IBM IT Education Services   VSE Connectors   Workshop   Setup of VSAM Redirector   WAVV 2004   © 2004 IBM   Corporation   VSE/ESA 2.6/2.7   VSAM Redirector   The VSAM Redirector is a new VSE/ESA connector, introduced with VSE/ESA   2.6. The VSAM Redirector allows you to redirect all requests to a certain VSAM   file into any other file system or database on any other (Java-enabled) platform.   VSE/ESA is the client, while the server part runs on any other Java-enabled   platform like Windows.   For example you could use the VSAM Redirector to synchronize a VSAM file with   a DB2 database running on a Windows. By using the VSAM Redirector your   existing VSAM programs doesn't require any revisions.   The VSAM Redirector makes use of a so called VSAM Data Access Exit (VDA).   This exit intercepts all VSAM requests. The exit gets control at OPEN, CLOSE,   and for all data requests (GET, PUT, INSERT,...).   A configuration table is used to define which VSAM files are being "redirected".   The VSAM Redirector Client on VSE forwards all requests against a redirected file   to the VSAM Redirector Server which then handles the request.   The VSAM Redirector Server is a Java application. It can run on any Java   enabled platform.   Redirect VSAM requests to a HTML   page on Windows - Overview   Initial state:   ÎYou have a VSAM file that contains data   (FLIGHT.ORDERING.ORDERS)   ÎYou have applications that work with that VSAM file   (i.e. batch applications, CICS Application, tools like Ditto )   Goal:   ÎRedirect all VSAM INSERT requests to a HTML page on   Windows   ÎThis operation can be done with existing applications (without   changing/touching them)   NOTE: The VSAM Redirector Server does NOT require the   VSE Connector Client on Windows   TCP/IP   Apache   Program   HTML   page   CICS   Transaction   batch   Handler   VSAM Request   Redirector client   Redirector server   VSAM   VSE/ESA 2.6   Chapter1: Steps for installation   of VSAM Redirector server on   Windows   STEP1.1: Navigate to VSE Redirector Server home page   Open the VSE Homepage with a web browser:   Click on "Service and Support" on the left side   and then on "e-business connectors and utilities".   The page you see contains the VSAM Redirector Server and some tools   that can be downloaded for free.   Navigate to the VSAM Redirector Server which   represents the remote component of the VSAM Redirector.   Click on:   Details and Download   The page explains the most important functions of the   VSAM Redirector Server, which is the Java part of the   VSAM Redirector function.   Steps for installation on a   workstation   STEP1.2: Verification if Java environment installed   To install the VSAM Redirector a Java Virtual Machine must   be installed on Windows.   yTo just run Java programs, the JRE 1.3.x or later is needed   (Java Runtime Environment),   yto develop/compile Java programs, JDK 1.3.x or later is needed   (Java Developer Kit, which includes the JRE).   To verify if a Java Virtual Machine is installed, open a command prompt and   hit command:   java -version   You should see something like:   Java version "1.3.1"   Java(TM) 2 Runtime Environment, Standard Edition   If the messages above are shown go to STEP1.4.   STEP1.3: Install JDK if not on the system   If following message is shown:   'Java' is not recognized as an internal or external command,   operable program or batch file.   - > your system has no Java virtual machine (Runtime Environment) installed.   To install a Java Virtual machine on the PC do:   On the same HTML page (Service and Support -> VSE e-business   Connectors):   VSAM Redirector Server -> Details and Download   in section: Installation you will find a link were you can download the Java   Developer Kit from IBM.   Install the downloaded JDK 1.3.x. or later and reboot the workstation.   Steps for installation on a   workstation   STEP1.4: Download VSE Redirector server Code   With Java installed, navigate on VSAM Redirector Server -> Details and   Download to:   Download latest Code via HTML   and click on: redir270-pq74694.zip (VSE 2.6 and 2.7). The file name may   vary since it contains an APAR number. Please make sure you have   applied the corresponding APAR on your VSE system.   The download process will be started. You will be prompted to specify   where to save the code. Save it in a place you remember later on.   Download via FTP:   An alternative to the HTML download can be an FTP download if the   code is on a FTP server.   For that issue commands:   ftp <ppp.xxx.yyy.zzz>   cd <pub>   bin   mget *.zip   After the code is downloaded it must be unzipped.   The ZIP file contains the following files:   install.class, install.bat, install.cmd, install.sh   Note: The VSAM Redirector server is also shipped and installed with the   VSE base product in Library PRD1.BASE as member iesvsmrd.w   You can download it from there in binary format and rename it to   redir27.zip. But the newest level will always be on the Internet.   Steps for installation on a   workstation   STEP1.5: Install VSE Redirector Server   To install the VSAM Redirector server, open a Windows command line and   change current directory to the one where install.class resides.   Type:   java install   or start the install program install.bat   This will guide you trough the installation process of the VSAM Redirector   Server.   The VSAM Redirector Server consists of:   ythe VSAM Redirector Server code   ya detailed HTML documentation about the functions and   possibilities   ytwo sample handlers, one for relational databases (i.e.DB2) and   one for HTML   yThe HTML handler allows, to collect data inserted into a   VSAM cluster, on a HTML page on Windows   yThe DB2 handler allows the synchronization of a VSAM   cluster with a remote DB2 database   ydocumentation how to develop own handlers.   NOTE: The VSE Redirector Server does NOT require the   VSE Connector Client   Verify installation of   VSAM Redirector Server   STEP1.6: Verify Redirector server Documentation   To verify that the VSAM Redirector Server is installed properly,   open the HTML Documentation   (For Windows: START -> Programs -> VSAM Redirector -> Online Help   Th STEP1.7: Start VSE Redirector server   To start the VSAM Redirector Server, execute:   run.bat in the <redirector> directory or   use START -> Programs -> VSAM Redirector -> Start Server)   • Commands for Redirector server:   status - shows the status of the server   stop x | all - stop client with number 'x' (show in status) or stop all clients   quit - stop all clients and exit server   Redirect a VSAM requests to a   HTML page   STEP1.8: Redirector Server -> Handler   To be able to work with VSAM data on another platform (ASCII), the most   important component is the Handler.   The handler is responsible for data manipulation and conversion. Therefore it   must know the structure (mapping) of the VSAM record.   The handler used in the workshop is the HtmlHandler.class   stored in directory: <redir>\com\ibm\vse\htmlhandler   The handler needs a map to split the record into fields. This map does not need   to be defined on the VSE system, but you can reuse a already defined map.   A map for a VSAM cluster can be defined with the Maptool, VSE Navigator or   IDCAMS RECMAP utility.   We work with the VSAM Cluster FLIGHT.ORDERING.ORDERS   The ORDERS_MAP is already defined.   In the used HTML handler <redir>com\ibm\vse\htmlhandler\HtmlHandler.java   the mapping is hard coded.   The Record Layout of the ORDERS Cluster is defined as follows:   Offset Length Type   Key Field Name   Description   ----------------------------------------------------------   0 20   20   4 4 1 STRING no   STRING no   UNSIGNED no   UNSIGNED no   BINARY no   FIRST_NAME   LAST_NAME   FLIGHT_NUMBER Flight Number   SEATS   NON_SMOKE   First Name   Last Name   20   40   44   48   Seats   Smoker 0=no   The Record length is 49 Bytes   The Record Layout is reflected in the Map ORDERS_MAP   Chapter2: VSE Settings to   redirect a VSAM cluster   STEP2.1: Configuration for Redirector Client on VSE\ESA   To redirect requests for the:   • VSAM cluster: FLIGHT.ORDERING.ORDERS.TEAMxx   • in VSAM catalog: VSESP.USER.CATALOG   We have to setup the Configuration phase (IESRDCFG.PHASE).   In this phase we have to define which VSAM cluster should be redirected to which   remote location, and eventually filter which requests.   For that a skeleton in ICCF Library 59 is shipped, called SKRDCFG   It was copied to your primary library.   The definitions for the redirected file were extracted into member RDCFGxx   were xx is your team ID   This was done to be able to build at the end one phase with the settings from all   attendees.   Edit skeleton RDCFGxx:   Change the sample entry in the configuration as shown below.   Enter CASE M in the command line to switch to mixed case mode before editing.   IESRDENT CATALOG='VSESP.USER.CATALOG’,   CLUSTER=‘FLIGHT.ORDERING.ORDERS.TEAMxx',   EXIT='IESREDIR',   X X X X X OWNER=VSAM,   IP='<ip-addr>',   HANDLER='com.ibm.vse.htmlhandler.HtmlHandler', X   OPTIONS=‘’   The most important parameter is OWNER:   OWNER=VSAM means the READ requests will be done from the VSAM cluster   and the INSERTS will be done to VSAM and to the remote site specified in IP.   That means a synchronization takes place.   OWNER=REDIRECTOR means all requests are redirected to the remote site.   VSE Settings to redirect a VSAM   cluster   In your skeleton SKRDCFG consider:   – – – – let the job load IESRDCFG into the SVA (Step 2)   let the job copy IESVEX01 to IKQVEX01 in PRD2.CONFIG (Step 3)   let the job load IKQVEX01 into the SVA (Step 4)   do NOT let the job load IESRDANC into the SVA, because it has already be   done (Step 5)   – – let the job execute IESRDLDA to register the new configuration (Step 6)   submit SKRDCFG and check for RC=0000 (this is only to test for errors)   If the RC=0 tell the instructor and he’ll activate your definitions.   STEP2.2: Access the VSAM file with Ditto   Make sure the Redirector server is started on your Windows (STEP1.7)   Use Ditto (2) Edit or update data -> (1) Edit VSAM data   Enter the VSAM cluster name: FLIGHT.ORDERING.ORDERS.TEAMxx   Enter the catalog name: VSESP.USER.CATALOG   Monitor the Redirector server console on Windows and press <ENTER>   You must see the connection messages.   On VSE:   1.   2.   3.   4.   5.   You should see the preloaded records from VSAM file (if OWNER=VSAM)   Make sure Ditto works in CHAR mode (upper right corner)   Insert in the first 40 (0-39) characters of the record (first name, last name)   Change the mode Ditto works in HEX (upper right corner)   Now from position 39 you can key in the numeric fields (two times 4 byte   numbers and a binary field that can be 00 or 01 – as the map describes   them in STEP1.8)   6.   7.   8.   Add as much records as you want   At the command line hit save or press PF3   The Redirector Console on Windows should show a message that the   output.html page was created.   9.   Open the HTML page in <redir> dierctory (output.html)   You should see your inserted records only.   Change the OWNER to REDIRECTOR and you’ll see each time you open in Ditto   the cluster, it’s empty – because it will nor read from VSAM anymore.   Chapter3: Redirect a VSAM file   to HTML   STEP3.1: Change Handler to read VSAM record as string   Exit Ditto on VSE and stop the Redirector server on Windows using command quit.   The handler on Windows should be changed to be able to use string fields only.   The handler is stored in <redir>\com\ibm\vse\htmlhandler as HtmlHandler.java   Edit the file and make following changes:   1.   Change the HTML header tag to create an HTML page that will refresh itself   all 5 seconds.   <html><head><title>VSE/ESA Redirector sample</title>   <meta http-equiv=refresh content=5></head>   2.   Change the lines in the source as below to read a string of 49 char.   - Define all fields as String:   String firstname, lastname, flightnumber, seats, smoker;   - Make the changes below in the source code (it’s in the last 3-rd )   firstname = requestInfo.getString(0, 20);   lastname = requestInfo.getString(20, 20);   flightnumber = requestInfo.getString(40, 4);   seats = requestInfo.getString(44, 4);   smoker = reqeustInfo.getString(48, 1);   // smoktmp = requestInfo.getString(48, 1);   // if(smoktmp.length > 0)   //   //   //   //   if( smoktmp[0] == 0 )   smoker = false;   else   smoker = true;   ….. htmloutput.newLine();   htmloutput.flush();   Save the changed file.   To be able to compile it we have to update the CLASSPATH temporary.   set CLASSPATH=VsamRedir.jar;.;%CLASSPATH%   In <redir> type:   javac com\ibm\vse\htmlhandler\HtmlHandler.java   3. Test the changed handler.   Restart the Redirector server on Windows. In <redir> type: run.bat   Use Ditto again, in CHAR mode (right upper corner) add some records with 49   characters each. Now the output.html should refresh itself each 5 seconds and   show the inserted records.   Summary   Major Steps to install VSAM Redirector Server on a   Java Platform   9install Java Runtime Environment (JRE) or   9Java Developer Kit (JDK)   9free download from SUN or IBM   9version 1.3.x or later   9download VSAM Redirector Server   http://www-1.ibm.com/servers/eserver/zseries/os/vse/support/vseconn/redir.html   9install VSAM Redirector Server   9at a Windows command enter: java install   9Configure the VSAM clusters to be redirected on the VSE side   using skeleton SKRDCFG from ICCF lib 59.   Chapter4: Redirect VSAM requests   to a DB2 database on Windows   TCP/IP   Apache   Program   HTML   DB2 UDB   page   CICS   Transaction   batch   Handler   Handler   VSAM Request   Redirector client   Redirector server   VSAM   Initial state:   VSE/ESA 2.6   ÎYou have a VSAM file that contains data   (i.e. FFSTORES.DEMO.CLUSTER)   ÎYou have applications that work with that VSAM file   (i.e. FFST CICS Application)   Goal:   ÎRedirect all VSAM requests to DB2 UDB on Windows   ÎAccess the data with existing applications (without changing them)   NOTE: The VSAM Redirector Server does NOT require the   VSE Connector Client on Windows   STEP4.1: Define a map   To move the data into a database, you must know the format of the records.   Therefore you must do a mapping containing all fields including their offset in   the record, length and type.   – Start the VSE Navigator, connect to the VSAM host, and navigate to the VSAM   cluster FFSTORES.DEMO.CLUSTER.   – Right click the Cluster, choose "Create map definition". Enter a name for the   map, e.g. "MAP"   – Right click on the map, choose "Change map definition":   Redirect a VSAM file to DB2   Mapping of FFSTORES.DEMO.CLUSTER:   Field name   Type   Offset   Length   STOREID   STRING   STRING   STRING   STRING   STRING   STRING   STRING   UNSIGNED   UNSIGNED   STRING   STRING   STRING   STRING   0 6 STORENAME   LOCSTREET   LOCCITY   LOCZIP   6 25   25   25   10   25   20   4 31   56   81   LOCCOUNTRY   LOCREP   91   116   136   140   144   154   174   194   STOREN1   STOREN2   LDATE   4 10   20   20   10   WEBPIC1   WEBPIC2   ACODE   To verify the mapping, use the VSE Navigator to display the VSAM data.   Right click on the map, choose "Display VSAM Data". On the "Display   Filter" dialog box, press "OK" to display all records (no filter).   STEP4.2: Export the mapping to a XML File   The VSAM Redirector "Create DB2 Tables" tool reads the mapping from a   XML file.   Right click on the map and choose "Export map to XML". Enter a filename   (e.g. ffstores.xml). You will need this file in the next step.   Redirect a VSAM file to DB2   STEP4.3: Create the tables in the database   To continue with the next steps   –you must have installed a database management system (i.e. DB2).   –you must have a JDBC Driver for it (i.e. db2java.zip in <db2>\java\).   –you must be able to connect to the database (userid/password)   Make sure the JDBC driver is in the CLASSPATH. You may have to edit   the create.bat/create.cmd/create.sh batch files as well as the   run.bat/run.cmd/run.sh batch files and add the JDBC Driver Archive to   the classpath:   set CLASSPATH=.;xerces.jar;<db2>\java\db2java.zip;   %CLASSPATH%   Also the path must setup to contain the DB2 libraries.   Start the "Create DB2 Tables" utility (create.bat/create.sh or START -   Programs - VSAM Redirector - Create DB2 Tables).   The tool prompts you for the following:   –XML Filename: enter the name of the XML File you exported in the last   step (i.e. ffstores.xml)   –DB url: enter a JDBC URL for your database, i.e. jdbc:db2:sample   –DB user: enter a user id you use for accessing the database   –DB password: enter the users password   –DB table name: Enter the name of the data table, i.e. FFSTORES. This   table will later contain the VSAM data.   –Map table name: Enter the name of the table that contains the mapping   information, i.e. FFSTORES_MAP. You can use the same map table for   several clusters.   –Map name: Enter the name of the map, i.e. FFSTORES. This name is   independent from the map defined with the VSE Navigator.   –DB system: Enter 1 for DB/2, 2 for Oracle.   –The tool now imports the XML file and tries to connect to the database.   –Next, the map info table is created (FFSTORES_MAP). Enter "Yes" to   continue.   –Then, the data table is created (FFSTORES). Enter "Yes" to continue.   –Cluster Type: Enter 1 (KSDS without AIX).   –Primary key field: Enter the name of the key field: STOREID. Press   enter to create the table and indexes.   Redirect a VSAM file to DB2   Before we can work with the data in the database, we have to load the data   from VSAM into the database. To do this we define a second cluster,   redirect this cluster and copy (repro) the original cluster into the redirected   one.   STEP4.4: Define cluster FFSTORES.REPRO.CLUSTER with the same   attributes as FFSTORES.DEMO.CLUSTER:   –KSDS   –Max/Avg. record length: 210   –Key Position: 0, Keylength: 6   STEP4.5: Configure the Redirector for FFSTORES.REPRO.CLUSTER:   Copy skeleton SKRDCFG from ICCF Library 59 to your primary library.   Edit/add a entry to the configuration table. Enter CASE M in the command   line to switch to mixed case mode before editing.   IESRDENT CATALOG='VSESP.USER.CATALOG',   CLUSTER='FFSTORES.REPRO.CLUSTER',   EXIT='IESREDIR',   X X X X X X X X OWNER=REDIRECTOR,   IP='<ip-addr>',   HANDLER='com.ibm.vse.db2handler.DB2Handler',   OPTIONS='dburl=jdbc:db2:<db>;dbuser=<userid>   maptable=FFSTORES_MAP;map=FFSTORES;   dbpassword=<password>;dbtable=FFSTORES'   –let the job load IESRDCFG into the SVA (Step 2)   –let the job copy IESVEX01 to IKQVEX01 in PRD2.CONFIG (Step 3)   –let the job load IKQVEX01 into the SVA (Step 4)   –let the job load IESRDANC into the SVA, if not already done (Step 5)   –let the job execute IESRDLDA to register the new configuration   (Step 6)   –submit and check for RC=0000   Redirect a VSAM file to DB2   STEP4.6: Copy FFSTORES.DEMO.CLUSTER into   FFSTORES.REPRO.CLUSTER:   Use the IDCAMS REPRO function to copy the contents of   FFSTORES.DEMO.CLUSTER into the redirected   FFSTORES.REPRO.CLUSTER:   * $$ JOB JNM=REPRO,CLASS=A,DISP=L   // JOB REPRO COPY FILE   // DLBL COPYIN,'FFSTORES.DEMO.CLUSTER',,VSAM,CAT=VSESPUC   // DLBL COPYOUT,'FFSTORES.REPRO.CLUSTER',,VSAM,CAT=VSESPUC   // EXEC IDCAMS,SIZE=AUTO   REPRO INFILE (COPYIN) -   OUTFILE (COPYOUT) -   NOREUSE   /*   /&   * $$ EOJ   During the copy process, the VSAM Redirector Client will get control (at   open time of FFSTORES.REPRO.CLUSTER) and will connect to the   VSAM Redirector Server. In case this fails, a VSAM open error message   will be displayed.   To verify the data in the DB/2 table, issue the following SQL statement, or   use the DB/2 Control Center:   SELECT * FROM FFSTORES   Redirect a VSAM file to DB2   STEP4.7: Configure the Redirector for FFSTORES.DEMO.CLUSTER:   Edit skeleton SKRDCFG:   Change the previously created entry in the configuration table.   Enter case m in the command line to switch to mixed case mode before   editing. Change FFSTORES.REPRO.CLUSTER to   FFSTORES.DEMO.CLUSTER   IESRDENT CATALOG='VSESP.USER.CATALOG',   CLUSTER='FFSTORES.DEMO.CLUSTER',   EXIT='IESREDIR',   X X X X X X X X OWNER=REDIRECTOR,   IP='<ip-addr>',   HANDLER='com.ibm.vse.db2handler.DB2Handler',   OPTIONS='dburl=jdbc:db2:<db>;dbuser=<userid>;   maptable=FFSTORES_MAP;map=FFSTORES;   dbpassword=<password>;dbtable=FFSTORES'   –let the job load IESRDCFG into the SVA (Step 2)   –let the job copy IESVEX01 to IKQVEX01 in PRD2.CONFIG (Step 3)   –let the job load IKQVEX01 into the SVA (Step 4)   –do NOT let the job load IESRDANC into the SVA, because it has already   be done (Step 5)   –let the job execute IESRDLDA to register the new configuration   (Step 6)   –submit and check for RC=0000   STEP4.8: Finished.   You may have to reopen the VSAM file in CICS, since the VSAM   Redirector configuration becomes active at open time.   You can now work with your VSAM applications which will fully   transparently access DB2 data and think they are working with VSAM   data .   Additional Information   zVSE/ESA Home Page   ze-business Connectors User's Guide   SC33-6719   ze-business connectors tools   z ze-business Connectivity for VSE/ESA   ze-business Solutions for VSE/ESA   zServlet and JSP Programming   SG24-5950   SG24-5662   SG24-5755   SG24-6007   zLinux Web Hosting with WebSphere,   DB2, and Domino   |