In the previous post I promised to talk about the "Create" step in the Gartner toolchain. But I thought an intermezzo, showing a basic DevOps toolchain for z/OS would be nice.
In our simple, yet realistic, concept whe have three types of stakeholders:
- At least one person managing the issues (Jira)
- Developers using Eclipse
- Operations people using IKAN ALM
All stakeholders can stay in their comfort zone, because through Orchestration everybody has a view on the whole chain. By automating the "communication" between the different tools you gain time, avoid human errors and get a repeatable, fully documented (auditable) process.
Let's start with an initial toolchain (start small, think big!) with Jira (to define requirements or issues), and the Eclipse IDE (for development) connected to Subversion (for versioning) and z/OS. Now, once the code is ready, it can be committed to the version control repository (Subversion). Entering the Jira issue number during commit is the only requirement for a developer, the rest is automated.
A simple setup like this will take less then a day to be production-ready!
How a simple mainframe Toolchain works
From within Eclipse, IKAN ALM can be instructed to compile the code (the build step). As a result, a developer can see his jobs and the results of these submitted jobs from withing Eclipse from the z/OS perspective (in Eclipse IDE). As you may notice: the developer stays in his comfort zone.
Figure 1:The Eclipse z/OS perspective with z/OS data set list, z/OS jobs.
What happens during a compile process
This is what happens when IKAN ALM receives the command from Eclipse to start the Build process:
- Get the source code from Subversion
- Create a compile JCL based on the auto-generated program properties (e.g.: just batch? ...or with CICS? ...or DB2?)
- Transfer the source code, copybooks and JCL to z/OS
- Submit the job on z/OS
- Get the results (load module, listing, sources,...) and put them in the IKAN ALM build archive
The results of the compile process
Figure 2: showing the IKAN ALM Build history: succesful build (compile), deploy to test and deploy to production running.
Full detailed overview of an executed job
Figure 3: IKAN ALM list of executed Phases to compile a COBOL program on z/OS. You can expand each phase and see a full logging
Figure 4: the results of the IKAN ALM compile: listing, load module, COBOL source and COBOL program properties that are archived
Related Jira issues
Figure 5: List with JIRA issues that are part of this compile.
Additionally, you can open the JIRA ticket and see the update in JIRA telling what compile and promotes it has been part of.
Figure 6: JIRA with the created issue and the comment referring to the associated Build (compile) in IKAN ALM.
So, what happens after the compile process?
As a next step we could initiate a promote (or deploy) from within IKAN ALM to the z/OS test environments. This shows how easy it is to set up an initial toolchain that can be further enriched with extra steps or by functionality already used in other steps.
To summarize: in this example we took a standard Eclipse IDE, defined a z/OS connection and used the standard Java editor to edit COBOL code. You could "enrich" the Eclipse IDE in this example with a specific mainframe language (COBOL) editor plug-in.
An obvious expansion of your toolchain could include the addition of testing features. This as part of your Eclipse IDE or embedded in IKAN ALM as extra phases during the compile or promote actions.
We also published a short video on modern mainframe development with Jira, Eclipse and IKAN ALM, if you would like to see this all of this in action
In the next post
Next week we will cover the Create part (Code, Build and Configure) from the Gartner toolchain.
About the author
Hello, my name is René De Vleeschauwer.
Throughout my career I've been responsible for the development of enterprise software. Since 12 years I've been leading the development of IKAN ALM, an open DevOps framework.