Zowe Hackathon 2019

Petr Plavjaník
Zowe
Published in
5 min readOct 15, 2019

A hackathon that focuses on mainframes and z/OS? At Broadcom, formerly at CA Technologies, we have a lot of experience with hackathons. In the Mainframe Division, we have been organizing hackathons since 2012.

A Hackathon is a special event in which people with different roles like developers, product managers, designers, system programmers, and even the users of Broadcom software collaborate on an idea, usually a software project. The hackathons take place in a short time period, usually 24 hours, or a few days. People who usually do not work together in their daily jobs are focused together on just the idea for that given time.

The goal is to have functioning software or hardware at the end of the event. The hackathons are usually focused on one topic. In this case, our topic is Zowe.

Zowe Overview on YouTube

What is Zowe? Zowe, hosted by Open Mainframe Project, is an open-source project for the IBM Z mainframe platform. Broadcom is an initial contributor to Zowe and a member of Open Mainframe Project. The entire mainframe community (Independent Software Vendors, System Integrators and z/OS consumers) can benefit from it. Zowe, like Linux, macOS, or Azure, comes with a set of APIs and capabilities that applications build on and also includes some applications out of the box.

Zowe offers modern interfaces to interact with z/OS and allows you to work with z/OS in a way that is similar to what you experience on cloud platforms today. You can use these interfaces as delivered or through plug-ins and extensions that are created by clients or third-party vendors.

There are three main components of Zowe:

  • Zowe CLI — provides a command-line interface (CLI) that allows you to interact with the mainframe from any other platform. You can use it with common tools such as IDEs (for example VS Code or IntelliJ IDEA), shell scripts, CI servers or services (such as Jenkins, CircleCI, or Azure Pipelines) and build tools for mainframe development and testing.
  • API Mediation Layer — provides a gateway that acts as a reverse proxy for z/OS services, together with a catalog of REST APIs and a dynamic discovery capability. The API Mediation Layer also provides a framework for Single Sign-On (SSO).
  • Zowe Application Framework — A web user interface (UI) that provides a virtual desktop containing a number of apps allowing access to z/OS functions.

All of these components are extensible or easy to integrate with other tools. It means that you can create a plugin that provides new commands to the Zowe CLI, create new REST API services, make existing APIs available via the Zowe API Mediation Layer, or create new Zowe Desktop applications. This makes for a lot of project possibilities for the hackathon.

About 40 teams from all mainframe development locations participated in the Zowe Hackathon. Preparations for the Hackathon began just a few weeks before. Teams are formed from people with strong belief in an idea and whom are able to use the short time to deliver a working solution during the hackathon.

What are the typical projects during Zowe Hackathon?

  • Use Zowe CLI to improve internal development processes. Zowe CLI allows easy automation of mainframe development processes, for example, automate complicated testing scenarios. Teams that have adopted it have saved a lot of time.
  • Build solutions that are using REST APIs that are provided by mainframe applications. The existing applications can be integrated using Zowe API ML. Many existing mainframe applications and services provide REST APIs that can be easily used to create an interesting Hackathon project.
  • Add the REST APIs capabilities to the product that the team is working on in their daily work. Many teams have decided to develop REST APIs for their mainframe product and make the product easier to use for everyone without the need to be an expert on mainframe development.
  • Create CLI commands for their products. This will allow everyone who is using the product to benefit from the capabilities of the Zowe CLI. It is easy to add a new command-line interface to any mainframe application using Zowe CLI.

While many teams already have strong knowledge of Zowe and its components, for some it is the first time they get hands-on experience with Zowe. Broadcom teams that are contributing to the Zowe project helped other teams to gain knowledge before the Hackathon started. Training was delivered, developers participated in workshops, and R&D mainframe systems were prepared so everyone can start developing from the very start of the Hackathon.

The sample “starter” projects are fine-tuned so the teams can easily start creating new CLI commands or develop new APIs. Many of these are available to the entire mainframe community at Zowe organization on GitHub.

This team is working hard to make it possible to have Jenkins environment with Zowe CLI and other mainframe automation tools be created in a matter of minutes (tweeted by Aysen Solak)

This year the hackathon took two days, it started at 8 AM the first day and ended at 9 PM on the second day. Teams started working early in the morning. Some teams prepared a detailed plan for the things that they wanted to deliver during the two days, some prefered to start “hacking” right away. Some teams have decided to work without much sleep, others have slept well and started with a fresh head in the morning. The organizers provided food and refreshments during the event.

The participants of the Zowe Hackathon in Prague

The developers who work actively on Zowe joined various teams to distribute the knowledge of Zowe among all the teams. The software architects helped teams during the event. They helped resolve problems when the teams were stuck. Teams shared problems and solutions in a common chat room. While it is a competition, teams do help each other.

After the “hacking” ended, the teams fine-tuned the presentations, and then “judging” starts. Teams present what they have done to a panel. Teams are also preparing a blog so everyone can learn about what they have achieved. The judges evaluate the potential of the project, the quality of the code and the presentation, how much the team has learned, and the innovativeness and creativity of the solution. The judges have to select three winners. It is not an easy task, as the competition is always so close. All the teams worked hard and achieved great results and most importantly, have learned a lot!

--

--

Petr Plavjaník
Zowe
Writer for

Petr’s main areas of expertise are mainframes and automation, and using modern development tools and languages such as Java, Python, and Node.js on z/OS.