Any J2SE or J2EE application can act as a CWS Client, so its structure and packaging depends on the type of application. Here is a few general hints related to Cayenne:

  • DO NOT include Cayenne XML files in a client distribution - this information will be loaded in runtime via CWS from the server.
  • Include client persistent objects.
  • Make sure all needed jars are available in runtime.

Client Deployment with Java Web Start

One common approach for distributing J2SE applications (especially desktop applications) is via Java Web Start. Below is a sample JNLP deployment descriptor that can be used as a template for Web Start based distribution:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="$$codebase">

     <information>
         <title>Cayenne::Sample Client App</title>
         <vendor>MyCompany</vendor>
     </information>

     <security>
         <all-permissions/>
     </security>

     <resources>
       <j2se version="1.4+" max-heap-size="256m"/>
       
       <jar href="myapp.jar"/>
       <jar href="cayenne-client-nodeps.jar"/>
       <jar href="commons-logging-1.0.4.jar"/>
       <jar href="commons-collections-3.1.jar"/>
       <jar href="commons-lang-2.1.jar"/>
       <jar href="hessian-3.0.13.jar"/>
     </resources>

     <application-desc main-class="my.app.Main"/>
</jnlp>