The Running Node.JS Application on a Nodester
I am still working on putting up a full application for the tutorial. Also I will try the same application on Nodejitsu, CloudFoundry and Heroku.
The following are the basic steps for working with Nodester. It is very similiar to all the other command-line PaaS interfaces. I am running this on
Windows, but it will work in most environments.
npm install nodester-cli -g nodester user setup <username> <password> nodester user setkey c:.sshid_rsa.pub nodester app create <appname> nodester app init <appname> nodester npm install express nodester npm install mongoose nodester npm install socket.io git add . git commit -am "Ready to deploy" git push nodester master nodester app info nodester app stop|start|restart nodester app logs
For nodester they push to master for Nodester to get a new build.
Log into your Application List Page on the Administration Site for Nodester and you will see your newly added Application. Nodester has a good help system that will be useful to you while learning. The git commands are standard GIT which makes using all the cloud systems pretty similiar.
After uploading, I check the logs for errors:
nodester app logs nodester info Showing logs for: rollerderby New PID: 18884 chroot_runner chroot_runner Spawing /app/server.js Running node v-0.8.1 :: nodester :: App listening on port 19885 nodester info ok!
I used there out of the box example and added a connection to my test mongo db database at MongoLab.
Restful API with Node.js and Mongodb + Expresss & Mongoose
With the excellent STS inside Eclipse, this gives Groovy and Java a great IDE for development, testing and debugging. And that is something that is lacking for Node.JS. Node.JS has a few tools out there, but nothing open source, free, full of awesome mature plugins (PMD, Checkstyle, GIT, Maven, JUnit, FindBugs, …) and just plain easy to use. Eclipse also has plugins for working with CloudFoundry, Heroku, OpenShift and other Cloud environments.
Between Grails and Roo, I really like the fact that I can remove Roo at anytime and still have a fully functionally application setup that utilizes standard Spring tools. It’s also easier to add other cool Spring projects like Spring Social, Spring Mobile, Spring Data and more.
Both Grails and Roo support MongoDB very well and that’s great too see. I have a few Mongo DB instances on MongoLab, MongoHQ and OpenShift. These services all have great free developer services that are great for learning, prototyping and for tutorials. I am really loving Heroku and OpenShift. It’s hard to pick one, so I didn’t. I use them both.
Vert.x + Groovy is really cool, but again not much IDE support, tools or extra libraries. It should grow start building support now, but competition with Node.JS is pretty fierce.
Interesting, Roo vs Grails Jobs.
But if you look at just Spring (which Roo is just a tool to help with a Spring project):
There’s also some great documentation, tutorials and books on Groovy/Grails since it’s been out for a while: http://grails.org/Tutorials http://www.infoq.com/minibooks/grails-getting-started On the other hand, Roo is newer, but since it generates standard Spring + Java, you are really just getting a good head start on your project.
Heroku has a nice article on using both with their awesome platform: https://devcenter.heroku.com/articles/grails and https://devcenter.heroku.com/articles/spring-mvc-hibernate.
I will post a Github repository of some samples soon.
Mobilize Your MongoDB
MongoDB with Morphia
VMWare Player for Cloud Foundry
JBOSS + MongoDB Quick Start
MongoDB + Java Tutorial on OpenShift
MongoDB Driver for Java (JavaDocs)
MongoDB + Android Part 1 + PaaS
Spatial MongoDB in OpenShift
Geospatial Indexing in Mongo
MongoDB Shell on OpenShift
MongoMonitoringService (MMS) on OpenShift PaaS
MongoDB Native Driver for Node.js
BinaryJSON (Primary Data Representation for MongoDB)
SQL to MongoDB Mapping Chart
Webinar: Zero to MongoDB Intro for MongoDB with Java
Slides and Videos
MongoDB + Java
MongoDB + Hadoop
ORM Node.JS for MongoDB
New MongoDB Docs
RHC / OpenShift Starting