The Little Portal Gizmo
The Little Portal Gizmo is a small and lean container for Java web applications based on the Eclipse plug-in infrastructure and the Apache HttpCore.
Instead of supporting the Java Servlet API, the Gizmo uses its own custom and very light weight API. This hinges on the Model-View-Controller design pattern. The web applications you develop for the Gizmo have the form of Eclipse plug-ins.
A Gizmo instance can run any number of web applications at a time.
As its HTTP/S protocol engine the Gizmo uses Apache HTTP Core/NIO in non-blocking event driven I/O mode based on Java NIO. This should allow it to easily keep up with high request loads.
Here are some of the ideas behind the Little Portal Gizmo:
- have as few lines of code and configuration as possible in applications
- automatic decoding of parameters in HTTP POST and GET requests
- be able to serve static content
- straightforward integrated session handling
- separation of business logic and presentation (or model, view and controller, if you want to put it that way)
- easy integration of generators for different response output formats (JSON, HTML, etc.)
- easy integration of template engines
- curiosity: let's just try out this whole thing
These external components are being used:
- Eclipse Galileo (and Ganymede)
- Apache HttpCore (of Apache HttpComponents 4.0 GA)
- FreeMarker template engine 2.3.15
- JSON implementation for Java
- HtmlUnit 2.5 for integrated automated testing
- the Gizmo is currently being developed against Sun Java SE 1.6.
A Few Quick Tips
- You need to know Java and a bit of Eclipse. Some experience with Eclipse extension points and how to connect an extension to them will be helpful.
- Get the Gizmo straight from the CVS server. I don't currently package releases very often.
- Consider checking the Change Log. It tells you what's going on.
- Consider joining the Mailing Lists.
All the best for now and let us know what you think!