The Ars Machina Project
The Ars Machina Project is a collection of open-source packages,
released under the
Apache Public License version 2.
Its goal is to provide well-written common application building blocks
that cut development time and bugs and to suggest some
development standards (packages and naming conventions).
To subscribe to the project mailing list,
Feel free to send your opinion, positive or negative.
The Ars Machina Project issue tracker is
hosted at SourceForge.
All their packages are available to download via Maven
through our own repository. Add this XML snippet to the
<repositories> tag (if it does not exists,
create it) of your
<name>Ars Machina repository</name>
Ars Machina Example Project
A simple Web application built to be an example of
all the above packages and of Tapestry, Hibernate,
Hibernate Validator, and
Provides some interfaces that define generic DAOs (Data
Access Object). This package is completely
implementation-independent and has no dependencies.
Implements all methods of Generic DAO interfaces using
as ORM framework. It is meant to be used as a superclass for
Provides some interfaces that define generic controllers
(business rules tier) and an implementation of them. This
package is completely implementation-independent and has no
dependencies except Generic DAO.
Provides a controller implementation class with transaction
management using the
Provides classes and interfaces that implements a generic
authentication module: User, Permission, PermissionGroup,
Role. This package is completely implementation-independent
and has no dependencies except Generic DAO, Generic
Controller and the JPA ORM annotations.
Implements the Generic Authentication DAOs with Hibernate.
Provides support for creating CRUD (Create, Retrieve,
Update, Delete) pages using Tapestry 5, eliminating most
of boilerplate code, providing out-of-the-box AJAX support
and providing a standard way of implementing CRUDs. This
package also adds some concepts not existing in Tapestry 5,
such as the activation context encoder.
Adds Hibernate Validator validations into Tapestry CRUD
Tapestry Access Logger
Provides support for easy logging of user accesses (visits)
in Tapestry 5 applications. It provides out-of-the-box
logging using Sfl4J and the standard output.
Tapestry Access Logger-Hibernate
Logs user accesses (visits) in Tapestry 5 applications
using Hibernate to store them in a database.