Mar 28, 2015
Mail2ZOS - Agenda
Overview The Problems Addressed The Mail2ZOS Solution Mail2ZOS Email Flow Summary of Benefits Some Examples A word about FTPSweeper Licensing
Overview
Mail2ZOS is like giving your mainframe application an email address.
The user sends an email, with or without attachments, to the mainframe for processing.
Mail2ZOS then: Receives the email Stores attached files into MVS datasets And based on the contents performs actions such as
submitting jobs for execution. Sends email notices to all
The Problems…
On Demand Jobs Driven by end-user requests and
requirements Can have complicated request procedures Or simply be a nuisance for ‘Operations’ Things can fall through the cracks at busy times.
Uploading Files and ProcessingMulti-step, jury-rigged procedures that can require costly human intervention and/or arcane knowledge
…On Demand Jobs
Some ‘traditional’ ways The user calls up ‘operations’:
“Hi George, this is Mary in accounting, can you run job AB023 for me and send the printout to my printer?”
Give the user a TSO account: Train users in 3270 usage,TSO/ISPF for submitting the
JCL and SDSF for output review Manage TSO accounts for users
More ways than we can describe…
…Uploading Files and Processing
Some ‘traditional’ ways TSO IND$FILE – requires TSO account, 3270
software and trained end-users FTP - client connection to open port on host
server More methods than ways to describe
them!
The Mail2ZOS Solution
Give your mainframe application an email address!
The user attaches the data to an email and sends it!
Mail2ZOS takes over:
Mail2ZOS: Receives or retrieves the email ‘Recognizes it’ by email address, sender
address or subject, etc. Parses the email and safely stores the
attachments into mainframe datasets. Composes and submits a job to process the
newly stored data. Sends email confirmation notices to all
concerned (built-in to Mail2ZOS) Sends job results via email (with JES2Mail)
The Mail2ZOS Solution
Email is the easiest, most reliable and universal method for interacting with end users
Everyone has access to email! Natural queuing mechanism. Email could be generated by any mechanism, ie.
Web page Users never ‘see’ the mainframe or require
training – they simply send an email message with a proper subject to a proper address.
Mail2ZOS does (or at least invokes) the rest.
Flow of email with data
Email Client
Mail2zOS'Get Mail'
SubmittedBatch Job
Report ofProcessing JES2Mail
==========
==========
Recieve emailas SMTP server Email with attached Report
Email Request with Data
Decode email, storeattachments, compose
and submit processing job.
Send the report of theprocess back to requestor
POP3 Server Pick up fromPOP3 Server
Mail2zOSProcess
==========Notice
Mail2ZOS Dataflow
Configuration for Receiving
Trace=fullListenPortNo: 25OurDomainName: Mail2ZOS.Mainframe.comTempDirectory: /u/M2Z/Mail2ZOSReceiverUserList: UserList
File: Config
Configuration for Receiving
Domain: Mail2zos.Mainframe.comDomain: Mainframe.comForUser: DepositReconciliation Subdir: MailboxDR1ForUser: TimeSheets Subdir: MailboxDR2
Trace=fullListenPortNo: 25OurDomainName: Mail2ZOS.Mainframe.comTempDirectory: /u/M2Z/Mail2ZOSReceiverUserList: UserList
File: UserList
File: Config
Configuration for Receiving
Domain: Mail2zos.Mainframe.comDomain: Mainframe.comForUser: DepositReconciliation Subdir: MailboxDR1ForUser: TimeSheets Subdir: MailboxDR2
Trace=fullListenPortNo: 25OurDomainName: Mail2ZOS.Mainframe.comTempDirectory: /u/M2Z/Mail2ZOSReceiverUserList: UserList
File: UserList
File: Config
[email protected] /u/M2Z/Mail2ZOS/MailboxDR2
Processing the ‘raw’ Email
The ‘Process Mail’ task takes over: Each ‘host mailbox’ has a corresponding Ruleset, or
set of Rules. A ‘Rule’ within the ruleset is determined by the
email’s envelope, or so called ‘headers’. Some of the envelope items we can look at are:
Sender address Recipient address Subject
The email’s body (‘cover page’) can be processed, just like an attachment
I.e. With a script it can ‘pick out’ data fields.
Ruleset for Timesheet Data
RULESET: TimeSheetRecognizeBy: &Subject; eq “TimeSheet*"Coverpage: Action: IgnoreOBject: Where AttachmentFilename = "*.csv" Action: File StoreName: hlq.payroll.time###.dat StoreOpenOption: wb,type=record,lrecl=100,recfm=FB,blksize=10000,- DISP=(*,CATLG,DELETE) DeeditStyle: Comma DeeditMask: "11x,25x,7v2z,8v2z,8v2z" SubmitJobFilename: Job2
File: TimeSht1
JCL to Process Timesheet Data
//M2ZJOB2 JOB . . . //*//* *--------------------------*--//* * SUBJECT: &Subject;//* * From: &From;//* *--------------------------*--//STEP1 EXEC PGM=PAYROLL1//TIMEIN DD DSN=&ZFULLSAVEFILENAME;,DISP=SHR//SYSPRINT DD SYSOUT=*//SYSIN DD *From: &From;Date: &Date;
File: Job2
Multiple Mailboxes can Isolate Multiple Applications
Mail2ZOS'Process Mail'Application1
Task
Email User1
Email User2
Email User5
Email User4
Email User3
Z/OS Mainframe with Mail2zOS
Mail2ZOS'GetMail'
Task
Mail2ZOS'Process Mail'Application3
Task
Mail2ZOS'Process Mail'Application2
Task
Applicaiton3Job3C
RACFUser3
Application2Job2
RACFUser2
Application1Job1
RACFUser1
Applicaiton3Job3B
RACFUser3
Applicaiton3Job3A
RACFUser3
HFS Mailbox App1
HFS Mailbox App1
HFS Mailbox App1
Users Send Email todifferent Email Address
Mail2ZOS Receive theemail, and can place in
common or separate 'host'mailboxes in HFS
directories.
Mail2ZOS Processoperations can select
messages from a 'host'mailbox and process
under separtate RACFuser IDs appropriate to the
specific application.
After storing data files, theproper job is submitted or
action performed.
Processing the Attachments
Attached files can be: Translated from ASCII to EBCDIC if needed De-edited into fixed field records (CSV files) Parsed into records or treated as an undefined
(Binary files ‘blobs’) Stored into MVS dataset
Fixed or we’ll make a unique filename Written to JES as a SYSOUT ‘Wrapped’ with JCL and submitted
Any records with “//” are converted to “$$” to prevent any JCL to be submitted
Processed with the script language Parse out data elements that might be used for
table lookup or composing job stream parameters Issue messages, compose JCL or email notices, etc.
Jobstream ‘JCL’ handling
JCL composition: Can come from a library member. Can be part of a script. Cannot come from the email or its attachments. Symbolic variables can be inserted. Can have conditional logic to alter the composed JCL
Job submission: Submitted via internal reader - or Instead of immediately submitting jobs, they can be
composed and stored in libraries for later submission - or The script language can call a routine to schedule a job -
or The script language can issue master console messages
(often used as ‘triggers’ by job schedulers)
More Features
Email Notices: Notices can be emailed to the requester to
confirm message has been received and is being processed
Notices of what was performed can be emailed to ‘operations’ to keep them informed
Script Language Parse Cover page or text attachments files ‘Pickout’ elements for JCL generation Do table lookup
Some security features
We only accept emails addressed to ‘us’. There can be separate email address for different
‘applications’. Their emails are stored in separate ‘mailboxes’ for specific processing.
We have to ‘recognize’ the email subject or other envelope info for processing selection.
JCL cannot be submitted directly If we are ‘wrapping’ JCL, then any “//” in the data is
converted to “$$” – not an option! All JCL is predefined in host libraries, or host
maintained scripts. All rules of RACF or other host security still
apply.
Summary of Benefits
Allows an end user to request a mainframe action without direct access to the mainframe.
Email is about the easiest way to upload data to the mainframe.
Intrinsic queuing of email insulates the sender from mainframe or network outages.
Automate more complicated procedures Better audit trails on upload operations Better audit of requests for on-demand jobs Happy Users!
Some examples
A Regional Bank
Retrieve archived customer statements: A batch operation does the job, but
Someone with TSO knowledge and access is needed To edit the required a parameter card And submit the job And monitor the job And get the results back to the requester
Now the customer service user just emails the request with the customer ID and the job is submitted.
The results are emailed back to customer service for review and forwarding to the customer.
Results: Better customer service!
Request a statement
And a few minutes later:
A Regional Bank
A department has PC software that creates large text files to be printed on forms.
The old way… FTP and phone calls Now they simply email the text files. The subject line is parsed to get the ‘form name’ the
file is to be printed on. Mail2ZOS submits a job to format the data for the
printer with the appropriate form. And sends out email notices to operations and the
requesting department that the reports are ready for printing.
Results: Faster results with less steps!
A County Government
How to get Excel data into the mainframe. The user now saves the spreadsheet as .csv (comma
separated values) and emails the file to Mail2ZOS Mail2ZOS ‘de-edits’ the .csv file into fixed (zoned) fields
ready for mainframe application use. Then it submits the job to process the spreadsheet
data.
Results: Mainframe database updated faster!
Government Agency
How to get secure data from remote sites into the mainframe to update a database.
The ‘sender’ uses PKZIP to compress and encrypt the data file, with their assigned password.
They email the encrypted attachment to Mail2ZOS. Mail2ZOS:
Stores the encrypted data file on the mainframe Using the sender’s address, it does a ‘host’ look up to
find their assigned password. Submits a job that will invoke PKZIP on the mainframe
and inserts the assigned password into the jobstream. Email notices go out to all
Results: Database updated securely!
FTPSweeper
Just a word about the companion
FTPSweeper
Instead of handling email, FTPSweeper: Connects to any number of remote FTP
servers SSL/TLS secure transport is supported
Looks for files to upload Uploads and stores them on the mainframe Then deletes or renames them on the FTP
server. The rest of the functions of Mail2ZOS are
then available: Job submission, script, etc.
Licensing – North America Annual License.
Not tier priced 45 day free trial No more than 5% per year increase
Perpetual License. Not tier priced 45 day free trial Annual Maintenance after 1st year, 15% or
price 1st year of Annual License can apply
towards perpetual purchase.Prices Subject to Change Without Notice
For a Free Software Trial
Contact: Register and download Mail2ZOS from
www.casisoft.com
Send a request for trial keys to:[email protected]: Ed Hollshwandner