This sample uses the Apache Cayenne ORM, Apache TOMEE/Tomcat or Jetty as server and Apache Wicket, OpenEJB, Apache CXF and Google Web Toolkit as web frameworks. It shows how you can utilise Apache Cayenne running within the same virtual machine and on different machines. This sample has as well simple console programs, Eclipse RCP fat client, simple servlets, web services and REST interfaces.
A fat client using the Rich Client Platform of Eclipse is available as example. The fat client uses the EJB3 stubs to exchange data with the server, however you could use as well REST, Webservices or distributed OSGi.
Apache Cayenne(tm) is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services. A set of modules show how you can use your database with Cayenne and prepare for distributed transfer objects (DTO) and EJB3 usage without using the EJB3 persistence layer, which allows reuse within other setups. The example database model was created with the Cayenne Modeler application.
Python is a scripting language providing a full range of libraries easy to use within your script. If you want to do some administration or a sophisticated web application, python is an excellent choice. As python makes it easy to use C and C++ libraries, a full set of typical functions can be reused. Beside python, a couple of perl and bash scripts are available.
A simple build system which can be adapted and integrate make and ant very easy. It is based on shell script and can be scheduled via cron jobs to run on a regular basis. The system can be extended to run code analysis and create cross platform binaries if the compilers allow it.
The Google Web Toolkit (GWT) and the Google AppEngine are two technologies which allow your application to be run on Google's infrastructure. The GWT supports Java, whereas the AppEngine support Java and Python. GWT can be used within your application without using the AppEngine. An example show how it can be used with Apache Cayenne.