Halcyon takes .Net down the Java road

After years of attempts by Microsoft Corp. to push aside the Java programming language, a software maker has developed a tool that could put the company's prized .Net initiative into the hands of Java developers.

Halcyon Software Inc. on Monday will release the first beta version of its Instant .Net (iNet), a plug-in for Microsoft's Visual Studio.Net developer software that converts .Net Web services based on XML into Java and allows these services to be hosted on any server software that supports Java.

Enterprise developers can use Web services to allow different types of applications from different vendors to communicate with one another over the Internet. For instance, data in an Oracle database could be shared automatically with a customer resource management application from PeopleSoft Inc. Electronic wallets are also one example of the type of Web service involved, allowing users to make online purchases without entering credit card or other information for each purchase.

While Web services built using development tools from various vendors can be accessed over the Internet on any device, no matter what operating system it runs, Microsoft has designed its .Net Web services to be hosted only on its .Net server software. That software includes a runtime environment currently available only for Microsoft software. But the company has submitted parts of the runtime environment to ECMA International, an industry standards group.

One benefit of iNet is that companies hosting IT infrastructure on Java 2 Enterprise Edition and Windows software can continue building applications in Microsoft code but host them on a server with Java support, such as those from Microsoft competitors BEA Systems Inc., Sun Microsystems Inc. and IBM, said Don Hsi, Halcyon's CEO, in an interview.

The Linux and Mac OS X operating systems also support Java and would be capable of hosting .Net Web services using iNet. This would offer companies more choice in the software they run if they decide to build Web services based on .Net.

"There's an argument that says Microsoft [server software] may not be a great place to deploy applications," Hsi said. "Maybe a Linux box or a Solaris box is better. [INet] lets developers deploy .Net Web services on those platforms."

A spokesman for Microsoft's .Net tools division declined to comment on Halcyon's technology.

Microsoft may be quiet about iNet because the software maker wouldn't likely support the use of the Java programming language as a replacement of its technology, Hsi said. Java was developed by Sun and has emerged as a fierce competitor to Microsoft's own programming technologies. Microsoft left support for Java out of the Windows XP operating system, and both companies are battling to lure developers to use their respective programming languages.

"Microsoft has said it wants .Net to work in other operating systems," Hsi said. "But I think it's hard for Microsoft to digest the fact that we're using Java to accomplish this."

A .Net Web service can be hosted only on a server running Microsoft software because it includes a technology called Common Language Infrastructure (CLI), a central piece of the runtime environment that enables a Web service to work. Similar to how a Java virtual machine (JVM) resides on a client and runs Java applications, the CLI is the engine needed to run .Net applications.

The .Net Framework is the company's commercial implementation of the CLI and includes additional features, such as class libraries and a client-side user interface. After about a year of beta testing, the .Net Framework will be widely released in its final version to developers on Feb. 13. Microsoft is expected to release its Windows.Net Server, designed around the .Net Framework, in the next five months and will release a compact version of the runtime environment for handheld and small computing devices soon after.

Halcyon's iNet tool takes the place of the CLI. The company has developed a runtime environment with proprietary technology that enables a .Net Web service built with the tool to run inside a JVM. "We're bypassing the whole CLI," Hsi said.

The way it works is that a developer builds a .Net Web service in Visual Studio.Net and compiles it into a language called Microsoft Intermediate Language (MSIL). The developer then uses Halcyon's Intermediate Language-to-Java tool, which ultimately converts the MSIL code into Java byte code. Packaged in a file with Halcyon's proprietary runtime environment, the Web service is then able to run on top of a JVM.

Halcyon's project has merit, said Yefim Natis, vice president and research director at Gartner Inc. in Stamford, Conn., who follows software development. However, it may not live up to its promise as Microsoft continues rolling out new features and updates for the .Net Framework, he said.

"I'm skeptical about the success of this," Natis said. "On the surface, it's very attractive because it looks like you'd be able to use a best-of-breed development environment, which is Visual Studio.Net, and then not be locked into using Microsoft software."

Because the .Net Framework includes more features than a JVM, such as vital class libraries and a user interface to display .Net Web services, Halcyon has had to develop additional runtime features to compensate for the differences. For instance, the company designed a Java version of Microsoft's Windows forms, which enables developers to create a client-side user interface, and Microsoft's ASP.Net, which allows applications to be displayed on a Web site.

"It's not going to be a true copy of the behavior and functionality of .Net," Natis said, because every time Microsoft makes a change or releases a service pack, Halcyon will have to race to implement the new features. "It will always be a second cousin. It will always be behind in features and lack in features."

Hsi contends that San Jose-based Halcyon will be able to re-create the .Net Framework for Java, despite any changes Microsoft might make to the technology. He has 90 developers dedicated to the task of keeping the technology fresh, and the company has been working on the project since October 2000. Halcyon has also already commercially deployed a product called Instant ASP (iASP), which is a Java version of Microsoft's Active Server Pages technology. With customers such as Hewlett-Packard Co. licensing iASP, Hsi said, his company has proved it knows how to go about converting Microsoft code into Java.

There are other efforts under way to bring .Net Web services to development platforms other than Windows using the ECMA standards. Boston-based Ximian Inc. is heading up a project called Mono, which is an effort to port the CLI to Linux and Unix operating systems. That project will enable developers to build .Net Web services using Linux programming tools.

With technical help from Corel Corp., Microsoft has also created a version of the CLI for the FreeBSD version of Unix. The purpose of that project is to prove that parts of the .Net Framework can be cloned using open standards, Microsoft said. The project is similar to Mono but is made available under Microsoft's shared source license, which means the code can be used only for research purposes and can't be used in commercial applications by enterprise customers.

The beta versions of iNet and Halcyon's runtime environment for Java will be available as free downloads on Halcyon's Web site. The second beta version of the software is expected to be available in March, with a release candidate due soon after. The first commercially available version of iNet is expected to be ready in July, Hsi said.

Copyright © 2002 IDG Communications, Inc.

7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon