On 22-Jun-2001 [EMAIL PROTECTED] wrote:
> please consider this approach, it would take the whole poe thing to a
> new level.
I TOTALY agree. You've just described about half of what JAAS is going to
be (Just Another Application Server). Other half is going to be dealing
with requests, widgets and configuration. However, unlike you this isn't
an idle pursuit, but a Must Do It Now thing and I don't have much time.
However, if I know that other folks will write a better solution soon,
I'll continue hacking up a quick implementation and refactor for something
better later on. Hopefully.
Also, I was hoping to add just enough to POE that doing this kind of thing
would be simple on top of POE and be compatible with existing POE code.
BTW, you should take a good look at stem. It does some cool things about
auto-configuring objects.
Also, look at Class::Contract for other ideas.
Maybe I should describe JAAS a bit :
- Intended to write web/xml-rpc applications
- While running an application, the user interacts with a context (aka
sessions, but that's confusing in POE-land)
- Application the object repository to fetch object from the context
- Repository does some locking (so only one person can fetch the object)
- Repository has a Factory that builds objects as needed
- Factory has a "config" hash that is used to get params for new Objects
- Factory has a Cache that holds objects between requests to a "context"
- Object lifetime (aka persistance) is handled via the Cache
The "objects" described above are of 2 types : application objects (that
implement actually things) and business objects (that implement business
logic)
Coordinating all this will be the job of the request processor. This
handles creating and tracking contexts, fetching objects as needed,
figuring out what actions to take for a given request, executing the
actions, sending back responses and coordinating the object lifetime.
Requests come in via IKC::ClientLite from mod_perl or XML-RPC.
On top of all this I'm going to be implementing JAECA (Just Another
E-Commerce Application) and I need to have a beta of this by July 10th.
-Philip