Bringing more students to innovate on the mainframe with Linux and open source has been the hallmark of the Open Mainframe Project, with 15 students participating in our internship programs to date. Building on that success, the Open Mainframe Project is bringing this program right into the classroom, taking part in a project with Virginia Commonwealth University’s Capstone Program.
The project will design and implement an easy-to-use service broker on the mainframe Linux environment. An Service Oriented Architecture (SOA) concept, the service broker is a framework component that allows application(s) to dynamically call micro-services, without code modification to the overall application framework. Sophisticated service/message brokers have been implemented in products such as MS-SQL and in IBM’s Websphere MQ, but are full product installs and are complicated to implement.
Phase I of this project will develop a simple service broker as a Docker container. It will have the ability to call micro services dynamically, without having to recreate the Docker container. Administrators will have the ability to upgrade new versions of a micro services and restore a previous version dynamically as the application runs in real time. New micro services can also be added as the application in real time.
Phase II of the project will be to add a Docker container to act as a service message bus. This part of the project will allow the service broker to send messages/parameters to micro services listening on the service bus. The concept is that the same micro services can have multiple instances listening on the service bus that would enable workload balancing. Micro services that are taken down or not responding to messages for them on the service bus, will have their transactions stored until the service comes back up.
The goal is to implement generic SOA (Service Oriented Architecture) Docker container components that can be used to build applications that are flexible and resilient, with minimal configuration. End goal is to begin building a library of usable Docker SOA components to increase application development productivity.
All of this work will be available as open source. You can check out the code and follow the progress these students are making on GitHub: