On Wednesday May 30th, I attended the Bay Area Association of Database Developers public seminar. The seminar is organized with: social mingling, talk, and another social mingling. As with most public seminars, freebies are given away at the end to those who attend. I only attended the seminar and skipped the social mingling, as most people here left after the seminar. This seminar was presented by two people who built Alchemy WebSockets at Olivine Labs. Jack Lawson is a Web UI Developer and Drew Ditthardt is a Java backend and C# developer.

There are three new web technologies on the market today: HTML5, CSS3, and web sockets. Of particular interest are web sockets because they allow TCP connections to pass through HTTP ports, so they can be exposed to the Internet. Chrome, Firefox, and Internet Explorer are incorporating web sockets into their latest generation of web browsers for JavaScript applications. Web sockets model a publisher-subscriber model better than node.js and Comet (AJAX push, reverse AJAX, HTTP server push). Web sockets does not define any data transfer information protocol, so developers can implement JSON transfer, REST, or REST RPC as they choose. Security should be provided by exposing web sockets to the Apache or IIS server’s SSL layer.

Alchemy WebSockets is a server library that opens a TCP port and handles requests and responses using an event-driven model. The client end is very simple to open and use web sockets using built-in web browser support. Modernizr and web_socket.js allow Flash to implement web sockets in the browser if there is no built-in support.

The road map for web sockets is full support in the latest generation of web browsers. Microsoft .NET 4.5 Framework will have native support for web sockets. The developers of Alchemy, who created their web socket library before browser support existed, plan on continuing to support their product. One audience member asked if web sockets are immature technology, similar to HTML5, which have a knack for failing brilliantly.

In reflection to this talk, they showed some technologies that I did not know before. JSON and REST are very popular today. I also should refresh my understanding of the Mediator design pattern.