Studs MVC Framework+ contains a port of Apache's Jakarta Struts to PHP, though the libraries included in the rest of the project are much more vast. In order to implement the Struts port, it was necessary to build a core, object-oriented API in the style of the JDK and the Jakarta Commons, a servlet container to handle HTTP requests and to invoke servlet classes, and finally, a parsing engine for JSP-style template pages. In the end, the result is an environment which is very similar to that provided by a J2EE Web Container, only everything is implemented in PHP. While it was possible to carry over many of the concepts, designs and mechanisms from J2EE, some limitations do exist due to the nature of the PHP programming language, such as the lack of checked exceptions (runtime only).
Webcockpit is a Web application generator for reporting and monitoring applications. It generates complete JSP-based Web applications which contain charts and tables whose contents are retrieved using database queries. The charts and tables can be configured to link to each other, enabling master detail-like drill-down. You can provide your own HTML or JSP template files which are mixed with the generated JSP to provide a final Web application.
Spinneret is a structured storage engine that can be thought of as an extended tuple storage system. It takes the best aspects of relational, object, and hierarchical databases and throws away the dead weight associated with those technologies. The benefit of Spinneret is that its data model is incredibly flexible, allowing it to expose its underlying data in any number of ways. It operates similar to an object database, but without hard ties to an originating language, and can also behave like a relational database without the burden of complex joins.
ServingXML is a markup language for expressing XML pipelines and an extensible Java framework for defining the elements of the language. It defines a vocabulary for expressing flat-XML, XML-flat, flat-flat, and XML-XML transformations in pipelines. The accompanying console app supports reading content as XML files, flat files, SQL queries, or SAX events, and writing it as XML, HTML, PDF, or mail attachments. This software is especially suited for converting flat file or database records to XML, with its support for namespaces, variant record types, multi-valued fields, segments and repeating groups, hierarchical grouping of records, and row-by-row validation with XML Schema. There is also an API for embedding the software in a Java application.