JsOrb is a collection of technologies designed to make it easy to build next-generation websites. It makes it easy to access your business logic and your POJOs from your web pages running on the browser. This makes it easy to build next-generation web applications which can:

• Validate user input against a database
• Dynamically update your HTML based on user input
• Access complex business logic from your web pages
• Download, manipulate, and upload complex object graphs containing your POJOs

How can this be? JsOrb includes code generators that build on demand JavaScript classes (that's right: JavaScript classes) for your POJOs and as proxies to your business logic interfaces. The JavaScript classes have the same methods as your POJOs and business logic interfaces, so your JavaScript code ends up looking surprisingly similar to Java.

That's all well and good, but to reduce the amount of JavaScript you need to write and maintain yourself, JsOrb includes libraries to bind your entity objects to your HTML elements. These bindings automatically keep the entity objects in sync with the web page, so as users enter data into your forms, the data is automatically parsed and formatted to the type needed by your POJOs. All of the typical POJO data types are supported (Long/Integer/Short/Byte, String, Double/Float, Date, etc.), as are formatters similar to java.text.DecimalFormat, et al.

jsorb-blocks
This is a block diagram of the JsOrb architecture. JsOrb is organized into the following key components:

Core

The JsOrb core libraries provide common support functions needed by the other libraries. This includes support for object-oriented JavaScript, packaging, typed numbers, and other core support.