Hi, Simon.

I've been sold on the concept of component oriented design...

As I see, a lot of people answered you. I'll also add a couple of cents.


Based on Avalon ideas we've developed our own framework for web applications called WebModels. It is quite simple but yet powerful and flexible. The technology is ready and already used in a dozen of projects we do. We plan making it open-source and promoting it in the beginning of the next year.

However, if you (or anyone else) wish, you may take a look at a small sample web application for managing users and roles in a database realm.

http://elektra.fzi.de/UM

This application is capable of managing simple user accounts and roles assigned to them in a database. It uses Hibernate technology (via an Avalong Hibernate component) and a few of support libraries of our own.

To give you a small teaser, I simply configure my components in a webmodels.xml configuration file like this one:

<config>
  <!-- Data source component -->
  <component
    name="dataSource"
    role="org.apache.avalon.excalibur.datasource.DataSourceComponent"
    className="org.apache.avalon.excalibur.datasource.J2eeDataSource">
    <config>
      <dbname>realm</dbname>
    </config>
  </component>
  <!-- Hibernate component -->
  <component
    name="hibernate"
    role="de.fzi.dbs.hibernate.HibernateComponent"
    className="de.fzi.dbs.hibernate.HibernateComponentImpl">
    <!-- Hibernate component configuration -->
    <config>
      <mapping dir="WEB-INF/hibernate"/>
      <property name="dialect">cirrus.hibernate.sql.PostgreSQLDialect</property>
      <property name="show_sql">true</property>
    </config>
  </component>
  <!-- User managemenr component -->
  <component
    name="userManager"
    role="de.fzi.dbs.UserManagement.UserManager"
    className="de.fzi.dbs.UserManagement.UserManager"/>
  <!-- Role management component -->
  <component
    name="roleManager"
    role="de.fzi.dbs.UserManagement.RoleManager"
    className="de.fzi.dbs.UserManagement.RoleManager"/>
</config>
...and let WebModels fulfill all Avalon contracts of these components.

In the link above you will find a "distribution package", ready to deploy, ready to build, with sources.
If you're interested in other packages used by the UM, take a look here:



http://elektra.fzi.de/Commons http://elektra.fzi.de/HibernateComponent http://elektra.fzi.de/WebActions http://elektra.fzi.de/WebModels http://elektra.fzi.de/xml.transform.

Please note that elektra is my development server and is often restarted.

Bye.
/lexi


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to