Translate

Mostrando las entradas con la etiqueta Apache Mina. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Apache Mina. Mostrar todas las entradas

viernes, 3 de febrero de 2012

Apache MINA


Apache MINA es un Framework de aplicación de red que ayuda a los usuarios a desarrollar aplicaciones con un alto rendimiento y alta escalabilidad fácilmente. Este framework provee una API asincrona sobre varios protocolos como TCP/IP y UDP/IP a gracia a Java NIO. Con lo que se puede hacer Comet muy fácilmente. 

Las APIs NIO se introdujeron en Java 1.4 y son utilizadas desde entonces por un gran número de aplicaciones. Las APIs NIO permiten operaciones de IO sin bloquear sin bloquear el procesamiento con esto.

Mina es un framework de aplicación de red simple, pero con todas estas funcionalidades:
  • Unifica la API para distintos tipos de transporte: TCP / IP y UDP / IP a través de Java NIO
  • Comunicación serie (RS232) a través de RXTX
  • Interfaz de filtro como un punto de extensión, similar a los filtros de Servlet
  • API de bajo nivel y de alto nivel: De bajo nivel: usos ByteBuffers, De Alto Nivel: definidos por el usuario utiliza objetos de los mensajes y códecs.
  • Manejo de hilos modificable: u solo hilo o un grupo de subprocesos, más de mil grupos de subprocesos (es decir, SEDA)
  • Sobrecarga de protección y limitación del tráfico
  • Unidad de capacidad de prueba y los objetos mock
  • Se puede administrar con JMX
  • Basada en Stream  I/O soportado vía StreamIoHandler
  • Integración con contenedores conocidos como PicoContainer y Spring
Esta bajo licencia Apache 2. 


domingo, 30 de octubre de 2011

Apache Mina y Apache AsyncWeb

Mediante una serie de técnicas llamadas Comet, puedes hacer una aplicación que envíe datos al usuario en tiempo real; es decir, que el navegador mantenga la conexión siempre abierta y reciba continuamente nuevos datos cuando los haya. Para servidores y aplicaciones clásicas que no estén preparadas para mantener muchas conexiones, la forma más sencilla es solicitar desde el navegador un cada X segundos nueva información (polling). Si tenemos muchos usuarios a la vez abriendo conexiones y haciendo peticiones a la BD nos encontramos con que nuestro servidor no da más de sí y deja de atender peticiones. Un ejemplo de polling clásico sería realizar peticiones mediante AJAX a un script PHP que devuelve nuevos datos en JSON cada 3 segundos y actualiza la tabla de novedades.

En el desarrollo web, Comet es un neologismo para describir un modelo de aplicación web en el que una petición HTTP mantenida abierta permite a un servidor web enviar datos a un navegador por Tecnología Push, sin que el navegador los solicite explícitamente. Comet es un término paraguas de múltiples técnicas para conseguir esta interacción. Todos estos métodos confían en características incluidas por defecto en navegadores, como JavaScript, en lugar de sobre plugins no disponibles por defecto. Existen frameworks en java que nos permiten hacer coment tenemos a Netty de Jboss, Atmosphere y Apache Mina.

Vamos a ver como funciona y nos permiten hacer coment Apache Mina. Apache Mina es un framework que nos permite hacer aplicaciones escalables y performantes basadas en network. Este framework provee una api asincrona para varios tipos de transportes y protocolos tcp/ip o UDP/ip via Java Nio.

Apache AsyncWeb que es parte de Apache Mina, rompe con la forma petición-respuesta de los servidores webs más usados. Esto le permite ser altamente escalable y capaz de soportar un rendimiento muy alto incluso en escenarios de alto procesamiento de latencia.
Una Api simple permite crear fácilmente servicios asincronos y integración con spring permite una configuración simple con gran flexibilidad. AsyncWeb permite también aplicar filtros a todas las requests.

Dejo links:
http://mina.apache.org/
http://mina.apache.org/asyncweb/