Written by: Joshua Fogus, Open Mainframe Project Summer Mentee
… And now the riveting conclusion to Josh’s Open Mainframe Project journey.
The offline Open Mainframe Project COBOL programming coursework is almost ready. There have been successes and setbacks and since I wouldn’t have it any other way, a lot of learning. There is still work to be done around the “where” and the “how”, but the “what” of the project is complete.
Let’s get this part out of the way, so we can get to the good stuff.
In my previous blog posts, I explained the plan for this mentorship: create an offline version of the COBOL programming course (in a Windows VM) and add a CICS chapter to the coursework. There were setbacks in both parts of the project.
As for the offline version for the COBOL programming course, while there is a Windows 10 VM with the coursework, there were challenges with the licensing. When downloading a Windows 10 VM from the Microsoft website, the license that comes with it is good until a fixed date. Once that license expires, Microsoft issues a new VM for download with a new fixed date. This means that when the VM is set up with all of the software for the COBOL course, it has at most two months until the license expires (assuming the user downloads it on day one of the license). It is not the end of the world if the license expires, it just means that the VM is only usable for a limited amount of time. After about an hour or so, the VM will power itself down. This is an inconvenience, but the coursework is still usable.
As for the CICS chapter, that has been taken off the docket. There were some CICS resources from which I was going to create the new chapter, but creating that chapter was going to take more time than was initially planned and I had less time to work on it because of the work to help accommodate for the Windows licensing model.
To help with the licensing model of Windows 10, I have also created a Linux VM with the coursework. Because of the free and open source nature of the Linux distribution used (see below for specifics), there is no concern about OS license expiration and the VM can be created, distributed, and used for as long as necessary as far as the OS is concerned.
An added bonus to the Linux VM is that it is under 20% of the size of the Windows 10 VM, but with all the same features. The Windows 10 VM comes in at just over 25 GB while the Linux VM is only a little over 4 GB. This will have a real impact on the end user. Since the concept behind this course was to reach students who don’t have a home internet connection and have to use an internet connection from their school or other public institution, the internet speeds may not be fast or reliable. Assuming a download speed of 10 Mbps, a 4 GB file should download in just under an hour (53.3 min). A 25 GB file, on the other hand, will take about 5.6 hours. Since download speed and time to download are inversely proportional, a factor of 10 slower internet speed produces a 10 times longer download.
There is also a solution to the CICS chapter that I was not able to create this summer. The online version of the course is being updated to include CICS information, so as a future project, perhaps the offline course can merge in the online material.
The “Where” and the “How”
There were a couple more setbacks that are still pending solutions, which means I don’t currently have an answer to either the “where” or the “how.” My mentors and I are working on determining the best place to host the VM for download. Also, while the VM is complete, it uses Micro Focus software, which requires a license. Proper licensing of the products for trial use is currently in the works as well. As soon as these questions have answers, I’ll announce it on social media (look below for where to find me).
Now we get to the fun part of the project. What’s it all made of?
The Virtual Machine:
- Virtual Appliance File Type: OVA
- Virtual Disk File Type: VMDK
- Supported Hypervisors: VirtualBox or VMware Workstation Player
- Supported Host Systems: Any x86 machine which can run one of the above hypervisors.
- Operating System: CentOS (Linux) or Windows 10
- Mainframe Application Development Software: Micro Focus Enterprise Developer
- IDE: VS Code with the Micro Focus COBOL extension
Within the virtual machine, the user can use VS Code’s tasks to easily provision and control a local server region. VS Code can be used to open the course folder, from which all of the JCL and COBOL files can be read and edited. There is even syntax highlighting for both languages. Finally, the VS Code tasks can be used again to submit jobs to the batch subsystem and retrieve the output written to the spool. This allows users to be able to complete all of the coursework as it currently exists.
The immediate next steps, as explained above, are to find a great host from which users can download the VM and figuring out appropriate licensing for the Micro Focus software. Following that, integrating updates from the online course into the offline course will require changes and configuration of the Micro Focus Enterprise Server. Finally, new COBOL and mainframe coursework can be created and offered back upstream.
What about Josh?
Don’t worry, if you’ve enjoyed reading these articles so far, I have one more post for you. I’ll be looking back on this experience, discussing what I’ve learned, and considering my next steps. I’ll announce the new article on Twitter (@FogusJoshua) and LinkedIn (Josh Fogus), so follow me there to find out when it’s out.