abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Diephouse <dan.diepho...@mulesource.com>
Subject Re: Abdera / Spring sample application
Date Fri, 07 Mar 2008 01:17:44 GMT
Hi Remy,

Thanks for submitting this!

Some thoughts:

    * Couldn't you use the bundled SpringAbderaServlet? Other than the
      logging I don't see any functional differences.
    * I like that this goes from the frontend to the db
    * Are the Service/ServiceContext/ServiceBean clases necessary for
      the demo? It'd be nice to simplify things for a demo's sake.
      Granted you may introduce some tighter coupling by making Movie a
      concrete class instead of an interface and may not be able mock
      it, but at the same time we aren't trying to show the world those
      two things either :-) If I'm not wrong, this would allow some of
      the classes in the iex.rest package to go to.
    * It'd be nice if we could at least provide a parallel configuration
      which showed how to use the spring xml config support that we bundle.
    * What is HierarchicalDependencyConstraint for?

Dan

Remy Gendron wrote:
> 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
>  
>
>   


-- 
Dan Diephouse
MuleSource
http://mulesource.com | http://netzooid.com 


Mime
View raw message