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,
click here.
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
pom.xml or $HOME/.m2/settings.xml:
<repository>
<id>ars-machina</id>
<name>Ars Machina repository</name>
<url>http://www.arsmachina.com.br/maven/release</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
Packages:
-
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
Spring themselves.
-
Generic DAO
-
Provides some interfaces that define generic DAOs (Data
Access Object). This package is completely
implementation-independent and has no dependencies.
-
Generic DAO-Hibernate
-
Implements all methods of Generic DAO interfaces using
Hibernate
as ORM framework. It is meant to be used as a superclass for
DAO implementations.
-
Generic Controller
-
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.
-
Generic Controller-Spring
-
Provides a controller implementation class with transaction
management using the
Spring Framework
and annotations.
-
Generic Authentication
-
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.
-
Generic Authentication-Hibernate
-
Implements the Generic Authentication DAOs with Hibernate.
-
Tapestry CRUD
-
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.
-
Tapestry CRUD-Hibernate-Validator
-
Adds Hibernate Validator validations into Tapestry CRUD
forms.
-
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.