The Latest Trend: Javascript Frameworks on the Server Side

Share the article!

Looks like there’s a mini trend brewing, that is “Javascript in the Server”. Mozilla’s Rhino and its future inclusion in Java seems to be driving this trend. This in addition to Rhino’s capability of supporting continuations. Here’s a list of frameworks that I’ve stumbled upon.

  • Rhino in Spring – Rhino in Spring is a project integrates the Rhino JavaScript interpreter with Spring Framework. The aim is to provide a system that merges the rapid development benefits and flexibility of a dynamic language with the strength, scalability and versatility of the Java platform and the Spring framework. The project delivers a controller component for Spring MVC that allows complex control flows spanning several webpages in web applications to be expressed as a single structured algorithm in JavaScript.
  • Phobos – Project Phobos is a lightweight, scripting-friendly, web application environment running on the Java platform. The goal of Project Phobos is to show that Java is an excellent platform for server-side scripting, allowing dynamic-language developers to leverage the power of Java SE and EE. The initial focus for Project Phobos is JavaScript, but the design supports the use of other dynamic languages as well.
  • OpenMocha – The OpenMocha framework is built on Mochascript is an abstraction library extending both client-side and server-side Javascript environments. The Mocha Object Engine is the layer that implements the Mocha Objects and collections and integrates all the framework components that are itself implemented in Javascript. The Helma Object Publisher serves as the application server for the Mocha Object Engine, providing an embedded XML database and optional mapping of objects to relational databases. The OpenMocha framework also intregrates the Lucene Search Engine for powerful Java-based text indexing.
  • Helma – Helma is a web application framework that has been practically around forever (i.e. pre-dotcom bust). Helma is written in Java and employs Javascript for its server-side scripting environment, removing the need for compilation cycles and reducing development costs while giving you instant access to leverage the whole wealth of Java libraries out there. Helma pioneered the simple and codeless mapping of application objects to database tables, which has only recently come into vogue with other web frameworks like Rails. In addition, an embedded object-oriented database performs automatic data persistence of unmapped objects.
  • Firecat – Firecat is a Server-Side JavaScript Webserver. With firecat you can build complete Web Applications using JavaScript on both the clientside and the Serverside. It is similar to ASP and JSP, but instead of VBScript and Java, it uses JavaScript as the main scripting language.
  • Cocoon Flow – Cocoon has advanced control flow, the ability to describe the order of Web pages that have to be sent to the client, at any given point in time in an application. By using a high level programming concept called continuations, Cocoon tries to solve the problem of complex Finite State Machines (FSM), and promises to allow the control flow in Web applications to be modeled as a normal program.
  • Celtix – Celtix delivers a Java enterprise service bus (ESB) runtime and set of APIs that make it easy to add transports, message formats, and security features. The goal is to simplify the construction, integration and flexible reuse of technical and business components using a standards-based, service-oriented architecture. Celtix allows you to use the JavaScript and E4X to implement service endpoints. Currently, such endpoint implementations are similar to JAX-WS Provider implementations that handle their requests and responses as DOM documents.
  • BpmScript – Business Processes are often long running and involve human intervention. Business Process Management or BPM is used to attempt to automate these business processes. BpmScript aims to make writing Business Processes simple by handling all of these requirements for you, leaving the only hard part writing the Business Processes themselves. The framework is based on Rhino’s continuation framework and it runs on ServiceMix 3.0 JBI Container.

I’m sure I’ve missed a few, so let me know of them so I can include them in this list.

Share the article!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>