HAHTsite ; Flexible application server supports a multitude of protocols
With an outstanding and flexible development environment, HAHTsite from Haht Software is a feature-rich product that is particularly strong when tying together many disparate elements on the back end using a variety of programming and development tools.
Haht Software bills Hahttalk Basic as a superior development environment, backing its claim with tests that show it outperforming other development environments. Hahttalk Basic is 100 percent compatible with Visual Basic, but offers the added advantage of being compiled rather than interpreted at runtime (which leads to the performance enhancements). However, unless an enterprise is heavily committed to Visual Basic, it will want to go the Java route: Java is a more portable development environment, and is more widely supported in the application server and ERP worlds. Because developers are writing to Java, and not a specific application server, future flexibility is maintained, leaving the door open for supporting other application servers, including flexibility about which JVM to support. HAHTsite recommends using the Microsoft Java JDK, although it does offer support for Microsoft and Sun Java Virtual Machines.
Extending that spirit of openness, HAHTsite also supports both COM and CORBA a definite noteworthy feature in the application server world. Typically, a vendor will support one or the other, depending on its operating system orientation, or it will offer at least limited support for the opposing standard. (Unix vendors push CORBA as a solution, but Microsoft-centric Windows NT vendors support COM.) On Windows systems, HAHTsite applications can evoke external DLLs and COM, DCOM, ActiveX, and OLE servers. On Unix systems, HAHTsite applications can invoke shared libraries, shell scripts, or any other external program. Both types of systems can invoke batch files, Perl scripts, or other external code. Although most application server vendors are working toward supporting CORBA and COM, HAHTsite has already achieved this support.
HAHTsite's development environment is all-encompassing, with all items in a Web application (HTML pages, frames, style sheets, images, Java, or Hahttalk Basic programs) managed as a project, with HAHTsite overseeing the dependencies among different aspects of the project. When something in a project is altered (e.g., a URL or link changes), the change is reflected throughout the entire project. Dependencies can be shown in a graph to ensure no links are broken or missing components.
However, an application server cannot be evaluated solely on its development environment. On the server side, HAHTsite's clustering technology replicates application information to all servers in a cluster. Thus, users have access to the data closest to them. The clustering arrangement used by Haht Software is fairly ingenious, with three types of hosts (foreground, background, and control host) that manage requests. The lightweight foreground host works in conjunction with a Web server to process initial requests, and multiple foreground hosts also perform load balancing. The background host services the requests, executing the Java or Basic code and connecting to back-end data sources. The background host then formats the data in HTML format, routes it through the foreground server, and sends it back to the originating Web browser via the Web server. The scalability claims relate directly to the capability to set up as many foreground and background hosts as needed, either for performance or redundancy reasons.
The Membership Manager monitors the active hosts and enforces redundancy if a foreground or background host goes down. In addition, the Membership Manager oversees load balancing, ensuring that one background host does not get overwhelmed while other background hosts are relatively underused. HAHTsite offers weighted load balancing, incorporating use information from the background host to decide the proper load balances. (Other less sophisticated application servers will route incoming requests in a round-robin manner rather than using actual use data.) Users can refine the load-balancing settings to individual ratings for servers, reflecting the fact that an SMP-enabled computer can handle a heavier work load than a straight PC server.
HAHTsite falls short in one area when compared to competing enterprise-level products: its lack of total session fail-safing, a feature crucial for mission-critical applications. HAHTsite does offer backups within clusters. If a background server fails and does not fully process a request for example, dying in the middle of the request the foreground server directs the process to another background server on the network and begins the transaction anew, losing the information that was generated in the middle of the failed process. HAHTsite designers argue that a level of fail-safing can be achieved by workarounds, and they may be right. However, enterprises should decide whether they need total fail-safing in the case of failed sessions, or if they can live with the merely adequate session rollover HAHTsite offers.
One area where HAHTsite has improved in recent releases is its security implementations. Data packets within the server architecture can be encrypted using Triple DES algorithms. The security between the client and the server is dictated by the Web server used in conjunction with HAHTsite; the application server brings nothing to the table. Authentication is performed by lookups against a relational database table or an Lightweight Directory Access Protocol (LDAP) directory, but there is no support for RADIUS authentication.
HAHTsite ships native drivers for SQL Server 6.5 and 7.0, Oracle 7.x and 8.0, Informix 7.x and Sybase Systems 10 and 11. On the Windows site, it uses the Microsoft ADO 2.0 API to map Java and Basic connections to relational data sources via OLE DB, ODBC, and native drivers, and to nonrelational data sources via OLE DB and user-written code. An application can have multiple simultaneous connections to any mixture of data sources, and each data source connection is independent of other connections. HAHTsite tweaks performance with connection sharing and connection caching. With connection sharing, all sessions running in a process share a single database connection, and applications can share processes. Caching occurs when already-open connections are kept open, even if one application closes another waiting for a specific amount of time before shutting down the connection.
Haht initially created the HAHTsite Application Server as a development platform, so it is no surprise that the newest version excels in this capacity. With the new wizards, widgets, support for both COM and CORBA, and version-control capabilities added to a strong IDE and development environment, HAHTsite is a strong choice for enterprise-level development.
Pros: Support for a multitude of protocols excellent development environment support for both CORBA and COM
Cons: Lack of total session failsafing no EJB supportNew in v5.0: Added B2B XML integration server capabilities; support for open Internet standards; support for multiple clients, including Pervasive devices; real-time integration with back-end systems Release Notes
Upgrade Meter: 4
Version Reviewed: 4.0
Reviewed by: Kevin Reichard
Last Updated: Original Review
Date of Original Review: 12/22/99