Technology Refresh Highlighted By Development Languages And Native Flash Storage
May 6, 2015 Dan Burger
IBM‘s latest round of technology refreshments for IBM i 7.1 and 7.2 were announced last week, so I asked Steve Will and Alison Butterill to pick what they expected to be the operating systems’ most appreciated and readily implemented enhancements. Their agreed upon choices came down to support for popular development languages Java 8 and Python, plus expanded support for the data interchange format JSON, and native flash storage, which replaces virtual attached storage.
Will, the chief scientist for IBM i, and Butterill, the IBM i program offering manager, have a great deal to say about what goes into the OS upgrades, which are designated as TR 10 for i 7.1 and TR 2 for i 7.2. The two executives are skilled at navigating using the IBM i roadmap and the internal development capabilities while taking in the feedback from end users and IBM i ISVs. Although not all enhancements that are built into the Technology Refreshes are designed for each version of the OS, the enhancements discussed in this article do apply to both 7.1 and 7.2. The general availability of the TR upgrade features, in multiple PTFs, will come at the end of May.
Java 8 and Python
“One of the first things users will do as a result of this TR is make the move to Java 8,” Will predicted. “People have been asking for Java 8 ever since they found out it was coming into existence.” Java users in the IBM i community are eager for both the performance and security enhancements.
Within IBM, support for Java 8 brings IBM i to the same level as the other IBM platforms, which allows the IBM i software team to participate in company-wide Java-related development programs.
Java 8 became available in March 2014. A variety of surveys indicate its adoption rate is much quicker compared to Java 7, which was introduced in July 2011.
The high number of security exploits that have affected older versions of Java is one of the reasons for a Java 8 rapid adoption rate. Operational differences comparing Java 6, 7 and 8 are not particularly significant.
“It’s surprised me that our community has been pushing for Java 8,” Will said. “It’s not that we are slow at it. We are no slower than when we made support for Java 7 available.”
The number of Java programmers working in IBM i shops or the number of IBM i shops with some amount of ongoing Java programming is a mystery that someone with a good handle on the IBM i community should have some educated guesses about. The IBM i Marketplace Survey, which was collected and compiled in 2014, shows 38 percent of i shops are using Java for new development. That compares with 87 percent of shops that are using RPG for new development. Those two percentages combined total more than 100 percent, so clearly there shops that are using both languages for new development.
“I get asked about Java a lot as customers look at modernization,” Will says. “I can tell you they are looking at whether they should be adding Java to their RPG and COBOL skills.”
There are obviously Java developers in the IBM i community and they would expect IBM i to support the latest version of Java. With a 13-month gap between when Java 8 became available and when it was supported by IBM i, you can tell there’s not a race to get that support included.
“We can’t say definitively whether there are more or less Java developers today than there were a year ago. What can be said definitively is that more customers are looking to branching to other languages for augmenting their existing code. A lot of that is driven by needing a different kind of user interface. Java is a good language for moving to a different user interface, but so is PHP, Ruby, and Python,” Butterill noted. “We see people building skills in other languages.”
Having multiple choices when it comes to programming languages supported by IBM i is of great significance, according to both Will and Butterill. During the past five years, they believe the IBM i community has an increased awareness that multiple choices exist and are asking that the OS support them.
It’s not that companies are moving away from RPG, Will says. It’s because they are augmenting RPG with development in Java, PHP, and now Ruby and Python. That’s why IBM is allocating resources to those areas.
By Will’s estimation, customer requests for support of Ruby and Python are similar in number. Support for Ruby came earlier because ISV partnerships made it easier to get it on the platform. Specifically, the company known as PowerRuby was instrumental. The Ruby support sparked increased interest in support for Python.
“I don’t know what the next language will be, but we have completed the set of languages people see as the modern open languages,” Will noted.
The success of PHP on IBM i was important to the more recent efforts to bring Ruby and Python onboard.
The XML service that was developed early in the open source efforts with Zend Technologies streamlined the process by creating an interface for PHP to talk with i. That interface is also being used by Ruby and Python, Butterill noted.
There are a few vendors that do a lot of work with Python. The Power community has been exploring some of that Python ISV territory, specifically in the Linux arena. Butterill is also investigating potential partnerships between Python ISVs and the IBM i partner network.
Native Flash Storage
Native flash storage made the list of TR enhancements based on the recommendation of Butterill, who said it was on the list of most asked for enhancements by system administrators. Prior to this Technology Refresh, flash storage for IBM i users was accomplished with a VIOS connection. That didn’t sit well with some folks and it leads to the conclusion that now that is available natively, people will want to do this very quickly.
“There was a perception when flash was initially introduced that it was not for the i marketplace because it was not a native connection,” Will said while quickly preparing a description of his perception.
“In reality, we often VIOS-connect to new things and later pull in native support as it becomes clear our IBM i clients want it,” the chief scientist said. “It became very clear after the first VIOS implementation of flash technology that we were going to want to do this. Virtual attach was not going to be good enough. Our customers told us that. So we put it on our list of things to do. Clients that want high speed data access wanted native attach to know we were going to be serious about this.”
“Virtualization–to many clients through something like PowerVM that supports VIOS–is something considered to be too complicated,” Butterill explains. “I want to emphasize that is the perception. It’s not necessarily reality. We’ve come so far in PowerVM and VIOS that it’s not as complicated as they think it is to attach things through VIOS.”
Will contends some things are done more easily with VIOS and those who prefer native attached are only used to doing things that one way.
“It depends on the level of experience. But VIOS opens the door to attaching other types of technology such as PowerHA or Live Partition Mobility. People who are doing those things don’t view VIOS attached as complicated,” Butterill said.
JSON Comes to DB2
JSON has become a favorite way to describe data originating on the Web, and it’s also used in database queries. It’s an easier, albeit lighter weight, alternative to XML. This is the second consecutive TR with a JSON element to it. In TR9/TR1, the original support pertained to JSON’s capability to be consumed by services. That was the first step. In this TR, the added support is about storing JSON data in DB2 so it can be integrated.
The pattern of support for JSON to this point is following in the same foot prints of IBM i support for XML, which dates back more than 10 years.
“I think people will take it (extended JSON support) as an indicator that we will be doing more with JSON in the future,” Will said. “This is not going to be the first thing people implement when they get the TR. The inclusion of JSON in the TRs is an indicator the IBM i development team is keeping an eye on JSON use.”
You don’t have to look far to find IBM i developers who, for a variety of reasons, are fond of JSON. This is primarily for its use in building Web applications.
Database development is the other side of JSON.
“JSON has gotten attached to this thing called NoSQL, which is getting a huge amount of hype because it gets connected to the big data/unstructured data elephant in the room,” Will said. “It’s not so clear to me how people are going to want to use unstructured data built into DB2. We need to do some analysis on how people want to use it. When we put it in our database, we want to do with high performance and quality.
“We aren’t going to be doing unstructured data with JSON right away,” Will continued. “There’s a storage place for it. That’s what we are announcing. How it gets incorporated into DB2 is something the entire relational database industry is trying to figure out. I think we are going to do some stuff with JSON. Whether it will map to what we have already done with XML, I don’t know. We are not there yet.”
To dig deeper into the Technology Refresh specifics, with the capability to choose IBM i products or particular subject matter, follow this link to the IBM Technology Refresh for i information on the developerWorks website.