PREFACE
xvi
and good JavaDocs, but it lacked a higher level of documentation. Claus is the author
of Camel in Action (Manning Publications, 2010), and he turned me on to the idea of
writing a similar book for Netty. I thought about the idea for a few weeks, and eventu-
ally I was sold. This is how Netty in Action got off the ground.
While writing Netty in Action, my involvement in the community continued to grow.
I eventually became the second most active contributor (after Trustin Lee) with over
1,000 commits. I found myself speaking about Netty at conferences and technical
meetups around the world. Eventually Netty opened another employment opportu-
nity at Apple Inc. where I am currently employed as a Senior Software Engineer on
the Cloud Infrastructure Engineering Team. I continue to work on Netty and make
regular contributions back to the community, while helping to drive the project.
N
ORMAN
M
AURER
C
LOUD
I
NFRASTRUCTURE
E
NGINEERING
, A
PPLE
My work as a Dell Services consultant at Harvard Pilgrim Health Care in Wellesley,
MA
,
has focused primarily on creating reusable infrastructure components. Our goal is to
expand the common code base in a way that not only benefits the software process in
general, but also relieves application developers of responsibility for plumbing code
that can be both pesky and mundane.
At one point it came to my attention that two related projects were working with
a third-party claims-processing system that supported only direct
TCP/IP
communi-
cations. One of the projects needed to reimplement in Java a somewhat under-
documented legacy
COBOL
module built on the vendor’s proprietary delimited format.
This module was ultimately replaced by the other project, which would use a more
recent
XML
-based interface to the same claims system (but still using straight sockets,
no
SOAP
!).
This seemed to me an ideal opportunity to develop a common
API
, and an interest-
ing one at that. I knew there would be stringent throughput and availability require-
ments and also that the design was still evolving. Clearly, the underlying networking
code had to be completely decoupled from the business logic in order to support
rapid cycles of iteration.
My research into high-performance networking frameworks for Java led me
straight to Netty. (The hypothetical project you’ll read about at the start of chapter 1
is pretty much taken from real life.) I soon became convinced that Netty’s approach,
using dynamically configurable encoders and decoders, was a perfect fit for our
needs: both projects would employ the same
API
, deployed with the handlers needed
for the specific data format in use. I became even more convinced when I discovered
that the vendor’s product was also based on Netty!
Just at that time I learned that the book Netty in Action I had been hoping for was
actually in the works. I read the early drafts and soon contacted Norman with ques-
tions and a few suggestions. In the course of our conversations, we spoke often about
Licensed to Thomas Snead <n.ordickan@gmail.com>