Presentation is loading. Please wait.

Presentation is loading. Please wait.

Volvo Information Technology Dept. 2540 Slide: 1 Volvo Information Technology UNIX OS/390 Win2000 2540 Java Enhancements in DB2 for z/OS and OS/390 version.

Similar presentations


Presentation on theme: "Volvo Information Technology Dept. 2540 Slide: 1 Volvo Information Technology UNIX OS/390 Win2000 2540 Java Enhancements in DB2 for z/OS and OS/390 version."— Presentation transcript:

1 Volvo Information Technology Dept. 2540 Slide: 1 Volvo Information Technology UNIX OS/390 Win2000 2540 Java Enhancements in DB2 for z/OS and OS/390 version 7 Issuer : Michael Ärlebrandt Issued : 2002-03-06 Issuer : Michael Ärlebrandt Issued : 2002-03-06

2 Volvo Information Technology Dept. 2540 Slide: 2 Volvo Information Technology Java enhancements in V7  Implements support for the JDBC 2.0 standard  required to support JDK 1.3 and products such as WebSphere version 4  JDBC 2.0 DataSource support  JDBC 2.0 connection pooling  JDBC 2.0 Distributed transaction support  Support for userid/password usage on SQL CONNECT vi URL  Java Stored Procedures using interpreted Java (JVM)  Implements support for the JDBC 2.0 standard  required to support JDK 1.3 and products such as WebSphere version 4  JDBC 2.0 DataSource support  JDBC 2.0 connection pooling  JDBC 2.0 Distributed transaction support  Support for userid/password usage on SQL CONNECT vi URL  Java Stored Procedures using interpreted Java (JVM)

3 Volvo Information Technology Dept. 2540 Slide: 3 Volvo Information Technology Java Stored Procedures in DB2 for z/OS and OS/390 Version 7

4 Volvo Information Technology Dept. 2540 Slide: 4 Volvo Information Technology Java Stored Procedures  SQLJ Part 1 specification  Can be JDBC, SQLJ, or both  Compiled Java on V5, V6 and V7  Interpreted Java support in V7  JAR files support in V7  SQLJ Part 1 specification  Can be JDBC, SQLJ, or both  Compiled Java on V5, V6 and V7  Interpreted Java support in V7  JAR files support in V7

5 Volvo Information Technology Dept. 2540 Slide: 5 Volvo Information Technology Java Stored Procedures Support  Compiled Java stored procedures  CREATE PROC … LANGUAGE COMPJAVA  Java bytecodes must be compiled with VisualAge Java bytecode binder (HPJ)  Requires JDK 1.1.8  HPJ is not being enhanced from Java 1.1.x Language COMPJAVA will not be supported in next version of DB2 for z/OS.  Interpreted Java stored procedures  CREATE PROC … LANGUAGE JAVA  Java programs stored in JAR files in DB2 catalog  Exploits new IBM JVM technology  Compiled Java stored procedures  CREATE PROC … LANGUAGE COMPJAVA  Java bytecodes must be compiled with VisualAge Java bytecode binder (HPJ)  Requires JDK 1.1.8  HPJ is not being enhanced from Java 1.1.x Language COMPJAVA will not be supported in next version of DB2 for z/OS.  Interpreted Java stored procedures  CREATE PROC … LANGUAGE JAVA  Java programs stored in JAR files in DB2 catalog  Exploits new IBM JVM technology

6 Volvo Information Technology Dept. 2540 Slide: 6 Volvo Information Technology Requirements for Java JVM SP  IBM Developer Kit for OS/390, Java(TM) 2 Technology Edition with Persistent Reusable Java Virtual Machines  Currently running in Volvo production environment  JDBC 2.0 driver delivered with DB2 v7  Installed in Customer Test environment, VT01/03  All stored procedures are “shared classes”  not reinitialised between invocations  Performance approximately equal to HPJ  IBM Developer Kit for OS/390, Java(TM) 2 Technology Edition with Persistent Reusable Java Virtual Machines  Currently running in Volvo production environment  JDBC 2.0 driver delivered with DB2 v7  Installed in Customer Test environment, VT01/03  All stored procedures are “shared classes”  not reinitialised between invocations  Performance approximately equal to HPJ

