Lutris is an original source-code donor involved in the Enhydra application server open-source project. When designing EAS 4.1, Lutris engineers drew upon their experiences on Enhydra to make an application server that would be adaptable and upgradeable without creating a huge financial burden. From management to development of applications that can service multiple target client types from a single source, Lutris provides the tools to get the job done.
The architecture is simple and expandable. Because the various Web presentation standards are still maturing, it is difficult for an application server to meet the needs of users while staying current. To face this challenge, Lutris built EAS 4.1 as a base system and built all services -- Enhydra, J2EE (Java 2 Enterprise Edition), SMS (Short Message Service), SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discover and Integration), WSDL (Web Services Description Language), JAAS (Java Authentication and Authorization Service) and XMLC (XML Compiler) -- as pluggable "libraries." Turn on what you need and disable what you don't.
Creating Services
EAS 4.1 supports WARs, JARs, EARs and EAFs (compressed Web Archives, Java Archives, Enterprise Archives and Enhydra Application Framework) as both applications and services. Deploying these application types as services exposes an API for other developers to use. In fact, Lutris already has implemented authentication as a service.
To test EAS in our Green Bay, Wis., Real-World Labs®, I installed the product on a dual-processor Pentium II/350-MHz unit with 512 MB of RAM and a 300-MB RAID array running Microsoft Windows 2000. The install took 15 minutes -- the information requested was minimal.
As with all application server testing, performance depends on the technologies and quality of the code tested. Performance of the EAS was acceptable, with response times for a series of transactions averaging five to six seconds using one to 25 clients simultaneously.
Development Options
EAS 4.1 supports all the major Web servers. Both Borland Software Corp.'s JBuilder and Sun Microsystems' Forte Java development environments are supported with plug-ins. Vendor-independent application development is supported through the Lutris Application Wizard, which will generate a Web or an Enhydra application, or an Enhydra service. The wizard-generated source code is easy to modify to make a customized application.
Lutris EAS 4.1, $4,495 per CPU for deployment license; $995 per developer seat. Available: Now.
Lutris Technologies, (877) 688-3724; fax (831) 471-0957.
www.lutris.com
|
The Web application and the EAS service generators create a working shell of a program that can be compiled without change, and they are commented so thoroughly that it was easy to enhance them with my own code. In one test, I included support for the Lutris management interface in the Web application-generation wizard properties. After I deployed the application it generated, the exposed interfaces were visible through the Lutris Management Interface.
The other development tools include a built-in XMLC compiler, the Ant build tool, EAF, Java Naming and Directory Services, InstantDB database and Thought's CocoBase object/relational database mapping product. These tools are only partially integrated, but Ant uses all of them to seamlessly build your application.
Upgrades
Using the architecture to its fullest advantage, you can add future standards and remove obsolete ones at will. Deploying applications with EAS 4.1 can be done from the command line or from the management interface. Deploying from the command line took only one invocation of the EAS server, passing the instance to install to, and the program or service to deploy. To deploy an application or service through the management interface, I chose "deploy" from the menu and selected the application or service from the file dialog. That application or service showed up immediately in the list on the active instance of EAS 4.1.
To remove an application or service, choose "undeploy" from the management console and select the appropriate item. This also can be done from the command line. Giving in to curiosity, I attempted to undeploy services used by running applications. The interface stopped me and gave me a list of items that relied on that service.
Lutris offers clustering and failover to handle high-volume traffic. In clustering mode, users are load-balanced across multiple instances on one or many servers. If the server stops responding, failover transfers current transactions to an alternate server, and their state is replicated to that server. Future requests will be routed to the alternate server as well.
To get the most out of EAS 4.1, you have to buy into Lutris' framework for development. To make my applications dynamically configurable through the Lutris Management Console, I had to include Lutris Management Beans. To make services usable by any application, I had to use the Lutris classes that implement access points and services. All application servers offer this type of enhanced functionality at the expense of new implementation methodologies; Lutris' application generator does a lot of the work for you.
Lutris has been working on perfecting its application server for years, and it is very close to being there. Performance is acceptable, security is matured, the system is designed to be expandable without complete upgrades, and the management tools are flexible and easy to use.
Don MacVittie is an ITS project manager at Wisconsin Public Service Corp. Send your comments on this article to him at dmacvittie@nwc.com.