With mobility arguably being the hottest topic in IT, we delve into IBM's mobile strategy and how IBM i is a part of it.
Written by Steve Pitcher
This is the second article in a series that temporarily replaces my "In the Wheelhouse" column. Through the rest of this year, I'll be digging into what much of IBM has been investing its time on: Cloud, Analytics, Mobile, Social, and Security, also known as CAMSS.
Joining me this week is IBM's Tim Rowe, Business Architect – Application Development and Systems Management for IBM i, to talk about mobile. Tim's team ensures that IBM i has the features it needs to enable its customers and ISVs to write modern applications and properly manage them.
Steve Pitcher: Tim, can you tell me how IBM i is becoming more relevant in the mobile world in terms of languages being added that are more mobile-friendly, like a PHP or a Ruby?
Tim Rowe: I like to approach it from two different categories. There's languages and infrastructure. You don't need to necessarily have language on IBM i that "talks mobile." For instance, if you write a program for an iPad, you're writing a native app in C#. It won't run on IBM i, nor does it need to. But you need to think about the fact that in that regard we've moved the pendulum back into client/server a little. For a long time, we were completely server based. Then we went to fat clients. Then we moved into the web world. For a lot of mobile applications, the pendulum has moved back into client/server. If you have a mobile application that's on your device, then that's a client and you need to have that safe, secure, and robust connectivity from the client device back into your backend server. That's another aspect of what my team is responsible for: making sure we do have those interfaces, or "pipes" as I like to call them, to allow you to get the data from point A to point B.
SP: Can you give me an example for a guy who's not necessarily a programmer? Are you talking about an infrastructure (for lack of a better word) like REST?
TR: A REST-based web service would in fact be one of those types of protocols. There are other things that we've done. We've done a bunch of things with our XML Service support that we put in particularly for our PHP and open-source activities. There's a number of different protocols that are able to be used in this particular space.
SP: I know you get around a lot to conferences and road shows. What's the uptake in terms of languages and/or infrastructure for conference attendees? I remember at COMMON in Austin back in 2013 I met six or seven PHP programmers who had no idea what IBM i was. They didn't know what Power Systems was. Their companies sent them there just to understand the platform that they program applications for. It was really eye-opening for me and more so for them.
TR: True statement. That's probably going to be the norm for hardcore developers in many respects. If you go to the Zend conference, most of the people are like "Hardware? What hardware?" That's not what they're about. They know there's hardware somewhere, but it doesn't have to be a major concern to those guys. For the more traditional IBM i shop, what are we doing for them to help deal with modernization and deal with modern interfaces? We've tried to provide those types of open-source applications and environments where they can write their own. They can start to leverage applications that could be dealt with in a more modern device, whether mobile or personal computer and not necessarily in a 5250 infrastructure. That's where our PHP has for certain been incredibly successful. And then due to the demand of open source, where there's always a better solution, we've done quite a bit of work to enable IBM i to deal with all sorts of different languages. That's where Node.js, PHP, Ruby, and Python all come into play.
SP: I know there's going to be some announcements coming out on October 5. What's coming out then that we can talk about?
TR: If we want to talk about RPG for example, there is another update that's being delivered that's part of our modernization for RPG. We're removing our 80-column restriction on RPG source. This isn't just the IDE; this is for everything. The compiler has been updated so you can write code in any of our development environments. RPG was originally created for the punch card. We've moved beyond the punch card, and we've moved the language a long way forward the same way.
SP: For mobile-related content, what's new?
TR: For open source, it's related to mobile in a roundabout way. When we talk about open source, one of the things that's been a bit of a difficulty for our IBM i developers for years is that we run everything in our PASE container. IBM i have pretty much been using the XLC compiler when we compile open-source code on i. The rest of the world uses a compiler called GCC.
SP: XLC is the proprietary AIX-based compiler?
TR: That's the IBM i and AIX C-language compiler, and we've used it with great success for many things over the years. We've delivered all sorts of things, Apache for instance, with that compiler. The reality is, the rest of the world doesn't, and we needed to use what they do for simplicity. So the GCC compiler, we have that now. It's on IBM i as well as the open-source development kit that you kinda need to go along with it. Things like get, zip, bash, tar...lots and lots of those types of key open-source packages that a normal open source developer would use in their day-to-day business. The cool thing is now all those cool open-source things are native on IBM I, and it's going to allow the IBM i developer to be able to do more of those things.
SP: Tell me more about REST and JSON and how they're coming along.
TR: Earlier this year, we actually shipped our REST/JSON web services engine update. So we've had an integrated web services container for IBM i for many, many years where you could take an RPG or COBOL program and we would convert it into a SOAP-based web service for you. Incredibly popular. Works very, very well. In the last six months, we've updated that container to include REST/JSON, which is the primary interface that's used for lots of applications in today's world. Especially in the mobile world, if you want to get data from point A to point B, a REST service and leveraging JSON is a very popular methodology. This fall, we've added a number of features and updates to that support. There was a number of more complex scenarios that got cleaned up and fixed so they work in an expected manner. We've added support to allow you to create a Java-based web service. So you can create a web service on top of a COBOL, RPG, or Java program on IBM i.
SP: What about IBM i Access for Web? My company has used it for years on iPads and recently started using the new mobile interface. It's much more effective with the new mobile support.
TR: It's been very successful. We're continuing down that road and have plans into next year to increasingly update that product. When we talk about mobile development for our customers, another piece of our portfolio I want to mention is IBM DB2 Web Query. You can analyze your data from a mobile platform with that product as well. And don't forget we have some great ISVs that are doing some great work in providing mobile solutions. There's developments happening not just at IBM, but with our ISVs too.
SP: I'm going to briefly jump off mobile for a second because we're talking client interfaces and I do have your ear. Quickly, are there any new updates to IBM Access Client Solutions? Windows 10 is now here.
TR: There are some really, really cool things that have been added to Access Client Solutions. With Windows 10 support not being there for IBM i Access for Windows, you'll have to use ACS. The big thing we're adding for ACS is Run SQL Scripts and it will be released in December although it's being announced on October 5.