7 Volvo Information Technology Dept. 2540 Slide: 7 Volvo Information Technology Java constructs  JAR - Java Archive file collection of classes (binary)  CLASS - collection of java objects and/or methods (abc)  METHOD - Java program (method1)  SIGNATURE - Parameter types (int,String[]) JAR V012345.MY_JARFILE Class abc { static void method1 (int,String[]){ ….. }

8 Volvo Information Technology Dept. 2540 Slide: 8 Volvo Information Technology The Big Picture OS/390 System DRDA or JAVA or Native CLIENT Exec SQL CALL PROC x DB2 catalog entry Identify C1 Identify C2 Return parms C1 rows C2 rows WLM SP Address Space Driver: Find Java package Load and Execute Java method USS WLM JAR Java Method JDBC Driver /u/classes/ SDK 1.3.1

9 Volvo Information Technology Dept. 2540 Slide: 9 Volvo Information Technology Tasks for OS/390 System Programmer  Set up WLM environment, address space JCL  Set up JAVAENV with “home” directories  Use JSPDEBUG DD in development, not in production  Keep NUMTCB low, suggest 7 or less  Provide.profile for users  Set up WLM environment, address space JCL  Set up JAVAENV with “home” directories  Use JSPDEBUG DD in development, not in production  Keep NUMTCB low, suggest 7 or less  Provide.profile for users //D2Y0WLM PROC RGN=0K,APPLENV=XXXXXXXX,DB2SSN=D2Y0,NUMTCB=7... //JAVAENV DD DISP=SHR,DSN=F1D2VT2.PROD.D2Y0.JAVAENV //JSPDEBUG DD SYSOUT=* ONLY USE THIS IN TEST

10 Volvo Information Technology Dept. 2540 Slide: 10 Volvo Information Technology JAVAENV DD Card  Dataset containing RUNOPTS  Applies to entire WLMENV, not individual SPs  Must set JAVA_HOME  IBM JDK 1.3 with special enhancement  Must set DB2_HOME  JDBC/SQLJ Driver directory  Optionally set CLASSPATH  Directory for user classes not in JAR  all SP classes are shared  Limited to 245 characters  Dataset containing RUNOPTS  Applies to entire WLMENV, not individual SPs  Must set JAVA_HOME  IBM JDK 1.3 with special enhancement  Must set DB2_HOME  JDBC/SQLJ Driver directory  Optionally set CLASSPATH  Directory for user classes not in JAR  all SP classes are shared  Limited to 245 characters

11 Volvo Information Technology Dept. 2540 Slide: 11 Volvo Information Technology JAVAENV DD Card Example Organization... : PS Record format... : VB Record length... : 1028 Organization... : PS Record format... : VB Record length... : 1028 ENVAR("CLASSPATH=/home/v070674/classes", "JAVA_HOME=/usr/lpp/java/IBM/J1.3", "DB2_HOME=/usr/lpp/db2/db2710"), MSGFILE(JSPDEBUG,,,,ENQ) ENVAR("CLASSPATH=/home/v070674/classes", "JAVA_HOME=/usr/lpp/java/IBM/J1.3", "DB2_HOME=/usr/lpp/db2/db2710"), MSGFILE(JSPDEBUG,,,,ENQ)

12 Volvo Information Technology Dept. 2540 Slide: 12 Volvo Information Technology Install and Maintain JAR files  DB2 v7 built-in utility Stored Procedures  As per SQLJ specification  Invoked with CALL statement  INSTALL_JAR Installs the Java Archive file into the DB2 catalog as a LOB from the OS/390 HFS JAR file contains one or more Stored Procedures  REPLACE_JAR  REMOVE_JAR  new JAR authorisation  GRANT USAGE ON JAR  DB2 v7 built-in utility Stored Procedures  As per SQLJ specification  Invoked with CALL statement  INSTALL_JAR Installs the Java Archive file into the DB2 catalog as a LOB from the OS/390 HFS JAR file contains one or more Stored Procedures  REPLACE_JAR  REMOVE_JAR  new JAR authorisation  GRANT USAGE ON JAR

13 Volvo Information Technology Dept. 2540 Slide: 13 Volvo Information Technology Interpreted Java SP Example /* SQLJ Stored Procedure V070674.Sp003 */ package s3; import java.sql.*; // JDBC classes import sqlj.runtime.*; import sqlj.runtime.ref.*; #sql iterator Sp003_Cursor1 ( String, String ); public class Sp003 { public static void sp003 (String[] text, ResultSet[] rs ) throws SQLException, Exception { Sp003_Cursor1 cursor1 = null; #sql cursor1 = { SELECT ID,NAME FROM Q.STAFF ORDER BY 1 FETCH FIRST 10 ROWS ONLY }; rs[0] = cursor1.getResultSet(); text[0] = " SQLJ SP ended successful"; } } /* SQLJ Stored Procedure V070674.Sp003 */ package s3; import java.sql.*; // JDBC classes import sqlj.runtime.*; import sqlj.runtime.ref.*; #sql iterator Sp003_Cursor1 ( String, String ); public class Sp003 { public static void sp003 (String[] text, ResultSet[] rs ) throws SQLException, Exception { Sp003_Cursor1 cursor1 = null; #sql cursor1 = { SELECT ID,NAME FROM Q.STAFF ORDER BY 1 FETCH FIRST 10 ROWS ONLY }; rs[0] = cursor1.getResultSet(); text[0] = " SQLJ SP ended successful"; } }

14 Volvo Information Technology Dept. 2540 Slide: 14 Volvo Information Technology Java Stored Procedures Differences A Java SP differs from procedures in other languages  PARAMETER STYLE JAVA  Output parameters are single-element arrays  Because Java doesn’t allow modifying parms  Result sets are in method signature as outputs  Because “with return” is not universal  Mapping beetween datatypes A Java SP differs from procedures in other languages  PARAMETER STYLE JAVA  Output parameters are single-element arrays  Because Java doesn’t allow modifying parms  Result sets are in method signature as outputs  Because “with return” is not universal  Mapping beetween datatypes

15 Volvo Information Technology Dept. 2540 Slide: 15 Volvo Information Technology Preparing SQLJ Stored Procedure  Translate the SQLJ program  sqlj Sp003.sqlj  Compile the generated java program  javac Sp003.java  Customize the serialized profile  db2profc -pgmname=SP003 Sp003_SJProfile0.ser  Create the JAR file  jar -cvf Sp003.jar s3/Sp003.class s3/Sp003_Cursor1.class s3/Sp003_SJProfile0.ser s3/Sp003_SJProfileKeys.class  Translate the SQLJ program  sqlj Sp003.sqlj  Compile the generated java program  javac Sp003.java  Customize the serialized profile  db2profc -pgmname=SP003 Sp003_SJProfile0.ser  Create the JAR file  jar -cvf Sp003.jar s3/Sp003.class s3/Sp003_Cursor1.class s3/Sp003_SJProfile0.ser s3/Sp003_SJProfileKeys.class

16 Volvo Information Technology Dept. 2540 Slide: 16 Volvo Information Technology Bind the SQLJ packages //BINDSQLJ EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSIN DD * DSN SYSTEM(D2Y2) BIND PACKAGE (SQLJMIAR) MEMBER(SP0031) ISOLATION(UR) BIND PACKAGE (SQLJMIAR) MEMBER(SP0032) ISOLATION(CS) BIND PACKAGE (SQLJMIAR) MEMBER(SP0033) ISOLATION(RS) BIND PACKAGE (SQLJMIAR) MEMBER(SP0034) ISOLATION(RR) BIND PLAN(SQLJMIAR) PKLIST(SQLJMIAR.*,DSNJDBC.*) RUN PROGRAM(DSNTIAD) PLAN(DSNTIAD) END //SYSIN DD * GRANT EXECUTE ON PLAN SQLJMIAR TO PUBLIC ; GRANT EXECUTE ON PACKAGE SQLJMIAR.SP0032 TO PUBLIC ; //BINDSQLJ EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSIN DD * DSN SYSTEM(D2Y2) BIND PACKAGE (SQLJMIAR) MEMBER(SP0031) ISOLATION(UR) BIND PACKAGE (SQLJMIAR) MEMBER(SP0032) ISOLATION(CS) BIND PACKAGE (SQLJMIAR) MEMBER(SP0033) ISOLATION(RS) BIND PACKAGE (SQLJMIAR) MEMBER(SP0034) ISOLATION(RR) BIND PLAN(SQLJMIAR) PKLIST(SQLJMIAR.*,DSNJDBC.*) RUN PROGRAM(DSNTIAD) PLAN(DSNTIAD) END //SYSIN DD * GRANT EXECUTE ON PLAN SQLJMIAR TO PUBLIC ; GRANT EXECUTE ON PACKAGE SQLJMIAR.SP0032 TO PUBLIC ;

17 Volvo Information Technology Dept. 2540 Slide: 17 Volvo Information Technology Create Procedure CREATE PROCEDURE V070674.SP003 (CHAR(30) OUT) COLLID SQLJMIAR FENCED MODIFIES SQL DATA LANGUAGE JAVA EXTERNAL NAME 'V070674.JAR_SP003:s3.Sp003.sp003' DYNAMIC RESULT SETS 1 WLM ENVIRONMENT D2Y0WL03 PROGRAM TYPE SUB PARAMETER STYLE JAVA; GRANT EXECUTE ON PROCEDURE V070674.SP003 TO PUBLIC ; GRANT USAGE ON JAR V070674.JAR_SP003 TO PUBLIC ; CREATE PROCEDURE V070674.SP003 (CHAR(30) OUT) COLLID SQLJMIAR FENCED MODIFIES SQL DATA LANGUAGE JAVA EXTERNAL NAME 'V070674.JAR_SP003:s3.Sp003.sp003' DYNAMIC RESULT SETS 1 WLM ENVIRONMENT D2Y0WL03 PROGRAM TYPE SUB PARAMETER STYLE JAVA; GRANT EXECUTE ON PROCEDURE V070674.SP003 TO PUBLIC ; GRANT USAGE ON JAR V070674.JAR_SP003 TO PUBLIC ; NAME(jar:package.class.method(signature))

18 Volvo Information Technology Dept. 2540 Slide: 18 Volvo Information Technology Refresh WLM SP Address Space  Using Command V WLM, APPLENV=D2Y0WL03, REFRESH Authority to issue operator commands needed  Use WLM_REFRESH Stored Procedure  Using Command V WLM, APPLENV=D2Y0WL03, REFRESH Authority to issue operator commands needed  Use WLM_REFRESH Stored Procedure

19 Volvo Information Technology Dept. 2540 Slide: 19 Volvo Information Technology Calling JSP application example // Create a CallableStatement CallableStatement proc1 ; proc1 = con.prepareCall("CALL V070674.SP003(?)") ; // Specify the parameter types proc1.registerOutParameter(1,java.sql.Types.CHAR); // run proc1 ResultSet rs = proc1.executeQuery(); String text = proc1.getString(1); // Create a CallableStatement CallableStatement proc1 ; proc1 = con.prepareCall("CALL V070674.SP003(?)") ; // Specify the parameter types proc1.registerOutParameter(1,java.sql.Types.CHAR); // run proc1 ResultSet rs = proc1.executeQuery(); String text = proc1.getString(1);

20 Volvo Information Technology Dept. 2540 Slide: 20 Volvo Information Technology

21 Dept. 2540 Slide: 21 Volvo Information Technology DB2 Stored Procedure Builder

22 Volvo Information Technology Dept. 2540 Slide: 22 Volvo Information Technology Additional Documentation  Application Programing Guide and Reference FOR JAVA ™ Version 7 SC26-9932-01  Redbook: DB2 Java Stored Procedures Learning by Example  DB2 for OS/390 Stored Procedures site: http://www-3.ibm.com/software/data/db2/os390/spb/exciting/  M41 Java and Design for high performance by John Campbell  M34 JDBC, VAJ DLLs and Java Stored Procedures - An OS/390 Setup Cookbook by Peggy Rader  M27 Hot topics in stored procedures in DB2 by Peggy Abelite  Application Programing Guide and Reference FOR JAVA ™ Version 7 SC26-9932-01  Redbook: DB2 Java Stored Procedures Learning by Example  DB2 for OS/390 Stored Procedures site: http://www-3.ibm.com/software/data/db2/os390/spb/exciting/  M41 Java and Design for high performance by John Campbell  M34 JDBC, VAJ DLLs and Java Stored Procedures - An OS/390 Setup Cookbook by Peggy Rader  M27 Hot topics in stored procedures in DB2 by Peggy Abelite

23 Volvo Information Technology Dept. 2540 Slide: 23 Volvo Information Technology Some practical exampels

24 Volvo Information Technology Dept. 2540 Slide: 24 Volvo Information Technology WebSphere Studio Application Developer Versioner  Site Developer  App Developer Egenskaper  Inbyggd webbserver  Inbyggd applikationsserver (mini-WebSphere)  EJB-Wizards  Deployment till WebSphere  Debug  Integrerad miljö  workspace på filsystemet (Refresh from local )  Rational Integration  Rose, ClearCase Versioner  Site Developer  App Developer Egenskaper  Inbyggd webbserver  Inbyggd applikationsserver (mini-WebSphere)  EJB-Wizards  Deployment till WebSphere  Debug  Integrerad miljö  workspace på filsystemet (Refresh from local )  Rational Integration  Rose, ClearCase

25 Volvo Information Technology Dept. 2540 Slide: 25 Volvo Information Technology JDBC Settings Case 1 DB2 Connect Server OS/390 Client Java application running in client using local database  URL:jdbc:db2:mydb  Driver:COM.ibm.db2.jdbc.app.DB2Driver  Classpath:db2jdbc.zip Java application running in client using local database  URL:jdbc:db2:mydb  Driver:COM.ibm.db2.jdbc.app.DB2Driver  Classpath:db2jdbc.zip

26 Volvo Information Technology Dept. 2540 Slide: 26 Volvo Information Technology JDBC Settings Case 2 DB2 Connect Server OS/390 Client Java application running in client using OS/390 DB2  URL: jdbc:db2://vsegn133.it.volvo.se:6789/D2VT  Driver: COM.ibm.db2.jdbc.net.DB2Driver  Classpath: db2jdbc.zip ( Note! Use same version as DB2 Connect Server) Java application running in client using OS/390 DB2  URL: jdbc:db2://vsegn133.it.volvo.se:6789/D2VT  Driver: COM.ibm.db2.jdbc.net.DB2Driver  Classpath: db2jdbc.zip ( Note! Use same version as DB2 Connect Server) vsegn133.it.volvo.se

27 Volvo Information Technology Dept. 2540 Slide: 27 Volvo Information Technology JDBC Settings Case 3 OS/390 Client Java application running in OS/390 against DB2  URL: jdbc:db2os390:SEVOL0D2D2VT01  Driver: COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver  Classpath: db2j2classes.zip Java application running in OS/390 against DB2  URL: jdbc:db2os390:SEVOL0D2D2VT01  Driver: COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver  Classpath: db2j2classes.zip


Download ppt "Volvo Information Technology Dept. 2540 Slide: 1 Volvo Information Technology UNIX OS/390 Win2000 2540 Java Enhancements in DB2 for z/OS and OS/390 version."

Similar presentations


Ads by Google