[cvs] expresso/expresso-web/expresso/doc/edg edg.fo edg.pdf edg_asyncprocess.html edg_components.html edg_connectionpool.html edg_controllers.html edg_dbmaint.html edg_dbobject-types.html edg_deploy.html edg_editedg.html edg_event.html edg_go01.html edg_healthcheck.html edg_index.html edg_internationalization.html edg_ix01.html edg_jobcontrol.html edg_jsp.html edg_logging.html edg_registration.html edg_reporting.html edg_security2.html edg_taglib.html edg_unittest.html edg_utility.html edg_workflow.html edg_xml.html

JCorporate Ltd jcorp at jcorp2.servlets.net
Sun Jul 4 11:01:27 PDT 2004


Update of /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg
In directory jcorp2.servlets.net:/tmp/cvs-serv14145

Modified Files:
	edg.fo edg.pdf edg_asyncprocess.html edg_components.html 
	edg_connectionpool.html edg_controllers.html edg_dbmaint.html 
	edg_dbobject-types.html edg_deploy.html edg_editedg.html 
	edg_event.html edg_go01.html edg_healthcheck.html 
	edg_index.html edg_internationalization.html edg_ix01.html 
	edg_jobcontrol.html edg_jsp.html edg_logging.html 
	edg_registration.html edg_reporting.html edg_security2.html 
	edg_taglib.html edg_unittest.html edg_utility.html 
	edg_workflow.html edg_xml.html 
Log Message:
add joineddbobject example


Index: edg_connectionpool.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_connectionpool.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** edg_connectionpool.html	17 Jun 2004 17:07:54 -0000	1.5
--- edg_connectionpool.html	4 Jul 2004 18:01:24 -0000	1.6
***************
*** 1,3 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;14.&nbsp;Database Connection Pooling</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_dbmaint.html" title="Chapter&nbsp;13.&nbsp;Database Maintenance"><link rel="next" href="edg_jsp.html" title="Chapter&nbsp;15.&nbsp;Developing The View in the MVC"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;14.&nbsp;Database Connection Pooling</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_dbmaint.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_jsp.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="connectionpool"></a>Chapter&nbsp;14.&nbsp;Database Connection Pooling</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_connectionpool.html#N11903">Introduction</a></dt><dt><a href="edg_connectionpool.html#N1190D">Why Is a Database Connection Pool Used?</a></dt><dt><a href="edg_connectionpool.html#N11918">EJB Server Connection Pools</a></dt><dt><a href="edg_connectionpool.html#N1191D">Expresso Implementation</a></dt><dt><a href="edg_connectionpool.html#N11924">Database and Application Server Independent</a></dt><dt><a href="edg_connectionpool.html#N1192D">DB Pooling Management</a></dt><dt><a href="edg_connectionpool.html#N11938">Queued Connections</a></dt><dt><a href="edg_connectionpool.html#N1193F">Database Connections</a></dt><dt><a href="edg_connectionpool.html#N11946">Conclusion</a></dt><dd><dl><dt><a href="edg_connectionpool.html#N11949">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If you find this EDG documentation helpful please consider
    <a href="edg_connectionpool.html#donate_connectionpool">DONATING</a>! to keep the doc alive
    and current.</p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
--- 1,3 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;14.&nbsp;Database Connection Pooling</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_dbmaint.html" title="Chapter&nbsp;13.&nbsp;Database Maintenance"><link rel="next" href="edg_jsp.html" title="Chapter&nbsp;15.&nbsp;Developing The View in the MVC"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;14.&nbsp;Database Connection Pooling</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_dbmaint.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_jsp.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="connectionpool"></a>Chapter&nbsp;14.&nbsp;Database Connection Pooling</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_connectionpool.html#N1191B">Introduction</a></dt><dt><a href="edg_connectionpool.html#N11925">Why Is a Database Connection Pool Used?</a></dt><dt><a href="edg_connectionpool.html#N11930">EJB Server Connection Pools</a></dt><dt><a href="edg_connectionpool.html#N11935">Expresso Implementation</a></dt><dt><a href="edg_connectionpool.html#N1193C">Database and Application Server Independent</a></dt><dt><a href="edg_connectionpool.html#N11945">DB Pooling Management</a></dt><dt><a href="edg_connectionpool.html#N11950">Queued Connections</a></dt><dt><a href="edg_connectionpool.html#N11957">Database Connections</a></dt><dt><a href="edg_connectionpool.html#N1195E">Conclusion</a></dt><dd><dl><dt><a href="edg_connectionpool.html#N11961">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If you find this EDG documentation helpful please consider
    <a href="edg_connectionpool.html#donate_connectionpool">DONATING</a>! to keep the doc alive
    and current.</p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
***************
*** 9,13 ****
    abstracting the connection process even further than the JDBC API. A
    sophisticated connection pool object provides access to one or more
!   databases in an efficient manner.</b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11903"></a>Introduction</h2></div></div><div></div></div><p>Expresso offers a fully Java package for handling multiple
      concurrent database connections for handing out and returning database
      connections from a configurable pool of connections. This completely
--- 9,13 ----
    abstracting the connection process even further than the JDBC API. A
    sophisticated connection pool object provides access to one or more
!   databases in an efficient manner.</b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1191B"></a>Introduction</h2></div></div><div></div></div><p>Expresso offers a fully Java package for handling multiple
      concurrent database connections for handing out and returning database
      connections from a configurable pool of connections. This completely
***************
*** 24,28 ****
        fromservlets on a timely basis, maximum numbers of connections, and a
        few other things you may run into when you're scaling to support
!       larger groups of users. </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1190D"></a>Why Is a Database Connection Pool Used?</h2></div></div><div></div></div><p>One of the advantages over CGI is that a Servlet can keep
      information between requests and share common resources. One common use of
      this feature is a database connection pool.</p><p>Connection pooling is a technique used to avoid the overhead of
--- 24,28 ----
        fromservlets on a timely basis, maximum numbers of connections, and a
        few other things you may run into when you're scaling to support
!       larger groups of users. </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11925"></a>Why Is a Database Connection Pool Used?</h2></div></div><div></div></div><p>One of the advantages over CGI is that a Servlet can keep
      information between requests and share common resources. One common use of
      this feature is a database connection pool.</p><p>Connection pooling is a technique used to avoid the overhead of
***************
*** 40,44 ****
      connections open, and will open as many as it either needs or is allowed
      (e.g. you set a max) and hand them out to separate invocations of the same
!     servlet when many hits arrive at once. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11918"></a>EJB Server Connection Pools</h2></div></div><div></div></div><p>Jcorporate's connection pooling can work with the connection
      pooling provided by Enterprise JavaBean application servers, if the
      database objects that make up the system being implemented are created as
--- 40,44 ----
      connections open, and will open as many as it either needs or is allowed
      (e.g. you set a max) and hand them out to separate invocations of the same
!     servlet when many hits arrive at once. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11930"></a>EJB Server Connection Pools</h2></div></div><div></div></div><p>Jcorporate's connection pooling can work with the connection
      pooling provided by Enterprise JavaBean application servers, if the
      database objects that make up the system being implemented are created as
***************
*** 46,50 ****
      pooling of connections for the entity EJB's, and the application
      framework's connection pool is used for all other database accesses,
