Q&A With IBM i’s AppDev Architect
June 18, 2018 Alex Woodie
During COMMON’s recent POWERUp18 conference in San Antonio, Texas, IT Jungle got a chance to sit down with Tim Rowe, the IBM i business architect for application development and systems management at IBM, to talk about what’s going on with application development on the platform. Here’s an edited version of that conversation.
IT Jungle: So what’s happening in IBM i application development? What’s new up there in Rochester?
Tim Rowe: In between all sorts of fun development stuff that we got going on back in the lab, I spend quite a bit of time talking with customers. We continue to see lots of customers that are looking at…modernization for one of any number of different reasons. Beyond that, for some companies, it’s as simple as ‘I’m concerned about my programing staff. How do I attract younger talent and stop doing things the old way, start using new tools and start using new methodologies.’ So it’s that kind of a conversation. For other companies, they’re saying ‘We’re doing DevOps with some of our Web UI and front-end stuff. Can we do DevOps with RPG?’ Absolutely.
ITJ: Is there a tangible impact of DevOps for IBM i shops? It seems like more of a buzzword.
Tim Rowe: In many respects, it is. We talk about the automated process of things. For some companies they might have 300 partitions they need to roll out an application to. So if I were to do that in a more traditional manner, I have somebody who has to go manually update it. That’s operations support, not development. Sot the concept of DevOps is, when development rolls out a new update, being able to take and disperse that easily, automated, and reliably.
And for many of our IBM i customers, it requires them to change their thinking. Because, if you think it, how did [companies] do programing and build and deployment? ‘Well, we did it a certain way’ – and I’m going to use this one word, you will only ever hear me use it this one time – ‘We did it the AS/400 way.’ We’re not AS/400 anymore. We’re IBM i. So there’s a huge difference in not only the architecture of the systems you’re running on. It’s a whole different thought process. It’s a whole different way you do development
ITJ: What are IBM’s tools for DevOps?
Tim Rowe: There’s a number of different pieces to this particular puzzle. It all depends where you’re at and where you want to end up going with DevOps. We have Rational Team Concert, our flagship DevOps tool, and also other things that fit in. UrbanCode is really good at doing multiple systems deployment.
ITJ: UrbanCode? Is that an IBM i thing?
Tim Rowe: It’s an IBM thing. If you think about Linux and the distributed space, you tend to have many small containers and servers where you have to roll out the same thing all over the place — that’s what UrbanCode is. It’s a tool for doing deployment. It can connect to IBM i and do deployment across there, too. Now, there’s also open source. Think about tools in the open source space in development, things like Git and Jira and Jenkins. These are all tools that fit into the DevOps tools process that can all be leveraged. And we do have our strategic partnership with ARCAD.
ITJ: What fun new stuff does IBM have in the works in application development?
Tim Rowe: If I had something, I couldn’t tell you anyway.
ITJ: Okay, what general areas are you looking in for new development, then?
Tim Rowe: In general, we’re continuing to always look how we can better play in the open source space. There’s a lot of work we’re doing in open source. Specifically, [business architect for IBM i open source Jesse Gorzinski’s] team is really looking to take open source to the next level with IBM i. We’re not necessarily doing any specific integration between them as much as bringing open source in a more normal manner to IBM i, and moving from the OPS product to RPMs .That’s been an incredibly exciting transformation for us on open source.
ITJ: Please tell us more about RPMs.
Tim Rowe: We just announced GA on that two days ago. We’ve been in beta for the past several months. So far, there’s incredible excitement. Everybody is incredibly excited about the opportunities and potential. It’s accelerated our ability to deliver things.
OPS was an incredibly important step in this process because we needed to get people less afraid of open source and delivering it in PTFs was a good thing. But PTFs and that PTF process — again this is an AS/400 deployment methodology. Open source doesn’t live in that world. They have a different way of doing things. That’s RPMs. Now that we’ve got a community and we have momentum going, now let’s start to move and change the game a little bit so we can deliver things faster.
We probably had 30 packages we’re delivering with OPS. Now we have 130. Once we get into RPM’s, we can automate the process.
ITJ: What type of software will IBM deliver via RPMs?
Tim Rowe: A lot of it is infrastructure and packages. We delivered Python and Node.js. One of the things we’ve been looking at is Odoo, a Python-based ERP application. So we have the core engine, but then there’s all these other little piece and components around Python that might be packages they use around building the application. In order to get the ERP to work, we need all these other pieces of the infrastructure, and so by moving to RPMs, we can start to bold out that.
ITJ: Will IBM deliver all code updates via RPMs? What about security patches?
Tim Rowe: It depends. What are you trying to get a security patch for: the operating system or for Node.js? If it’s for the operating system, no you’re going to get a PTF because that’s how IBM code is delivered. If it’s something in the open source space, it would be RPM.
ITJ: So RPM is just for open source and it’s going to stay that way?
Tim Rowe: Depends on where the open source space goes. That’s the challenge and the beauty of the open source community – it doesn’t usually stay stagnant. It’s ever-changing. By the end of next year, almost all the options [in the 5733-OPS product] will be end-of-life because the open source community is no longer supporting that level of product we delivered.
ITJ: Support means different things in the open source world.
Tim Rowe: It means not delivering fixes. We have the same thing in IBM i 7.1. It’s now end-of-service. If you want support, you need to go pay extra money and sign an extended support contract. And IBM thanks you for that, to a degree. We still want you to move to the new stuff. But even if you do that, there are certain things that are part of the IBM i server [that will not be fixed].
That includes Apache HTTP Server 2.2. The Apache Software Foundation end-of-lifed that December of 2017, which means there’s no more security patches created by the Apache Software Foundation, which means you will never have any more security pact for your Apache Web server on 7.1 and there’s nothing I’m going to do about it. The answer to that is, if you’re using the Apache Web server on your IBM i 7.1 server, you could potentially have security vulnerabilities that may be found in the future that you will not be able to get fixed. The solution is move to 7.2 or 7.3.
ITJ: What’s going on with Java on IBM i?
Tim Rowe: Jesse and I share that one. They’re changing how they name it. As opposed to Java 7, Java 8 or Java 9, starting here very soon they’re going to switch over to a year-dot-month based naming system. The new one is 18.9, which means September 2018. They also have changed from doing one release ever so many years to doing short-term release and long-term release.
Out in the market today you can find Java 9 or Java 10. Those are both short-term releases. Both of them have a six-month lifespan. After six months, that release is dead and will no longer have any fixes provided. They’re both intended to be very much for development purposes.
Now on IBM i, because of the short cycle and development type concept, we’ve chosen not to deliver the short-term release on IBM i. We’re going to focus on long-term release. So for IBM i, you can’t get Java 9 or Java 10, but Java 18.9 will be delivered whenever it’s GA’d by that side of the world. That’s what we’re working on right now.
Oracle has also made a couple of other major changes – and this is a potentially disruptive change – called Project Jigsaw, where it will break up Java into more modular type deployments. They have a kill switch in right now where you can no longer support Reflection into Java-based classes. When that gets permanent, there’s going to be millions of Java applications that will be broken unless they’ve basically redone their application to support that new methodology.
ITJ: How is IBM addressing that?
Tim Rowe: We’re going to be delivering the Java runtimes that support Jigsaw and projects with kill switches in place. We have many Java apps that are part of the operating system. Go through the list: Db2 Web Query, Navigator, ACS, WebSphere, Liberty. There’s a lot of different things that are all Java. So those are all applications that we need to then go at some point get addressed. That’s one of the things on our plates.
ITJ: IBM has tapped third-party vendors, like HelpSystems, Rocket Software, and HCL Technologies, to help with development of IBM i software products. What’s the latest there?
Tim Rowe: We had a new version of RDi that just came out recently and that was one that we worked with HelpSystems to deliver. That was really the first major release delivered with our partnership there. We’re really excited about the new PDM Perspective that is coming out. It’s really intended to help target those customers who are stuck in the mud and can’t get away from their PDM view in PDM and kind of help them with that transition to RDi so they can start to take advantage of all the productivity improvements the tool has built into it.
ITJ: There are still a lot of folks tied to SEU and PDM. They may have tried RDi back when it was called WDSc, and found it to be a dog.
Tim Rowe: I always love that conversation. So the first time you bought a cell phone and the application took 15 or 20 seconds to open, did you throw your phone away? No, you loaded a new version, and you tried it again.
We have that same conversation on a number of different things. I get customers who come up and tell me Java on IBM i is slow. Yeah, back on Power4 or Power5, I might have agreed with you. Honestly, I think Java was pretty rough on IBM i back then. But they kind of make this assumption that we in development don’t care or don’t actually do anything. I’m not certain.
From WDSc to now, we’ve been actively working to address the concerns of our customers, making it better and if you look at what we’ve done with startup, runtime, usability, funkily and the modern workstation, RDi runs really good on your PC. I have RDi on my Mac, and it starts in seconds.
ITJ: What are your thoughts on RPG Five?
Tim Rowe: Is that a new band or something? I’ve never heard of RPG Five. There’s RPG ILE and then there’s the free format RPG. But I personally prefer to call what I talk about Modern RPG, which includes free format as well as doing modular RPG development.
ITJ: That’s RPG Five then?
Tim Rowe: I never said that, just for the record.
ITJ: Maybe we should call it RPG 2018.9?
Tim Rowe: Now you’re getting somewhere!
ITJ: Thanks for your time, Tim.
RELATED STORIES
Google Close to Launching IBM i Cloud Service, Will Says
Many of us are tied to SEU/PDM because it far simpler and easier to work with in order to get something done, rather than having a bloated application with 1/2 dozen panels/windows getting in the way. For COBOLers, there seems to be no advantage – all enhancements seem to be geared towards the RPG language.
I’m always amazed at those folks who have never worked in a corporate environment where X percent of your CPU is being used for virus and malware scanners, hardware data collection and other miscellaneous Windows network services running on their PC. You don’t work in the real world of larger business networks. Remember, the IBM support team in most companies operates as part of the extreme minority and are locked down just like the average user.