PAT stands for "Persistent Applications Toolkit". Like many other software it simplifies developing of persistence layers of business applications. It does it by providing object-oriented environment for persistence of your objects: POJOs
And.. it really does it.

PAT provides almost transparent data layer for a business application. It employs state-of-the-art techniques to achieve it. These are OO, AOP (JBossAOP), Java, Prevayler, Ant, JUnit, Log4j, @@annotations and others. It cooperates well with web applications: Struts (and possibly other web frameworks), Tomcat, JBoss AS.

One can think of it like a tool which adds persistence characteristic to Java objects (AOP term: persistence aspect)

Why? (Ideology)

We use objects for modeling behavior and look of a business domain. Every business object needs to be persisted. Persistence is orthogonal to the functional requirements. Thus, I care about functional requirements more. Thus, I don't care about persistence.

Relations? Bad smell "one"

More time spent on persistence results in less time spent on business requirements. Bad smell "two".

More code written on persistence layer, the more to debug, test and maintain. Bad smell "three".

If that's the case, let's generate persistence layer or make it invisible as much as possible.


Not less important; PAT uses very fast object-oriented, in-memory database. This results in very fast object access and search. Though, it still allows integration with relational databases.

Now, would be good moment to look at example application. Download sources, run it or even create your own PAT application.

Revision: $Id: about.gtml 3710 2005-05-29 01:19:01Z nthx $
Generated with GTML