Reader Feedback on Native .NET for System i
Published: November 26, 2007
by Timothy Prickett Morgan
Last week, I solicited some information from readers of The Four Hundred to see if having some sort of native .NET programming environment on the System i machine would be a benefit to the System i platform. A number of vendors were pondering the idea, so I threw it out to the base to see not only if this was important, but if the lack of .NET support was in any way driving people off the i5/OS and OS/400 platform and onto Windows.
Here's a sampling of the responses IT Jungle received, starting with a question:
I am having a little trouble visualizing what native support would entail. We develop .NET apps in Visual Studio and run them on Windows clients. What part of that would become native for System i?
Well, that is the question, now isn't it?
In my mind, it might mean one of two things. The first would be to actually get Windows Server 2008 ported to the Power architecture, fulfilling one of the original promises that The PowerPC Alliance made back in 1991, which was to have native Windows on Power, just as we have native Windows today on X86, X64, and Itanium processors. This would allow the entire stack of Microsoft Windows database, middleware, and development tools to run natively on Power boxes, and it would mean getting many tens of thousands of ISVs to certify their applications on the Power-Windows combination.
This, I admit, is a bit of a stretch for 2007, but was perfectly reasonable back in 1997. For example, Itanium has over 13,000 applications running on a mix of operating systems today--HP-UX, Windows, Linux, OpenVMS, and NonStop--and its application base continues to grow, despite the relatively small base of customers. And that growth comes because some of the biggest names in IT are deploying their applications on big Itanium iron from Hewlett-Packard, Fujitsu-Siemens, NEC, Unisys, and others. And getting those applications ported took more than five years of hard effort and with substantial financial backing from Intel and HP.
The other approach would involve embedding the Common Language Runtime environment inside i5/OS in some way, much as the Portable Applications Solutions Environment (PASE) AIX runtime environment runs inside OS/400 and i5/OS and allows AIX binaries compiled for PowerPC and Power to run unmodified on the box. This is where the TCP/IP stack in i5/OS comes from, and it is also how Zend Technologies supports its PHP engine on the System i. In both cases, hooks are made to i5/OS services so it looks native. The idea of a .NET runtime for the System i is to allow applications written in C# and other CLR languages (Visual Basic.NET and ASP.NET, obviously, maybe others) to be developed on a Windows box (usually with the SQL Server database and the Internet Information Service Web server) to be deployed to the System i. Calls to the database go out to DB2/400 and Web pages are served up with Apache, however. But the C# logic remains the same.
This is distinct from the way Mainsoft and its "Grasshopper" tool works, which converts C# to Java and then deploys it on the System i box. C# has an intermediate form, just like Java bytecodes, so IBM and Microsoft would have to work on a C# just-in-time compiler for Power to make this work. This is a lot less work than porting Windows to Power, of course. But it also means only programs written in C# or other CLR programming languages could be executed on the System i. There is a lot of legacy Windows code out there, written in Visual Basic, C, C++, and heaven only knows what else. Maybe even a little Java. The native CLR, perhaps supplied through the open source "Project Mono" implementation under the direction of Novell, would be a good place to start.
Yes. More importantly, we need Windows LPAR support. We have two customers that have plans to drop the System i because they want to run Windows apps and they see the i5 as old tech due to RPG.
While IBM is losing some System i battles because of operating system perception--they are not going to lose the hardware war--they are IBM and they sell machines. They are not IBOS selling operating systems.
I see now that IBM's solution for this hardware war is the BladeCenter. You will be running in one "box" for x, i, and p . . . all that is left is z. The customer sees "one box," and nontechnical perception is reality.
I predict that in the future, as blades get more powerful, the 570 and 595 turn into blades, too. If you look at the 570 Power6 node star structure, I see this as the future of System i/p and x high-end in blades. On the 570 Power6, you can add "live" a new 570 four-processor node and activate it on a managed system via the HMC. That's powerful. In the future, a BladeCenter will allow this for i, p and x. (Can you do it for x?)
Also, IBM is very smart. The new AIX V6 live partition manager that allows you to move from one machine to another is going to be perfect for future System p BladeCenter upgrades. On the System x side, VMware has that in VMotion.
So, back to the question about .NET. It is too late for changing the customer perception about .NET running on System i. The answer for IBM is Power-based BladeCenter (running all of IBM OSes and Windows) being controlled by the HMC. It is time to think differently. After IBM gets all its OSes running on Power--then if possible??--it's time for IBM to get HP-UX and Solaris running on Power.
I would say that in the end, Power BladeCenter systems will be called the "IBM System" (no letters). When this happens--break out the black monoliths--the humpty dumpty technology IBM/360 giant (that was broken up by the threat of antitrust) will be back to together again. In 20 years, IBM BladeCenter servers will be like Cisco routers--used almost everywhere and the de facto server system with some competition (unless Microsoft and Intel merge--which I am surprised has not happened yet)
--Dave (in the IBM business for 24 years, since the System/38 )
The organization that I am with has been a long-standing IBM midrange account. I have also been very intimate with the IBM midrange scene since the early 1980s.
We have just completed an ERP search and have purchased the Epicor Vantage ERP suite which is a .NET application. We know and love the System i hardware and all that its integrated functionality offers, but the Vantage software's functionality and flexibility was the deciding factor, so we will be deploying a number of Windows boxes to support our new environment. If we would have had the opportunity to run the Vantage solution on the System i, we would have done it without any hesitation whatsoever.
I work for a public (soon to be taken private) Fortune 500 company, which is currently a large System i shop. A few months ago, I was tasked with investigating .NET and its potential use within our organization. One of the things I looked into was the possibility of running Mono on the System i under PASE. When I contacted IBM about this, I was told that most of the technical work was already complete, but that legal issues were preventing IBM from rolling it out. No timeframe was given as to when this would actually take place, if ever.
In the interim, our .NET project has essentially come to a halt, for economic reasons, not technical ones. But the lack of a .NET environment on the System i certainly dampened our enthusiasm for the project. Now it looks like most of the future development work we do will probably be in Java on a non-System i platform (since we already do a lot of this), with .NET-based tools potentially playing a role in helping us move our custom applications off of the System i. Upper management is also considering the possibility of just dumping the System i apps altogether, and replacing them with COTS software, which runs on other servers.
I think having a native Mono port to PASE would add value to the iSeries. Being able to natively run VB.Net and ASP.Net code on the iSeries would be awesome. To that end, Mainsoft already has a product that will compile .NET to Java runtimes that run under Tomcat; however the cost can be prohibitive for some shops. An AIX/PASE build would really speed up the process. I haven't been able to find an AIX build of the Mono environment on the Web.
Native .NET would be a great help in promoting the iSeries. In our current environment, we are presenting Web pages with data from iSeries files. In fact, any native GUI might persuade the management to stay with the iSeries.
Our current five-year plan includes replacing the iSeries student management system. Because GUI to many means "advanced" technology, I am afraid the iSeries days are marked.
It would have made a difference in my opinion if it had happened a year ago. As it is, it's a 99 percent done deal that we'll be switching our application(s) in the next two to three years (pending package selection, purchase approval, and conversion) to a Microsoft Windows server farm.
However, it's not all IBM's fault. Some of it lies with our software vendor and its use of Net.Data for the "Web" portion of our application and its focus on non-System i platform apps. Being in higher education we have limited choices for a native System i app, but lots of options for Unix/Windows platform apps.
Does Native .NET Support Matter for the System i?
Next Up on the System i: Native .NET
Novell Opens Up Mono 1.2 Beta Program
Project Mono .NET for Unix, Linux Goes Beta
Next Up on the System i: Python
PHP Will Soon Be Native on the System i5
Mainsoft, IBM to Convert .NET Code to Java on All eServers
The Possibilities of PASE
Big Blue Should Do Power Windows, Too
Two Crazy iSeries Ideas for 2004
Why Sun and Microsoft Should Merge Java and .NET
Post this story to del.icio.us
Post this story to Digg
Post this story to Slashdot