Mainframe to Mainframe Communication via the Student Aid Internet Gateway 2003 NASU Conference Tom Biedscheid – Colorado State University
Overview System Diagram System Diagram Security Security TDClient Software TDClient Software CSU Process Overview CSU Process Overview TDClient Manager TDClient Manager
SAIG System Diagram PC Destination - EDconnect MF Destination Point Using EasyAccess/TDClient Remote Administration Internet (SSL 3.0) Title IV Appsys VDC VDC SEND/ RECEIVE Encryption SEND/ RECEIVE SEND/ RECEIVE Manage/ Report Manage/ Report SEND/ RECEIVE Authentication
SAIG Security TDClient v2.2.x (formerly EasyAccess) is the client software used to send and receive FTP data transmissions securely over the Internet using SSL 3.0 and the Diffie-Hellman Dynamic Key Exchange algorithm. TDClient v2.2.x (formerly EasyAccess) is the client software used to send and receive FTP data transmissions securely over the Internet using SSL 3.0 and the Diffie-Hellman Dynamic Key Exchange algorithm. Since TDClient is built into current versions of EDConnect, the level of security is identical between EDConnect and TDClient running on a mainframe. Since TDClient is built into current versions of EDConnect, the level of security is identical between EDConnect and TDClient running on a mainframe. Password: Same as that used and set in EDConnect for SAIG access Password: Same as that used and set in EDConnect for SAIG access
TDClient: Systems Supported OS/390 MVS/ESA 2.6+ (with LE/ ) OS/390 MVS/ESA 2.6+ (with LE/ ) AS/ (Compiler Level 3.7) AS/ (Compiler Level 3.7) AIX 4.2+ AIX 4.2+ Digital Unix 4.0 (DEC UNIX) Digital Unix 4.0 (DEC UNIX) DEC Open VMS 7.1 DEC Open VMS 7.1 HPUX HPUX Sun Solaris 2.6+ (SPARC chip only, Intel chip not supported) Sun Solaris 2.6+ (SPARC chip only, Intel chip not supported)
TDClient Software & Documentation Software Software –TDClient is available only upon request by contacting –TDClient is available only upon request by contacting CPS/WAN Technical Support at or via at Documentation Documentation –Host Communication Guide is available for download from the FSA Download website,
CSU Process Overview Receiving Message Classes Receiving Message Classes –1 st job in nightly production schedule –Establish secure connection to SAIG –Download available message classes Only those we have identified Only those we have identified –Decompress –Backup message classes –Move message classes to appropriate datasets Available for subsequent jobs during the same nightly run Available for subsequent jobs during the same nightly run –If a downloaded message class is a COMRECOP: The same “receive” JCL initiates CASX50 The same “receive” JCL initiates CASX50 –XML documents are parsed and datasets created ORSPx, DRSPx, PNOTEx, etc. TDClient
CSU Process Overview Sending Message Classes Sending Message Classes –Production job runs generating an outbound message class –Establish secure connection to SAIG –Message class is compressed –Message class is sent TDClient
JCL Steps STEPLIB – Dataset name containing the EasyAccess program libraries installed STEPLIB – Dataset name containing the EasyAccess program libraries installed EASYACC – Dataset name containing the EASYACC.INI file which contains network access information EASYACC – Dataset name containing the EASYACC.INI file which contains network access information EXFER – Dataset name containing the EASYACC.EXFER.INI file which stores saved TRANSFER commands EXFER – Dataset name containing the EASYACC.EXFER.INI file which stores saved TRANSFER commands CMDSEND – Command and Transfer statements to Send data CMDSEND – Command and Transfer statements to Send data CMDRECV – Command and Transfer statements to Receive data CMDRECV – Command and Transfer statements to Receive data CMDRECV SENDFILE – Location of input file to send SENDFILE – Location of input file to send RECVFILE – Location of the pre-allocated files that will receive data pulled from your SAIG mailbox RECVFILE – Location of the pre-allocated files that will receive data pulled from your SAIG mailbox TEMPORARY WORK FILES TEMPORARY WORK FILES –SYSUT1 –SYSUT2 –WORK01 –WORK02 –WORK03 –WORK04
JCL Steps (cont.) EDIPDS – Temporary location of the send file to be compressed EDIPDS – Temporary location of the send file to be compressed EASTATUS – Contains any errors during send or receive sessions EASTATUS – Contains any errors during send or receive sessions DCMPLOG – Logs decompression step for each file received. Indicates if any files failed decompression DCMPLOG – Logs decompression step for each file received. Indicates if any files failed decompression SECFILEX – This name comes from the “SECFILE=DD” in the TRANSFER statement. It stores the SECFILE command lines that tell EasyAccess how to format the headers and trailers during compression/decompression SECFILEX – This name comes from the “SECFILE=DD” in the TRANSFER statement. It stores the SECFILE command lines that tell EasyAccess how to format the headers and trailers during compression/decompression OUTMSG – Confirms successful OUTMSG – Confirms successful –Login, compression, and send of file or –Decompression and receive files SYSPRINT – Logs the stored Transfer processing SYSPRINT – Logs the stored Transfer processing EAFTPLOG – Verifies success or failure of logging on to system and send/receive of files as identified by unique filename. Logs all internal and external FTP activities EAFTPLOG – Verifies success or failure of logging on to system and send/receive of files as identified by unique filename. Logs all internal and external FTP activities EALOG – General log of the session EALOG – General log of the session EXFERLOG – Verifies all internal FTP, compression, and decompression activities EXFERLOG – Verifies all internal FTP, compression, and decompression activities COMPLOG – Verifies successful compression of data COMPLOG – Verifies successful compression of data
Sample Receive JCL //PSAM30A JOB (,BN35), // CLASS=K, // MSGCLASS=J, // MSGLEVEL=(1,1), // USER=UISP1A //** * //EA2KMVSC EXEC PGM=EA2KMVSC, // COND=(0,NE), // PARM='CMDFILE=DD:CMDRECV', // REGION=4M //STEPLIBDDDSN=PSAI.EACCESS.PRD.EALOAD, STEPLIB // DISP=(SHR,KEEP,KEEP) //EASYACCDDDSN=PSAI.EACCESS.PRD.EASYACC.INI, EASYACC // DISP=(SHR,KEEP,KEEP) //EXFER DDDSN=PSAI.EACCESS.PRD.EASYACC.EXFER.INI, EXFER // DISP=(SHR,KEEP,KEEP) //CMDRECVDDDSN=DAID.USER.DATALIB(CMDPASS), CMDRECVCMDPASSCMDRECVCMDPASS // DISP=(SHR,KEEP,KEEP)
STEPLIB Dataset name containing the TDClient program libraries installed Dataset name containing the TDClient program libraries installed Return
EASYACC Dataset name containing the EASYACC.INI file which contains network access information Dataset name containing the EASYACC.INI file which contains network access information Return
EXFER Dataset name containing the EASYACC.EXFER.INI file which stores saved TRANSFER commands Dataset name containing the EASYACC.EXFER.INI file which stores saved TRANSFER commands Return
CMDRECV Command and Transfer statements to Receive data Command and Transfer statements to Receive data TRANSFER=(NAME=COMRECOP RECEIVE=DD:COMRECOP RECEIVECLASS=COMRECOP OTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') SECFILER TRANSFER=(NAME=COREEVEN RECEIVE=DD:COREEVEN RECEIVECLASS=CORE03OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=COREODD RECEIVE=DD:COREODD RECEIVECLASS=CORE04OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=CORREVEN RECEIVE=DD:CORREVEN RECEIVECLASS=CORR03OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=CORRODD RECEIVE=DD:CORRODD RECEIVECLASS=CORR04OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') Return
Network Command Line Keywords EDIT DAID.USER.DATALIB(CMDPASS) Command ===>,Scroll ===>,CSR, *************************** Top of Data ****************************** NETWORK=SAIGPORTAL FTPUSERID=TG51279 FTPPASSWD=######## *************************** Bottom of Data *************************** Return
Sample Receive JCL (cont.) //CMDRECVDD DSN=DAID.USER.DATALIB(CMDPASS), // DISP=(SHR,KEEP,KEEP) // DDDSN=PSAM.CONTROL.DATALIB(CMDRECV), CMDRECV // DISP=(SHR,KEEP,KEEP) //COMRECOPDDDSN=PSAM.SAIG.COMRECOP, // DISP=(MOD,KEEP,KEEP) //COREEVENDDDSN=PSAM.SAIG.COREEVEN, // DISP=(MOD,KEEP,KEEP) //COREODDDDDSN=PSAM.SAIG.COREODD, // DISP=(MOD,KEEP,KEEP) //CORREVENDDDSN=PSAM.SAIG.CORREVEN, // DISP=(MOD,KEEP,KEEP) //CORRODDDDDSN=PSAM.SAIG.CORRODD, // DISP=(MOD,KEEP,KEEP) //DECF03OP DDDSN=PSAM.SAIG.DECF03OP, // DISP=(MOD,KEEP,KEEP) //DLFF03OPDDDSN=PSAM.SAIG.DLFF03OP, // DISP=(MOD,KEEP,KEEP) //DSDFEVENDDDSN=PSAM.SAIG.DSDFEVEN, // DISP=(MOD,KEEP,KEEP)
Transfer Command Line Keywords CMDRECV TRANSFER=(NAME=COMRECOP RECEIVE=DD:COMRECOP RECEIVECLASS=COMRECOP OTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') SECFILER TRANSFER=(NAME=COREEVEN RECEIVE=DD:COREEVEN RECEIVECLASS=CORE03OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=COREODD RECEIVE=DD:COREODD RECEIVECLASS=CORE04OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=CORREVEN RECEIVE=DD:CORREVEN RECEIVECLASS=CORR03OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=CORRODD RECEIVE=DD:CORRODD RECEIVECLASS=CORR04OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') TRANSFER=(NAME=DSDFEVEN RECEIVE=DD:DSDFEVEN RECEIVECLASS=DSDF03OPOTHER_DECOMP_PARMS='SECFILE=DD:SECFILER') Return to JCL Steps Return to JCL StepsReturn to JCL StepsReturn to JCL Steps
Transfer Command Line Keywords for Sending/Receiving Data TRANSFER – Defines transfer parameters TRANSFER – Defines transfer parameters NAME – Names the transfer begin created NAME – Names the transfer begin created SENDUSERID – Mailbox ID where data is being sent (TG#) SENDUSERID – Mailbox ID where data is being sent (TG#) RECEIVERUSERID – Mailbox ID where data is received from RECEIVERUSERID – Mailbox ID where data is received from SEND – Location of data being sent ‘DD filename’ SEND – Location of data being sent ‘DD filename’ RECEIVE – Location where data will be received RECEIVE – Location where data will be received RECEIVERCLASS – Contains message class of data to be received RECEIVERCLASS – Contains message class of data to be received SENDCLASS – Message class being sent SENDCLASS – Message class being sent OTHER_COMP_PARMS – Compression parameter used only during the compression step when sending data OTHER_COMP_PARMS – Compression parameter used only during the compression step when sending data SECFILE – Parameter used in other_comp_parms during sending SECFILE – Parameter used in other_comp_parms during sending –Provides two functions Builds network headers/trailers used by secure portal to separate files in the correct mail boxes Builds network headers/trailers used by secure portal to separate files in the correct mail boxes Forces EasyAccess to use secfile parameter to send/receive data properly Forces EasyAccess to use secfile parameter to send/receive data properly
SECFILE BROWSE PSAM.CONTROL.DATALIB(SECFILER) Line, ,Col, , Command ===> Scroll ===>,CSR, ******************************* Top of Data ********************************** HEADERLITERAL(O*NO5) HEADERSTART(1) RECEIVERSTART(6) RECEIVERLENGTH(14); TRAILERLITERAL(O*N95) TRAILERSTART(1); LITERAL(O*N01) LITERALSTART(1); LITERAL(O*N99) LITERALSTART(1); ****************************** Bottom of Data ******************************** Return ReturnReturn
TDClientManager Manage message classes in your SAIG mailbox Manage message classes in your SAIG mailbox –Check status –Change password –Repost message classes –Access to message class archive
Data CSU Purpose Purpose –Make financial aid data available to other departments on campus Office of Budgets and Institutional Analysis Office of Budgets and Institutional Analysis –Research Other departments and colleges Other departments and colleges –Aid in awarding scholarships
Data CSU Process Process –Job runs nightly extracting data from SAM –Dataset is FTPd to an Oracle database running on an AIX box –SAM warehouse tables updated SAM fields warehoused SAM fields warehoused –
Questions Tom Biedscheid Student Financial Services Colorado State University