Proposed module for Mainframe terminal emulator
[email protected] (Philip Yuson) Mon, 7 Oct 2024 23:09:28 +0000
| Newsgroups | perl.module-authors |
|---|---|
| Message-ID | <YT2P288MB0251B5FE2310A400931252C3B97D2@YT2P288MB0251.CANP288.PROD.OUTLOOK.COM> |
--_004_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_
Content-Type: multipart/alternative;
boundary="_000_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_"
--_000_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I would like to propose a module that will interface with x3270 software to=
allow for automated operation/testing of mainframe applications.
There are automated testing tools for the mainframe, but most of them are p=
roprietary and interact with proprietary terminal emulators.
This module aims to provide an interface with an open source mainframe term=
inal emulator X3270. The X3270 allows a user to manually enter commands dir=
ectly or by passing a file with the list of action instructions.
By using this module, someone familiar with Perl can write an automated scr=
ipt which can access data from a file or database to drive automated operat=
ion or testing.
If you wish to learn more, please feel free to contact me. I used to run a =
website on Perl but have moved it to another site (http://perl.conceptbc.ca=
) but have stopped because I discovered a lot of people getting ideas from =
my articles and claiming it as their own.
I have created a video for proof of concept of this module in this video: h=
ttps://youtu.be/UVqYYGLYqr8
Attached is a skeleton of the module I used in the video.
Thank you.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
Philip Yuson
Mainframe Consultant
Concept Solutions Corporation
P: 250-881-0049
--_000_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I would like to propose a module that will interface with x3270 software to=
allow for automated operation/testing of mainframe applications.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
There are automated testing tools for the mainframe, but most of them are p=
roprietary and interact with proprietary terminal emulators.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
This module aims to provide an interface with an open source mainframe term=
inal emulator X3270. The X3270 allows a user to manually enter commands dir=
ectly or by passing a file with the list of action instructions.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
By using this module, someone familiar with Perl can write an automated scr=
ipt which can access data from a file or database to drive automated operat=
ion or testing.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
If you wish to learn more, please feel free to contact me. I used to run a =
website on Perl but have moved it to another site (http://perl.conceptbc.ca=
) but have stopped because I discovered a lot of people getting ideas from =
my articles and claiming it as their
own.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have created a video for proof of concept of this module in this video: <=
a href=3D"https://youtu.be/UVqYYGLYqr8" id=3D"LPlnk982752" class=3D"OWAAuto=
Link">
https://youtu.be/UVqYYGLYqr8</a></div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Attached is a skeleton of the module I used in the video.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Thank you.</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Calibri, Helvetica, san=
s-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id=3D"Signature">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<span style=3D"background-color: rgb(255, 255, 255);">=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</span></div=
>
<div style=3D"background-color: rgb(255, 255, 255); font-family: Calibri, A=
rial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Philip Yuson</div>
<div style=3D"background-color: rgb(255, 255, 255); font-family: Calibri, A=
rial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Mainframe Consultant</div>
<div style=3D"background-color: rgb(255, 255, 255); font-family: Calibri, A=
rial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Concept Solutions Corporation</div>
<div style=3D"background-color: rgb(255, 255, 255); font-family: Calibri, A=
rial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
P: 250-881-0049</div>
</div>
</body>
</html>
--_000_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_--
--_004_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_
Content-Type: text/plain; name="t3270.pm.txt"
Content-Description: t3270.pm.txt
Content-Disposition: attachment; filename="t3270.pm.txt"; size=4060;
creation-date="Mon, 07 Oct 2024 23:09:01 GMT";
modification-date="Mon, 07 Oct 2024 23:09:10 GMT"
Content-Transfer-Encoding: base64
cGFja2FnZSB0MzI3MDsKICAgIG15ICRzZWxmID0ge307CiAgICBzdWIgbmV3IHsKCiAgICAgICAg
cHJpbnQgIkluaXRpYWxpemluZyB0MzI3MCBzZXNzaW9uXG4iOwogICAgICAgIG15ICRjbGFzcyA9
IHNoaWZ0OwogICAgICAgIG15ICRrZXk7CiAgICAgICAgd2hpbGUgKEBfKSB7CiAgICAgICAgICAg
ICRrZXkgPSBzaGlmdDsKICAgICAgICAgICAgJHNlbGYtPnska2V5fSA9IHNoaWZ0OwogICAgICAg
ICAgICBwcmludCAidDMyNzA6IE5keDogJGtleVx0JHNlbGYtPnska2V5fVxuIjsKICAgICAgICB9
CiAgICAgICAgdGNvbm5lY3QoJHNlbGYpOwogICAgICAgIHNjcmVlblNpemUoJHNlbGYpOwogICAg
ICAgIGJsZXNzICRzZWxmLCAkY2xhc3M7CiAgICAgICAgcmV0dXJuICRzZWxmOwogICAgfQogICAg
c3ViIHRjb25uZWN0IHsKICAgICAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgICAgICRzZWxmLT57
c2Vzc2lvbn0gPSBJTzo6U29ja2V0OjpJTkVULT5uZXcoCiAgICAgICAgICAgICAgICBQcm90byAg
ID0+ICd0Y3AnLCAgICAgICAjIHByb3RvY29sCiAgICAgICAgICAgICAgICBQZWVyQWRkcj0+ICRz
ZWxmLT57c2VydmVyfSwgIyBBZGRyZXNzIG9mIHNlcnZlcgogICAgICAgICAgICAgICAgUGVlclBv
cnQ9PiAkc2VsZi0+e3BvcnR9LCAgICAgICMgcG9ydCBvZiBzZXJ2ZXIKICAgICAgICAgICAgICAg
IFJldXNlICAgPT4gMSwKICAgICAgICAgICAgICAgICkgb3IgZGllICIkISI7CiAgICAgICAgcHJp
bnQgIkNvbm5lY3RlZCB0byAiIC4gJHNlbGYtPntzZXJ2ZXJ9IC4gIyBJbmZvIG1lc3NhZ2UKICAg
ICAgICAgICAgIiBvbiBwb3J0OiAgICAiIC4gJHNlbGYtPntwb3J0fSAuICJcbiI7CiAgICAgICAg
JHNlbGYtPntzZXNzaW9ufS0+YXV0b2ZsdXNoKDEpOyAgIyBTZW5kIGltbWVkaWF0ZWx5CiAgICB9
CgogICAgc3ViIGdldFNjcmVlbiB7CiAgICAgICAgbXkgJHNlbGYgPSBzaGlmdDsKICAgICAgICBt
eSAkc2VzcyA9ICRzZWxmLT57c2Vzc2lvbn07CiAgICAgICAgc2VuZEFjdGlvbigkc2VsZiwgImFz
Y2lpXG4iKTsKICAgICAgICAkc2VsZi0+e3NjcmVlbn07CiAgICB9CiAgICAgICAgCiAgICBzdWIg
c2VuZEFjdGlvbiB7CiAgICAgICAgbXkgKCRzZWxmLCAkc3RyKSA9IEBfOwogICAgICAgIG15ICRz
ZXNzID0gJHNlbGYtPntzZXNzaW9ufTsKICAgICAgICBpZiAoJHN0ciAhfiBtL1xuJC8pIHsKICAg
ICAgICAgICAgJHN0ciAuPSAiXG4iOwogICAgICAgIH0KICAgICAgICBwcmludCAiU0VORElORzog
JHN0ci0tLS1cbiI7ICAgICMgaWYgJHNlbGYtPntkZWJ1Z307ICAgICAgICAKICAgICAgICBwcmlu
dCAkc2VzcyAkc3RyOwogICAgICAgIGdldFJlc3VsdCgkc2VsZik7ICAgICAKICAgICAgICAkc2Vs
Zi0+e3NjcmVlbn07CiAgICAgICAgc2xlZXAoMSk7CiAgICB9CiAgICAKICAgIHN1YiBzZW5kU3Ry
IHsKICAgICAgICBteSAoJHNlbGYsICRzdHIpID0gQF87CiAgICAgICAgbXkgJHNlc3MgPSAkc2Vs
Zi0+e3Nlc3Npb259OwogICAgICAgICRzdHIgPSAnc3RyaW5nKCInIC4gJHN0ciAuICJcIikgZW50
ZXIoKVxuIjsKICAgICAgICBzZW5kQWN0aW9uKCRzZWxmLCAkc3RyKTsKIyAgICAgICAgcHJpbnQg
JHNlc3MgJHN0cjsKIyAgICAgICAgZ2V0UmVzdWx0KCRzZWxmKTsKICAgICAgICBAeyRzZWxmLT57
c2NyZWVufX07CiAgICB9CiAgICAKICAgIHN1YiBnZXRSZXN1bHQgewogICAgICAgIG15ICRzZWxm
ID0gc2hpZnQ7CiAgICAgICAgJHNlbGYtPntzY3JlZW59ID0gW107CiAgICAgICAgbXkgJHNlc3Mg
PSAkc2VsZi0+e3Nlc3Npb259OwogICAgICAgIG15ICRsOwogICAgICAgIG15ICRsaW5lcyA9IDA7
CiAgICAgICAgbXkgKCRvaywgJHN0YXR1cywgJGVycm9yKSA9ICgpOwogICAgICAgIHdoaWxlICgo
ISAkb2sgYW5kICEgJGVycm9yKSBvciAhICRzdGF0dXMgKSB7CiAgICAgICAgICAgIHByaW50ICIt
LS0gR2V0dGluZyBSZXNwb25zZVxuIiBpZiAkc2VsZi0+e2RlYnVnfTsKICAgICAgICAgICAgJGxp
bmVzKys7ICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICRsID0gPCRzZXNzPjsgICAj
IFJlY2VpdmUgZWNobyBmcm9tIHNlcnZlcgogICAgICAgICAgICBpZiAoJGwgPX4gbS9eb2tbXG5c
cl0qJC9pKSB7CiAgICAgICAgICAgICAgICBwcmludCAiT0s6ICRsOiAkc3RhdHVzXG4iIGlmICRz
ZWxmLT57ZGVidWd9OwogICAgICAgICAgICAgICAgJG9rID0gJGw7CiAgICAgICAgICAgIH0gZWxz
aWYgKCRsID1+IG0vXmVycm9yW1xuXHJdKiQvaSkgewogICAgICAgICAgICAgICAgcHJpbnQgIkVS
Uk9SOiAkbDogJHN0YXR1c1xuIiBpZiAkc2VsZi0+e2RlYnVnfTsKICAgICAgICAgICAgICAgICRl
cnJvciA9ICRsOwogICAgICAgICAgICB9IGVsc2lmICgkbCA9fiBtL151IGYgdSBjXChsb2NhbGhv
c3RcKSBpICtcZCsgKyhcZCspICsoXGQrKSArKFxkKykgKyhcZCspL2kKICAgICAgICAgICAgICAg
IG9yICAgJGwgPX4gbS9ebCBmIHAgbiBuIChcZCkgKFxkKykgKFxkKykgKFxkKykgL2kKICAgICAg
ICAgICAgICAgIG9yICAgJGwgPX4gbS9edSBmIHAgY1wobG9jYWxob3N0XCkgaSArXGQrICsoXGQr
KSArKFxkKykgKyhcZCspICsoXGQrKS9pKSB7CiAgICAgICAgICAgICAgICAkc2VsZi0+e3Jvd3N9
ID0gJDE7CiAgICAgICAgICAgICAgICAkc2VsZi0+e2NvbHN9ID0gJDI7CiAgICAgICAgICAgICAg
ICAkc2VsZi0+e2N1cnJvd30gPSAkMzsKICAgICAgICAgICAgICAgICRzZWxmLT57Y3VyY29sfSA9
ICQ0OwogICAgICAgICAgICAgICAgaWYgKCRzZWxmLT57ZGVidWd9KSB7CiAgICAgICAgICAgICAg
ICAgICAgcHJpbnQgIkN1cnNvciBsb2NhdGlvbjogJHNlbGYtPntjdXJyb3d9XHQkc2VsZi0+e2N1
cmNvbH1cbiI7CiAgICAgICAgICAgICAgICAgICAgcHJpbnQgIlNjcmVlbiBzaXplOiAkc2VsZi0+
e3Jvd3N9XHQkc2VsZi0+e2NvbHN9XG4iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgJHN0YXR1cyA9ICRsOwogICAgICAgICAgICAgICAgcHJpbnQgIlN0YXR1czogJHN0YXR1cyIg
aWYgJHNlbGYtPntkZWJ1Z307CiAgICAgICAgICAgIH0gZWxzaWYgKCRsID1+IG0vXmRhdGE6ICgu
KykrJC9naSkgewogICAgICAgICAgICAgICAgcHJpbnQgJy0neDIwIC4gIlxuJDFcbiIgaWYgJHNl
bGYtPntkZWJ1Z307CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBwcmludCAn
eCd4MTAgLiAiVW5rbm93biByZXNwb25zZTogJGxcbiI7CiAgICAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHVzaCBAeyRzZWxmLT57c2NyZWVufX0sICRsOwog
ICAgICAgIH0KICAgIH0KCiAgICBzdWIgc2NyZWVuU2l6ZSB7CiAgICAgICAgbXkgJHNlbGYgPSBz
aGlmdDsKICAgICAgICBteSAkc2NyID0gc2VuZEFjdGlvbigkc2VsZiwgImFzY2lpXG4iKTsKICAg
IH0KICAgIAogICAgCiAgICBzdWIgc2VhcmNoUm93IHsKICAgICAgICBteSAoJHNlbGYsICRyb3cs
ICRzdHIpID0gQF87CiAgICAgICAgdW5sZXNzICgkcm93KSB7CiAgICAgICAgICAgICRyb3cgPSAk
bXktPntjdXJyb3d9OwogICAgICAgIH0KICAgICAgICBzZW5kQWN0aW9uKCJhc2NpaSgkcm93LCA4
MCwgODApIik7CiAgICAgICAgaWYgKCRzZWxmLT57c2NyZWVufS0+WyRyb3ddID1+IG0vJHN0ci9n
aSkgewogICAgICAgICAgICByZXR1cm4gJHNlbGYtPntzY3JlZW59LT5bJHJvd107CiAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgIH0KICAgIAogICAg
c3ViIHNlYXJjaFN0ciB7CiAgICAgICAgbXkgKCRzZWxmLCAkc3RyKSA9IEBfOwogICAgICAgIG15
IEByb3dzID0gKCk7CiAgICAgICAgbXkgJGxpbmU7CiAgICAgICAgc2VuZEFjdGlvbigkc2VsZiwg
J2FzY2lpJyk7CiAgICAgICAgZm9yZWFjaCAoQHskc2VsZi0+e3NjcmVlbn0gfSApIHsKICAgICAg
ICAgICAgJGxpbmUrKzsKICAgICAgICAgICAgaWYgKG0vJHN0ci9naSkgewogICAgICAgICAgICAg
ICAgcHVzaCBAcm93cywgJGxpbmU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgXEBy
b3dzOwogICAgfQoxCg==
--_004_YT2P288MB0251B5FE2310A400931252C3B97D2YT2P288MB0251CANP_--