!     ensuring the entire system maintains high performance. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1191D"></a>Expresso Implementation</h2></div></div><div></div></div><p>With security handled at the application level with the Expresso
      Framework and other components, it is practical to use "connection
      pooling" e.g. holding a number of connections open even after they
--- 46,50 ----
      pooling of connections for the entity EJB's, and the application
      framework's connection pool is used for all other database accesses,
!     ensuring the entire system maintains high performance. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11935"></a>Expresso Implementation</h2></div></div><div></div></div><p>With security handled at the application level with the Expresso
      Framework and other components, it is practical to use "connection
      pooling" e.g. holding a number of connections open even after they
***************
*** 57,61 ****
      particularly helpful for objects such as the configuration values, which
      might be read many times without being written or changed. These two
!     facilities ensure that the application framework scales up well. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11924"></a>Database and Application Server Independent</h2></div></div><div></div></div><p>You are not tied to any one database or application server company
      which means you can make changes to the software being utilized on your
      server as needed.</p><p>Jcorporate connection pooling implements a sophisticated
--- 57,61 ----
      particularly helpful for objects such as the configuration values, which
      might be read many times without being written or changed. These two
!     facilities ensure that the application framework scales up well. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1193C"></a>Database and Application Server Independent</h2></div></div><div></div></div><p>You are not tied to any one database or application server company
      which means you can make changes to the software being utilized on your
      server as needed.</p><p>Jcorporate connection pooling implements a sophisticated
***************
*** 65,69 ****
      number of popular database engines have been tested with the system - see
      the system requirements documentation for recommendations of database
!     engines to use with the system.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1192D"></a>DB Pooling Management</h2></div></div><div></div></div><p>Database connections are expensive in terms of performance to make
      &amp; re-make, so rather than making and breaking connections as required,
      a "pool" of database connections is maintained by the system on
--- 65,69 ----
      number of popular database engines have been tested with the system - see
      the system requirements documentation for recommendations of database
!     engines to use with the system.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11945"></a>DB Pooling Management</h2></div></div><div></div></div><p>Database connections are expensive in terms of performance to make
      &amp; re-make, so rather than making and breaking connections as required,
      a "pool" of database connections is maintained by the system on
***************
*** 84,88 ****
      access to the database. Individual users are typically granted no access
      to the database at all, eliminating any security issues that might arise
!     from allowing users access to the database directly (e.g. via ODBC).</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11938"></a>Queued Connections</h2></div></div><div></div></div><p>Connections can also be "queued" - if there is a specified
      maximum number of connections to the database (due to limitations on
      either the database itself or for performance reasons), then objects
--- 84,88 ----
      access to the database. Individual users are typically granted no access
      to the database at all, eliminating any security issues that might arise
!     from allowing users access to the database directly (e.g. via ODBC).</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11950"></a>Queued Connections</h2></div></div><div></div></div><p>Connections can also be "queued" - if there is a specified
      maximum number of connections to the database (due to limitations on
      either the database itself or for performance reasons), then objects
***************
*** 93,97 ****
      interactive requests are waiting for connections.</p><p>Database object security means that maintaining multiple connections
      for multiple users is not required, further reducing the demands on the
!     system and improving overall performance.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1193F"></a>Database Connections</h2></div></div><div></div></div><p>Most servlets in the system utilize a connection to one or more
      databases. These databases may be one of a number of different types, and
      are connected via the JDBC API and a suitable JDBC driver.</p><p>Each database context also has a database connection pool
--- 93,97 ----
      interactive requests are waiting for connections.</p><p>Database object security means that maintaining multiple connections
      for multiple users is not required, further reducing the demands on the
!     system and improving overall performance.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11957"></a>Database Connections</h2></div></div><div></div></div><p>Most servlets in the system utilize a connection to one or more
      databases. These databases may be one of a number of different types, and
      are connected via the JDBC API and a suitable JDBC driver.</p><p>Each database context also has a database connection pool
***************
*** 99,103 ****
      immediately, but the pool grows (to a maximum size specified in the Setup
      values) as objects request access to the database. The connection
!     information for the pool is stored in the expresso-config.xml file.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N11946"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N11949"></a>Contributors</h3></div></div><div></div></div><p> The following persons have
      contributed their time to this chapter: <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p> Sandra Cann</p></li></ul></div> </p></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a name="donate_connectionpool"></a> Was this EDG documentation
      helpful? Do you wish to express your appreciation for the time expended
--- 99,103 ----
      immediately, but the pool grows (to a maximum size specified in the Setup
      values) as objects request access to the database. The connection
!     information for the pool is stored in the expresso-config.xml file.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1195E"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N11961"></a>Contributors</h3></div></div><div></div></div><p> The following persons have
      contributed their time to this chapter: <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p> Sandra Cann</p></li></ul></div> </p></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a name="donate_connectionpool"></a> Was this EDG documentation
      helpful? Do you wish to express your appreciation for the time expended

Index: edg_deploy.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_deploy.html,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** edg_deploy.html	17 Jun 2004 17:07:54 -0000	1.21
--- edg_deploy.html	4 Jul 2004 18:01:24 -0000	1.22
***************
*** 1,3 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_xml.html" title="Chapter&nbsp;22.&nbsp;Expresso and XML"><link rel="next" href="edg_unittest.html" title="Chapter&nbsp;24.&nbsp;Unit Testing"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_xml.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_unittest.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="deploy"></a>Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_deploy.html#deploy-intro">Introduction</a></dt><dt><a href="edg_deploy.html#N12701">Before You Start</a></dt><dt><a href="edg_deploy.html#N12706">Installation Procedure</a></dt><dt><a href="edg_deploy.html#N1272E">Register the Application's Schema</a></dt><dt><a href="edg_deploy.html#N1277E">Run DBCreate to create the Application's Database Tables</a></dt><dt><a href="edg_deploy.html#N12793">Conclusion</a></dt><dd><dl><dt><a href="edg_deploy.html#N12797">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> If you find this EDG documentation helpful please
    consider <a href="edg_deploy.html#donate_deploy">DONATING</a>! to keep the doc
    alive and current. </p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><span class="maintainer">Marc Schipperheyn</span></td></tr></tbody></table></div></p><i><span class="remark"><span class="bold"><b>This document describes how to install a
--- 1,3 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_xml.html" title="Chapter&nbsp;22.&nbsp;Expresso and XML"><link rel="next" href="edg_unittest.html" title="Chapter&nbsp;24.&nbsp;Unit Testing"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_xml.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_unittest.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="deploy"></a>Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_deploy.html#deploy-intro">Introduction</a></dt><dt><a href="edg_deploy.html#N12731">Before You Start</a></dt><dt><a href="edg_deploy.html#N12736">Installation Procedure</a></dt><dt><a href="edg_deploy.html#N1275E">Register the Application's Schema</a></dt><dt><a href="edg_deploy.html#N127AE">Run DBCreate to create the Application's Database Tables</a></dt><dt><a href="edg_deploy.html#N127C3">Conclusion</a></dt><dd><dl><dt><a href="edg_deploy.html#N127C7">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> If you find this EDG documentation helpful please
    consider <a href="edg_deploy.html#donate_deploy">DONATING</a>! to keep the doc
    alive and current. </p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><span class="maintainer">Marc Schipperheyn</span></td></tr></tbody></table></div></p><i><span class="remark"><span class="bold"><b>This document describes how to install a
