Dave Sag Generica API

Web Applications are complicated beasts and while there are various frameworks, such as Struts by the Apache Foundation, that seek to standardise various patterns and minimise the complexity, many users have found that Struts has a monster of a learning curve and adds its own complexity with beginners making all manner of 'level error' mistakes such as mixing persistent level code with form beans and putting business logic directly into Actions.

See:
          Description

Packages
org.davesag.generica The generica package contains application wide Constants and the WebApp interface that your web application should implement.
org.davesag.generica.controller Controllers are application specific business 'control' logic that the various actions and forms call on.
org.davesag.generica.core The core package contains well thought out JavaBeans useful for most web applications.
org.davesag.generica.peer The peer package contains various Peers, static utility classes that consolidate various common activities surrounding the core objects.
org.davesag.generica.persistence The persistance package contains delegates and and interfaces allowing you to hot-swap your persistance management schemes.
org.davesag.generica.persistence.hibernate The hibernate package contains hibernate specific delegates and factories.
org.davesag.generica.persistence.jdo The jdo package contains jdo specific delegates and factories.
org.davesag.generica.servlet The servlet package contains a ServletPeer that has handy methods for loading servlet parameters from the web.xml file.
org.davesag.generica.servlet.action The action package contains Struts actions that cover most of the Actions you should ever need to write.
org.davesag.generica.servlet.filter The filter package contains servlet filters that intercept the request and do useful things like manage persistance and control access.
org.davesag.generica.servlet.form The form package contains Form Beans that follow the Struts standard form beans pattern.
org.davesag.generica.servlet.plugin Your application may extend the HibernatePlugIn provided and add custom initialisations.
org.davesag.generica.servlet.util The util package contains a new pseudo-scope called a Pipe and an accompanying implimentation that facilitates pipelining of data from one action to the next without cluttering up the session.
org.davesag.generica.summary The summary package contains the Summary interface and a GenericSummary implimentation.
org.davesag.generica.test The test package contains the various JUnit tests.
org.davesag.generica.util The util package contains common, or garden variety, utility code for making hashcodes, sending email, generating passwords, converting currencies, parsing parameters and so forth.
org.davesag.generica.util.harvester A harvester is anything that grabs it's content on command from somewhere else.
org.davesag.generica.util.xml The xml package contains a set of simple XML parsers for the core objects.

 

Web Applications are complicated beasts and while there are various frameworks, such as Struts by the Apache Foundation, that seek to standardise various patterns and minimise the complexity, many users have found that Struts has a monster of a learning curve and adds its own complexity with beginners making all manner of 'level error' mistakes such as mixing persistent level code with form beans and putting business logic directly into Actions. The Generica library adds several conceptual layers to Apache Struts and implements many of the core tasks that all Struts programmers have to think about over and over again.

Generica builds on Struts by providing a core set of handy business objects and utilities that are useful for most web applications. It extends the many contructs in Struts1.1 with the aim of eliminating much of the complexity of Struts, and shifting your work away from writing Actions and form beans, into writing controller classes that implement only the very specific business logic your web application requires, in the form of Controllers.

Generica was originally built with Hibernate in mind as a persistance machanism, but the persistance logic is completely decoupled from the rest of the code so you can user JDO, Hibernate or with onl a small anmount of effort, implement your own persistence plugins.

Generica treats your web application as a plugin to Struts and allows almost endless customisation. If you wish to provide shopping and credit card authorisation features to your web app you can use Generica's AbstractCreditCardAuthoriser to provide the basics.

Project Status

Right now this code is in development and being used to power the development of five commercial web applications and a couple of non-commercial web apps. It is in fact this process of developing multiple projects simultaniously that has inspired the development of this suite.

More docs are on their way, as well as a bunch of examples including some sort of pet-store.

Licence questions should be directed to me right now.

Contact Dave Sag for more info.

Since:
Generica 1.0
Version:
CVS Revision $Id: overview.html,v 1.9 2004/04/03 11:05:12 davesag Exp $
Author:
Dave Sag http://www.davesag.com


Dave Sag Generica API version 0.5.9 - (prerelease) Copyright 2003 - 2004 Dave Sag.