<?xml version="1.0"?>

<document>

  <properties>
    <title>Application Service Proposal</title>
    <author email="jvanzyl@apache.org">Jason van Zyl</author>
  </properties>

<body>

<section name="Description">
  <p>
    The application services would allow fully functional Turbine applications
    to be packaged up in the form of JAR files and deployed during Turbine
    startup.
  </p>
</section>

<section name="Rationale">
<p>
</p>
</section>

<section name="Requirements">
<ul>
  <li>
    Turbine would probably process a directory of JAR files
    that contain sub-applications. The manifest would contain
    a set of instructions to be used by the application service
    so that the sub-application would be processed correctly
    and usable by Turbine. This may be the module.packages
    to add, or template paths to add, or whatever else is
    needed to bootstrap the sub-application.
  </li>

  <li>
    Module packages have to be dynamically configurable.
    The assembler broker must accept additional packages
    to look in for modules after the system has started.
  </li>
  
  <li>
    Must be able to load templates from JAR files. Velocity
    can do this, and it can probably be done for the other
    template services as well.
  </li>

  <li>
    Configuration information must be able to enter a
    running Turbine application. A sub application might
    have many forms of configuration info. It might be properties
    that have to be accessible via TurbineResources. Or
    it might configuration information to be used by one
    of the services, say for example an intake XML descriptor
    for the input forms used in the sub-application.
    <p/>
    The services in general might need some work to allow
    dynamic configuration so that sub-applications can
    really work properly.
  </li>
  
  <li>
    Sub-applications may require certain operations to be
    executed in order to run. This might be a forum application
    that has an SQL schema that needs to be inserted in order
    to function. These stops could either be performed by Ant,
    or scripts that could be executed by the proposed BSF
    (Bean Scripting Framework) service.
  </li>

  <li>
    Sub-applications will require a unique id to to keep things
    like templates in their own namespace. Eventually there
    may also be other entities that need to be kept separate.
    We could probably start a catalog of sub-applications to
    make sure that people don't use a unique id already being
    used by another sub-application in existence.
  </li>

  <li>
    Extension do DynamicURI and derivates to support new parameter
    (sub-application selector)
  </li>
</ul>
</section>


<section name="Scope">
<p>
</p>
</section>

<section name="Initial Source">
<p>
</p>
</section>

<section name="Initial Committers">
<p>
</p>
</section>

</body>
</document>
