A Little .NET Can Go A Long Way
Published: January 9, 2012
by Dan Burger
Richard Schoen has been doing presentations on using Microsoft .NET technology in conjunction with IBM i on Power Systems at COMMON for several years. At a recent Omni User meeting in Chicago, Schoen was speaking again on this subject and it certainly seemed to be a topic of interest as a larger than normal attendance was recorded.
This is not exactly a mainstream topic because Microsoft and IBM don't see eye to eye on a lot of things . . . running Windows natively on Power Systems machines being a perfect example. This is a constantly festering wound that won't heal. We all know Windows could be made to run on Power-based servers. No less of a source than Frank Soltis will tell you the reason there's no Windows on Power boxes is political, not technical, and that the two companies have talked about it to no avail. And the result is that anytime a company makes a decision to use .NET, there will be a Windows server involved, not an IBM i machine.
Another way to attack the problem is to get Windows applications running atop Mono, the open source implementation of the .NET framework that is based on the ECMA standards of C# and the Common Language Runtime, instead of doing a full Windows port. Since Novell was acquired by Attachmate last year, the Mono project is being backed by a new company called Xamarin, which was founded by Mono founder Miquel de Icaza, who was previously working at Novell. So the Mono project is alive and well, and it is not too late to add it to IBM i. (It has been rumored that IBM ported Mono to run inside PASE, the AIX runtime environment embedded in IBM i operating system. That idea was bottled up and kept in a darkroom never to see the light of day.)
The situation--no Windows and no native .NET on Power Systems--has led developers down the path of Java and a lot of other methodologies--most recently PHP--to make the platform more interoperable with other platforms and more friendly with mobile devices, which is the way of the world.
"As people are modernizing their applications, they are choosing development languages. I favor using Microsoft .NET," Schoen said last week in a phone call with IT Jungle. "There's a lot more companies than you might think using the technology. There's just not typically much public information about it. I started doing sessions at COMMON a few years ago because of this. It's one of those alternative options that needs to be shared with those who want to listen."
At RJS Software, the company that Schoen owns and is its technical guru, Microsoft technology plays a big role in developing products, particularly those that are taking the mobile application and the Web development paths. Schoen has had success using Microsoft app development tools and he has an interest in sharing ideas with the IBM i community.
I think we can all relate to the idea that IT complexity is the merciless alien predator that seems to thrive in IT environments. Simple methodologies gather attention in quick fashion. If the average Joe Programmer can become fairly proficient within just a few days of being introduced to new technology, he's pretty happy about that.
"I look at it from the perspective of an RPG IBM i person looking to get some crossover skills and quickly building something useful," Schoen said. "It makes sense to do technology like this."
It also makes sense for people to keep their skills relevant by learning new techniques, especially skillsets that don't take a lot of time.
In most cases there are dual development staffs in IBM i shops. One side takes care of the RPG code while the other develops in .NET. In order to do this as efficiently as possible, crossover skills make sense. Much of what Schoen hears from the IBM i developers he talks with has to do with fairly simple programming such as grabbing data for Excel spreadsheets, and in other cases it may be an executive inquiry over some data that goes into business management.
"I'm a big advocate of looking at core systems and determining what works and what doesn't," Schoen said. "And be aware that management will likely want information delivered by graphical applications. I happen to be fond of the Microsoft VisualStudio stack. There are not a lot of layers like some alternatives that have their own development environments that usually require more of an investment. You don't have to have the budget because you can get a free version of Visual Studio and get started without spending money."
Keep it simple and keep it inexpensive. It's a plan RJS uses in developing its own products. Mobile applications are one example. RJS has a mobile app that handles simple queries within a browser on any phone. Schoen says it took about an hour to do that.
"We use code generators for certain application building projects, but I'm trying to expand people's thought processes to accomplish smaller tasks without a lot of expense."
Querying data, Schoen says, is what 80 to 90 percent of what people want to do with mobile applications.
Windows/400: Windows On Power Systems, Take Five
Power Systems i: The Windows Conundrum
That Windows-on-Power Rumor Surfaces Again
Bringing i5/OS Resources to the Web
Does Native .NET Support Matter for the System i?