| <?xml version="1.0"?> |
| |
| <document> |
| <properties> |
| <title>Turbine Services</title> |
| <author email="criley@ekmail.com">Cameron Riley</author> |
| <author email="jvanzyl@apache.org">Jason van Zyl</author> |
| <author email="jon@latchkey.com">Jon S. Stevens</author> |
| </properties> |
| |
| <body> |
| |
| |
| <section name="Turbine Services"> |
| <p> |
| Services are singletons within the Turbine Framework which have |
| pluggable implementation, and are capable of participating in the |
| Turbine startup and shutdown. As Services are Singletons, there is |
| only one instance of each service in the system. Memory or connections |
| are allocated once only and the internal state is common to all |
| requesting clients. Services can access ServletConfig at system |
| startup time to process relative paths and similar functionality, they |
| can also access RunData on the first Turbine doGet execution to get |
| the environment Turbine is operating under and with. Services can also |
| initialize themselves before they are requested by the client for the |
| first time. A Service that is never used will not allocate resources to |
| itself. A Service can also execute actions upon the system being |
| shutdown, such as closing open connections. The Singleton pattern also |
| allows for the Services to be accessed from anywhere within your code. |
| </p> |
| |
| <p> |
| The Life Cycle of a Service begins with the Services constructor. A Service |
| does not do much in it's contructor. Especially it should not allocate any |
| costly resources like large memory structure, DB or Network connections, etc. |
| The Service may be in the properties file, but unless a client using the |
| application needs the Service in question, there is no point starting the |
| Service. |
| </p> |
| |
| |
| <p> |
| The services available with Turbine can be found in the |
| org.apache.turbine.services package. <strong>Please note that the |
| [TODO]'s below simply mean that these services need more complete |
| documentation, it does not mean that they are still waiting to be |
| implemented.</strong> |
| </p> |
| |
| <ul> |
| <li> |
| <a href="services/assemblerbroker-service.html">Assembler Broker Service</a> |
| <br/> |
| Is the Service which allows assemblers such as Screens, Actions, Layout and |
| Scheduled Jobs to be loaded. |
| </li> |
| |
| <li> |
| <a href="services/cache-service.html">Cache Service</a> |
| <br/> |
| Provides a persistant Object Storage mechanism within your application. |
| </li> |
| |
| <li> |
| <a href="services/castor-service.html">Castor Service</a> |
| <br/> |
| Castor is a OR tool that is supported by Turbine. |
| </li> |
| |
| <li> |
| <a href="services/db-service.html">DB Service</a> |
| <br/> |
| <b>[TO DO (PoolBrokerService)]</b> Is a common front end to all database systems. |
| This service also provides the brokers for Connection Pooling and Database Map Objects. |
| </li> |
| |
| <li> |
| <a href="services/factory-service.html">Factory Service</a> |
| <br/> |
| A Service for the instantiation of objects with either the specified loaders or |
| default class loaders. |
| </li> |
| |
| <li> |
| <a href="services/freemarker-service.html">FreeMarker Service</a> |
| <br/> |
| The FreeMarker Service is the set of classes that process FreeMarker |
| files inside the Turbine Layout/Navigations and Screen structure. |
| </li> |
| |
| <li> |
| <a href="services/intake-service.html">Intake Service</a> |
| <br/> |
| A service that provides input validation along with a standard |
| parameter naming framework. |
| </li> |
| |
| <li> |
| <a href="services/jsp-service.html">JSP Service</a> |
| <br/> |
| The JSP Service is the set of classes that process JSP files inside the |
| Turbine Layout/Navigations and Screen structure. |
| </li> |
| |
| <li> |
| <a href="services/localization-service.html">Localization Service</a> |
| <br/> |
| The single point of access to all localization resources. |
| </li> |
| |
| <li> |
| <a href="services/logging-service.html">Logging Service</a> |
| <br/> |
| The default Loggin implementation for Turbine, logging can be either |
| through an explicite getLogger() method or by standard printing methods |
| such as info or debug. |
| </li> |
| |
| <li> |
| <a href="services/mimetype-service.html">MimeType Service</a> |
| <br/> |
| The service maintains the mappings between MIME types and corresponding file |
| name extensions as well as between locales and character encoding. |
| </li> |
| |
| <li> |
| <a href="services/naming-service.html">Naming Service</a> |
| <br/> |
| Provides JNDI naming contexts. |
| </li> |
| |
| <li> |
| <a href="services/pool-service.html">Pool Service</a> |
| <br/> |
| A service for the pooling of instantiated Objects, allowing for the recycling |
| and disposal of Objects in the pool. |
| </li> |
| |
| <li> |
| <a href="services/pull-service.html">Pull Service</a> |
| <br/> |
| Manages the creation of application tools that are available to all templates |
| in a Turbine application. The tools can have global scope, request scope, session |
| scope or persistant scope within your application. |
| </li> |
| |
| <li> |
| <a href="services/resources-service.html">Resources Service</a> |
| <br/> |
| <b>[TO DO (Configuration)]</b> The Resources Service is the set of classes and |
| the functionality that allows for the reading and acccessing data |
| from within properties files. |
| </li> |
| |
| <li> |
| <a href="services/rundata-service.html">RunData Service</a> |
| <br/> |
| Is the Service which manages the higher level operations surrounding |
| requests and responses. |
| </li> |
| |
| <li> |
| <a href="services/scheduler-service.html">Scheduler Service</a> |
| <br/> |
| This service manages the schedule queue giving Cron like functionality. |
| The ScheduledJob can be stored in a database or a properties file. |
| </li> |
| |
| <li> |
| <a href="services/security-service.html">Security Service</a> |
| <br/> |
| <b>[TO DO]</b> A service for the management of Users, Groups, Roles and Permissions |
| in the system, allowing for those Objects to interact with either |
| Database or LDAP backends. The service also allows for the security to be managed |
| without a backend. |
| </li> |
| |
| <li> |
| <a href="services/servlet-service.html">Servlet Service</a> |
| <br/> |
| Encapsulates the information provided by the ServletContext API, |
| and makes it available from anywhere in the code. |
| </li> |
| |
| <li> |
| <a href="services/template-service.html">Template Service</a> |
| <br/> |
| <b>[TO DO]</b> The Service for the mapping of templates to their |
| screens and actions. |
| </li> |
| |
| <li> |
| <a href="services/uniqueid-service.html">Unique ID Service</a> |
| <br/> |
| Allows for the creation of Context unique and pseudo random identifiers. |
| </li> |
| |
| <li> |
| <a href="services/upload-service.html">Upload Service</a> |
| <br/> |
| This service manages multipart/form-data POST requests, storing them |
| temporarily in memory or locally. The resultant Objects can be manipulated through |
| a FileItem Object. |
| </li> |
| |
| <li> |
| <a href="services/velocity-service.html">Velocity Service</a> |
| <br/> |
| <b>[TO DO]</b> The service for the processing of Velocity Templates from within |
| the Turbine Layout/Navigations and Screen structure. |
| </li> |
| |
| <li> |
| <a href="services/webmacro-service.html">WebMacro Service</a> |
| <br/> |
| <b>[TO DO]</b> The service for the processing of WebMacro Templates from within |
| Turbine Layout/Navigations and Screen structure. |
| </li> |
| |
| <li> |
| <a href="services/xmlrpc-service.html">XML-RPC Service</a> |
| <br/> |
| This service manages xml-rpc calls to a remote Server. |
| </li> |
| |
| <li> |
| <a href="services/xslt-service.html">XSLT Service</a> |
| <br/> |
| The service which is used to transform XML with an XSLT stylesheet. |
| </li> |
| |
| </ul> |
| |
| <p> |
| For more information on the Services Package, view the package.html Package |
| Documentation in the Javadocs or in Turbine CVS. |
| </p> |
| |
| </section> |
| |
| </body> |
| </document> |