wissel.net

Usability - Productivity - Business - The web - Singapore & Twins

Server Side JavaScript - an overview


" JavaScript? Isn't that the browser thing to add useless animations to your website?" Despite all web2.0 hype this is a question corporate developers or managers still ask from time to time. When telling them about Server Side JavaScript (SSJS for short) they reply in disbelieve: " That must be some IBM thing". To some extend it is true. IBM ships three different SSJS implementations in their products:
  1. IBM's own j9 JRE/JDK 6.0 includes, following the Java JSR 223 an implementation of Mozilla's Rhino SSJS engine (try for yourself. Open a command prompt and type jrunscript. You will be greeted with an JavaScript command prompt - works also with the JVM that ships with the Notes client)
  2. The second implementation can be found in Project Zero and its commercial implementation WebSphere sMash
  3. Last not least there are XPages with its JVM based SSJS implementation.
However IBM is not alone, besides JSR 223 and Rhino there is more SSJS to be found:
  • NodeJS is based on Google's V8 JavaScript engine that also powers the Chrome browser.
  • A number of extension build on top of NodeJS:
    • node.io - distributed data scraping and processing engine
    • expressjs - High performance, high class web development
    • many more
  • Flusspferd is written in C++, uses Mozilla's SpiderMonkey JS engine and provides C++ language bindings. Will extend to newer engines when available.
  • CommonJS defines a common set of APIs for SSJS. From the description:
    "The CommonJS API will fill that gap by defining APIs that handle many common application needs, ultimately providing a standard library as rich as those of Python, Ruby and Java. The intention is that an application developer will be able to write an application using the CommonJS APIs and then run that application across different JavaScript interpreters and host environments. ".
    There is a long list of implementations including NodeJS and Apache CouchDB.
    I do not know to what extend IBM does or will support CommonJS, nevertheless it is a development to keep an eye on
  • The Jaxer application server is offered by the same team who brought us the outstanding Aptana JS IDE for Eclipse
  • Erbix Application Server, featuring an online IDE
  • ejscript from embedThis Inc
  • Mynajs application server based on Rhino
  • For brave souls: mod_js a Apache HTTP plug-in
There's a good 2011 SSJS outlook on labnotes.org. Of course Google knows even more.
So it is really time to give the curly brackets a try.
Want to know more? Visit my Lotusphere 2011 AD103 session.

Posted by on 18 January 2011 | Comments (3) | categories: Software

Comments

  1. posted by Dan Sickles on Wednesday 19 January 2011 AD:
    "I do not know to what extend IBM does or will support CommonJS"

    If not or if they don't give a roadmap to Ecmasrcipt 5 (Dec 2009) and express intent to adopt Ecmascript Harmony down the road, we'll be left with an old dormant, rotting, scripting language while the rest of the world moves on.

    IBM, please don't Lotusscript the Javascript.

    node.js rox
  2. posted by Richard Moy on Wednesday 19 January 2011 AD:
    Innovations in SSJS is moving so quickly that I think this is the future server language. Innovations like node.js is changing the whole dynamics of the industry.
  3. posted by sandya on Tuesday 07 August 2012 AD:
    Hi Richard,

    Do you know whether node.js is available on power liinux systems? Do you know of anyone who has deployed the same?

    Thanks
    sandya