Apache MINA is one of the best available NIO Frameworks for creating scalable Server applications in Java. Its fun to create applications using MINA.
Lets have a look how the application architecture looks like
IO service - The API's at this level are responsible for performing actual IO operation over the network
IO Filters - Filters are the mechanism by which MINA lets a User plugin its code to manipulate the byte stream from the network. Filters are arranged in Filter chain and are called by MINA in the order in which they are present. Filters are mainly used for transforming byte stream into high level objects.
IO Handler - IO Handler is the heart of application logic. Here is where the whole application logic is concentrated.
MINA is JMX enabled, hence Filters can be dynamically added/removed from the Filter chain.
The framework comes with samples. Please feel free to try them out.