> That had occured to me. However, in that situation,
> 
> that you have Mailets and Gemlets, you have to make
> sure that you are very disciplined to put all your
> code into the Gemlets, to make sure it is possibly
> reusable by future Gemlets. In that scenario every
> single mailet consists of one line of code:
>    Gemlet.execute("foobar");
> 
> In that case you can just write one Mailet that
> handles every possible case with some config
> option telling it which Gemlet to call. And then
> Mailets become irrelevant.

Actually not irrelevant because you are still using a mailet, albeit only one.

The same argument can be leveled at many other technologies, in this context notably 
servelets, it is theoretically possible to write a single sevelet which can process 
any expected request, or to bypass servelets altogether and write a bespoke 
application which processes http requests.
The issue then becomes at what point the cut off between productivity and features 
drives you down the route of creating individual servelets/mailets for every task, 
then your servelets/mailets can become very simple too, drawing on generic classes 
which perform specific functions and are highly re-usable, and not constrained to work 
within the context of a specific servelet/mailet API.

The added value is in allowing easy layering of the technologies so you rapidly arrive 
at the specific functionality required, yet built from robust, tested and widely used 
components, not your own ducttape, paper and string. You can then concentrate your 
teams expensive resources on producing the application specific elements, not 
re-inventing the wheel.

In your scenario there is still a role for matchers, they will filter irrelevant 
requests from your mailet/gem gateway and allow configuration settings alone (not hard 
code) to determine what requests are passed to which, if any, gemlet.

IMHO, d.




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

Reply via email to