Apache MINA 0.9 Released: A Network Application Framework

Discussions

News: Apache MINA 0.9 Released: A Network Application Framework

  1. The Apache Directory team has announced the release of MINA, a network application framework, version 0.9.

    Apache MINA (Multipurpose Infrastructure for Network Applications) is a network application framework which helps users develop network applications easily by providing abstractions of network and protocol I/O layers.

    The MINA project website includes resources such as an introductory presentation (PPT (with animations) or PDF (without animations)) and an implementation demo movie. Additionally, 6 examples are provided to help you learn MINA even under serious time constraint.

    Feature List:
    • Abstract API which supports various transport types (TCP and UDP)
    • Very easy to learn
    • Unit test friendly
    • Extensible architecture
    • In-VM pipe communication
    • Built-in leader-followers thread pool
    • Support for SSL/TLS including StartTLS
    • Support for text-based protocols
    • Support for stream-based I/O
    Changes since 0.8.x:
    • Revamped the overall API reflecting user feedback
    • More utility classes and methods
    • Support for StartTLS
    • Out-of-the-box protocol codecs which helps rapid implementation:
      • Object serialization codec
      • Text line codec
    • A user can specify the number of NIO Selector threads, which can improve the performance when running on a multi-processor machine.
    The Apache Directory project team is always open for your feedback. Please let us know what you think about MINA.

    Threaded Messages (13)

  2. Yawn![ Go to top ]

    .
  3. Very cool API . Make short work of the NIO learning curve.

    Make NIO almost fool-proof!
  4. ACE/Tao has existed for many years,nothing is new.
  5. ACE/Tao has existed for many years[ Go to top ]

    ACE/Tao has existed for many years,nothing is new.

    What's your point? That we shouldn't have the ACE/Tao patterns for Java because they are not new? Or is it that they are less cool or useful because they are not new?
  6. ACE/Tao has existed for many years,nothing is new.

    IMHO, ACE has steeper learning curve than MINA has. MINA is modelled after ACE (C++) and Netty2 (Java, I created it). I extracted most commonly used constructs from ACE to simplify network application development.

    People says ACE is the best solution for network application development. It might be true for C++, but it is false if you program something in Java. MINA is *the* framework even if it is not new. I think 'what's new' is not the point at all.

    The whole difference exists in the design of API. Comparing to ACE, I'd like to say MINA provides simple and elegant API which is very optimized for network application programming.

    HTH,
    Trustin
  7. http://directory.apache.org/subprojects/network/testimonials.html
  8. You can control read/write traffic now, but traffic shaper is under development yet.
  9. Great framework![ Go to top ]

    MINA is a great network application framework which also benefits from Java's high reusablity features. It's cool to add any IoFilter at run time to do neat additions to the system like logging, threading, etc. I think it's THE Network Application Framework. Go MINA!
  10. Great framework![ Go to top ]

    You may just compare

    http://directory.apache.org/subprojects/network/xref-examples/org/apache/mina/examples/echoserver/package-summary.html

    to

    http://directory.apache.org/subprojects/network/xref-examples/org/apache/mina/examples/echoserver/package-summary.html
    and
    http://www.onjava.com/pub/a/onjava/2004/11/03/ssl-nio.html
    !
  11. very easy indeed[ Go to top ]

    Mina has indeed a very easy and very elegant API
    and we are truly satisfied with its performance.
    I didn't have any NIO experience before using MINA,
    and actually I still don't.
    It justs works and that's good enough for me.

    Congratulations to Trustin and Niklas.

    Maarten
  12. Easy to implement[ Go to top ]

    I'm building a new genericized, java.util.concurrentized and enumerated SMPP traffic library, which I plugged into MINA after reading this article. Didn't take very many minutes, and it works fairly well already.

    The only gripe I have is that the demuxer decoder methods should be more clearly documented, as I couldn't get them to work. Identical code in ProcolDecoderAdapter.decode worked while it failed in MessageDecoder.decode.

    Naming MINA's ByteBuffer identically to NIO's ByteBuffer might be a teeny bit confusing for maintenance programmers, especially as MINA's ByteBuffer doesn't implement quite ALL of the NIO methods, while implementing most of them.

    But, good job.
  13. Last time i tried MINA which was about a month ago, it only worked for Java 5. Is this still true for this 0.9 release?

    Regards,

    Saqib
  14. It should work with JDK 1.4 unless you're using SSLFilter.

    If not, it's bug, and we're ready to fix it. Please get involved and let us know! :)