| <?xml version="1.0"?> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <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> |
| <author email="hps@intermeta.de">Henning P. Schmiedehausen</author> |
| <author email="seade@backstagetech.com.au">Scott Eade</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 constructor. 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="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="avalon-component-service.html">Avalon Component Service</a> |
| <br/> |
| Initializes external components which implement the Avalon lifecycle |
| interface, e.g. Torque. See also the <a href="yaafi-component-service.html"> |
| Yaafi Component Service</a> |
| </li> |
| |
| <li> |
| <a href="crypto-service.html">Crypto Service</a> |
| <br/> |
| Provides encryption algorithms like MD5 and SHA message digests as well as old-fashioned Unix crypt. |
| </li> |
| |
| <li> |
| <a href="cache-service.html">Cache Service</a> |
| <br/> |
| Provides a persistent Object Storage mechanism within your application. |
| </li> |
| |
| <li> |
| <a href="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="intake-service.html">Intake Service</a> |
| <br/> |
| A service that provides input validation along with a standard |
| parameter naming framework. |
| </li> |
| |
| <li> |
| <a href="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="localization-service.html">Localization Service</a> |
| <br/> |
| The single point of access to all localization resources. |
| </li> |
| |
| <li> |
| <a href="logging-service.html">Logging Service</a> |
| <br/> |
| The Logging Service has been removed and replaced with a commons-logging |
| and log4j combination. Here you find some information how to use this |
| in Turbine. |
| </li> |
| |
| <li> |
| <a href="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="naming-service.html">Naming Service</a> |
| <br/> |
| Provides JNDI naming contexts. |
| </li> |
| |
| <li> |
| <a href="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="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 or |
| session scope within your application. |
| </li> |
| |
| <li> |
| <a href="resources-service.html">Resources Service</a> |
| <br/> |
| The Resources Service has been removed and replaced with commons-configuration. You |
| find some explanation how to use commons-configuration here. |
| </li> |
| |
| <li> |
| <a href="rundata-service.html">RunData Service</a> |
| <br/> |
| Is the Service which manages the higher level operations surrounding |
| requests and responses. |
| </li> |
| |
| <li> |
| <a href="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="security-service.html">Security Service</a> |
| <br/> |
| 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="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="session-service.html">Session Service</a> |
| <br/> |
| Provides access to Session information for the current web context. |
| </li> |
| |
| <li> |
| <a href="template-service.html">Template Service</a> |
| <br/> |
| The Service for the mapping of templates to their screens and actions. |
| </li> |
| |
| <li> |
| <a href="torque-security-service.html">Torque Security Service</a> |
| <br/> |
| This is an implementation of a Security Service which uses Torque |
| generated peers to access the required security information. |
| </li> |
| |
| <li> |
| <a href="ui-service.html">UI Service</a> |
| <br/> |
| The UI (User Interface) Service provides for application skinning. |
| </li> |
| |
| <li> |
| <a href="uniqueid-service.html">Unique ID Service</a> |
| <br/> |
| Allows for the creation of Context unique and pseudo random identifiers. |
| </li> |
| |
| <li> |
| <a href="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="velocity-service.html">Velocity Service</a> |
| <br/> |
| The service for the processing of Velocity Templates from within |
| the Turbine Layout/Navigations and Screen structure. |
| </li> |
| |
| <li> |
| <a href="xmlrpc-service.html">XML-RPC Service</a> |
| <br/> |
| This service manages xml-rpc calls to a remote Server. |
| </li> |
| |
| <li> |
| <a href="xslt-service.html">XSLT Service</a> |
| <br/> |
| The service which is used to transform XML with an XSLT stylesheet. |
| </li> |
| |
| <li> |
| <a href="yaafi-component-service.html">Yaafi Component Service</a> |
| <br/> |
| The Yaafi Component service loads external modules which implement the |
| <a href="http://excalibur.apache.org/">Avalon</a> lifecycle interfaces. This is |
| a bridge between the Turbine 2.3 we have today and the |
| <a href="http://turbine.apache.org/fulcrum/">Fulcrum</a> components |
| that until now have only been available to Turbine 2.4 (yet to be released). |
| </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> |