Implementing Java and .NET in Linux



In today's heterogeneous environments, it is hard to escape the influence of Java and .NET. So why not come prepared? This month we examine some tools and techniques for integrating the Java and .NET frameworks with Linux.

As Linux expands across the enterprise, Linux systems must adapt to compete in unfamiliar environments. The course of this evolution draws Linux ever closer to the realms of Java and .NET.

Linux has a long history with Java. Several open source projects began soon after the appearance of the first Java standard, and now that many of Sun's own Java tools are released under open source licenses, the path to full compliance is open to any Linux user or distro builder.

The more recent .NET framework is still fairly new to the Linux world, and many would say that Linux still hasn't come to equilibrium with the forces of .NET. Many Linux developers are wary of all .NET technology, which is not surprising, considering the framework is, ultimately, a creature of Microsoft's business strategy.

Several components of .NET, including C# and the Common Language Infrastructure (CLI), are released under open standards, which makes it fairly painless to develop tools around them. However, other parts of the .NET infrastructure are still under the influence of Microsoft patents and proprietary licensing. Although Microsoft would love to see their technology adopted in spite of legal misgivings, this complex arrangement has led to vigorous debates among open source developers.

This month we visit the two best-known projects bringing .NET to Linux. We start with DotGNU, a community-based project with a small team of volunteer developers. Then we tune in on the Mono project, a larger and better-funded effort to deliver a nearly complete implementation of .NET. We show you how to use Mono's mod_mono Apache module to support ASP.NET web pages in Linux.

On the Java side, we begin with a roundup of the various Java Virtual Machine tools available for the Linux environment, and we finish with a study in how to use the open source Hyperic HQ monitoring tool to monitor the performance of a Java application server.

Read on for more about the state of Java and .NET in Linux.