Apache MINA - LinkFang.de





Apache MINA


Apache MINA
Entwickler Apache Software Foundation
Aktuelle Version 2.0.13
(16. Februar 2016)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Netzwerkkommunikationsframework
Lizenz Apache Lizenz 2.0
mina.apache.org

Apache MINA ist ein freies Java Framework für Netzwerkkommunikation. Es stellt eine ereignisbasierte Programmierschnittstelle für asynchrone Kommunikation über Transportprotokolle wie TCP/IP and UDP/IP und Java NIO zur Verfügung.

MINA ist ein Akronym für Multipurpose Infrastructure for Network Applications.[1]

Funktionsweise

Apache MINA ist primär eine technologieunabhängige Programmierschnittstelle für verschiedene Netzwerkprotokolle. Diese können über ByteBuffers, StreamIoHandler oder benutzerdefinierte Message Objekte und Codecs angesprochen werden. Die mitgelieferten Protokolle sind:

Darüber hinaus können eigene Protokolle implementiert werden. Die Netzwerkkommunikation kann single-threaded oder durch konfigurierbare Thread-Pools abgewickelt werden.[2]

Apache MINA bietet Unterstützung für die Absicherung von Überlast, Bandbreitenkontrolle, Unit-Testen über Mock-Objekte, Management und Überwachung via Java Management Extensions sowie Integrationen mit den Dependency Injection Frameworks PicoContainer und Spring.[2]

Apache Camel kann als Routing und Konvertierungs-Engine für Apache MINA verwendet werden.

Geschichte

Apache MINA basiert auf dem im Juni 2004 von Trustin Lee erstmals veröffentlichten Netzwerk Framework "Netty2". Es war das erste entsprechende Java Framework, welches auf einer ereignisbasierten Architektur aufbaute, hatte allerdings Schwierigkeiten mit Text-Protokollen und architektonische Fehler, die seinen Einsatz in massiv parallelen Systemen verhinderte.

Alex Karasulu vom Apache Directory Team arbeitete zur gleichen Zeit selbst an einem Netzwerk-Framework und wurde auf Netty2 aufmerksam. Er konnte Trustin Lee zur Zusammenarbeit an einem neuen Netzwerk Framework für das Apache Directory Projekt bewegen. Im September 2004 wurde basierend auf einer Mischung aus den Architekturen der beiden Frameworks die Grundlage für Apache MINA geschaffen.

Seit damals ist Apache MINA das primäre Netzwerk Framework des Apache Directory Projektes für diverse Protokolle des Apache Directory Servers – u. a. LDAP, Kerberos, DNS and NTP.[3]

Alternativen

Neben der direkten Verwendung der Java-Programmierschnittstellen für NIO, Socket und TCP/IP- und UDP/IP-Kommunikation gibt es noch folgende alternative Frameworks zur Netzwerkkommunikation in Java:

  • Grizzly
  • Netty 4
  • QuickServer
  • xSocket

Einzelnachweise

  1. FAQ – What does MINA mean? Abgerufen am 5. Juni 2013.
  2. 2,0 2,1 Trustin Lee: Apache MINA Features. Apache Software Foundation, 24. Juli 2007, abgerufen am 8. März 2016 (englisch).
  3. Trustin Lee: Genesis of MINA. Apache Software Foundation, 30. Januar 2007, abgerufen am 8. März 2016 (englisch).

Kategorien: Apache-Projekt | Java-Bibliothek | Java-Programmierschnittstelle

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Apache MINA (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.