***************
*** 10,14 ****
    Expresso operational and have verified that it is running properly. If
    you're not sure that this is so, please check the Expresso installation
!   instructions first. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12701"></a>Before You Start</h2></div></div><div></div></div><p> You should have a single .jar
    file that contains your application, such as eforumXXXX.jar, where XXXX is
    the version number of the application to be installed. You need to determine
--- 10,14 ----
    Expresso operational and have verified that it is running properly. If
    you're not sure that this is so, please check the Expresso installation
!   instructions first. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12731"></a>Before You Start</h2></div></div><div></div></div><p> You should have a single .jar
    file that contains your application, such as eforumXXXX.jar, where XXXX is
    the version number of the application to be installed. You need to determine
***************
*** 17,21 ****
    installation. You should be able to see the files error.jsp, frame.jsp,
    toc.jsp, etc in this directory, and it should contain sub-directories such
!   as doc, jsp, WEB-INF, and so forth. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12706"></a>Installation Procedure</h2></div></div><div></div></div><p>Install the Files</p><div class="orderedlist"><ol type="1"><li><p> Copy the .jar file referred to above to the
    web application directory where Expresso was installed. </p></li><li><p> Un-jar the jar file by issuing the following command: jar
    xvf eforum1-20.jar Replacing of course the eforum1-20.jar name with the name
--- 17,21 ----
    installation. You should be able to see the files error.jsp, frame.jsp,
    toc.jsp, etc in this directory, and it should contain sub-directories such
!   as doc, jsp, WEB-INF, and so forth. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12736"></a>Installation Procedure</h2></div></div><div></div></div><p>Install the Files</p><div class="orderedlist"><ol type="1"><li><p> Copy the .jar file referred to above to the
    web application directory where Expresso was installed. </p></li><li><p> Un-jar the jar file by issuing the following command: jar
    xvf eforum1-20.jar Replacing of course the eforum1-20.jar name with the name
***************
*** 42,46 ****
    files). </p></li></ul></div></li><li><p> If you have a separate database for your application, you
    need to set it up in the expresso-config.xml file. Refer to the database
!   specific Installation Notes for more information. </p></li></ol></div><p></p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1272E"></a>Register the Application's Schema</h2></div></div><div></div></div><p> Usually,
    you will want to register your Schema in your own database, as opposed to
    the default Expresso database (Hypersonic). In order to do this you must (in
--- 42,46 ----
    files). </p></li></ul></div></li><li><p> If you have a separate database for your application, you
    need to set it up in the expresso-config.xml file. Refer to the database
!   specific Installation Notes for more information. </p></li></ol></div><p></p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1275E"></a>Register the Application's Schema</h2></div></div><div></div></div><p> Usually,
    you will want to register your Schema in your own database, as opposed to
    the default Expresso database (Hypersonic). In order to do this you must (in
***************
*** 76,80 ****
    this code to create a link to the "frame.jsp" file of the newly
    installed application for the menu at the left side of Expresso pages.
!   </p></li></ul></div></li></ol></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N1277E"></a>Run DBCreate to create the Application's Database Tables</h2></div></div><div></div></div><p> Once the application is registered correctly, you should run the
    DBCreate servlet (or the DBTool standalone application) to initialize the
    new application. This will do several things: </p><div class="orderedlist"><ol type="1"><li><p> Create the database tables required by the
--- 76,80 ----
    this code to create a link to the "frame.jsp" file of the newly
    installed application for the menu at the left side of Expresso pages.
!   </p></li></ul></div></li></ol></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N127AE"></a>Run DBCreate to create the Application's Database Tables</h2></div></div><div></div></div><p> Once the application is registered correctly, you should run the
    DBCreate servlet (or the DBTool standalone application) to initialize the
    new application. This will do several things: </p><div class="orderedlist"><ol type="1"><li><p> Create the database tables required by the
***************
*** 84,91 ****
    group "Admin" permission) to all of the applications Jobs,
    Controller and DB Objects. </p></li><li><p> Perform any
!   custom setup defined by the application. </p></li></ol></div></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12793"></a>Conclusion</h2></div></div><div></div></div> Once these steps are completed
    successfully, you are ready to use the new application. If you refresh the
    left-hand frame from Expresso, you should see a link to the new application
!   in the list of installed applications. <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12797"></a>Contributors</h3></div></div><div></div></div><p> The following persons have contributed their time to this chapter:
     <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Marc Schipperheyn</p></li><li style="list-style-type: disc"><p>Sandra Cann</p></li></ul></div> If you find any trouble
    spots with this document, or something you'd like to see clarified
--- 84,91 ----
    group "Admin" permission) to all of the applications Jobs,
    Controller and DB Objects. </p></li><li><p> Perform any
!   custom setup defined by the application. </p></li></ol></div></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N127C3"></a>Conclusion</h2></div></div><div></div></div> Once these steps are completed
    successfully, you are ready to use the new application. If you refresh the
    left-hand frame from Expresso, you should see a link to the new application
!   in the list of installed applications. <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N127C7"></a>Contributors</h3></div></div><div></div></div><p> The following persons have contributed their time to this chapter:
     <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Marc Schipperheyn</p></li><li style="list-style-type: disc"><p>Sandra Cann</p></li></ul></div> If you find any trouble
    spots with this document, or something you'd like to see clarified

Index: edg_healthcheck.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_healthcheck.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** edg_healthcheck.html	17 Jun 2004 17:07:54 -0000	1.3
--- edg_healthcheck.html	4 Jul 2004 18:01:24 -0000	1.4
***************
*** 1,4 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_unittest.html" title="Chapter&nbsp;24.&nbsp;Unit Testing"><link rel="next" href="edg_jobcontrol.html" title="Chapter&nbsp;26.&nbsp;Jobs Expresso"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_unittest.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_jobcontrol.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="healthcheck"></a>Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_healthcheck.html#N12969">Introduction</a></dt><dt><a href="edg_healthcheck.html#N12970">Healthcheck Monitors Web Components</a></dt><dt><a href="edg_healthcheck.html#N12992">Healthcheck Error Reporting</a></dt><dt><a href="edg_healthcheck.html#N129A5">Healthcheck Tests Performed</a></dt><dt><a href="edg_healthcheck.html#N129DF">Optimizing Performance</a></dt><dd><dl><dt><a href="edg_healthcheck.html#N129E4">Performance Hogs</a></dt><dt><a href="edg_healthcheck.html#N12A28">Cache
!   Tuning</a></dt></dl></dd><dt><a href="edg_healthcheck.html#N12A59">Database Optimization</a></dt><dt><a href="edg_healthcheck.html#N12A60">Indexing</a></dt><dt><a href="edg_healthcheck.html#N12A66">Conclusion</a></dt><dd><dl><dt><a href="edg_healthcheck.html#N12A69">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> If you find this EDG documentation helpful please
    consider <a href="edg_healthcheck.html#donate_healthcheck">DONATING</a>! to keep the doc
    alive and current. </p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
