POJO Application Server

A POJO Application Server is a container that hosts entire Java Applications in contrast to Java Beans.

Product features
* The Java application is built outside of the container, as a normal POJO application.
* It is capable of running any Java Application.
* Complete Java Applications are hosted by the container, including the User Interface.
* Simplicity of design, is attained through a design pattern.


Theory
A POJO container is able to move some classes out of a POJO application and run them remotely.
This gives it the ability to move the User Interface out of a running application to a remote machine.
Although the application is identical to the stand-alone (independent) application, the running version of the application is split, with some classes running remotely and some classes running on the server.
A POJO container uses an extended Model-view-controller design pattern idea.
The technique used to do this has been coined "Coherent Diffusion".
The way this works is the container is able to mine the wiring internal to a POJO application.
When one Java class calls another Java class in an application, effectively there is a wire or conduit from the one class to the other. This is what the POJO container is able to intercept and extend across a network.

Concept
The concept of splitting an application into client and server side components is radically different from most other application server methodologies. Most apply the technique of starting with components such as beans and then applying the required infrastructure to weave it into a net workable application.
The splitting technique "Coherent Diffusion", recognizes that a stand alone POJO application is already a coherent whole application, and externalizes the internal class linkages (wiring).
The idea of splitting a POJO application is an ingenious technique, because the classes left behind in the container, immediately become web services, and behave as a server.
This all happens without changing a single line of code in the original stand-alone POJO application. This is why it is also known as the Plug and Play application server.

Coherent Diffusion
This technique is applied to the stand-alone application outside of the container.
The M.V.C technique is almost identical to this design pattern.
Typically the main server class and main client class are given Java Interfaces.
These classes are then instantiated in a controller class.
In the M.V.C model it is used to divorce client side from server side. The idea is that the server side may be changed with no affect on the client side.
In the POJO Application Server this is also true, however the controller class also represents the place where all the class linkages, wires or main arteries of the application come together.

Its then a simple matter to tell the POJO Application Server which classes must be run remotely, and which must be run on the server. The wires that connect these classes are already exposed in the controller, and the server extends the linkages that connect remote and server classes across the network. Once this technique has been applied, the stand-alone application may be deployed to the server.

POJO Application Servers
; Harbor : The original Pojo Application Server.

Web Articles
; Wire Mining : Wire Mining
; Webstart on steroids : Webstart on steroids
 
< Prev   Next >