On Thu, 2002-03-14 at 12:39, [EMAIL PROTECTED] wrote:
> dobbs       02/03/14 09:39:37
> 
>   Added:       notes    ComponentLoader.txt
>   Log:
>   moved these notes from Fulcrum.
>   
>   Jason, could you please review these notes a bit.  I've tried to
>   capture some of the stuff we have discussed on IRC, but I think I'm
>   missing a few things.  Of particular interest is the start on the
>   distinction between components and services.  I think you have a
>   couple more examples that I have missed, and I might have got a couple
>   of the examples wrong.

Ok, I'll review them.
   
>   Revision  Changes    Path
>   1.1                  jakarta-turbine-stratum/notes/ComponentLoader.txt
>   
>   Index: ComponentLoader.txt
>   ===================================================================
>   ComponentLoader
>   ---------------
>   
>   FIXME: this info should probably be moved into a package.html doc for
>          o.a.stratum.component, but we'll wait until the component stuff
>          is a little more settled.
>   
>   The ComponentLoader is used by Turbine and Fulcrum and Torque.  It's
>   job is to load components (some of which might also be services) and
>   call their lifecycle methods.
>   
>   One goal for the ComponentLoader is to enable someone to extend any
>   arbitrary class, implement the lifecycle interfaces, and use it as a
>   component in the Turbine family.
>   
>   This trick will be useful for migrating some of Fulcrum's services
>   into components.  It may also enable turbine users to migrate their
>   Turbine 2.1 services to components.
>   
>   At the moment, the component loader is only used by Turbine to load
>   Torque and Fulcrum.  The components are assumed to be self-sustaining,
>   and assumed to provide some static methods for interfacing with the
>   components.  The ComponentLoader does not currently store any
>   references to components once they have been loaded.
>   
>   FIXME: Still need a better definition to distinguish a service from a
>          component, including examples to illustrate the differences.
>   
>   Components vs. Services Services are a kind of component.  Many of
>   them seem to revolve around interactive network interfaces.  Some
>   examples include xmlrpc and ftp.  Some items are too fundamental to
>   any application to be either components or services.  Examples include
>   pooling, caching, database access, security.  These examples are
>   currently services but should be changed to components: upload
>   service, ??.
>   
>   
>   Other 2.1->Fulcrum migration plans:
>   
>   jason can swap all the imports with the transformer in maven and then
>   people will probably have to poke around for a couple minutes.
>   
>   
>   Longer-term plans:
>   
>   let the ComponentLoader reload components without stopping the server.
>   It will have its own classloader eventually (probably borrowing the
>   webapp classloader code from catalina).  We can look for a
>   configuration.xml in a standard place in the component's jar or look
>   at the manifest and use that to configure the component.
>   
>   We'll probably provide some kind of key->value map to store references
>   to the components, or treat them similarly to the way pull tools are
>   handled -- where request scope tools are loaded for each request.
>   Something similar might work for components as well.  Another option
>   is to provide a reference to a pool of a particular kind of component.
>   
>   
>   
>   
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]

http://tambora.zenplex.org


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

Reply via email to