November 1, 1999
Lutris Technologies Enhydra Java XML Application Server 2.2
As the sole Open Source (read: free!) entrant in our tests and the only one to separate the presentation and business logic layers, Enhydra held great promise. But its immaturity as a result of its development path is evident. Lutris says Enhydra originated before the Java servlet and EJB specs; as a result, it doesn't adhere strictly to either. While it will run with the 1.2.2 JVM (and, as 100-percent pure Java, under any OS and platform with a JDK), it does not fully support the JavaSoft Servlet 2.0 implementation. Lutris says support for the latest servlet version, 2.2, is imminent and that Enhydra includes almost all the features of that spec. But we found we couldn't run a generic servlet in Enhydra; instead, we had to use proprietary Lutris classes for HTTP request and response access.
Lutris describes one option for Enhydra-managed applications as a "super servlet" environment: An entire application can be implemented and managed as a single servlet. The Lutris Multiserver component flawlessly serves servlets directly to the network. Alternatively, Enhydra can be used in conjunction with any servlet-enabled Web server, such as Apache (JServ) or Netscape Enterprise Server.
Enhydra will let you maintain state via SessionData objects. We could fairly easily create and modify shopping carts and other state-keeping applications. However, Enhydra does not support EJB at all. Lutris recommends running Enhydra in conjunction with Bull Software's Open Source JoNAS for EJB functionality; while that combination might be OK for prototyping, it's not sufficient for large-scale enterprise use. Lutris is working on an EJB implementation but it is not near completion.
Enhydra can separate an application's presentation layer from the business logic through a Lutris-
designed technology called XMLC. This handy tool converts XML pages into Java classes that represent the page in the DOM, and is a much more elegant solution than Java Server Pages for generating dynamic content. For enterprise use, however, we'd rather see a working EJB container. Still, if you intend to use your Java application server to handle your presentation layer as well as to manage servlets, XMLC will be worth exploring.
Enhydra's documentation also falls short--especially its tutorials and sample code. Lutris officials said the company is working to remedy the problem. On the other hand, Enhydra is an Open Source product, so you can add features yourself; that's an option no other package we tested offers. And in keeping with Enhydra's Open Source nature, improvements and new features come from real-world, grass-roots requirements, which should make Enhydra's future evolution close to user needs. It's worth noting that Enhydra is part of the Red Hat 6.1 distribution of Linux, which should give it a great deal of new exposure to potential users and developers.
If you are planning to investigate use of a Java application server in your organization, or want a server you can modify in-house, Enhydra will work as long as you don't need robust EJB support. It lacks the polish and completeness of commercial products, but it's a promising start for a fairly powerful and sometimes very innovative option--and it won't cost you a dime.
Enhydra Java/XML Application Server v. 2.2, Free, Lutris Technologies, (831) 427-9753; fax (831) 427-9754. www.enhydra.org or info@lutris.com