SPA Conference session: NodeJS and MongoDB: not all sweetness and light

One-line description:An exploration of the negatives in moving to these technologies
Session format: Tutorial-ish [read about the different session types]
Abstract:Node JS and MongoDB are all the rage: asynchronous code makes for http servers that are fast and not burdened with thread-safety considerations. A culture of lightweight plugin modules makes it possible to add just the libraries you need. The NoSQLdatabase runs even faster. There's no XML in sight. For a refugee from big-iron Tomcat/Java/Oracle, what's not to like?

This tutorial will focus on the presenter's experience of the downside of moving from the Tomcat/Java/Oracle world to Node JS and MongoDB, and present the best solutions we've found.


- code structure in Javascript. Pros and cons of classes and closures
- weak typing and IDE support
- error handling when you can't just throw exceptions (but you might)
- programming with promises
- libraries for parallel processing
- queries without join
- http without transactions.

The intent of the session is to appeal to both those working in Node JS, and to those thinking about it. I hope that for each topic, those already working in Node JS will chip in with their experiences and preferred solutions for these topics. For those still thinking about Node, this session should raise awareness of the architectural issues they'll need to confront.
Audience background:Some experience of Javascript and/or Node would help, but an experience Java server developer should be able to gain an appreciation of what life is like in the new world.
Benefits of participating:Understand what makes Node JS more difficult than Java.

Understand and share techniques for mitigating the problems.
Materials provided:Code examples.
Process:75 minutes of me talking about stuff. Most of this will be presenting example chunks of code on the screen: it will be not unlike a code review.

For each topic, I'll allow time for others to talk about the same stuff.
Detailed timetable:00:00 Intro
00:05 Topics (five or six at ten-fifteen minutes each)
00:75 End
Outputs:Web page with the code and a summary of other stuff that came up.
History:This presentation hasn't been made before.
1. Dave Cleal
2. 3.