Before the start of the upcoming holiday season, Woolworths Holdings wanted to improve the capabilities of the Java-based data-monitoring and alerting system it had hired an outside contractor to build. But the Cape Town-based retailer had a problem.
The company didn't want to spend more money contracting Java developers, who are hard to find and expensive to hire in South Africa, according to Marius Roets, system manager of integration solutions at Woolworths. And the retailer's own developers were skilled in Microsoft's development tools, not Java 2 Enterprise Edition technology.
So Roets turned to a new tool from Mainsoft that promised to allow the developers to work in their familiar Visual Studio .Net environment yet deploy the application on Woolworths' J2EE application and enterprise portal server software from Sybase.
From that point on, the major challenge for Roets became convincing skeptics that the Mainsoft product would work. "Our own developers and our internal systems managers didn't believe it until I showed them how it works," he said. "They said, 'That will not be optimized, and there will be many issues.' "
But Roets said Woolworths has encountered no major technology problems since commencing the project in July. The retailer plans to deploy the application in a production environment by the end of next month. To ensure that performance is optimal, Woolworths kept the application simple and let the J2EE application and portal servers handle security and data refreshes, Roets said.
Yaacov Cohen, CEO of San Jose-based Mainsoft, said customers generally experience a 10 percent performance degradation compared with native Java performance. But he said his company's goal is to improve the product so its performance will eventually be equivalent to that of native Java.
Cohen said Visual MainWin for J2EE installs on top of Visual Studio .Net and connects directly to J2EE application servers. Users work in Microsoft's Visual Basic .Net or C# languages, and the Mainsoft tool compiles the code to Java byte code. The resulting Java class files are packaged into Java Archive files and deployed on a J2EE-based application server, he said.
Mainsoft is targeting Visual MainWin at development shops that have a mix of J2EE and .Net developers. The company is releasing Version 1.5 of the product next week, and it is also working to promote Visual MainWin for J2EE as a means to allow .Net code to run on IBM's eServer zSeries, according to Cohen.
The MainWin tool comes bundled with the open-source Tomcat application server, but it also supports IBM's WebSphere, BEA Systems Inc.'s WebLogic and JBoss Group Inc.'s open-source offering, Cohen said. The product sells for US$5,000 per developer, and there are no fees for the runtime environment, he noted.
Roets said that Woolworths, which operates department stores in Africa and the Middle East, saved 80 percent of the project cost by opting for the Visual MainWin approach over potential alternatives of hiring outside help or retraining its developers. Although Visual MainWin doesn't support Sybase servers, Woolworths' application runs fine, since the Sybase software is based on J2EE standards.
In addition to Visual MainWin, Woolworths considered the open-source Mono technology, which Novell acquired last year with Ximian, and Stryon's iNet software, which enables programs written in .Net to execute in any Java-enabled environment. But Roets said the retailer's developers would have needed more Java knowledge to work with those tools.
Cohen readily acknowledged that Visual MainWin would not have been possible without the Mono project, to which Mainsoft developers contribute. The Mainsoft product rehosts Mono on top of J2EE and is designed for use in server-based applications, Cohen said.
Mono, in contrast, can also be used to develop desktop applications that run on Linux or Unix systems. Launched in 2001, Mono is an open-source version of Microsoft's .Net Framework that includes a runtime for the Common Language Infrastructure, a C# compiler and a set of class libraries.
"Mono provides a .Net emulation on Linux. It doesn't port .Net applications to J2EE, as Mainsoft's product does," said Massimo Pezzini, an analyst at Gartner. Mainsoft's tool is "pretty unique," he added.
Yet doubts linger about Visual MainWin for J2EE. "If you're going to develop in .Net, especially if the application gets complex, you're better off deploying it as .Net," said Thomas Murphy, an analyst at Meta Group. "If you want to be on Java, you have to bite the bullet and take on Java. I need to know the technology