Apache MINA (Multipurpose Infrastructure for Network Application) is an open source java network application framework. MINA is can be used to create Scalable, high performance Network applications. MINA provides unified API's for various transports like TCP, UDP, Serial communication, In-VM pipe. It also makes it easy to make an implementation of custom transport type. MINA provides both high-level and low-level network API's.
From the figure above, User application interacts with MINA API's, shielding the User application from Low level IO details. MINA internally uses IO API's to perform the actual IO functions. This makes it easy for the Users to concentrate on Application logic and leave the IO handling to Apache MINA.
Advantages (From the Apache MINA Home page)
- Unified API's for various transports (TCP/UDP etc)
- Provides high/low level API's
- Customizable Thread Model
- Easy Unit Testing using MockObjects
- Integration with DI frameworks like Spring, Google Guice, picocontainer
- JMX Manageability
- Home Page of Apache MINA