--- 1,4 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_unittest.html" title="Chapter&nbsp;24.&nbsp;Unit Testing"><link rel="next" href="edg_jobcontrol.html" title="Chapter&nbsp;26.&nbsp;Jobs Expresso"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_unittest.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_jobcontrol.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="healthcheck"></a>Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_healthcheck.html#N12999">Introduction</a></dt><dt><a href="edg_healthcheck.html#N129A0">Healthcheck Monitors Web Components</a></dt><dt><a href="edg_healthcheck.html#N129C2">Healthcheck Error Reporting</a></dt><dt><a href="edg_healthcheck.html#N129D5">Healthcheck Tests Performed</a></dt><dt><a href="edg_healthcheck.html#N12A0F">Optimizing Performance</a></dt><dd><dl><dt><a href="edg_healthcheck.html#N12A14">Performance Hogs</a></dt><dt><a href="edg_healthcheck.html#N12A58">Cache
!   Tuning</a></dt></dl></dd><dt><a href="edg_healthcheck.html#N12A89">Database Optimization</a></dt><dt><a href="edg_healthcheck.html#N12A90">Indexing</a></dt><dt><a href="edg_healthcheck.html#N12A96">Conclusion</a></dt><dd><dl><dt><a href="edg_healthcheck.html#N12A99">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> If you find this EDG documentation helpful please
    consider <a href="edg_healthcheck.html#donate_healthcheck">DONATING</a>! to keep the doc
    alive and current. </p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
***************
*** 13,22 ****
    system and performance tests as means to monitor the various components of a
    web and/or intranet and to ensure that they remain up and operational at all
!   times. It is designed to be run by a system scheduler.</b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12969"></a>Introduction</h2></div></div><div></div></div><p>Expresso Health Check utility
    provides a means to monitor the various components of a web and/or intranet
    and to ensure that they remain up and operational at all times. It is
    designed to be run by a system scheduler (cron, ROBOT, NT Scheduler) at
    short intervals (e.g. once every 30 minutes).</p><p>This chapter also
!   covers the area of application performance.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12970"></a>Healthcheck Monitors Web Components</h2></div></div><div></div></div><p>Designed to
    be run on a timer on the server. It checks that:</p><div class="orderedlist"><ol type="1"><li><p>Web
    services are running </p></li><li><p>The database is up
--- 13,22 ----
    system and performance tests as means to monitor the various components of a
    web and/or intranet and to ensure that they remain up and operational at all
!   times. It is designed to be run by a system scheduler.</b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12999"></a>Introduction</h2></div></div><div></div></div><p>Expresso Health Check utility
    provides a means to monitor the various components of a web and/or intranet
    and to ensure that they remain up and operational at all times. It is
    designed to be run by a system scheduler (cron, ROBOT, NT Scheduler) at
    short intervals (e.g. once every 30 minutes).</p><p>This chapter also
!   covers the area of application performance.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N129A0"></a>Healthcheck Monitors Web Components</h2></div></div><div></div></div><p>Designed to
    be run on a timer on the server. It checks that:</p><div class="orderedlist"><ol type="1"><li><p>Web
    services are running </p></li><li><p>The database is up
***************
*** 29,33 ****
    may be defined which execute a specific URL and measure how long it takes to
    respond, as well as checking for a specific response. This helps ensure the
!   sytem is operating correctly. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12992"></a>Healthcheck Error Reporting</h2></div></div><div></div></div><p>All except the last
    item on the above list, give a warning message in email, the last one just
    gets a big warning on the console &amp; a message in the log. Health Check
--- 29,33 ----
    may be defined which execute a specific URL and measure how long it takes to
    respond, as well as checking for a specific response. This helps ensure the
!   sytem is operating correctly. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N129C2"></a>Healthcheck Error Reporting</h2></div></div><div></div></div><p>All except the last
    item on the above list, give a warning message in email, the last one just
    gets a big warning on the console &amp; a message in the log. Health Check
***************
*** 48,52 ****
    administrator is alerted even if not actually watching the page). This page
    can be left up on a console for a continuous monitoring of the overall
!   system health at all times.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N129A5"></a>Healthcheck Tests Performed</h2></div></div><div></div></div><p>HealthCheck performs
    the following tests:</p><div class="itemizedlist"><ul type="disc"><li><p>Verifies that the
    control database is operational by connecting to it &amp; reading setup
--- 48,52 ----
    administrator is alerted even if not actually watching the page). This page
    can be left up on a console for a continuous monitoring of the overall
!   system health at all times.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N129D5"></a>Healthcheck Tests Performed</h2></div></div><div></div></div><p>HealthCheck performs
    the following tests:</p><div class="itemizedlist"><ul type="disc"><li><p>Verifies that the
    control database is operational by connecting to it &amp; reading setup
***************
*** 62,66 ****
    HealthCheck, select the "Operation" menu choice in Expresso's
    Admin menu. Scroll down to the heading, "Periodic System and Performance
!   Tests." There you will see a list of functions like the below: </p><div class="table"><a name="N129BC"></a><p class="title"><b>Table&nbsp;25.1.&nbsp;Healthcheck
    Functions</b></p><table summary="Healthcheck
    Functions" border="1"><colgroup><col><col></colgroup><tbody><tr><td>HealthCheck Function</td><td>Description
--- 62,66 ----
    HealthCheck, select the "Operation" menu choice in Expresso's
    Admin menu. Scroll down to the heading, "Periodic System and Performance
!   Tests." There you will see a list of functions like the below: </p><div class="table"><a name="N129EC"></a><p class="title"><b>Table&nbsp;25.1.&nbsp;Healthcheck
    Functions</b></p><table summary="Healthcheck
    Functions" border="1"><colgroup><col><col></colgroup><tbody><tr><td>HealthCheck Function</td><td>Description
***************
*** 69,83 ****
    Definitions</td><td>&nbsp;</td></tr><tr><td>Performance Test Stats</td><td>&nbsp;</td></tr><tr><td>Performance
    Test Sets</td><td>&nbsp;</td></tr><tr><td>Performance Test Set
!   Details</td><td>&nbsp;</td></tr></tbody></table></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N129DF"></a>Optimizing Performance</h2></div></div><div></div></div><p> It is important to
    concentrate your efforts on the areas where the largest gain can be
    experienced - in order to do this, you must understand where the "hot
    spots" are in your application. Expresso can help you do this, and then
    help you perform more extensive analysis of those "hot spots" to
!   make sure they are running as quickly as possible. </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N129E4"></a>Performance Hogs</h3></div></div><div></div></div><p> There are a number of things that can
    slow down an Expresso application. By checking this list carefully before
    beginning any more intensive performance tuning, you can verify that you are
    not "driving with the parking brake on" and can often solve
!   performance problems immediately. </p><a name="N129E9" class="indexterm"></a><p>Some of the
!   items to watch for are:</p><a name="N129F1" class="indexterm"></a><a name="N129F7" class="indexterm"></a><div class="itemizedlist"><ul type="disc"><li><p><span class="bold"><b>Logging:</b></span></p><p> Log4j, which is the integrated logging mechanism built into Expresso,
    is a very capable package, and it's performance impact is very small
    compared to many logging methods. Still, the fastest logging is no logging
--- 69,83 ----
    Definitions</td><td>&nbsp;</td></tr><tr><td>Performance Test Stats</td><td>&nbsp;</td></tr><tr><td>Performance
    Test Sets</td><td>&nbsp;</td></tr><tr><td>Performance Test Set
