¿Es posible ejecutar un servidor Tomcat y algunas aplicaciones web en un dispositivo Android? (es decir, un comprimido)

El título lo dice todo, pero permítanme proporcionar algunos detalles más.

Lo que estamos tratando de lograr es construir una plataforma de servidor móvil. Ya tenemos una plataforma de servidor escrita en Java, que se ejecuta en un servidor Tomcat. Proporciona interfaces web y interfaces de servicios web a los clientes.

Este sistema fue construido, como la mayoría de las aplicaciones web, para realizar en una ubicación fija.

Ahora, tenemos que ser capaces de llevar los servicios web y software de servidor a lugares remotos, no conectados.

Nuestra idea es que usaremos una tableta Android con Wifi activado como servidor para los clientes locales del dispositivo. El servidor hará su cosa que funciona en la tableta para servir a clientes locales, después una vez que la tableta vuelve dentro de la gama de un 3G / 4G / EDGE o de cualquier red, la tableta elevará los datos recogidos a un servidor principal.

El número de clientes que pueden ser servidos es relativamente pequeño – no más de 20 o así a la vez. El volumen de tráfico sería pequeño en el rango <32K por segundo por cliente, y además el servidor web y las aplicaciones tienen una huella relativamente pequeña.

Si queríamos ir sobre la creación de este material en Android, en primer lugar, es incluso posible sin arraigar los dispositivos? En segundo lugar, si es posible se ejecuta con cualquier tipo de rendimiento decente?

¡Gracias por adelantado!

Puede intentar usar I-Jetty para ejecutar una aplicación web Java en Android. No necesitará hacer ningún enraizamiento, pero no pude encontrar ninguna información de rendimiento. Usted puede ser que apenas tenga que hacer su propio benchmarking para descubrir si satisfará sus necesidades.

La respuesta parece ser:

  • en teoría sí,
  • en la práctica es una mala idea y tienes algo de trabajo que hacer para que esto suceda.

Por ejemplo, lea este hilo de Grupos de Google .

En segundo lugar, si es posible se ejecuta con cualquier tipo de rendimiento decente?

Imposible decirlo, pero tengo mis dudas. Si buscas rendimiento (y simplicidad) deberías estar mirando una PC normal, IMO.

  1. Puedes usar Linux On Android App para ejecutar una VM Linux local e instalar Tomcat en ella, pero será muy limitada y probablemente necesitará una ROM personalizada que liberará la mayor cantidad de RAM posible para la VM.
  2. Puedes esperar por el Ubuntu oficial para Android y usarlo

Si mi declaración del problema es instalar el tomcat en androide, el siguiente sería mis soluciones posibles.

1_ Investigue la posible interacción del servidor tomcat con el SO subyacente.

En lo que a mí respecta de sus directorios de descarga, es bastante obvio que su interacción es mínima y podría posible ejecutar catalina.jar desde cualquier máquina capaz de ejecutar un jvm.

2_ Will dalvik vm apoya a Tomcat?

Lo más probable es que no. Pero primero instalaré Android en un dispositivo más potente (como mi computadora portátil) y luego intentaré ejecutar tomcat en el vm. Supongo que esto podría abrir una caja de pandora.

3_ ¿Investigar la virualización?

Esto podría ser una buena apuesta. Pero en un dispositivo de recursos limitados, como la tableta, esta solución parece insana.

Pero entonces no pude entender lo que te llevó a esta solución? ¿No podría almacenar información utilizando un módulo sqllite o implementar sus servicios web en REST y probablemente tenga un servidor como Tomcat Lite o Getty.

  • No se pueden serializar las fechas con ksoap2
  • ¿Cómo puedo recibir notificaciones múltiples usando GCM sin reemplazar la precedente?
  • ¿Hay una manera de verificar si los datos no se alteran durante el envío a un servicio web (utilizando la conexión HTTP)?
  • Aplicación de Android CursorWindow error de memoria
  • Bouncy Castle Keystore (BKS): java.io.IOException: Versión incorrecta del almacén de claves
  • Asegurar la comunicación desde Android a un servicio web
  • Bloquear usuarios no Android que llaman al servicio JSON
  • ¿Cómo funciona la sincronización de datos y cómo la uso en aplicaciones cliente-servidor?
  • Envío de SQLite db al servicio web
  • Creación de un WebService ASP.net que devuelve JSON en lugar de XML
  • Cuál es el papel de la clave de la aplicación y la clave secreta en cada SDK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.