Welcome to Polyethylene Project!

Polyethylene is a project that tries to break the web programming model that is, in essence, stateless, transforming it to a natural event-driving paradigm. In fact, ASP.Net reached this goal very well, but Java didn't have such programming model.

Project's history

I was working on a project from which one of it's requirements regarding UI code was "write once and only once". This basically means that code for a desktop application - swing - and JSP code should not coexist for obvious reasons. That stated, we have to find a common interface between these two different models.

While Swing has specific advantages like layout management, web page design gives a lot of flexibility to the programmer when presenting information and group of information. So I decided not to hide these main benefits that are so different in each plataform and are somehow complementary. In a Swing environment the programmers should not use a JButton or a JTextField, but create some well known façades using an AbstractFactory. In a web environment they should specify a layout file (xml file) and deal with Button and TextField facades as if they were working with Swing.

Polyethylene

Polyethylene is the part of the project that deal with the web environment. Basicly it handles:

Parsing
Code generation and compiling
Execution issues like Security

As I was writing Polythylene I noticed that it could be a big project and grow up in several directions. So I decided to deliver it as an Open Source project.

Polyethylene 2.0

I've been reviewing several Open Source Web Projects and most of them uses Apache Avalon Framework. Then I decided to study it a little more to know what it is about. Man, how could I live without it before? Version 2.0 of Polyethylene is almost a full rewrite and my first experience with Apache Avalon. I used Fortress container because it is the simplest one.

The benefits from using Apache Avalon was modularity, independency of implementation and easy unit test writing.


SourceForge.net Logo