Written by Ashish Kumar Dash, Open Mainframe Project Summer Mentorship 2026, mentee researcher, guided by mentor Francesco Giordano
About This Program
I’m an open source enthusiast with a strong interest in Java, backend systems, and open source. Through the LFX Mentorship I joined the Zowe community to work on the Zowe Client Java SDK — a library that lets Java applications talk to enterprise IBM z/OS mainframes through the z/OSMF REST APIs.
My goal was to ship real, production-grade features into an actively used open-source SDK while learning how mature projects hold the bar on design, conventions, and code review. This report covers everything from PR #513, the start of my mentorship, through the mid-term checkpoint.
What I Worked On
My contributions clustered into three areas:
- Features (new z/OSMF REST APIs) — Create Workflow, Retrieve Workflow Definition, Get Workflow Properties, Delete System Variables, and Local-File Workflow Create.
- Framework enhancements — extended the shared REST layer so DELETE requests can carry a JSON body — a reusable change now consumed across the SDK.
- Code quality and refactoring — standardized Javadoc/API-doc conventions and simplified the public API surface by removing a redundant overload.
Across all of this, I authored typed Jackson response models and comprehensive JUnit/Mockito unit tests, and drove every change through maintainer code review to merge.
Pull Requests
All PRs below are merged into main.
| PR | Title | It Established |
|---|---|---|
| #513 | Add z/OSMF Create Workflow API | First feature — WorkflowCreate, builder-based input, typed response and variable models, constants, and full tests. Set the template every later workflow API followed. |
| #515 | Fix API doc URL and Javadoc style | Corrected IBM REST API doc links and standardized Javadoc conventions across the workflow classes. |
| #516 | Add missing Javadoc | Completed Javadoc across getters/builders so the doc-generation build ran clean. |
| #518 | Add z/OSMF Retrieve Workflow Definition API | GET workflow definition with typed step/variable definition models and nested Jackson deserialization. |
| #522 | Add z/OSMF Get Workflow Properties API | GET workflow properties with property/step/variable-info response models. |
| #525 | Add Delete System Variables | DELETE system variables; enhanced the shared DeleteJsonZosmfRequest to send an optional JSON-array body without breaking existing bodyless callers. |
| #530 | Remove redundant getProperties overload | Simplified the API surface down to the builder-driven common method. |
| #546 | Add createLocal for local-file workflow creation | Ported the Node.js SDK’s local-file workflow create to Java — uploads local files to USS, creates the workflow, and cleans up temp files. |
Challenges
- Matching an established codebase’s conventions — early PRs went through several review rounds on Javadoc style, naming, and API-doc links. Internalizing the project’s implicit standards was the steepest part of the ramp-up.
- Modeling large, deeply-nested REST responses — the workflow definition and properties payloads have many optional and conditional fields; deciding what to model strictly vs. tolerate flexibly (via Jackson) took real design judgment.
- Changing shared infrastructure safely — adding a body to DELETE meant touching a class other features depend on — the challenge was making it purely additive so nothing existing broke.
- API design trade-offs — choosing builder-based inputs vs. positional params, and reusing an immutable input class via a copy-builder, meant weighing ergonomics against consistency with the rest of the SDK.
Reflections
The Program
The LFX Mentorship structure — a clearly scoped set of issues, direct access to maintainers, and a real merge-to-main workflow — made this feel like genuine professional experience rather than a sandbox. Working in the open, with public PRs and reviews, was a great way to build both skills and a track record.
The Project
Zowe Client Java SDK is a clean, consistent, well-tested codebase with a strong “reuse before you build” culture. The uniform structure across modules meant that once I learned one API, I could contribute the next much faster. It’s a welcoming project for newcomers who are willing to meet its standards.
Looking Ahead — Second Half
I plan to continue expanding z/OSMF workflow and system-variable coverage, strengthen tests around the newer features, and take on larger cross-cutting work now that I’m fluent in the codebase’s patterns.
Stay tuned for more mentee blogs as our Summer Mentorship Program continues!
- Learn more about this year’s summer mentees and mentors
- Watch past mentee presentations on our Mentorship Playlist on YouTube
- Follow our blog for the latest updates from the program
- Connect with us on LinkedIn
- Sign up for our quarterly newsletter