!   Details</td><td>&nbsp;</td></tr></tbody></table></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A0F"></a>Optimizing Performance</h2></div></div><div></div></div><p> It is important to
    concentrate your efforts on the areas where the largest gain can be
    experienced - in order to do this, you must understand where the "hot
    spots" are in your application. Expresso can help you do this, and then
    help you perform more extensive analysis of those "hot spots" to
!   make sure they are running as quickly as possible. </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12A14"></a>Performance Hogs</h3></div></div><div></div></div><p> There are a number of things that can
    slow down an Expresso application. By checking this list carefully before
    beginning any more intensive performance tuning, you can verify that you are
    not "driving with the parking brake on" and can often solve
!   performance problems immediately. </p><a name="N12A19" class="indexterm"></a><p>Some of the
!   items to watch for are:</p><a name="N12A21" class="indexterm"></a><a name="N12A27" class="indexterm"></a><div class="itemizedlist"><ul type="disc"><li><p><span class="bold"><b>Logging:</b></span></p><p> Log4j, which is the integrated logging mechanism built into Expresso,
    is a very capable package, and it's performance impact is very small
    compared to many logging methods. Still, the fastest logging is no logging
***************
*** 131,136 ****
    is to review the log, looking for any unusual errors or warnings and
    tracking them back to their source. Often the culprit will be a bad Setup
!   value. </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12A28"></a>Cache
!   Tuning</h3></div></div><div></div></div><a name="N12A2B" class="indexterm"></a><p> Unless you have specifically turned off the option to do
    so, (see the properties file documentation) Expresso as it runs will collect
    information about the effectiveness of the DB Object caching system. This
--- 131,136 ----
    is to review the log, looking for any unusual errors or warnings and
    tracking them back to their source. Often the culprit will be a bad Setup
!   value. </p></li></ul></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12A58"></a>Cache
!   Tuning</h3></div></div><div></div></div><a name="N12A5B" class="indexterm"></a><p> Unless you have specifically turned off the option to do
    so, (see the properties file documentation) Expresso as it runs will collect
    information about the effectiveness of the DB Object caching system. This
***************
*** 180,184 ****
    the "Database Object Page Limit" table, you can make best use of
    your available memory via db object caching. This is often the single most
