31
Keeping Up with the Times: Adopting Zowe as a Modern Mainframe Developer Jessielaine Punongbayan and Richelle Anne Craw Broadcom November 2019 Session PG

Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Keeping Up with the Times: Adopting Zowe as a Modern Mainframe Developer

Jessielaine Punongbayan and Richelle Anne Craw

Broadcom

November 2019

Session PG

Page 2: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Disclaimer

Certain information in this presentation may outline CA’s general product direction. This presentation shall not serve to (i) affect the rights and/or obligations of CA or its licensees under any existing or future license agreement or services agreement relating to any CA software product; or (ii) amend any product documentation or specifications for any CA software product. This presentation is based on current information and resource allocations as of November 2019 and is subject to change or withdrawal by CA at any time without notice. The development, release and timing of any features or functionality described in this presentation remain at CA’s sole discretion.

Notwithstanding anything in this presentation to the contrary, upon the general availability of any future CA product release referenced in this presentation, CA may make such release available to new licensees in the form of a regularly scheduled major product release. Such release may be made available to licensees of the product who are active subscribers to CA maintenance and support, on a when and if-available basis. The information in this presentation is not deemed to be incorporated into any contract.

Copyright © 2019 Broadcom. All rights reserved. The term “Broadcom” refers to Broadcom Inc. and/or it’s subsidiaries. Broadcom, the pulse logo, Connecting everything, CA Technologies and the CA Technologies logo are among the trademarks of Broadcom.

THIS PRESENTATION IS FOR YOUR INFORMATIONAL PURPOSES ONLY. Broadcom assumes no responsibility for the accuracy or completeness of the information. TO THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS DOCUMENT “AS IS” WITHOUT WARRANTY OF ANY KIND, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. In no event will Broadcom be liable for any loss or damage, direct or indirect, in connection with this presentation, including, without limitation, lost profits, lost investment, business interruption, goodwill, or lost data, even if Broadcom is expressly advised in advance of the possibility of such damages.

Page 3: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •
Page 4: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Introducing our JourneyInsider information and first hand experiences

Page 5: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Our Mainframe Journey

JCL

2007

COBOL CICS

PHILIPPINES

2010SINGAPORE

24/7SUPPORT

COBOLJCLCICS

DB2

2015BRNO, CZ

24/7SUPPORT

SYSADM

BATCHSUPPORT

JOBSCHEDULING

SYSTEMMONITORING

CICS DB2

IMS

2017PRAGUE, CZ

ZOWE

Z/OSMFTYPE

SCRIPTRESTAPI

JENKINSGIT

HUB

COBOL

ANGULAR

Page 6: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Our Typical DayMAINFRAME

Mainframe Native Tools

Page 7: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Are we Modern Mainframe Developers?

• Develop legacy applications for the Financial Industry• Use all ISPF screens all the time• Required to use a specific set of approved tooling

• Code editor• Source control• Compiling

• Work in a static development pipeline

Page 8: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Introducing The Modern Mainframer

Page 9: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Who is a Modern Mainframe Developer?

• Has insight into legacy applications but does not embrace the environment

• Uses modern IDEs• Proficient with open source tools

• Source control• Build tools• CI/CD

• Interested in building new apps and extending existing application, automation, modernization

Page 10: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Add your favorite tool

The Modern Developer

?

Mainframe

Cloud

AP

Is

CLI

AWS CLI, IBM Cloud CLI…

Page 11: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Add your favorite tool

The Modern Mainframer

Mainframe

Cloud

AP

Is

CLI

MF

Secu

rity

AP

Is

CLI

Modern-Mainframe bridge

Mainframe Native tools

AWS CLI, IBM Cloud CLI…

Page 12: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Introducing Zowe

Page 13: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Open source mainframe interface for the next generation

ABOUT ZOWE

• Part of Linux Foundation’s Open Mainframe Project (OMP)

• First open sourced project based on z/OS

• Four main components:• Command line interface (CLI)• API mediation layer• Web UI• Microservices

• Initial contributions from IBM, Broadcom, Rocket

• Over 2,500 downloads• v1.0 released February 11th

• Zowe.org

✔ Bridges enterprise DevOps to the mainframe✔ Shifts the mainframe balance of power from

vendors/proprietary to community/OSS✔ Makes mainframe an exciting career choice

Page 14: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Vendors can build ‘Zowe Compliant’ plugins that will leverage this framework.

Core Zowe includes API Mediation Layer, Command Line Interface (CLI), and Web User Interface

Open. Simple. Familiar.

Page 15: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

CLI – Enables Cloud-like Access to Mainframe

• Enables app developer and DevOps engineers to interact with the mainframe easily through a CLI from any terminal on Windows, MacOS, Linux

