Node.js is getting a lot of attention from web developers and has had an amazing adoption among startups and tech companies.In my company bouvet , we haven’t yet had much enquiries from customers on Node.js, but I am sure it is not far away.
I was therefore not surprised when fellow sapmentor Dick Hirsch asked the all important question:
Here are a few relevant frameworks:
The most active and mature of these, appear to be Ringojs (though I am no expert in this area at all).
Update 22.10: The project is now shared in Github https://github.com/elsewhat/nwcloud-ringojs
Deploying a Ringojs app to SAP NetWeaver Cloud is very simple. This because it has a project template for Java Web applications (tailored for Google App Engine). If you want to learn more about how ringo.js is integrated with the web container, see the JsgiServlet class.
Download the ringo.js 0.8 binaries from http://ringojs.org/download and unzip to a local folder
Open a command prompt and go to the bin subfolder of ringojs.
Run the command
ringo-admin create --google-appengine /path/to/appdir
/path/to/appdir can for example be C:\DEV\temp\RingoJSNeo
Start eclipse (with SAP NetWeaver Cloud SDK installed)
Create new dynamic web project with name RingoJSNeo and use default settings.
For me the path of the project on the files system is C:\DEV\workspace_neo\RingoJSNeo\WebContent\WEB-INF
Copy files from the ringojs-created project, to the web project in eclipse.
All files from C:\DEV\temp\RingoJSNeo\WEB-INF should be copied to C:\DEV\workspace_neo\RingoJSNeo\WebContent\WEB-INF
You can overwrite the web.xml without problems (although normally you would merge the files).
Eclipse will indicate a lot of errors in .js files, but you can safely ignore them.
This is how your project will look now:
(on the right you see the main.js that will be executed when an end-user access the web solution)
Open http://localhost:8080/RingoJSNeo in your browser and you should see this screen
The Java Virtual Machine is a very flexible piece of software and with SAP NetWeaver Cloud you can fully utilize this.