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.
Expresso Framework is an open standards-based J2EE architectural framework that allows the developer to concentrate on application logic. It is a library of extensible Java Server application framework components for creating database-driven Web applications based on open standards. Expresso integrates with Apache Jakarta Struts, which emphasizes presentation and application configuration, and bringing a powerful tag library to Expresso. Expresso adds capabilities for security, robust object-relational mapping, background job handling and scheduling, self-tests, logging integration, automated table manipulation, database connection pooling, email connectivity, event notification, error handling, caching, internationalization, XML automation, testing, registration objects, configuration management, workflow, automatic database maintenance, and a JSP tag library.
FreeMarker is a template engine that was originally designed so that servlet-based applications could keep graphical design separate from application logic. The templates provide an easy and highly flexible way to generate any kind of text output (HTML, PostScript, TeX, source code, etc.) from a variety of data sources such as Java objects, Jython objects, XML object models, and more.
MinML-RPC is an implementation of XML-RPC server written in Java. It was designed to be used in embedded systems where storage space is at a premium. The code is quite compact, and it was also designed to minimize the heap space used by the program when executing a procedure call. The distribution includes the parser, the XML-RPC server implementation, and a small, high-performance HTTP 1.1 server.
Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code. When Velocity is used for Web development, Web designers can work in parallel with Java programmers to develop Web sites according to the Model-View-Controller (MVC) model, meaning that Web page designers can focus solely on creating a site that looks good, and programmers can focus solely on writing top-notch code. Velocity separates Java code from the Web pages, making the web site more maintainable over the long run and providing a viable alternative to Java Server Pages (JSPs) or PHP. Velocity also provides template services for the Turbine Web application framework, making a template service that allows Web applications to be developed according to a true MVC model.
JWAA is a software framework for building dynamic Web applications as networks of first-class Java objects. XML is used for representing information normally coded as HTML. The XML files are automatically reloaded when they change. It has a "persistent forms" feature in which form data automatically persists in the database such that fields behave like pieces of paper that automatically preserve what's written on them. This default behavior is easily overridden. Invalid links are reported at XML load time via the browser, and are also recorded in log files.