blob: ca7bb301f08e18d659837442ac8be5c9cec6d9ac [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<author email="trustin@apache.org">Trustin Lee</author>
<title>Features</title>
</properties>
<body>
<section name="Features">
<p>
MINA is a simple yet full-featured network application framework
which provides:
<ul>
<li>Unified API for various transport types:
<ul>
<li>TCP/IP</li>
<li>UDP/IP</li>
<li>In-VM pipe communication</li>
<li>You can implement your own!</li>
</ul></li>
<li>Low-level and high-level API:
<ul>
<li>Low-level: uses ByteBuffers</li>
<li>High-level: uses user-defined message objects and codecs</li>
</ul></li>
<li>Stream-based I/O support via <code>StreamIoHandler</code></li>
<li>Filter interface as an extension point; similar to <a href="http://java.sun.com/products/servlet/Filters.html">Servlet filters</a>
<ul>
<li>SSL support via <code>SSLFilter</code> thanks to Java 5 <code>SSLEngine</code></li>
<li>Thread pools are implemented as filters so that users can customize thread model.</li>
</ul></li>
<li>Unit testability using <a href="http://www.mockobjects.com/">mock objects</a>,</li>
<li>JMX managability, (coming soon)</li>
<li>Traffic throttling, (coming soon)</li>
<li>Overload shielding, (coming soon)</li>
<li>Integration with well known containers such as Spring
and OSGi, (coming soon)</li>
<li>Smooth migration from Netty, a popular NIO framework.
(See <a href="http://gleamynode.net/dev/tl-netty2-example-sumup/docs/">Netty Tutorial</a>)</li>
</ul>
</p>
</section>
</body>
</document>