• Easily integrates with IDEs, shell commands, bash scripts, and build tools; installs using NPM

Build | Test | Deploy

• Interact with mainframe filesCreate, edit, download, and upload mainframe files (data sets) directly

• Submit jobsSubmit JCL from data sets or local storage, monitor status, view and download output automatically

• Issue TSO and z/OS console commandsIssue TSO and console commands to the mainframe directly

• Integrate z/OS actions into scriptsBuild local scripts that accomplish both mainframe and local tasks

• CLI Plug-InsContributed plugins: CICS, Db2, IMS, MQConformant plugins: https://www.openmainframeproject.org/projects/zowe/conformance

Page 16: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Explorer: VSCode Extension

Page 17: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

How could we have used Zowe to improve our lives in our previous roles?

Page 18: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

As a developer, how do I use Zowe?• Calling the CLI from VSCode and other IDEs

• Adding the scripts in Jenkins for CI/CD

• Creating shell scripts for personal tasks

• Automating source build tools

• Performing quick status checks from the terminal

• Incorporating it into development workflow together with mainframe native tools

• Using CLI’s node classes for a different applicationCLI

Page 19: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Extending the CLI

• Developing for CLI

• https://github.com/zowe/zowe-cli-sample-plugin

zowe my-new-command-group

• Conformance Program – plug-ins should be built with conformance in mind

Page 20: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Introducing the System Utilities Plugin

Page 21: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

System Utilities Plugin Architecture

>SUBMITJCL

CLI

Input values

Read Configuration File Substitutevalues

in the JCL

Submit JCLUsing ZoweJobs Rest API

Page 22: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

A request came in tocreate a 30 user-id in3 different LPARs that

Uses 3 different Security Systems

Security Adminhas a common JCL Library for these

kinds of requests.He edited the JCLs to perform the

request and submitted it to its specified LPARs

Before:

RACF

ACF2

TSS

JCL

JCL

JCL

Security Administrator

Page 23: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

A request came in tocreate a 30 user-id in3 different LPARs that

Uses 3 different Security Systems Security Admin

has a common JCL Library for these kinds of requests.

He uses ZOWE CLI to create a script to edit and execute the JCLs that he has

in his library

After:

RACF

ACF2

TSS

The ZOWE CLI plugin automatically identifies

which security system the LPAR is using based the

configuration file. It automatically submits the

request to Mainframe.

Page 24: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

A request came in toXMIT multiple files to

multiple LPARs

The Batch Operatorhas a common JCL Library for these

kinds of requests.He edited the JCLs to perform the request and submitted them to its

specified LPAR

Before:

LPAR1

LPAR2

LPAR3

JCL

JCL

JCL

Batch Operator

Page 25: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

A request came in toXMIT multiple files to

multiple LPARs

The Batch Operatorhas a common JCL Library for these

kinds of requests.He uses ZOWE CLI to create a script to edit and execute the JCLs that he has

in his library

After:

LPAR 1

LPAR 2

LPAR 3

The ZOWE CLI plugin automatically edits the

JCLs and submits it in the appropriate LPARs.

Page 26: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Demo

Page 27: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Script to Create UserIDs using the Plugin

Script Input

Page 28: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Because I Adopted Zowe

• I can create scripts to automate repetitive tasks I do daily• e.g. 4 hours of manual work reduced to 3 minutes

• I can upskill myself with modern programming languages

• I can apply my tools of choice for z/OS Development

• I have an easier interaction with the mainframe, while maintaining industry standards

• I have more control over the development workflow timeline• e.g. 1 week of Build and Deploy work (dependent on other teams) reduced

to 1 day (according to my own schedule)

Page 29: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Zowe Hackathon 2019The Zowe Mobile Application enables users to interact with Zowe, while on the go.

• Login using mainframe credentials• Check the status of all the Zowe services discovered by the

API Mediation Layer• Access the running z/OS Jobs services and z/OSMF REST APIs

to: Filter jobs View job spool Restart jobs Edit JCL from spool and submit the job Delete jobs from spool Cancel running jobs

Page 30: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

• Project Community site• https://zowe.org

• GitHub• https://github.com/zowe

• Review Zowe squads, missions and activities• https://github.com/zowe/community

• Project Documentation (includes user and install guides)• https://zowe.github.io/docs-site/

• Open Mainframe Slack Channel• https://slack.openmainframeproject.org

• Zowe CLI Sample Scripts• https://github.com/zowe/zowe-cli-sample-scripts

Getting Started with …

Page 31: Keeping Up with the Times: Adopting Zowe as a Modern ... · Who is a Modern Mainframe Developer? • Has insight into legacy applications but does not embrace the environment •

Please submit your session feedback!

• Do it online at http://conferences.gse.org.uk/2019/feedback/pg

• This session is PG