|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
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.
User with encrypted password, PasswordHelper and Hibernate support.Money object and simple CurrencyConverter.CreditCardAuthorisation to your app.Merchant, CreditCard, Order, ShoppingItem,
ShoppingCart objects.Media and MediaTypes, MediaHarvesters and so forth.hashcodes.Pipes for simplifying multi-page Forms and Forms that
feed back upon themselvesStruts Actions and Forms that mean you don't have to write any
of your own Actions or Forms. Nope, none.Controller interfaces that you can implement and then define in struts-config.xml
that add your custom business logic to the generic actions. This is very powerful.Hibernate and JDO.Log4J support at all levels.JUnit testsRight 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.
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||