Ganjo Application Server -- An extremely lightweight Java-based application server
When the Java/Internet combo was just a glint in the collective eye of the original Java development team, they probably envisioned a world of small and lightweight Java servers that could easily be installed onto any Web server. When the Java/Internet combo was just a glint in the collective eye of the original Java development team, they probably envisioned a world of small and lightweight Java servers that could easily be installed onto any Web server.
Their vision of the future probably looks a lot like the Galileo Application Server, a very small and very efficient Java-based application server from Esemplare Development. Most application servers on the market are designed for the enterprise and as a result suffer from bloatware, with feature upon feature added in order to impress reviewers and jaundiced IT departments. This is not the case with the Galileo Application Server, which can be downloaded in a couple of minutes (even with a slow connection) and installed without a lot of problems.
Don't confuse simplicity with inadequacy, however, as the Galileo Application Server combines a surprising number of enterprise-level features into a freely available package. For instance, the most recent version of Galileo supports failover, which means that if a primary server goes down, a secondary server will automatically take over the process of task without the loss of data. It's a feature that is definitely in demand on the enterprise level but is also one that's not actually supported by all the major vendors (Haht Software, for instance, declines to implement full failover in HAHTsite).
With Galileo, this secondary server (or dispatcher, in Galileo lingo) remains in sync with the primary server. If the primary server fails for any reason -- a system crash or a lost network connection -- the secondary server will step in (without the loss of data) and complete the task. In addition, there is one other essential enterprise-level feature found in the Galileo Application Server: load balancing, where requests to a busy server will instead be routed to a less busy server.
The Galileo Application Server is fairly focused on a specific task -- creating dynamic database-driven applications using custom HTML tags -- which can then be applied to specific situations, including various tracking systems. This isn't exactly a sophisticated development environment, and it's perhaps the least attractive part of Galileo. Still, Galileo is as scaleable an application server as you'll find in the market, supporting up to 128 independent processors, and it runs on any operating system (including Windows NT, Linux, Solaris and HP-UX) that supports Java. To that end, Galileo also supports session management by tracking user connections internally, which means that sessions will look and perform the same no matter what processor handles the session.
To develop a Galileo application, you merely insert Galileo-originated HTML tags into your Web pages. These tags support interaction with an ODBC data source, and for the most part it's easy to understand off the bat what a tag does (for instance, the GInsert executes an SQL Insert statement). You can also create your own custom tags.
There are three parts to the Galileo Application Server: the Galileo Servlet (a Java servlet that works with any Web server to route data to and from the Dispatcher), the Galileo Dispatcher (which manages load balancing and sends requests to the Processor), and the Galileo Processor, which processes page requests that contain the Galileo HTML tags. All the components can be run on the same machine or distributed on a network. The Dispatcher is the main traffic cop and is thus responsible for overall performance. It's written in pure Java and supports up to 128 client threads, with user-definable session and request timeouts. In addition, it is the part of the server that you interact with and features a graphical processing status indicator for monitoring performance.
The Processor does the actual processing. It, too, is written in pure Java and supports up to 128 client threads, with user-definable session and request timeouts. In addition, it supports page caching and database connection caching for more efficient sessions.
Before making a commitment to the Galileo Application Server, there's one nasty cloud that you should note: company officials openly admit in press releases that the server is for sale and that they wouldn't mind seeing a larger operation buy the rights to the server. (To be perfectly blunt, this uncertain state of affairs prevents us from giving a higher score to the Galileo Application Server.)
Still, with features like failover and load balancing -- usually found only in the higher-end and expensive application servers -- Galileo Application Server definitely deserves a look for anyone searching for a good application server. You probably won't use it as a development platform, but that's OK -- as a deployment platform, Galileo Application Server should fit the needs of most enterprise settings.
Pros: 7 Advanced failover and load-balancing capabilities, 7 Small and lightweight means you don't need to run it on a Cray for adequate performance, 7 The price is right (it's free)
Cons: 7 Future of the product is somewhat in doubt, 7 Development environment is not very sophisticated
New in v2.0:
Written entirely in Java, Ganjo allows for cross-platform capabilities; applications are developed using HTML pages that incorporate special Ganjo HTML tags; extensiblity features have been added; session management capabilities for users to track connections internally have been added, ensuring a consistent session for each and every user regardless of which processor handles the requests; supports connection pooling so individual settings can be established for database connections to reduce page processing times; supports the page caching of frequently accessed pages; Release Notes
Upgrade Meter: 5
Version Reviewed: 1.6
Reviewed by: Kevin Reichard
Last Updated: 8/21/00
Date of Original Review: 4/27/99
Windows: Intel (95/98/2000, NT 4.0, SP3 or SP4)
Unix: Linux, Sun Solaris, and HP-UX