!   important optimization step you can take. </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A59"></a>Database Optimization</h2></div></div><div></div></div><p> If all of the above
    optimization and performance tuning techniques indicate that there is a
    problem with database access slowing down the system (despite tuning the db
--- 180,184 ----
    the "Database Object Page Limit" table, you can make best use of
    your available memory via db object caching. This is often the single most
!   important optimization step you can take. </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A89"></a>Database Optimization</h2></div></div><div></div></div><p> If all of the above
    optimization and performance tuning techniques indicate that there is a
    problem with database access slowing down the system (despite tuning the db
***************
*** 191,197 ****
    it's elapsed time recorded, and you can use this information to pick out
    the worst offenders and either modify your application to perform better
!   queries, or use database indices to make them faster. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A60"></a>Indexing</h2></div></div><div></div></div><p> See the section on DBobjects for
    information about setting up Indexes for faster access on non-primary-key
!   fields. </p></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A66"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12A69"></a>Contributors</h3></div></div><div></div></div><p> The following persons have contributed their time to this chapter:
    <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p> Larry Hamel <a href="edg_intro.html#jgroup" title="Jcorporate's JGroup Services">(JGroup Expert)</a> </p></li><li style="list-style-type: disc"><p>Mike Nash</p></li><li style="list-style-type: disc"><p>Mike Rimov</p></li><li style="list-style-type: disc"><p> Mike Traum <a href="edg_intro.html#jgroup" title="Jcorporate's JGroup Services">(JGroup
    Expert)</a> </p></li><li style="list-style-type: disc"><p>Sandra Cann</p></li></ul></div> </p></div><p> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a name="donate_healthcheck"></a>
--- 191,197 ----
    it's elapsed time recorded, and you can use this information to pick out
    the worst offenders and either modify your application to perform better
!   queries, or use database indices to make them faster. </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A90"></a>Indexing</h2></div></div><div></div></div><p> See the section on DBobjects for
    information about setting up Indexes for faster access on non-primary-key
!   fields. </p></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12A96"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12A99"></a>Contributors</h3></div></div><div></div></div><p> The following persons have contributed their time to this chapter:
    <div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p> Larry Hamel <a href="edg_intro.html#jgroup" title="Jcorporate's JGroup Services">(JGroup Expert)</a> </p></li><li style="list-style-type: disc"><p>Mike Nash</p></li><li style="list-style-type: disc"><p>Mike Rimov</p></li><li style="list-style-type: disc"><p> Mike Traum <a href="edg_intro.html#jgroup" title="Jcorporate's JGroup Services">(JGroup
    Expert)</a> </p></li><li style="list-style-type: disc"><p>Sandra Cann</p></li></ul></div> </p></div><p> <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p><a name="donate_healthcheck"></a>

Index: edg_internationalization.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_internationalization.html,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** edg_internationalization.html	17 Jun 2004 17:07:55 -0000	1.21
--- edg_internationalization.html	4 Jul 2004 18:01:24 -0000	1.22
***************
*** 1,3 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;20.&nbsp;Internationalization</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_event.html" title="Chapter&nbsp;19.&nbsp;Expresso Event System"><link rel="next" href="edg_asyncprocess.html" title="Chapter&nbsp;21.&nbsp;Asynchronous Request Processing Framework"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;20.&nbsp;Internationalization</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_event.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_asyncprocess.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="internationalization"></a>Chapter&nbsp;20.&nbsp;Internationalization</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_internationalization.html#locales">Locales</a></dt><dt><a href="edg_internationalization.html#charactersets">Character Sets</a></dt><dt><a href="edg_internationalization.html#dbobjectsI18N">Internationalization and DB Objects</a></dt><dt><a href="edg_internationalization.html#controllersi18n">Internationalization in Controllers</a></dt><dt><a href="edg_internationalization.html#jspi18n">Internationalization in JSP's</a></dt><dt><a href="edg_internationalization.html#isovalidvalues">ISO Valid Values</a></dt><dt><a href="edg_internationalization.html#N12528">Conclusion</a></dt><dd><dl><dt><a href="edg_internationalization.html#N1252B">Contributors</a></dt></dl></dd></dl></div><p>
  
  		<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
--- 1,3 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;20.&nbsp;Internationalization</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_event.html" title="Chapter&nbsp;19.&nbsp;Expresso Event System"><link rel="next" href="edg_asyncprocess.html" title="Chapter&nbsp;21.&nbsp;Asynchronous Request Processing Framework"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;20.&nbsp;Internationalization</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_event.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_asyncprocess.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="internationalization"></a>Chapter&nbsp;20.&nbsp;Internationalization</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_internationalization.html#locales">Locales</a></dt><dt><a href="edg_internationalization.html#charactersets">Character Sets</a></dt><dt><a href="edg_internationalization.html#dbobjectsI18N">Internationalization and DB Objects</a></dt><dt><a href="edg_internationalization.html#controllersi18n">Internationalization in Controllers</a></dt><dt><a href="edg_internationalization.html#jspi18n">Internationalization in JSP's</a></dt><dt><a href="edg_internationalization.html#isovalidvalues">ISO Valid Values</a></dt><dt><a href="edg_internationalization.html#N12558">Conclusion</a></dt><dd><dl><dt><a href="edg_internationalization.html#N1255B">Contributors</a></dt></dl></dd></dl></div><p>
  
  		<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
***************
*** 200,204 ****
  	org.acme.test.Product.2 = portierbares Fehersehen</pre><p>
  And that is all there is to internationalisation of valid values.
! 		</p></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12528"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1252B"></a>Contributors</h3></div></div><div></div></div><p>
  
  The following persons have contributed their time to this chapter:
--- 200,204 ----
  	org.acme.test.Product.2 = portierbares Fehersehen</pre><p>
  And that is all there is to internationalisation of valid values.
! 		</p></div><p></p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12558"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N1255B"></a>Contributors</h3></div></div><div></div></div><p>
  
  The following persons have contributed their time to this chapter:

Index: edg_utility.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_utility.html,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** edg_utility.html	17 Jun 2004 17:07:56 -0000	1.32
--- edg_utility.html	4 Jul 2004 18:01:25 -0000	1.33
***************
*** 1,3 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;17.&nbsp;Expresso Utilities</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_taglib.html" title="Chapter&nbsp;16.&nbsp;Expresso Taglib Descriptions"><link rel="next" href="edg_security2.html" title="Chapter&nbsp;18.&nbsp;Expresso Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;17.&nbsp;Expresso Utilities</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_taglib.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_security2.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="utility"></a>Chapter&nbsp;17.&nbsp;Expresso Utilities</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_utility.html#N12098">Utilities</a></dt><dt><a href="edg_utility.html#N120A9">Conclusion</a></dt><dd><dl><dt><a href="edg_utility.html#N120AC">Contributors</a></dt></dl></dd></dl></div><p>
  
  		<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
--- 1,3 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;17.&nbsp;Expresso Utilities</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_taglib.html" title="Chapter&nbsp;16.&nbsp;Expresso Taglib Descriptions"><link rel="next" href="edg_security2.html" title="Chapter&nbsp;18.&nbsp;Expresso Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;17.&nbsp;Expresso Utilities</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_taglib.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_security2.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="utility"></a>Chapter&nbsp;17.&nbsp;Expresso Utilities</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_utility.html#N120C8">Utilities</a></dt><dt><a href="edg_utility.html#N120D9">Conclusion</a></dt><dd><dl><dt><a href="edg_utility.html#N120DC">Contributors</a></dt></dl></dd></dl></div><p>
  
  		<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
***************
*** 12,16 ****
  objects used in many areas of Expresso itself and useful in the applications
  you develop with Expresso.
! 	</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12098"></a>Utilities</h2></div></div><div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
  File manipulation: Utilities for copying and moving files, and performing
  certain manipulations on file names.
--- 12,16 ----
  objects used in many areas of Expresso itself and useful in the applications
  you develop with Expresso.
! 	</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N120C8"></a>Utilities</h2></div></div><div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
  File manipulation: Utilities for copying and moving files, and performing
  certain manipulations on file names.
***************
*** 26,30 ****
  Operating System Processes: Classes to wrapper a call to an external executable,
  and to wait for a specified timeout interval for it to finish.
! 				</p></li></ul></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N120A9"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N120AC"></a>Contributors</h3></div></div><div></div></div><p>
  
  The following persons have contributed their time to this chapter:
--- 26,30 ----
  Operating System Processes: Classes to wrapper a call to an external executable,
  and to wait for a specified timeout interval for it to finish.
! 				</p></li></ul></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N120D9"></a>Conclusion</h2></div></div><div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N120DC"></a>Contributors</h3></div></div><div></div></div><p>
  
  The following persons have contributed their time to this chapter:

Index: edg_ix01.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_ix01.html,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** edg_ix01.html	17 Jun 2004 17:07:55 -0000	1.34
--- edg_ix01.html	4 Jul 2004 18:01:24 -0000	1.35
***************
*** 1,3 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Index</th></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="N136D0"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>B</h3><dl><dt>BETWEEN</dt><dd><dl><dt>SQL Keyword, use of</dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>Cache</dt><dd><dl><dt>Tuning</dt></dl></dd><dt>Caching</dt><dd><dl><dt>Of Database Objects</dt></dl></dd><dt>Change Logging</dt><dd><dl><dt>With Database Objects</dt></dl></dd><dt>Client-side</dt><dd><dl><dt>Testing</dt><dd><dl><dt>Load</dt></dl></dd></dl></dd><dt>COMMIT</dt><dt>Controller (in MVC)</dt><dd><dl><dt>Role of Controller object in</dt></dl></dd><dt>Cross Site Scripting Countermeasures</dt><dd><dl><dt>XSS</dt></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt>Database Objects</dt><dd><dl><dt>Advantages of</dt><dt>Automatic</dt><dd><dl><dt>AutoDBObject</dt></dl></dd><dt>Capabilities Of</dt><dt>Example of</dt><dt>Generation of Tables for</dt><dt>Operations using</dt><dt>Retrieving multiple instances of</dt><dt>Security for</dt><dt>Using</dt><dt>Using ranges and wild cards with</dt><dd><dl><dt>Searching for records</dt></dl></dd></dl></dd><dt>DBMaint</dt><dd><dl><dt>Using</dt></dl></dd><dt>dispatch</dt><dd><dl><dt>universal</dt></dl></dd></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>Entity EJB</dt><dd><dl><dt>Relationship of Database Objects to</dt></dl></dd><dt>Expresso XML Project</dt><dd><dl><dt>XML</dt></dl></dd></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>Fields</dt><dd><dl><dt>Description</dt><dt>Multi-valued</dt><dt>Read-Only</dt><dt>Secret</dt><dt>Sequential</dt><dt>Sequential valued</dt><dt>Validation of</dt><dt>Virtual</dt><dd><dl><dt>Calculated</dt></dl></dd></dl></dd><dt>Filtering</dt><dd><dl><dt>String filtering</dt></dl></dd></dl></div><div class="indexdiv"><h3>J</h3><dl><dt>JoinedDataObject</dt><dd><dl><dt>Database Join</dt></dl></dd><dt>JUnit</dt><dd><dl><dt>Unit Testing</dt><dd><dl><dt>Testing</dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt>Logging</dt><dd><dl><dt>Affect on performance</dt></dl></dd><dt>Lookup</dt><dd><dl><dt>Automatic</dt></dl></dd></dl></div><div class="indexdiv"><h3>M</h3><dl><dt>Mapping</dt><dd><dl><dt>Of Database Types</dt></dl></dd><dt>MediaDBObject</dt><dd><dl><dt>BLOB Fields</dt><dd><dl><dt>Images</dt></dl></dd></dl></dd><dt>Model (in MVC)</dt><dd><dl><dt>Role of Controller object in</dt></dl></dd><dt>MultiDBObject</dt><dd><dl><dt>Database Join</dt></dl></dd><dt>MVC</dt><dd><dl><dt>Role of
      Controller object in</dt></dl></dd></dl></div><div class="indexdiv"><h3>P</h3><dl><dt>Performance</dt><dd><dl><dt>Affect of Logging on</dt><dt>Problems to watch for</dt></dl></dd></dl></div><div class="indexdiv"><h3>R</h3><dl><dt>Ranges</dt><dd><dl><dt>Using with Database Objects</dt></dl></dd><dt>Records</dt><dd><dl><dt>Adding new</dt><dt>Deleting</dt><dt>Updating</dt></dl></dd><dt>Referential Integrity</dt><dt>ROLLBACK</dt><dt>RowSecuredDBObject</dt><dd><dl><dt>Authorization</dt></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt>Schema Object</dt><dd><dl><dt>Creating</dt><dt>Location of</dt></dl></dd><dt>Searching</dt><dd><dl><dt>For records using Wild Cards</dt><dt>Limiting records retrieved</dt></dl></dd><dt>Security</dt><dd><dl><dt>For Database Objects</dt></dl></dd><dt>SecurityDB</dt><dt>SecurityDBObjects</dt><dt>SecurityDBObjs</dt><dt>Session EJB</dt><dd><dl><dt>Relationship to
!   Controller objects</dt></dl></dd><dt>Sort</dt></dl></div><div class="indexdiv"><h3>T</h3><dl><dt>Thread Safety</dt><dd><dl><dt>Pitfalls</dt></dl></dd><dt>Transaction Control</dt><dt>Type Mapping</dt></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Universal Dispatch</dt></dl></div><div class="indexdiv"><h3>V</h3><dl><dt>Virtual Fields</dt></dl></div><div class="indexdiv"><h3>W</h3><dl><dt>WHERE Clause</dt><dd><dl><dt>Using custom</dt></dl></dd><dt>Wild Cards</dt><dd><dl><dt>Using with Database Objects</dt></dl></dd><dt>wizard</dt><dd><dl><dt>process funnel</dt></dl></dd><dt>workflow</dt><dd><dl><dt>work flow</dt></dl></dd></dl></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%">&nbsp;</td><td align="center" width="20%"><a accesskey="u" href="edg_index.html">Up</a></td><td align="right" width="40%">&nbsp;</td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="edg_index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file
--- 1,3 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Index</th></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="N13700"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>B</h3><dl><dt>BETWEEN</dt><dd><dl><dt>SQL Keyword, use of</dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>Cache</dt><dd><dl><dt>Tuning</dt></dl></dd><dt>Caching</dt><dd><dl><dt>Of Database Objects</dt></dl></dd><dt>Change Logging</dt><dd><dl><dt>With Database Objects</dt></dl></dd><dt>Client-side</dt><dd><dl><dt>Testing</dt><dd><dl><dt>Load</dt></dl></dd></dl></dd><dt>COMMIT</dt><dt>Controller (in MVC)</dt><dd><dl><dt>Role of Controller object in</dt></dl></dd><dt>Cross Site Scripting Countermeasures</dt><dd><dl><dt>XSS</dt></dl></dd></dl></div><div class="indexdiv"><h3>D</h3><dl><dt>Database Objects</dt><dd><dl><dt>Advantages of</dt><dt>Automatic</dt><dd><dl><dt>AutoDBObject</dt></dl></dd><dt>Capabilities Of</dt><dt>Example of</dt><dt>Generation of Tables for</dt><dt>Operations using</dt><dt>Retrieving multiple instances of</dt><dt>Security for</dt><dt>Using</dt><dt>Using ranges and wild cards with</dt><dd><dl><dt>Searching for records</dt></dl></dd></dl></dd><dt>DBMaint</dt><dd><dl><dt>Using</dt></dl></dd><dt>dispatch</dt><dd><dl><dt>universal</dt></dl></dd></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>Entity EJB</dt><dd><dl><dt>Relationship of Database Objects to</dt></dl></dd><dt>Expresso XML Project</dt><dd><dl><dt>XML</dt></dl></dd></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>Fields</dt><dd><dl><dt>Description</dt><dt>Multi-valued</dt><dt>Read-Only</dt><dt>Secret</dt><dt>Sequential</dt><dt>Sequential valued</dt><dt>Validation of</dt><dt>Virtual</dt><dd><dl><dt>Calculated</dt></dl></dd></dl></dd><dt>Filtering</dt><dd><dl><dt>String filtering</dt></dl></dd></dl></div><div class="indexdiv"><h3>J</h3><dl><dt>JoinedDataObject</dt><dd><dl><dt>Database Join</dt></dl></dd><dt>JUnit</dt><dd><dl><dt>Unit Testing</dt><dd><dl><dt>Testing</dt></dl></dd></dl></dd></dl></div><div class="indexdiv"><h3>L</h3><dl><dt>Logging</dt><dd><dl><dt>Affect on performance</dt></dl></dd><dt>Lookup</dt><dd><dl><dt>Automatic</dt></dl></dd></dl></div><div class="indexdiv"><h3>M</h3><dl><dt>Mapping</dt><dd><dl><dt>Of Database Types</dt></dl></dd><dt>MediaDBObject</dt><dd><dl><dt>BLOB Fields</dt><dd><dl><dt>Images</dt></dl></dd></dl></dd><dt>Model (in MVC)</dt><dd><dl><dt>Role of Controller object in</dt></dl></dd><dt>MultiDBObject</dt><dd><dl><dt>Database Join</dt></dl></dd><dt>MVC</dt><dd><dl><dt>Role of
      Controller object in</dt></dl></dd></dl></div><div class="indexdiv"><h3>P</h3><dl><dt>Performance</dt><dd><dl><dt>Affect of Logging on</dt><dt>Problems to watch for</dt></dl></dd></dl></div><div class="indexdiv"><h3>R</h3><dl><dt>Ranges</dt><dd><dl><dt>Using with Database Objects</dt></dl></dd><dt>Records</dt><dd><dl><dt>Adding new</dt><dt>Deleting</dt><dt>Updating</dt></dl></dd><dt>Referential Integrity</dt><dt>ROLLBACK</dt><dt>RowSecuredDBObject</dt><dd><dl><dt>Authorization</dt></dl></dd></dl></div><div class="indexdiv"><h3>S</h3><dl><dt>Schema Object</dt><dd><dl><dt>Creating</dt><dt>Location of</dt></dl></dd><dt>Searching</dt><dd><dl><dt>For records using Wild Cards</dt><dt>Limiting records retrieved</dt></dl></dd><dt>Security</dt><dd><dl><dt>For Database Objects</dt></dl></dd><dt>SecurityDB</dt><dt>SecurityDBObjects</dt><dt>SecurityDBObjs</dt><dt>Session EJB</dt><dd><dl><dt>Relationship to
!   Controller objects</dt></dl></dd><dt>Shortening URLs</dt><dd><dl><dt>href</dt></dl></dd><dt>Sort</dt></dl></div><div class="indexdiv"><h3>T</h3><dl><dt>Thread Safety</dt><dd><dl><dt>Pitfalls</dt></dl></dd><dt>Transaction Control</dt><dt>Type Mapping</dt></dl></div><div class="indexdiv"><h3>U</h3><dl><dt>Universal Dispatch</dt></dl></div><div class="indexdiv"><h3>V</h3><dl><dt>Virtual Fields</dt></dl></div><div class="indexdiv"><h3>W</h3><dl><dt>WHERE Clause</dt><dd><dl><dt>Using custom</dt></dl></dd><dt>Wild Cards</dt><dd><dl><dt>Using with Database Objects</dt></dl></dd><dt>wizard</dt><dd><dl><dt>process funnel</dt></dl></dd><dt>workflow</dt><dd><dl><dt>work flow</dt></dl></dd></dl></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%">&nbsp;</td><td align="center" width="20%"><a accesskey="u" href="edg_index.html">Up</a></td><td align="right" width="40%">&nbsp;</td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="edg_index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;</td></tr></table></div></body></html>
\ No newline at end of file

Index: edg_unittest.html
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/expresso/doc/edg/edg_unittest.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** edg_unittest.html	17 Jun 2004 17:07:56 -0000	1.3
--- edg_unittest.html	4 Jul 2004 18:01:24 -0000	1.4
***************
*** 1,7 ****
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;24.&nbsp;Unit Testing</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_deploy.html" title="Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment"><link rel="next" href="edg_healthcheck.html" title="Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;24.&nbsp;Unit Testing</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_deploy.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_healthcheck.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="unittest"></a>Chapter&nbsp;24.&nbsp;Unit Testing</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_unittest.html#N127F4">Introduction</a></dt><dt><a href="edg_unittest.html#clienttest">Client-side Tests</a></dt><dd><dl><dt><a href="edg_unittest.html#N12838">Client Side Testing</a></dt><dt><a href="edg_unittest.html#N12843">How to run this test case</a></dt><dt><a href="edg_unittest.html#N12869">Writing your test case guidelines</a></dt><dt><a href="edg_unittest.html#N1287C">Schema Testing</a></dt><dt><a href="edg_unittest.html#N12888">Server Side Testing</a></dt><dt><a href="edg_unittest.html#N128A0">A Quick Sample</a></dt><dt><a href="edg_unittest.html#N128CD">Running The Test Case</a></dt></dl></dd><dt><a href="edg_unittest.html#N128F8">Conclusion</a></dt><dd><dl><dt><a href="edg_unittest.html#N12900">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If you find this EDG documentation helpful please consider
    <a href="edg_unittest.html#donate_unittest">DONATING</a>! to keep the doc alive and
    current.</p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
    Lloyd</span></a></td></tr></tbody></table></div></p><i><span class="remark"><span class="bold"><b>Expresso builds upon the JUnit testing
!   framework to provide an automated unit testing environment. </b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N127F4"></a>Introduction</h2></div></div><div></div></div><a name="N127F7" class="indexterm"></a><p>Expresso contains the <a href="http://junit.sourceforge.net/#Documentation" target="_top">JUnit framework</a>
      - a unit testing framework that allows the individual components of
      Expresso to be tested and verified as functioning correctly. Expresso
--- 1,7 ----
! <html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter&nbsp;24.&nbsp;Unit Testing</title><link href="docbook.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.60.1" name="generator"><link rel="home" href="edg_index.html" title="Expresso Developer's Guide"><link rel="up" href="edg_index.html" title="Expresso Developer's Guide"><link rel="previous" href="edg_deploy.html" title="Chapter&nbsp;23.&nbsp;Expresso Component Application Deployment"><link rel="next" href="edg_healthcheck.html" title="Chapter&nbsp;25.&nbsp;Healthcheck Monitoring and Application Performance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&nbsp;24.&nbsp;Unit Testing</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="edg_deploy.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="edg_healthcheck.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="unittest"></a>Chapter&nbsp;24.&nbsp;Unit Testing</h2></div></div><div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="edg_unittest.html#N12824">Introduction</a></dt><dt><a href="edg_unittest.html#clienttest">Client-side Tests</a></dt><dd><dl><dt><a href="edg_unittest.html#N12868">Client Side Testing</a></dt><dt><a href="edg_unittest.html#N12873">How to run this test case</a></dt><dt><a href="edg_unittest.html#N12899">Writing your test case guidelines</a></dt><dt><a href="edg_unittest.html#N128AC">Schema Testing</a></dt><dt><a href="edg_unittest.html#N128B8">Server Side Testing</a></dt><dt><a href="edg_unittest.html#N128D0">A Quick Sample</a></dt><dt><a href="edg_unittest.html#N128FD">Running The Test Case</a></dt></dl></dd><dt><a href="edg_unittest.html#N12928">Conclusion</a></dt><dd><dl><dt><a href="edg_unittest.html#N12930">Contributors</a></dt></dl></dd></dl></div><p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If you find this EDG documentation helpful please consider
    <a href="edg_unittest.html#donate_unittest">DONATING</a>! to keep the doc alive and
    current.</p></div></p><p><div class="informaltable"><table width="100%" border="0"><colgroup><col align="left"><col align="right"></colgroup><tbody><tr><td align="left"><span class="bold"><b>Version:</b></span><span class="version">Expresso 5.5</span></td><td align="right"><span class="bold"><b>Maintainer:</b></span><a href="mailto:dlloyd at jgroup.net?Subject=EDG" target="_top"><span class="maintainer">David
    Lloyd</span></a></td></tr></tbody></table></div></p><i><span class="remark"><span class="bold"><b>Expresso builds upon the JUnit testing
!   framework to provide an automated unit testing environment. </b></span></span></i><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N12824"></a>Introduction</h2></div></div><div></div></div><a name="N12827" class="indexterm"></a><p>Expresso contains the <a href="http://junit.sourceforge.net/#Documentation" target="_top">JUnit framework</a>
      - a unit testing framework that allows the individual components of
      Expresso to be tested and verified as functioning correctly. Expresso
***************
*** 30,39 ****
      tests.</p><p>Also, you can use the standard JUnit user interfaces for running
      unit tests such as the TextUI or SwingUI classes. For more information on
!     JUnit, check out <a href="http://www.junit.org/" target="_top">JUnit's Web Site</a></p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clienttest"></a>Client-side Tests</h2></div></div><div></div></div><a name="N12826" class="indexterm"></a><p>Expresso web applications can be tested via free tools like <a href="http://httpunit.org" target="_top">httpunit</a>, which offer a brower-like
      client to test individual pages. Built on top of httpunit, <a href="http://morebot.org" target="_top">Morebot</a> has special support for Expresso,
      and can provide a cursory test the majority of your application by
      "spidering" (following links) it after logging in. Morebot can
      dispatch several of these tests simultaneously to serve as a load test for
!     your server.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N12838"></a>Client Side Testing</h3></div></div><div></div></div><p>To provide a framework that we can perform client side testing
        with all standard expresso services such as logging, database connection
        management, and many others we provide the following class:
--- 30,39 ----
      tests.</p><p>Also, you can use the standard JUnit user interfaces for running
      unit tests such as the TextUI or SwingUI classes. For more information on
!     JUnit, check out <a href="http://www.junit.org/" target="_top">JUnit's Web Site</a></p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clienttest"></a>Client-side Tests</h2></div></div><div></div></div><a name="N12856" class="indexterm"></a><p>Expresso web applications can be tested via free tools like <a href="http://httpunit.org" target="_top">httpunit</a>, which offer a brower-like
      client to test individual pages. Built on top of httpunit, <a href="http://morebot.org" target="_top">Morebot</a> has special support for Expresso,
      and can provide a cursory test the majority of your applicati