| <?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>Apache Turbine™</title> |
| </properties> |
| |
| <body> |
| |
| <section name="Apache Turbine™ Web Application Framework"> |
| |
| <p> |
| Apache Turbine™ is a servlet based framework that allows experienced Java |
| developers to quickly build web applications. Turbine allows you |
| to use personalize the web sites and to use user logins to restrict |
| access to parts of your application. |
| </p> |
| |
| <p> |
| Turbine is a matured and well established framework that is used as |
| the base of many other projects (like e.g. the excellent <a |
| href="https://portals.apache.org/jetspeed-1/">Jetspeed 1 (Retired)</a> |
| Portals framework. |
| </p> |
| |
| <p> |
| Turbine is an excellent choice for developing applications that make use of a |
| services-oriented architecture. Some of the functionality |
| provided with Turbine includes a security management system (decoupled in Fulcrum Security), a |
| scheduling service (decoupled in Fulcrum Quartz), XML-defined form validation server (Fulcrum Intake), |
| and an XML-RPC service for web services. It is a |
| simple task to create new services particular to your application. |
| </p> |
| |
| <p> |
| The Turbine core is free of any dependency on a presentation layer |
| technology. Both JavaServer Pages (JSP) and |
| <a href="http://velocity.apache.org/engine/">Velocity</a> are supported |
| inside Turbine. For developers already familiar with JSP, or have |
| existing JSP tag libraries, Turbine offers support for the Sun standard. |
| <strong>Velocity</strong> is the favorite view technology of most users of the Turbine |
| framework; try it out and see if Velocity can help you develop your |
| web applications faster and work more easily with non-programming designers. |
| </p> |
| |
| <p> |
| Turbine is developed in an open, participatory environment and |
| released under the <a href="common/license.html">Apache |
| Software License</a>. Turbine is intended to be a collaboration of the |
| best-of-breed developers from around the world. We invite you to |
| participate in this open development project. To learn more about getting |
| involved, <a href="how-to-help.html">look at our "How to Help" pages</a>. |
| </p> |
| |
| <subsection name="Integration Hints: JS, JSON, REST"> |
| <p> Modelling on the client side with JS-frameworks like KnockoutJS or Vue.JS is supported of course. You may use the provided XML-RPC service, |
| simple Velocity context or Fulcrum JSON utilities. |
| You may even want to skip (almost) the entire (server) view part and decide to use just REST-API libraries (Javax.ws.rs, Jersey). |
| As an example consider registering an JSON Fulcrum service returning a default (Jackson) ObjectMapper object, which may be resolved by a |
| javax.ws.rs context Provider. |
| For now no custom security integration is yet provided, but this may be done with web-token or any other token based authentification system |
| or annotation based. |
| </p> |
| </subsection> |
| |
| </section> |
| |
| <section name="Turbine Versions"> |
| <p> |
| Turbine is since version 4.0 developed in a single master/branch. |
| <ul> |
| <li><strong><a href="turbine/development/turbine-5-2/">Turbine 5.2</a></strong> is the current development master. |
| </li> |
| |
| <li><strong><a href="turbine/development/turbine-5-1/">Turbine 5.1</a></strong> is |
| is a highly backward compatible version of 5.0. Download it from <a href="https://www.apache.org/dyn/closer.cgi/turbine/turbine-5.1/">Apache Mirrors</a>. |
| </li> |
| |
| <li><strong><a href="turbine/turbine-5-0/">Turbine 5.0</a></strong> is using Servlet 3.1, Java 8, Log4J2, Velocity 2. It is already used in some live applications, |
| download it from one of the <a href="https://www.apache.org/dyn/closer.cgi/turbine/turbine-5.0/">Apache Mirrors</a>. |
| </li> |
| |
| <li><strong><a href="turbine/turbine-4-0/">Turbine 4.0</a></strong> should be used only, if starting a project restricted |
| with Java 7. Download it from one of the |
| <a href="https://www.apache.org/dyn/closer.cgi/turbine/turbine-4.0/">Apache Mirrors</a>. |
| Turbine 4.0 uses technologies like an <a href="http://avalon.apache.org/"> |
| Avalon-based</a> container and decoupled components from the |
| <strong><a href="fulcrum/">Fulcrum</a></strong> sub-project of Turbine (most of the benefits of |
| these enhancements are realized in the |
| <a href="turbine/turbine-2-3.3/">2.3.3</a> release). One significant |
| change in 4.0 is the introduction of a pipeline concept that allows you to define |
| via <strong>XML</strong> all the stages for processing a request. |
| </li> |
| |
| <li><strong><a href="turbine/turbine-2-3-3//">Turbine 2.3.3</a></strong> is |
| the version you should use when migrating from an older version of |
| Turbine. The 2.3 branch of Turbine has been switched to maintenance mode, however. |
| You can download Turbine 2.3.3 from one of the |
| <a href="https://www.apache.org/dyn/closer.cgi/turbine/turbine-2.3.3/">Apache Mirrors</a></li> |
| |
| </ul> |
| </p> |
| </section> |
| |
| <section name="Sub Projects"> |
| |
| <p></p> |
| <ul> |
| <li> |
| <a href="/fulcrum/">Fulcrum</a> components are by default in use since Turbine 4.x. It is a collection of services originally |
| developed as part of Turbine, but now decoupled and usable in any environment |
| that supports <a href="https://attic.apache.org/projects/avalon.html">Avalon</a> components. |
| </li> |
| </ul> |
| </section> |
| |
| <section name="Turbine Alumni"> |
| |
| <p> |
| As a longtime, but now ex-member of the <a href="http://attic.apache.org/projects/jakarta.html">Apache Jakarta Project (before 2018)</a> |
| (<a href="https://jakarta.apache.org/">old address</a>*), Turbine has influenced quite a number of projects: |
| </p> |
| <ul> |
| <li> |
| <a href="https://db.apache.org/torque/">Torque</a> is a persistence |
| layer originally developed as part of Turbine. Torque is now |
| decoupled and part of the <a href="http://db.apache.org/">Apache Database Project</a>. |
| </li> |
| <li> |
| <a href="https://maven.apache.org/">Maven</a> is an advanced Java |
| Project Management tool originally developed out of the frustration with the |
| Turbine build process. Maven is now a toplevel Apache project, residing at <a |
| href="https://maven.apache.org/">maven.apache.org</a>. |
| </li> |
| <li> |
| In addition, Turbine has spawned a number of <a href="http://commons.apache.org/">Commons</a> |
| components like <a href="https://commons.apache.org/configuration/">Commons configuration</a> or |
| <a href="https://commons.apache.org/email/">Commons EMail</a>. |
| </li> |
| </ul> |
| * Note: Be aware, that <a href="https://jakarta.ee/about/">Jakarta EE</a> is since 2019 |
| used as a brand label for the Java EE Cloud Native project. |
| </section> |
| |
| <section name="The Apache Software Foundation"> |
| <p> |
| The <a href="https://www.apache.org">Apache Software Foundation</a> provides support for the |
| Apache community of open-source software projects. The Apache projects are defined by |
| collaborative consensus based processes, an open, pragmatic software license and a desire |
| to create high quality software that leads the way in its field. |
| </p> |
| <p> |
| Apache Turbine, Turbine, Apache, the Apache feather logo, and the Apache Turbine project logo |
| are trademarks of The Apache Software Foundation. |
| </p> |
| <p> |
| All other marks mentioned may be trademarks or registered trademarks of their respective |
| owners. |
| </p> |
| </section> |
| </body> |
| </document> |