HARBOR

http://coolharbor.100free.com/index.htm

POJO Application Server

Definition
What Wiki-Pedia wont allow

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 [[Model-view-controller | 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 [[Model-view-controller | 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.

If you wondering why a neutral definition like this is not allowed.
The reason given is that its not notable.

The real reason is that Harbor is a N.V.M (Network Virtual Machine).
Or more simply, its more than an application server, its actually a new type of operating system.
Unfortunately, this makes EJB look very old, clumsy, and a little silly.
It makes EJB look more like a means of extracting money from companies, than a real technology.

Best thing you can do to help us and companies being taken for an EJB ride, is simply put a link on your site.
Much appreciated.