There was an informal poll conducted about what technologies web developers thought would be relevant in 5 years. This is a tough one because things change quickly on the web. However I noticed a number of developers thinking that nodejs would be around. To tell you the truth, I had no idea with nodejs was. I need to get in touch with modern web development quick.

Nodejs is evented input/output for JavaScript. It makes it easier to build network programs that scale. The node program runs the JavaScript. It sleeps until the operating system alerts it that it has work to do. The node uses a small amount of memory per connection. There is not a new thread created for every connection.

This is similar to the Ruby Event Machine or Python's Twisted. I am planning to learn JavaScript from a college class in the upcoming semester. Perhaps after that I can appreciate what nodejs has to offer.

Cloud Computing the Microsoft Way

So how do you migrate your applications to the cloud? Well you have to start with security. Your app has to work with a Secure Token Service (STS). The user enters authentication as a claim. The STS gives the user a token which is presented to the application. The token is in the Security Assertions Markup Language (SAML). Your app has to trust the STS. Then you are ready for business.

Next up you need to move your database to the cloud. Microsoft has SQL Azure. This is a scaled down version of SQL Server 2008. Make sure you app works with SQL Server 2008 first. Then review whether all the features you use are supported by SQL Azure. Beware that your connections to the database will be throttled. You got to dump the designs which connect to the database and hold the connection for the life of your app.

These are a few tips to get you started. Personally I have stayed away from cloud computing. The system I work on is complex enough with having to add another layer of trouble to it.

The End of UML

You don't hear much about the Unified Modeling Language any more. Perhaps it is stable. Or maybe it has become obsolete. Code generation and diagramming has become passe.

I am fine with this. Personally I like coding more than drawing pictures. That does not mean that design itself has been thrown out. Just the previous craze of using tools to draw diagrams.

Guess what? I can't remember the last time I opened up Rational Rose and did any design work with it. And I also don't recall the last time I sketched out a UML diagram for a developer to see. Oh well. Easy come easy go.