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.
Turbine is a matured and well established framework that is used as the base of many other projects (like e.g. the excellent Jetspeed 1 Portals framework.
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.
The Turbine core is free of any dependency on a presentation layer technology. Both JavaServer Pages (JSP) and Velocity are supported inside Turbine. For developers already familiar with JSP, or have existing JSP tag libraries, Turbine offers support for the Sun standard. Velocity 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.
Turbine is developed in an open, participatory environment and released under the Apache Software License. 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, look at our "How to Help" pages.
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.
Turbine is since version 4.0 developed in a single master/branch.
As a longtime, but now ex-member of the Apache Jakarta Project (before 2018) (old address*), Turbine has influenced quite a number of projects:
The Apache Software Foundation 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.
Apache Turbine, Turbine, Apache, the Apache feather logo, and the Apache Turbine project logo are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.