At WSO2 we are busy with something new for the new year 🙂 and we have just pushed the milestone-1 of it, not so complete but you can sure taste it. Everybody knows that WSO2 is big on Web Services, but over the years we have seen that the barrier between Web Services and Web Applications hasn’t been lowered. “Jaggery” is an effort to diminish this barrier and to merge the development process of services and applications.
By definition it is a framework to write webapps and HTTP-focused web services in pure Javascript for all aspects of the application: front-end, communication, Server-side logic and persistence, and yes as I mentioned one of the intents of the framework is to reduce the gap between writing web apps and web services.
In general web engineers are fond of javascript (and JSON of cause), so why not write the server piece, persistence logic and the communication in-between also in JS itself ?
“Jaggery” helps you to do just that! Right now, the Javascript you compose will be fetched by Rhino engine and execute at the server, At Milestone-1 we have pushed features such as,
- Compose server side web pages (HTML templates) : Server logic written in javascript (.JSSP)
- Compose server side scripts purely in javascript (.JSS)
- Includes support for,
- HTTP request/response and session
- JSON send/receive
- Server side XMLHttpRequest
- Web Service invocation
- File I/O
- Atom
- Read/write feed
- Relational database
- WSO2 Registry/Repository
- Open Social gadgets
A hello world server-side script looks as follows,
https://gist.github.com/1506790.js?file=HelloWorld.jss
and a HTML mixed, server page looks like,
https://gist.github.com/1514681.js?file=gistfile1.txt
For more information and samples you can visit Jaggery M1 Homepage, and stay tuned for more updates soon 🙂
Any specific reason to use Rhino instead of just using Node.js (which is the de facto for server-side JS and also utilizes the V8 engine)
LikeLike
Our plans for jaggery is to make it independent from the serverside JS runtime. We are in the process of doing that, and for the 1st cut we have used Rhino mainly because we have a strong ecosystem with Rhino from WSO2 Mashup Server (We already have a set of APIs to do certain serverside tasks, so it was a matter of reusing them).
LikeLike
http://vertx.io/ May be some competition.
LikeLike
not exactly, vertx is also again a server framework. Jaggery is a different creature, We are opening it to public soon on http://jaggeryjs.org also join to http://wso2.org/library/webinars/2012/05/wso2-product-release-webinar-introducing-jaggery-serverside-javascript-framework-composing-web-app/
LikeLike