Table of Contents
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)
Table of Contents
This chapter lists the new or updated features associated with Enhydra 5.1, compared to Enhydra 5.0.
Enhydra runtime version - minimal configuration for running applications
Enhydra runtime installation works both with jdk 1.4.* or jre 1.4.*
Provided different optimizations/debugging during build process
Integrated NEC VobsEnhydra patches
Integrated Classloader and Admin-shutdown patches from Enhydra 5.0/JET scenarios
Corrected testAll target
Added IIS logging patch for W2K SP3 and XP
Fixed: class download bug
Cache Admin Enhydra application - cache administration in Enhydra applications ( html , pdf )
Added file quick_start.html on Windows Desktop. It provides easier start of multiserver, services and documentation.
Enhydra supports starting multiserver as a service, with icon in systray (start, stop, remove)
Logging in Enhydra completly changed and based on Log4J project ( html , pdf )
IMAP Client application is added as a sample Enhydra application
Added CHAINSAW log4j Viewer - GUI for log4j. Provides easy observing log files, with possibilities of filtering and sorting.
Added Octopus 2.1 - binary version ( http://octopus.enhydra.org)
Configuration for log4j has been removed from application's configuration file to separate log4j.xml file.
Added creation of this new log4j.xml file in appwizard
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 ( html , pdf )
Fixed bug about possibility of downloading class files as resource in Enhydra application.
Fixed bug about unability of executing shutdown() method in applications when Mutiserver is stopped from Admin console.
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
Added new Enhydra demo applications (samples of using Soap, Baracuda and Cactus)
Windows is installed with the assistance of NSIS 2.0b
Enhydra 5.1 can be used behind Apache tool, if Apache configuration file is adjusted like this: (html, pdf).
New DODS is independent from Enhydra. For more information, see "DODS independence" (html, pdf), the fourth chapter of the document "Using DODS" (html, pdf).
Separated DODS building (out of Enhydra); in Enhydra building, just copy DODS jars.
WebDocWf changes are included in Dods templates - xsl files.
Changed caching: there is only one type of caching - LRU (least recently used) caching.
LRU cache extends class LinkedHashMap which is standard jdk1.4 class.
Full caching is special case of LRU caching.
Added query caching. Query cache is devided in two parts: simple query cache and complex query cache.
DODS supports standard sets of templates:
standard
multidb (standard code and code for work with multi databases)
multidb_webdocwf (standard code and both multidb and webdocwf codes)
Provided possibility for users to make their own template sets.
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 and MySQL database.
In DatabaseManager is put only standard funcionality of databases and made possibility for users to create their own jars. This is done dinamically (in configuration file declare it).
Included informix.jar and oracle.jar as examples of databases that differ from standard (jars are placed in lib/dbvendors directory).
Now, Dods.conf is in xml format (DodsConf.xml).
Splitted DodsConf.xml file: one file for every database vendor. DodsConf has just information about location of templates and vendor configuration files.
DODS generator creates java code independent of database. Database dependence is relocated to Database Manager (dods-runtime.jar).
Provided possibility of overwritting Vendor from domlfile by dods ant task. The possibility also added in DODS generator.
In application's configuration file are defined: maximal and default size of DO cache, maximal and default sizes of simple and complex query caches, the initial cache statement, whether the DO cache is read-only and user wildcards.
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...).
Added possibility to DODS to convert doml file into four types of papers: html, pdf, xmi and ptl. 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.
Added statistics
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)
time when statistics started
time when statistics has been stopped
average time for executing non-oid query
average time for executing oid query
cache type
If caching is available, next information are also kept:
maximal DO cache size
maximal simple query cache size
maximal complex query cache size
size of currently used DO cache
size of currently used simple query cache
size of currently used complex query cache
number of queries performed on the DO cache successfully
number of query by OIds performed on the cache successfully.
number of queries found in simple query cache
number of queries found in complex query cache
how much cache is currently used.
how much simple query cache is currently used.
how much complex query cache is currently used.
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
Added support for Eclipse 2.0 (Windows, Linux)
Added support for JDeveloper 9 (Windows)
Added support for JBuilder 8 (Windows, Linux)
New Kelp for Eclipse based on build.xml and Enhydra Ant. Core of new Kelp is IDE independent.
New build of Kelp project based on Ant with buildDistribution option
Added support for 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,...)
WebDocWf patches for Enhydra 3.1 are adapted and included in Enhydra 5.1
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.
Patches (Together) for Enhydra 5.0: public static void stopAllServices () in MultiServer for graceful multiserver NT-service shutdown.
Patches (Together) for Enhydra 5.0: private ClassResource loadClassHere (String className) in MultiClassLoader. JIT-avoiding patch.
Patches for ejen.jar version 1.0:
class ejenConstants.java
Added attribute CTX_DOM_SOURCE_FILE - path of DOM source file.
class EjenSourceNode.java
Added method putInGlobalContext (in method setFile(String)). This method puts DOM_SOURCE_FILE in Global Context.
class EjenTemplateNode.java
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.
Server side:
core.jar,
util.jar,
tomcat.jar,
enhydra.jar
dods-runtime.jar
log4j.jar
Enhydra tools:
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
wireless.jar
xhtml.jar
Enhydra build:
dods.jar - Data Object Design Studio
toolbox.jar
ejen.jar version 1.0 - patched
Support jars:
servlet.jar,
admin.jar - Administration application,
snoop.jar - Snoop servlet (read and display HTTP request parameters)
Support tools:
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
Enhydra demo applications with short explanation (html , pdf ) .
Table of Contents
These release notes apply to Enhydra 5.1.
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
InstantDB
DB2
PostgreSQL
Sysbase
Informix
HSQL
QED