As I mentioned in my introductory blog post, I believe that we need to change the way in which modern developers interact with and develop mainframe software to best leverage their skillset. Ideally, we should foster an environment, in which new mainframe developers can quickly become productive working on cross-platform mainframe applications by using ever-evolving tools and frameworks familiar to them. In this blog, I’ll introduce a use case that exemplifies a modern development experience and later discuss how a team constructed the CI/CD pipeline that enables it.
Onboarding a New Developer
Team Steel Masters is an agile scrum team at CA Technologies that is developing a proof-of-concept application named Marbles, which interacts with mainframe systems. The Steel Masters are welcoming a new mainframe developer to their team – a recent computer science college graduate named Mindy. Steel Masters are thrilled to have the opportunity to on-board a new application developer with a fresh take on mainframe development.
Mindy requires a few basic tools before she can become productive and contribute to the Marbles application. She needs access to the source code repositories, access to a test environment, and the ability to build, test, and deploy the application.
Before we learn about the innovative methods that Mindy can use to contribute to the project, it is helpful to understand a bit more about the Marbles application and the challenges that come with supporting it.
What is “Marbles”?
Marbles is a proof-of-concept application that is intended to simulate a full-featured software application and development environment. The use case for the Marbles application is simple: it tracks a quantity of marbles of various colors. The application displays as a GUI in a web browser where the user can add or remove marbles and view a visual representation of how many marbles exist in each color category. You can access the COBOL source code for Marbles on github, which was copied from CA Endevor Software Change Manager.
The application consists of both mainframe and distributed source code (stored in CA Endevor and GitHub, respectively), and it interacts with the following systems and resources to function:
- IBM Db2 Database to store data about the color and quantity of marbles.
- IBM CICS Transaction Server for z/OS to handle input from the end user to change the quantity or color of marbles in the database.
- IBM WebSphere Application Server (WAS) Liberty to host the Marbles application.
- IBM WebSphere MQ to manage the communication between WAS Liberty and the CICS region.
Now you know the story behind Mindy, Steel Masters, and the Marbles application; in our next blog we will share how the team made contributing to the application simple, fun, and exciting for Mindy!