The minimum recommended system configuration is:
128 MB RAM
200 MHz processor or better
120 MB disk space (see note below)
Java Development Kit (JDK) 1.4
JDBC-compliant SQL database for database access
Note: The disk space specified above reflects the minimum system requirements to install and run the Enhydra example applications. A minimum installation consists of:
JDK 1.4(approximately 50 MB)
Enhydra 5.1 (approximately 50 MB)
InstantDB (approximately 2 MB)
The following sections list the new or updated features associated with Enhydra 5.1.
Enhydra runtime version - minimal configuration for running applications
Cache Admin Enhydra application - cache administration in Enhydra applications
Added file quick_start.html on Windows Desktop. It provides easier start of multiserver, services and documentation.
Logging in Enhydra completly changed and based on Log4J project
Added CHAINSAW log4j Viewer - GUI for log4j. Provides easy observing log files, with possibilities of filtering and sorting.
logj4 has the possibility of writing data on console. Amount of data depends on verbose level.
Fixed bug about unability of setting relative paths for enhydra applications. Now, enhydra application is portable as WAR file
Under Linux, servises are installed with the assistance of the wrapper. It observes work of virtual machine. In the case virtual machine crashes, it detects when (if it happens) the virtual machine starts up again, and then, restarts services
WebDocWf patches for Enhydra 3.1 are adapted and included in Enhydra 5.1
WebDocWf changes are included in Dods templates - xsl files
DODS supports two sets of templates (one set includes code for work with multi databases, and other includes code for security (users) and DataStore)
Dods Generator is replaced by new dods-ejen based on xsl transformation, jakarta ant end ejen project
New Dods templates are xsl files, based on ejen project
Dods GUI removed from Enhydra
Added support for QED database
Now, DodsConf.xml (Dods.conf) is in xml format.
Dods generator creates java code independent of database. Database dependence is relocated to Database Manager (dods-runtime.jar)
The maximal size of the cache and user wildcards are defined in application's configuration file.
Multi databases included in DODS. This is possibility of working with more than one database at the same time.
Added index element in doml file. Added support for unique and clustered indexes.
SQLSplitter is included in DODS Generator as a tool (options) for creating more separated SQL files (for creating tables, creating indexes, primary keys, foreign keys...)
Implemented LRU cache method in DODS Generator. This class extends class LinkedHashMap which is standard jdk1.4 class
Added possibility to DODS to convert doml file into three types of papers: html, pdf and xmi. This can be done from DODS Generator Wizard, or manually
new command-line script for convertion of doml 3.1 file into doml 5.* file
Fixed transactions, the change of cache content is performed after commit() of the transaction
Fixed thread safe lazy-loading
New DODS maintains statistics on the level of tables. This means that following information are kept:
number of queries performed on the table
number of queries by OID performed on the table
number of insert, update and delete (DML) operations perfomed on table
number of lazy-loadings that happened (considering one table)
If caching is available, next information are also kept:
maximal cache size
size of currently used cache
number of cache hits (number of queries that were performend successfully on the cache)
Data about this statistic is kept in the class org.enhydra.dods.statistics.TableStatistics. Methods that use and update this class are in DO class and they are:
public static TableStatistics getStatistics() - returnes the state of the statistics
public static void refreshStatistics() - refreshes statistics (makes new statistics object)
Added new methods that work with cache:
public static void readCacheConfiguration() - reads cache configuration from application's configuration file
public static int getMaxCacheSize() - returns maximal cache size
public static void setMaxCacheSize(int maxSize) - sets maximal cache size
public static int getCacheSize() - returns size of currently used cache
public void evict() - removes object from cache, if that is possible (LRU caching)
public static void evict(DiscDO DOs) - removes array of object from cache, if that is possible (LRU caching)
Added new methods for refreshing objects from database:
public void refresh() - refreshes object from database
public static void refresh(DiscDO DOs) - refreshes array of object from database
Supports Netbeans 3.4, 3.4.1
Added option of starting DODS generator during project's rebuild
doml file is presented like xml file (before presented only as a text)
Right mouse click on doml file shows menu with DODS generator option and with different options for xml files (generation, validation,...)
Supports Eclipse 2.0
Patches (Petr Stehlik): pointsToPO() function is broken for URLs with query that contains a ".po". xHTML patch: new revision from w3.org of xhtml1-transitional.dtd (modules/xHTML/src/org/enhydra/xml/xhtml/xhtml1-transitional.dtd)- the key thing is that ALL XHTML tags can now contain the "ID" - for example also the <TITLE>.
Patches Mike Schuber: public synchronized Session getSaveSession(Thread thread, String sessionKey).Each time a session is returned via this method, the session's last used (referenced) time is NOT!!! updated to the current time.
Patches Lionel Bouton: The MultipartMimeInputStream class does the detection of the last part of a multipart wrongly.
Added new Enhydra demo applications (samples of using Soap, Baracuda and Cactus)
New modular Enhydra 5.1 consists of followed separated jar files:
xmlc.jar (version 2.1)
jtidy.jar version ver. r7 - patched
xerces.jar version 1.4.4 - patched - xmlc 2.1 patches
gnu-regexp.jar version 1.1.4
dods.jar - Data Object Design Studio
ejen.jar version 1.0 - patched
admin.jar - Administration application,
snoop.jar - Snoop servlet (read and display HTTP request parameters)
Barracuda - version 1.1.1
Zeus - version 3.5
Xalan - version 2.3.1
Soap - version 2.3.1.
Cactus - version 1.4.1
idb (Instant Database) - version 3.27
fop - version 0.20.4
Patches for ejen.jar version 1.0:
Added attribute CTX_DOM_SOURCE_FILE - path of DOM source file.
Added method putInGlobalContext (in method setFile(String)). This method puts DOM_SOURCE_FILE in Global Context.
Added attribute _outdated. It is true if output file needs to be generated.
Added method setOutdated(String)which sets attribute _outdated.
Added method outdated(String fileName) which checks if source file is newer than output file.
Enhydra demo applications with short explanation .
Enhydra 5.1 is a complete release, and should not be installed over an existing Enhydra installation. Follow the Enhydra installation instructions on the CD to install Enhydra 5.1.
Added new shortcuts in Windows installation. Source code for building installations is included in source distribution.
Enhydra as a service is a new feature of Enhydra 5.1
Through the open-source development process, Enhydra has been used on a wide variety of platforms and with many different JDBC-supported databases.
Enhydra Kelp currently supports the following third-party Integrated Development Environments (IDEs):
Borland JBuilder 4, 5, 6 and 7 on Windows and Linux
NetBeans 3.3.1, 3.3.2 and 3.4 on Windows and Linux
Dods generator (dods-ejen) is included in Kelp 5.1 (JBuilder) as an Open Tool.
Oracle8i with the Oracle JDBC Driver
PostgreSQL 7.0.2 with the PostgreSQL JDBC Driver
Microsoft SQL Server 7.0 and 2000 on NT Server, and 2000 with the JTurbo 2.0 JDBC Driver