Cross-Platform Development Targets Code Management
October 24, 2016 Dan Burger
The IBM i platform has a reputation that is both good and bad. It is powerful, dependable, securable, manageable, but highly proprietary. Being proprietary means the system and the people who support it on often on their own island. That wasn’t a problem for many years and some shops can still live with that. For others, the “doesn’t play well with others” description doesn’t cut it any more. So IBM is working to change that.
You probably noticed. Going from proprietary to open is not a quick fix. But compared to the days when almost everything in enterprise computing was proprietary, there’s been notable progress. It’s part of the IBM i strategy, which is ongoing and slowly taking hold.
As an example, take a look at the latest release from ARCAD Software, a company that specializes in IBM i DevOps and modernization projects. One particular piece of software, ARCAD-Builder, recompiles applications and analyzes the impact on dependent components. It was originally designed strictly for IBM i environments and integration with other ARCAD software. Later it became integrated with IBM’s source code management software called Rational Team Concert (RTC), which until then had no IBM i component. Now Version 3.0 of ARCAD Builder–generally available October 30–will support several external source code management (SCM) tools, including Git, Subversion (SVN) and Microsoft Team Foundation Server (TFS).
Git and Subversion are popular repositories and management tools for open source development. And TFS is the choice of Windows development teams. ARCAD is finding these development tools are popular in companies where IBM i plays a prominent role and development teams are increasing their cross-platform work. Rather than force developers to use a tool other than the one they prefer or force them to buy multiple tools that perform the same task in different development environments, ARCAD is helping IBM i play nice with others.
Although, to a great degree, development continues to be done in individual, language-based encampments, some of the walls are being knocked down, according to ARCAD president Philippe Magne. “The development environments will remain like that for many years,” Magne says. “But the trend toward using common tools will continue as companies plan their development strategies, which are likely to include open source along with RPG, .NET, Java, and others. The idea of central source repository is becoming more concrete.”
ARCAD-Builder provides the IBM i component to development teams that choose a non-IBM i repository allowing the IBM i part of the build phase to become part of the overall build phase.
Organizations that have already taken on multi-platform projects are telling ARCAD what they want is a single source code management tool. If they already use TFS or Git to manage source code, they want to use those tools to manage IBM i.
When combining front end and backend application development becomes the norm, it forces more cooperation among development teams. And the likelihood that changes on backend will impact the front end (and vice versa) are higher. More cross-platform integration increases the odds of expected and unexpected impacts. This is happening with greater frequency because the population of the open system developers is growing. ARCAD is expecting it to grow quite a bit more. And so is IBM.
“IBM i development is no longer a silo,” Magne says. “The new generation of programmers coming to IBM i are bringing open source technology with them and using it successfully.”
Because of its highly regarded distributed version control and GitHub repositories, Git’s popularity has skyrocketed. IBM now supplies Git as an installable product on IBM i, giving Git users a high level of security for managing Git repositories directly on IBM i.
The distributed nature of Git also eliminates a central point of failure. If the central server goes down, a copy of everything last delivered or pushed remains.
In many cases, where you find Git you find Jenkins, a popular tool for managing the build phase in open source environments. ARCAD-Builder was designed with Jenkins integration to improve the cooperative capabilities of open source and IBM i.
Because IBM i and Microsoft Windows live under the same roof in almost all IBM i shops, the potential for better cooperation is worth pursuing.
“We are aware there are a lot of IBM i shops using TFS [for their Windows development],” Magne says. “Some are managing their IBM i source code in TFS, which has an Eclipse plug-in. Microsoft used to be completely proprietary with its development environment and its own set of tools. But it realized it could not ignore the rest of the world.”
A similar realization came to IBM after it attempted to push RTC in the i community. The message was to put everything into a single source repository in RTC. The IBM i community preferred its own repository and tools.
Now both IBM and Microsoft realize that Git can play that role and that shops using Git would prefer to continue using Git, which is now supported by RTC and TFS.
One repository and a single set of tools for managing the environments–chosen by the development staff–is within the realm of possibility. Magne believes that. The shift from proprietary version control, he says, is “a natural outcome of IBM i modernization and today’s multi-tier application architecture.”
“The job of a developer has slightly changed because a single language is no longer dominant. It might surprise some to know there are more Python developers than Java developers. It will be up to each company to decide which languages will be best for them,” Magne says.
IBM is trying to provide a lot of development options by broadening IBM i support of many open source languages. Managing all the code options, whether open source or not, is where ARCAD comes into the equation.