Useful tools for JBoss Netty
At ESN, we’re avid users of the Java networking library, JBoss Netty. It sports a really well-designed API for working with non-blocking I/O and great performance! Written by Trustin Lee of the Apache MINA fame.
Our real-time push server, Orbit, is written in Java and based on aforementioned library. Orbit is used both in our real-time Planet framework and in Beacon, our cloud hosted push service. For supporting the latest in HTML 5 development it naturally supports both Comet and Web Sockets as transport alternatives.
During the months of developing Orbit, a couple well-known standards and protocols was implemented. HTTP, Web Sockets and Thrift being the most used. However, after finishing and stabilizing these it felt a bit immoral to keep this closed source. Especially since we use a lot of open-source software ourselves.
Giving back
Most of what could be re-used was extracted out of our real-time push server and put up on GitHub. Licensed under the liberal MIT license and will hopefully come to good use.
Right now it features:
- HTTP File Server
- HTTP Cache
- HTTP Router
- Bandwidth meter
- Asynchronous Web Socket client
- Thrift processor
More details can be found in the netty-tools repository on GitHub.
Despite us trying to minimize the use of Java, we still use it for certain projects. The performance and tools available make it very hard to resist sometimes. However, we try limit the use of it to infrastructural projects with well defined responsibilities, such as back-end servers or IDE development.
Our goal of sharing and open-sourcing as much ESN technology as possible has started. Keep your eyes open for more!
-
http://genericwpthemes.com WP Themes
-
James Todd
-
accesine