abdera-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remy Gendron" <r...@arrova.ca>
Subject Abdera / Spring sample application
Date Thu, 06 Mar 2008 20:36:42 GMT
Hello all,

I have put together an Abdera server sample application that serves movies,
actors and roles (data taken from IMDB).

The com.lacapitale.iex package is the glue code (or framework) part. The
com.lacapitale.imdb is the example application.

It demonstrates the following:

* Application layering
  * DAO
  * Services
  * Services APIs
  * REST
* Domain objects
  * Domain objects used as DTOs
  * Clients of the service layer only access the domain objects thru
interfaces that restricts access to certain fields, thus preventing business
rules from being coded in the UI.
* Spring integration:
  * Auto discovery of adapters.
  * Auto wiring of all dependencies.
  * An example (ServiceContextBean) of a request scoped bean that decouples
the services layer from Abdera.
  * Jdbc templates.
  * MySQL DAOs to come later. DAO type selection would be done by a Spring
auto discovery filter.
* Abdera
  * Automatic construction of the entry.content element thru reflection of
the domain objects' implemented interfaces.
  * Collection paging. 
* Unit testing
  * In memory HSQLDB.
  * Jetty container.
  * Base REST test class that starts HSQLDB, loads the test db scripts,
starts Jetty/Spring/Abdera/IMDB.
  * Base adapter test class that provides around 15 generic feed tests.
  * Abstract DB unit test wrapper to load test data from sql scripts (MySQL
support to come).
  * Unit tests for good application dependencies enforcement between the
layers.
* Misc
  * Java configuration instead of XML or properties.

This is a work in progress. No Javadoc yet. Any comments are welcome.
I don't suggest providing a Spring integration with Abdera, the way to do it
depends to much on individual taste.
However, this could become part of the Wiki.

You can get the project here: http://arrova.ca/files/imdb.rar

Remy

The dependencies are not included. Spring 2.5.1 was used. Here's my
dependencies folder content:

abdera-i18n-0.4.0-incubating-SNAPSHOT.jar
abdera.client.0.4.0-incubating-SNAPSHOT.jar
abdera.core.0.4.0-incubating-SNAPSHOT.jar
abdera.parser.0.4.0-incubating-SNAPSHOT.jar
abdera.protocol.0.4.0-incubating-SNAPSHOT.jar
abdera.security.0.4.0-incubating-SNAPSHOT.jar
abdera.server.0.4.0-incubating-SNAPSHOT.jar
abdera.spring.0.4.0-incubating-SNAPSHOT.jar
axiom-api-1.2.5.jar
axiom-impl-1.2.5.jar
bcprov-jdk15-137.jar
commons-codec-1.3.jar
commons-el.jar
commons-httpclient-3.1.jar
commons-logging-1.0.4.jar
geronimo-activation_1.0.2_spec-1.1.jar
geronimo-servlet_2.4_spec-1.0.jar
hsqldb.jar
htmlparser-1.0.5.jar
jaxen-1.1.1.jar
jdepend-2.9.jar
jetty-6.1.3.jar
jetty-util-6.1.3.jar
json-1.0.jar
junit-4.4.jar
log4j-1.2.14.jar
myfaces-api.jar
myfaces-impl.jar
ojdbc14.jar
serializer.jar
spring-test.jar
spring.jar
stax-api-1.0.1.jar
tomahawk.jar
wstx-asl-3.2.1.jar
xmlsec-1.4.1.jar
xpp3_min-1.1.4c.jar
xstream-1.3.jar




No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.21.6/1315 - Release Date: 2008.03.06
09:07
 


Mime
View raw message