This project is based around the concept of exposing Beans, Maps, List, Arrays, etc by using the Map interface provided by the java runtime. There are three subprojets that are beeing developed and used that useses this feature - Core, Pojoweb and SimpleFlow.
The PojoWeb project needs a Html parser in order to generate valid xml, html and javascript. This functionality is provided by the webclient project that is also a highly configuarable web browser(without the annoying GUI;-).
The core provides the actual implementation of introspection and analyzis of java beans. It also provides the developer with a very useful type converter that can convert between many of the common types and provied a pluggable architecture for custom type converters.
Provides clustering functionality primarily for the simpleflow, however it should be possible to bootstap just about anythig over it. At the moment the JMS protocol is used as a transport between the cluster nodes.
PojoWeb is a web framework that renders Pojos using the functionality provided by the core framework. Velocity templates are used to render a Pojos based on the type of bean and the path used to reach it from its parent beans.
Each bean rendered may be given a id that can be looked up by the core framework. This allows us to reload just parts of the HTML using AJAX.
The simpleflow framework provides the programmer with a very easy to use flow interpreter. Easy in the sence that we should not need to do much configuration in order to setup a flow with a set of dependent steps and a context that stores the logic for that flow.
The webClient project implements the standard xhtml tags (strict & transitional provided out of the box). These tags are all scriptable and extendable using JavaScript and may be customized to mimic different browsers.
When using many other html screen scraper tools they do not execute the JavaScripts that are embedded in the html page. This puts a lot of extra work on the developers that need to extract information from these pages. The WebClient is intended to overcome this and even be able to run Ajax enabled webpages.
Instead of a GUI the developer may "export" the view to valid XML. The PojoWeb project uses the parsers and emitters from the WebClient to implement Ajax functionality.