Open Source Web Frameworks in Java
Struts
The core of the Struts framework is a flexible control layer based on standard technologies like Java Servlets, JavaBeans, ResourceBundles, and XML, as well as various Jakarta Commons packages. Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. |
Turbine
Turbine is a servlet based framework that allows experienced Java developers to quickly build secure web applications. 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, a scheduling service, XML-defined form validation server, and an XML-RPC service for web services. It is a simple task to create new services particular to your application. |
Tapestry
Tapestry is a powerful, open-source, all-Java framework for creating leading edge web applications in Java. Tapestry reconceptualizes web application development in terms of objects, methods and properties instead of URLs and query parameters. Tapestry is an alternative to scripting environments such as JavaServer Pages or Velocity. Tapestry goes far further, providing a complete framework for creating extremely dynamic applications with minimal amounts of coding. |
WebWork
WebWork is a web application framework for J2EE. It is based on a concept called "Pull HMVC" (Pull Hierarchical Model View Controller). |
Cocoon
Apache Cocoon is a web development framework built around the concepts of separation of concerns and component-based web development. Cocoon implements these concepts around the notion of 'component pipelines', each component on the pipeline specializing on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions, hooking together components into pipelines without any required programming. |
Spring
Spring is a layered Java/J2EE application framework, based on code published in Expert One-on-One J2EE Design and Development |
Maverick
Maverick is a Model-View-Controller (aka "Model 2") framework for web publishing using Java and J2EE. It is a minimalist framework which focuses solely on MVC logic, allowing you to generate presentation using a variety of templating and transformation technologies. |
Echo
Echo is a framework for developing object-oriented, event-driven Web applications. Echo removes the developer from having to think in terms of "page-based" applications and enables him/her to develop applications using the conventional object-oriented and event-driven paradigm for user interface development. |
SOFIA
Conceptually, SOFIA is similar to other J2EE MVC open source frameworks, like Apache Struts. But SOFIA sets a new standard for Java development by delivering so much more in a framework matching best-of-breed tools integration with robust JSP class and tag libraries. SOFIA shortens application development time on the strength of its visual development capabilities and pre-built Java components that dramatically simplify coding. |
Verge
The Verge Framework is an open source J2EE application framework written entirely in Java using only the standard J2EE APIs. This project aims to develop and promote a highly flexible and extensible framework for building enterprise applications. |
Anvil
Anvil is a Java based server environment and object oriented programming language with templating support, being especially well-suited to for web applications. |
Jaffa
Jaffa (Java Application Framework For All) is an enterprise-focused Java framework for rapid application development. It provides a complete Java Web application development stack, extending exsiting projects like Tomcat and Struts at the frontend with MVC-based web widgets, all the way through to a high-performance lightweight O/R persistence engine, with plenty of rich features in between including rules engines, declarative application, and data security. |
Japple
Japple is a rapid application development environment for building web applications and services. Built on the JavaTM2 Platform and open-standards, Japple allows you to develop and deploy web applications faster, easier and more efficiently than traditional methods. |
JPublish
JPublish is a powerful web publishing system designed to ensure a clean separation of developer roles. JPublish includes support for multiple templating engines, including Jakarta Apache's Velocity, FreeMarker and WebMacro. JPublish supports numerous scripting languages including Python, BeanShell, and JavaScript. JPublish is modular and provides for easy extensibility. |
Jucas
Jucas is a web-framework which brings together the pull MVC concept with component orientated design GUI programming. |
MyFaces
MyFaces is an implementation of JavaServer(tm) Faces (JSR 127), a new and upcoming web application framework that accomplishes the MVC paradigm. It is comparable to the well-known Struts Framework but has features and concepts that are beyond those of Struts. |
WebOnSwing
WebOnSwing is a revolutionary multiple environment application framework that allows you to create web applications in the same way you develope a desktop one. You dont need to use JSP files, special tags, XML files, requests, posts, etc. Everything is Java and pure HTML files that comes directly from the graphic designer. This framework constructs and handles html pages with Swing components, allowing to use MVC architecture and all the facilities provided by Swing in the web. |
Chrysalis
Chrysalis is a Java web development framework. It has a different focus from most Model-View-Controller (MVC) web frameworks. Chrysalis controllers resemble normal Java classes with multiple methods. Client request URLs are mapped to each controller method. |
VRaptor
VRaptor is a MVC web framework. It is highly based on the Inversion of Control principles, using constructor injection to decouple your components from your business logic classes. |
Swinglets
Program your JPS & Servlets like you program your Swing components. Swinglets is a server side component library that uses an identical design to Swing. Swinglets has look and feels for HTML, Java Script and WML. The Components, Models, Renderers, and LookAndFeels are very similar. It has Swing event handling too. In fact Swinglets actually uses the Swing models (e.g. TableModel). This means you can take your existing models and start working with Servlets straight away. It's just about as close to a standard as you can get without it actually coming from Sun themselves. |
Millstone
a nice alternative to struts like framework you do not need to xrite a signle html line |
Wicket
Wicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a Swing-like component model backed by POJO data beans that can easily be persisted with Hibernate. |
SwingWeb
Swingweb is an implementation of AWT toolkit that enables AWT/Swing application to be operating inside a web container and presented as a web application to the web browser, purely in HTML/CSS/javascript. There's no code conversion required for the swing application to run in the SwingWeb environment. Some of the features of SwingWeb include the following: * Support web-environment with multiple concurrent application sessions * Component-oriented architecture that allows developer to enable existing swing component to web environment easily * Support common AWT/Swing components in java.awt. * and javax.swing. * * Support all component layouts in jdk * Highly configurable use of jxp template for component presentation |
Barracuda
Barracuda is an Open-Source Presentation Framework (LGPL) designed to make it easier to build web apps by providing a simple yet powerful Server-Side Component Model that makes it easy to manipulate DOM structures using proven MVC patterns like you'd find in Swing. With this newest release, you can now use Jivan in addition to XMLC to load and render your DOM templates. |
RIFE
RIFE offers an alternative approach to web application development and design. It builds upon the Java platform, but offers all required tools and APIs to implement and perform all common website related tasks in a fast, intuitive and consistent manner. RIFE has been designed for perfect separation of tasks during a development cycle. Every developer, dba and designer only has to focus on his own tasks. At any moment the work can be effortlessly integrated with the work of the rest of the team. This results in a loosely coupled and very robust system. One can make incremental improvements with little or no risk of unwanted side-effects elsewhere in the system. RIFE is composed out of a large collection of modular parts, which include: * web application engine, * integrated web continuations, * customizable multi-format template engine (html, xml, sql, java, txt, ...) * support for template content transforming through for example XSLT, * authentication framework, * database query builders, * simple persistance layer, * fault-tolerant JDBC wrappers and connection pooling, * web-oriented database utilities, * central data repository, * cron-like scheduler, * configuration framework. The central part is the engine which formalizes all aspects of dynamic web development. It graciously solves all doubt, confusion and maintenance problems of HTTP's statelessness and liberal CGI interface. |
DWR
DWR is AJAX and XMLHttpRequest made easy. It makes it simple to call Java on the server directly from Javascript in the browser marshalling all the parameters and return values. It gets rid of almost all the boiler plate code between the web browser and your Java code. interaction diagram DWR helps you in producing highly interactive web-sites by providing some Javascript libraries to help with DHTML and by giving you a set of examples to copy from. |
JSPWidget
JSPWidget is a JSP Framework that provides event-driven,view state retained,server-side GUI controls to make JSP development as intuitive as in traditional client forms or in client-based Web applications. |
JOSSO
JOSSO, or Java Open Single Sign-On, is an open source J2EE-based SSO infrastructure aimed to provide a solution for centralized platform neutral user authentication. |
JAT
JAT is a flexible Java base-framework which can be easily extended to improve projects start-up time. JAT allows to build Web applications (J2EE) or standalone application (server, batch, etc.). JAT supplies the main basic functionalities of any Java application, such as: * High Business Object abstraction * Integration facilities (provided for DBMS, LDAP and open to any software product) * Authentication and user privileges management * MVC pattern implementation (with privileges management and page flow control) * HTML layout structure management (header, footer, menu, etc.) * HTML dynamic contents and facilities (form, report, paging) * Logging feautures * Help on-line utility * High configuration of all described functionalities * Administration and configuration GUI |
OpenXava
XML / Java Framework to develop J2EE business applications rapidly and easily. It is based in business components defined with XML. Feature rich and flexible since is used for years to create real business applications. |
Stripes
Stripes is a Java web framework that makes web development as easy as it should be. It requires zero external configuration beyond the registration of one servlet and one filter. Stripes includes simple yet powerful solutions to common problems such as indexed properties, multi-event forms, localization and use of domain objects in the web tier. All of this in a compact framework with hardly any dependencies! |
Click
Click is a J2EE web application framework created for commercial Java developers. Click Highlights * Very easy to learn * Component and Page Oriented design * Event base programming model * Automatic form validation * Page templating * Velocity page rendering * Superb error reporting * High performance The design philosophy behind Click is best summarized in the Swedish word lagom which translates to not too little or too much, but optimal. |
ZK
ZK is an AJAX-based, event-driven, XUL-compliant, all Java framework for enabling Web applications to have the rich user experiences. With intuitive event-driven model, you represent your application in feature-rich XUL components, and manipulate these components by listening to events triggered by users, as simple as you did for years in desktop applications. No JavaScript. No replication of business logic at the clients. No proprietary components. No compilation. ZK works with existent frameworks and technologies, such as JSF and Portals, so the pace of adapting it is all under your control. |
Caramba
The caramba framework is built from bottom to top with one main goal: creating Responsive, Rich Internet Applications. With the AJAX technology we could already achieve this, but it was hard to debug, error prone and time intensive to make it work. We are sure that simplicity can be achieved by following the event driven architecture: Caramba is 100% event driven, so very, very easy to use. Using Caramba makes it possible to make fancy, responsive web-applications without having to write a single line of JavaScript. You don't need to learn another language. Just the good old java syntax and JSP, that's all you need to know to get started. |
wingS
wingS is a component based web framework resembling the Java Swing API with its MVC paradigm and event oriented design principles. It utilizes the models, events, and event listeners of Swing and organizes the components as a hierarchy of containers with layout managers. Version 2.0 comes with a completly rewritten rendering subsystem focusing on optimal stylability via CSS and new features like Drag & Drop support, context menus and Server-side code execution (AJAX). Selected features of wingS 2.0 are: * Comprehensive set of widgets including trees, tables, tabbed panes menus and more. * Highly flexible dynamic layout managers * Drag & Drop support * Component context menus and tooltips * Handling of browser back navigation * Improved styleability via CSS The distribution contains an extensive user documentation and various demo applications also available >>online. wingS is released under the LGPL licence. PermaLink |
See also Open Source J2EE Frameworks
Comments on "Open Source Web Frameworks in Java"