In February, some of us IBM IMS folks in San Jose started thinking about how we can make it easier for application developers to find the right information for developing applications for IMS using modern languages. We have had customers tell us that it’s hard to find details regarding a modernization solution, sometimes there is reluctance to move forward because of lack of instructions or a simple how-to document. The reasons for this are several but chief among them is that all of them don’t have the same configuration, over the years they have had a lot of customizations.
Also, their needs are different. Some were looking to modernize all within z/OS, some were looking to access database from distributed servers, some were replacing older modules or interoperating with COBOL and PL/1.
When someone is trying to develop Java programs that access IMS database or developing Java applications that run in an IMS dependent region, this was their typical flow:
- Discover the solution at a user group meeting
- Ask IBM representative about it
- Try to implement themselves
So we conducted IBM Design Thinking
exercises with some of our clients. We wanted to know: “How does a client go from finding out about a new modernization solution to implementing it?” We talked to application developers, system programmers and database administrators. The results were fascinating.
Here is the story with Susan the app developer, Steve the database administrator (DBA) and Vikram the systems programmer (sys prog). (Names have been changed to protect privacy):
“Susan is excited she got this great new project. She knows JDBC and how to program for DB2 database, and learned that IMS has this open database solution she can use. Sounds fun! Then she finds out the IMS database is not set up for open access.”
“Bummer, I don’t even know who the sys prog is, I know Steve the DBA, will ask him”
Steve is worried that Susan is going to access IMS data from a distributed platform. He says:
“How can I preserve the quality of service? How do I teach Susan the structure of this database? She’s used to DB2, she doesn’t know hierarchical, come to think of it
I don’t know hierarchical either, I am more familiar with DB2.”
Steve reads about explorer for development in the IBM Knowledge Center
. He talks to Vikram. “IMS access from TCP/IP needs to be set up.”
Vikram is annoyed that he is getting this request because he doesn’t have the whole picture. “What do you mean by setting up open access?” he asks. “What will Susan use it for? What will you be doing? I have never done this before, IMS catalog is new to me, I have no idea how to set that up, it will take time to learn and do this.”
Susan and Steve wait for a month for Vikram to set up open access. Then Steve learns that Susan isn’t able to use the universal drivers because IMS database metadata is bundled within COBOL and Pl/1 applications, it needs to be manually enhanced for her to be able to query it. Steve doesn’t know how to enhance database metadata. Susan is frustrated.
IMS Solution Adoption Kits
We consolidated the issues as:
- There’s no “big picture” information that resonates with me and my role as far as this solution is concerned, so I’m not motivated.
- Finding the right documentation is hard. Productivity goes down because you have to wait on people to complete tasks in their area (which they don’t know how or don’t know where to look for) and this in turn slows down the development process.
- Too much digging is required to find the docs, and there are too many different places to look for and once found it is not sufficient.
- There’s no single place with step-by-step instructions on how to go about implementing the solution.
The idea of IMS Solution Adoption Kits was conceived. The outcome was rich to-the-point information that gave the complete picture and is role based. The adoption kits can be found in IBM Knowledge Center:
We showed this to the same group of people and got these reactions:
Susan uses the adoption kit to understand how to use open database solution, “Aha, so this is how I use the resource adapter, I didn’t find this info anywhere, this is exactly what I was looking for.”
Uses Java and JDBC programming to connect to and access IMS DB.
Gets a relational view of the database, Visualizes IMS database using Explorer.
Pain point addressed: Skill level, Community of Java developers to help, Don’t have to learn assembler or PL/I.
Visualization helps me write better and optimized code.
Steve uses the adoption kit to learn how to capture metadata for the database: I like the video of capturing metadata, the guy shows me how to use map case, although we have IMS catalog, now I understand why Susan’s queries didn’t work the first time, the metadata needs to be enhanced for specific cases. I will make myself useful and I need to do this only once, unless of course I change the definitions for some reason.
It’s easier to show Susan the structure of the database using Explorer for development and exactly how the queries would look like.
Videos help me understand the whole story.
Vikram uses the adoption kit to get the big picture, understands what’s involved in open database/open access solution. He’s able to copy sample JCL and plug it in his code to set up address spaces.
“Aha, now I understand what these folks are trying to get at. The use case story showed me what is possible with open access”
“I can now set up the address spaces in minutes and I know how to set up catalog, it was easy with that great article which was step by step as opposed to reading chapters of a 300 page book
This experience shows that it’s all about the user. Users of solutions need to be able to find the information they are looking for easily and the documentation needs to be more consumable, a mix of videos, articles and traditional write ups.
Poonam Chitale is an IMS Offering Manager at IBM. She manages the database offering and is responsible for enablement for IMS family of offerings. Since joining IBM as part of the Rational acquisition in 2003, she has worked in software development, testing and client enablement on the distributed side. After spending time working in a cloud labs team, she became interested to learn z/OS. She joined the IBM IMS team in 2012 as a function tester in the Java team. Poonam can be reached at firstname.lastname@example.org