Download presentation
Presentation is loading. Please wait.
Published byHildegunn Caspersen Modified over 5 years ago
1
Zowe Overview - Automation, Testing, and Orchestration
Dan Kelosky Open Mainframe Team linkedin.com/in/dkelosky Lucky enough to be part of Open Mainframe in Broadcom is Zowe stuff
2
Agenda Me Zowe Modern tools - purpose, how, & why I use them
Answer questions Demos test build & deploy CI I’m first - my perspective Presented this before, but it’s a little different team mates do something else - theyd need to submit the session
3
Mainframe Tools SLIP GTF
HLASM (31|64, Problem|Supervisor, System key[0-7], SRB|TCB) Conditional Assembly Metal C Endevor IPCS ISPF Console commands IEASYSxx, PROGxx, etc XDC RDz Millennial but now 10 years of working experience First 5 years Assembler and metal C developer - IDMS, Common Services NetMaster Math major barely a computer science major - I don’t know source control - not interested in modern
4
Distributed Tools Android Cloud dev (firebase) apps & serverless
Web development (JQuery, Angular, Node.js, ...) Scripting (Perl, Python, Ruby, JavaScript, …) Editor extension (Brackets, Atom, VS Code, ...) CI (Travis, Circle, Azure pipelines, Jenkins, TeamCity, Drone, …) SHARE 2014 Pitt Continued to be assembler and metal C developer - IDMS, Common Services NetMaster As a hobby I started many side projects - not just reading about them but building them Left the company and mainframe autonomous rail system for university of west virginia but I missed mainframe - so when called back, I jumped at it - Continue assembler and metal C developer
5
Personal Tools diaper bag and all the stuff that comes with it snacks
dinosaurs
6
Zowe mainframe tools, distributed tools, personal tools
zowe a way to help bridge the tools wierd picture
7
Zowe ML UI CLI APIs Explain REST in API like a browser
3 components of API ML UI explorer - admin operations CLI - focus b/c Im original developer of the CLI zowe isn’t the only way to work with modern tooling
8
API https://phpenthusiast.com/blog/what-is-rest-api
9
API ML - Catalog
10
https://github.com/Netflix/eureka
API ML - Discovery
11
https://github.com/Netflix/zuul
API ML - Gateway (unofficial)
12
UI & CLI
13
Modern Tooling - Overlap
git Node.js perl python explain each Can use these on platform and it makes sense to do so In other cases - perhaps its a lighter lift to install these in typical environments from the normal location - you can’t get node.js from their website have fun installing
14
Modern Tooling - Parallels
Symbolic substitution - &SYSNAME. Mustache, handlebars - {{ }} JCL assembler service to perform symbolic substitution Although its interesting that i can do both - it might be helpful in complex projects to be consistent searching and diff utilities (super c) - regular expression over z/os wild cards
15
Modern Tooling - Integrations
RDz / Eclipse plugins Jenkins plugins CI tools Can become outdated Quirks - developers can tell Can’t keep up - always will be a subset
16
Modern Tooling - z/OS Limitations
assembler highlighting i wrote a version of this like a year ago and published it and it’s been enhanced in open source
17
Development is Complicated
Hybrid development - TypeScript (Node.js), Spring (Java), C++, Metal C, assembler, makefile, JCL source controlled via git/GitHub delivered through Endevor Team members use different editors, diff tools, git clients CLI, scripts, and task runner are common pieces Consistency helps
18
Scripting Python Ruby Perl JavaScript / TypeScript
Bash / Shell scripts Windows Batch REXX CLIST Groovy Go ... i’ll show the example in a moment we tend to stick to JavaScript - it’s the most popular on GitHub and has been since 2014 Typescript appears to upwards - i think #7 in 2018 bring idea to life we can script in them, the cli is developed in them, web is developed in them - maybe our services will be node.js someday and
19
Scripting Examples
20
Task Runners / Encapsulation Tools
npm / yarn gradle grunt gulp make ... integrate with editors - show intellij and vs code and others for free abstract operations - describe what you want to do, and it takes care of much details we’ve tended to stick with npm & yarn is mostly compatible
21
Task Runners / Encapsulation Tools Examples
integrate with editors - show intellij and vs code and others for free → allocation example Show running through CLI and through clicking Automation tools understand these, show npm show a command show allocate show upload show build show powermode & highlighting capabilities --- expose limitations of ISPF and benefits of open source
22
Testing Frameworks JUnit Jest PyUnit RSpec Mocha.js
perform an operation and programmatically determine whether the operation was as I intended test a function adds numbers test a function captures error if i add to strings
23
Testing Frameworks Examples
npm run test gradle test … etc show code and run a test
24
Source Control git mercurial svn ChangeMan ISPW Endevor GitHub
Bitbucket GitLab ... i have remote interactions I have higher level functionality in some scripting language (probably) now start source control (see why in a moment) Hosted / on prem repo endevor, changeman, ispw
25
Source Control Examples
integrate with CI tools issue tracking release management code review work Jira, VersionOne, Waffle, Trello, Ration things show GitHub UI
26
CI/CD Jenkins Drone Concourse TeamCity Travis CI CircleCI Drone Cloud
... on prem / hosted bias towards free / open source urban code XLR
27
CI/CD Examples mostly focus on CI - continuous integration
examples of deployment show UI
28
CI/CD Tooling TSLint Codecov SonarQube JCLCheck TYPERUN=SCAN ...
A reason for why the CLI was developed
29
CI Tooling Examples JCLCheck Show lint operations
30
Demo 0 API ML Desktop UI Commands VS Code
talked about CLIs, task runners, and scripts npm is a command line tool im using the same tools changed for demo - but we’re using this for a real project
31
Demo 1 - Testing npm run genjcl npm run allocate npm run upload
npm run jcl npm run test
32
Demo 2 - CI Drone Commands Task Runner Test Automation Power mode
33
Mainframe HLASM Continuous Integration Testing with Github and Drone
Examples & Repos Mainframe HLASM Continuous Integration Testing with Github and Drone Building Mainframe Metal C and Testing with Jest and Zowe CLI How to Automate z/OS Data Set Allocation Using Zowe & JSON Mainframe Assembler & Zowe: “Hello World” Example this example is real in jclcheck show complete exercise
34
Repos
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.