Columns

Viva la Pramati differenza

Pramati Server 3.5
Pramati Technologies
San Jose, Calif.
408-435-2700
www.pramati.com
Rating: 4 out of 5

Although it was one of the late entries in the J2EE app server market, Pramati Technologies’ flagship app server, Pramati Server 3.0, made a real splash when it was introduced last March as the industry’s first independently developed application server to achieve J2EE V1.3 compatibility.

After more than a year of development, V3.5, which the vendor says delivers better performance and manageability for production apps, is out the door.

Pramati is promoting the 3.5 version of its server software as a lower-cost alternative to BEA’s WebLogic Server and IBM’s WebSphere Server. The product is available as a no-cost download for evaluation or development. It is available as a Windows executable or as a set of JAR files. Because the app server is written in Java, it can be deployed on virtually any platform.

Users of the downloadable version must obtain a license from Pramati. At the time of this writing, the company offered two “free” licenses: one for evaluation and one for development. The evaluation license is valid for 30 days. The development license is valid for six months, but a single-user license is available only to corporate users.

For the purposes of this review, I opted for a 30-day evaluation license and I installed the Pramati Server software on a machine running Mac OS X 10.2.

The Pramati installation wizard made the process fast and easy. The install took less than five minutes -- that is, my second install. The first time through, I mistakenly entered a key for V3.0. After starting the app server, there appeared to be no convenient way to change the license key without an in-depth understanding of the license manager. When I realized my mistake, I re-installed.

Using Pramati Server
For the application developer, Pramati has delivered a J2EE-certified app server with the core features needed for today’s enterprise development environment, including support for the latest specs, such as EJB 2.0, JMS, JAAS and JCA. Where Pramati makes a major difference for the app developer is in the non-specification features and tools included to ease development and deployment.

Experienced J2EE developers will appreciate Pramati Server’s tools, which were engineered to ease the transition of apps and configurations to its platform. The Point-n-Run utility, for example, is designed to directly run apps deployed on Apache HTTP Server, Tomcat, Micro-soft IIS, and WebLogic Server without having to migrate the apps themselves.

I tested the Point-n-Run utility against two different Web apps deployed on Tomcat 4.1.27. The first, Ahsay’s On-line Backup Manager 4.2, deployed on Pramati with zero issues. This was a pleasant surprise, because Tomcat is the only platform for which this app is available. It was literally a matter of “point and run.”

The second app did not fare as well. When Point-n-Run was pointed to a production instance of Roller Weblogger 0.9.8, numerous exceptions were thrown. The exceptions seemed to indicate a difference in the way JNDI contexts for datasources are handled. Still, I was able to get Roller running after a manual installation.

The Deploy Tool, however, performed flawlessly every time with every app tested. Designed for deploying apps prepared for other platforms, the Deploy Tool analyzes a packaged J2EE app and re-packages it for Pramati without requiring the user to learn its deployment descriptors. Effectively, it creates the pramati-j2ee-server.xml file, which is necessary for deployment.

In the primary test, I used the Deploy Tool against an in-house J2EE app consisting of multiple servlets, stateful and stateless session beans, message-driven beans and JMS queues. The Deploy Tool guided me through a series of tasks to prepare the deployment. After specifying the JNDI datasource and mapping the JNDI names of the EJBs and JMS queues, the Deploy Tool re-packaged the .ear file and deployed to the server with little fanfare.

As good as the Deploy Tool is, management of the app server is where Pramati outshines the other low-cost and open-source J2EE app servers. In fact, it stands head-to-head with the major players. The product’s Web-based management console is intuitive, and provides access to most of the app server options for all available app servers in the enterprise. And it goes beyond the traditional app deployment and configuration of resources, such as JMS queues or database connections, by allowing the user to see all available Pramati app servers in the enterprise with specific views customized to their responsibilities.

For those responsible for monitoring the app, the Web console provides a range of detail levels. In the normal view, each container and resource is individually examined for its status. It is possible to detail almost everything, from the number of active sessions in the Web server to the number of EJBs available in a specific pool -- even the number of JMS messages in a queue.

From the scrolling ticker to the status of each container, the Dashboard presents the user with a 30,000-foot view of the application. The Dashboard displays overview information that allows users to monitor every resource without getting into the gritty details.

The Web console can also configure monitoring alerts. Alerts are configurable for the major events in the system, including application state changes and database failures, with tolerances dictated by the administrator.

Developers will feel at home with the server diagnostic tools. When started, the server diagnostics present a code-profiling view of executed methods, including the number of method calls and execution time. Minor performance degradation occurred, which is normal for any profiling tool.

The general performance of Pramati Server 3.5 was outstanding, significantly lowering anticipated operating costs per transaction. I found that it often performed on the level of more expensive application servers.

Overall scalability and performance of the app can be dramatically increased because the tool includes dynamic caching for Web apps and clustering. Its ability to provide these performance and scalability levels has brought Pramati into the mission-critical arena.

Issues
The most prominent deficiency is the lack of completed documentation. Clicks on most of the Management Console hyperlinks resulted in 404 Errors from Pramati’s corporate Web site. Often, the only available documentation was for the previous version, which, given the new version’s numerous new features and the changes in format of older commands, proved nearly useless. This is an easy fix, and I’d expect the vendor to address it soon.

Also, the installation wizard should ask for a validation of the license key for usage with the current version. And while I’m picking install nits, I’d like the ability to set the administrative password during installation.

Finally, I would like to see a future version of the Deploy Tool default the JNDI names to those specified in WebLogic and/or WebSphere deployment files when they are available. And it would be nice if I were allowed to add necessary resources, such as datasource and JMS queues, directly from the Deploy Tool.

Pramati Server Version 3.5 provides high performance at a low cost, with features that allow users to run apps already deployed on Apache HTTP Server, Tomcat and WebLogic Server. I highly recommend that every J2EE developer download the evaluation version and give it a try. It is the most cost-effective application server I have worked with.

Bottom Line:
As a cost-effective J2EE app server, Pramati is a must-have for firms deploying J2EE apps. It includes numerous features and outstanding tools for managing the entire application life cycle.

System Requirements:
* JDK 1.3.1_01 or higher
* 128 Mb RAM (256 Mb recommended)
* 50 Mb hard disk space (application size not included)

Pricing and Availability:
Pramati Server Standard Edition costs $2,500 per CPU. Pramati Server Enterprise Edition is $5,000 per CPU.

Pros:
Standards compliance for J2EE 1.3; easy installation; Point-n-Run and Deploy Tool provides easy migration to Pramati; superior management and monitoring; advanced performance and scalability.

Cons:
Missing documentation; Deploy Tool missing some refinements; limited support from third-party vendors and open-source projects (but this is growing); missing IP-based virtual hosting.

About the Author

Matthew E. Porter is a co-owner and software developer for Metissian LLC, a provider of J2EE solutions and hosting. He is a contributor to numerous open-source projects, including Java Lobby Community Platform.