Mainsoft, IBM to Convert .NET Code to Java on All eServers
January 16, 2006 Timothy Prickett Morgan
Turnabout is fair play, and it is refreshing to see that IBM is beginning to understand that it needs a strategy to try to bring the 100,000 partners who write code for Microsoft‘s Windows platform onto all of its eServer platforms–not just xSeries and BladeCenter servers that run Windows natively on Intel and AMD processors. For a decade, software vendors have been porting their OS/400, AIX, and MVS applications to Windows, or creating whole new application suites that compete against software developed for those platforms.
Now, IBM wants to turn the tables on the Windows ecosystem, and it is enlisting the support of Mainsoft to do this.
For you old hands in the server space, the name Mainsoft probably rings a bell. Mainsoft was one of the four companies that had access to Windows source code over the years, and it made itself famous by creating and selling a Windows runtime environment for IBM mainframes and various Unix servers. (The other company you probably remember for Windows runtime environments is Bristol Technology, which balked when Microsoft raised the price of the source code license, sued on anti-trust grounds in August 1998, lost most of the lawsuit with Microsoft in July 1999, but received punitive damages of $1 million in August 2000 by the U.S. District Court in Connecticut, where Bristol was based.) Mainsoft, Bristol Technology, Insignia Solutions (which is now developing software for mobile phones and clients), and Locus Computing (which seems to have disappeared) were all licensees to the Windows Interface Source Environment, or WISE, that Microsoft launched with Windows NT as it knew it had to seek a co-existence strategy with Unix, which was a much more mature product at the time than Windows NT. Bristol, by the way, still sells its Wind/U environment, and has extended it to support Linux; it also supports Windows applications on Solaris 9 and HP-UX 11i. Wind/U does not currently support AIX, although it did in earlier releases. Insignia’s Softwindows supported Solaris, AIX, OSF (from Digital), and Irix Unixes; Locus Computing’s Merge supported Windows applications compiled to run in the runtime on SCO Unix, UnixWare, and Solaris; and Mainsoft’s MainWin product supported Solaris, AIX, HP-UX, and Irix. All of these products required that Windows code–usually C and C++ at the time–be moved over with these vendors’ tools and compiled to run in the WISE environment. Compilation was necessary on the Unix platforms because the underlying hardware architecture on RISC-Unix machines is radically different than on X86-Windows boxes.
While the times have changed and there have been two major upgrades to the Windows server platform, Mainsoft is still at it, providing cross-platform development tools that help software companies port Windows applications to other platforms.
Specifically, Mainsoft has two product lines. Visual MainWin for Unix and Linux is a development tool and execution environment that lets Windows-based C and C++ applications run on Unix (Solaris, AIX, and HP-UX) and Linux. This product was used by Siebel Systems, now part of Oracle, to port its eBusiness CRM applications from Windows to Solaris and AIX. Visual MainWin for Unix and Linux costs $12,500 for a platform development kit for four developer seats; additional seats cost $2,500 each. The runtime license fees start at $125 per end user for the developed application. MainSoft’s other product is called Visual MainWin for J2EE, and this one allows applications written in Visual Basic and .NET languages like C# and running against the Windows middleware stack to be ported to any J2EE-compliant server, notably Linux, Unix, OS/400, and mainframe servers. According to Yaacov Cohen, president and CEO at Mainsoft, this tool snaps right into a Windows developer’s Visual Studio.NET toolset and allows him or her to use the same tool to convert the calls to Windows middleware to calls to IBM’s WebSphere, BEA Systems‘s WebLogic, the open source JBoss, and the open source Tomcat J2EE application servers and converts the intermediate .NET codes created by Visual Studio into Java bytecodes, which can execute in a Java virtual machine. Visual MainWin for J2EE Enterprise Edition is licensed per developer and per deployed server, costing $5,000 per developer seat and $2,500 per server for a two-year license; developer support is 15 percent of the development license fee per year. MainSoft will also do a port for you on a custom basis. Mainsoft and Sun Microsystems have also worked out a deal whereby Sun will bundle a copy of Visual MainWin for Unix and Linux on its Ultra20 workstation and linked into its Sun Studio 10 development tools to help companies port Windows-based C and C++ apps to Solaris 10.
Last summer, to try to get some excitement behind its MainWin for J2EE tool, the company announced a free version of the tool called Grasshopper, which is distributed as Visual MainWin for J2EE Developer Edition. This is also a plug-in for Microsoft’s Visual Studio .NET development tool, and it allows Visual Studio developers to kick out Web applications for both Windows and Linux platforms. Mainsoft has partnered with Project Mono, the open source implementation of Microsoft’s C# compiler and its related Common Language Runtime (CLR) environment, which is being spearheaded by Novell. What Grasshopper does specifically is expose the ASP.NET and ADO.NET class libraries of Mono to Visual Studio. The enhancements that Mainsoft and the Mono Project have made to make this possible will be incorporated into Grasshopper as well as the open source Mono code. The cool thing about Grasshopper is that it is a free plug-in, which explains why it has had more than 10,000 downloads in six months. Although it does not have all the bells and whistles of Visual MainWin for J2EE Enterprise Edition, you can get a sense of its capabilities through Grasshopper.
While Grasshopper was helping sales at Mainsoft, what the company really needed to spur adoption of its technologies is to get a server maker like IBM to really push it in a big way. That happened last week, when IBM and Mainsoft partnered to push Visual MainWin for J2EE on all of IBM’s eServer platforms as a means of getting lots of Windows-based .NET applications ported to run in the J2EE environment on Linux.
While the announcement from IBM and Mainsoft was all Linux, Linux, Linux, and the iSeries, pSeries, and zSeries product lines all support native Linux in their logical partitions, what the announcement did not say–and what Cohen confirmed in an interview with me–was that the tool works perfectly well on any J2EE-compliant application server running on any eServer machine on any operating system. So you can use Visual MainWin for J2EE to port .NET applications to OS/400 geared up with WebSphere, JBoss, or Tomcat if that is to your liking, or on z/OS running those same Web application servers if that is your platform. However, there is a catch. IBM and Mainsoft have done a huge amount of quality testing and performance tuning on applications ported to run on WebSphere and have certified that any reasonable .NET application will move over pretty easily to the MainSoft-WebSphere combo. (You can never get a 100 percent guarantee out of a software vendor, as you well know.) And, if you are using the WebSphere Portal, that is also certified to work as well. WebSphere Application Server 6, WebSphere Application Server 6 Express, and WebSphere Application Server 5.1 are supported with Visual MainWin for J2EE 1.7, which is the current release from Mainsoft.
Such tools can help software vendors broaden their markets, and that is exactly what IBM and Mainsoft hope to do through their new partnership. Mainsoft cited one small Windows developer, called Above All Software, which has actually built a tool for creating applications under the SOA style on Windows that ported its 260,000 lines of C# code to the MainSoft platform on Linux, and says it saved six to nine months on development and about $1 million in the process. Although hard numbers are tough to come by, the porting tool can boost programmer productivity by a factor of 10, assuming the typical Java programmer can do about 500 lines of code a day.
While IBM and Mainsoft were focused on the Linux angle, I explained the size of the OS/400 market to Cohen, the propensity to run Windows servers at iSeries shops, the lack of a native Windows platform for Power-based servers, and the idea of the iSeries Developer’s Roadmap to him. I also explained that if he got on the iSeries Developer’s Roadmap, he would get other goodies from Big Blue and would help bring Windows applications to the iSeries, allowing customers to make the choice between i5/OS, Linux, and AIX on these boxes. He found the idea appealing, and I hope that Mainsoft pursues this course as well as the Linux strategy that IBM was focused on. If IBM wants Windows shops to expand into the Linux market, there is no good reason for them to not expand into the i5/OS and z/OS markets, too. This one is a no-brainer.