visualizar visor start servlet instalar descarga como asociar archivos archivo abrir abre java java-web-start

java - visor - no abre archivos jnlp



¿Objeciones contra Java Webstart? (6)

En mi compañía utilizamos Java Web Start para implementar aplicaciones Eclipse RCP. Fue difícil configurarlo, pero funciona muy bien una vez en el lugar. Entonces, la única recomendación que puedo hacer es comenzar de a poco, ponerle el truco. Implementando una aplicación simple primero. Tratar de implementar un producto completo que ya está hecho sin experiencia con JWS se complica bastante rápido.

Además, aprender cómo pasar argumentos a la aplicación JWS fue invaluable para la depuración. Configuración de la variable de entorno JAVAWS_VM_ARGS permite establecer cualquier propiedad arbitraria en la máquina virtual de Java. En mi caso:

-Xdebug -Xnoagent -Xrunjdwp: transport = dt_socket, server = y, suspend = y, address = 4144

Útil cuando necesita verificar problemas durante la puesta en marcha (suspender = y)

Creo que el principal problema para la aceptación de Java Web Start es que es relativamente difícil de configurar. Además, de alguna manera existe esta disonancia: cuando tienes una aplicación de escritorio, las personas esperan un instalador en el que puedan hacer doble clic. Cuando tienes una aplicación web, la gente espera poder usarla directamente desde el navegador. Java Web Start tampoco está aquí, no está allí ...

Sin embargo, es ampliamente utilizado en intranets.

Desde el lanzamiento de Adobe AIR, me pregunto por qué Java Web Start no ha ganado más atención en el pasado, ya que a mí me parece muy similar, pero el inicio web está disponible por mucho más tiempo.

¿Se debe principalmente a un mal marketing de Sun o hay más problemas técnicos que la necesidad de tener instalada la JVM correcta? ¿Tiene malas experiencias al usar Web Start? Si es así, ¿cuál? ¿Cuáles son sus recomendaciones cuando utiliza Web Start para distribuir aplicaciones?


Hice un proyecto una vez en JWS y fue un dolor correr. Peor aún, ni siquiera estaba lidiando con Internet, era una aplicación pequeña que solo unas pocas personas en mi oficina iban a usar. Levanté mis manos con disgusto más de una vez mientras configuraba el servidor y les ayudaba a configurar la aplicación en las máquinas del cliente.

Creo que AIR ahora se está volviendo más popular (aunque nunca sé hasta dónde llegará) porque tiene aplicaciones que la gente realmente quiere usar (nombre su aplicación JWS favorita ... adelante, estoy esperando) como twhirl . Todavía no soy un gran admirador de la forma en que AIR funciona, pero es muchísimo mejor que JWS.


Trabajo en la intranet de un banco desde hace 5 años, y mi departamento ha desarrollado y distribuido MUCHAS aplicaciones Java Web Start que se utilizan en todo el mundo, creo que Java Web Start tiene lo mejor de las aplicaciones de escritorio (fácil desarrollo, interfaz de usuario enriquecida, potencia de procesamiento en la máquina cliente) y las aplicaciones de Internet (implementación y actualización sencillas).

Me gusta mucho Java Web Start


Aquí hay una lista de mindprob :

  • Las aplicaciones Java Web Start son extremadamente lentas para comenzar. El monitor carga una JVM nueva para sí misma y para cada aplicación. Las aplicaciones siempre revisan en la web las actualizaciones, descargando y procesando un nuevo archivo JNLP completo, en lugar de simplemente verificar su fecha. Sin embargo, si demora aproximadamente 80 segundos en buscar una nueva versión, significa que probablemente tenga problemas con un servidor proxy. Inicie javaws.exe y haga clic en editar ⇒ Preferencias ⇒ Configuración de red ⇒ Directo. No desea que JWS intente utilizar el proxy de Google Accelerator. También verifique en IE, haga clic en Herramientas ⇒ Opciones de Internet ⇒ Conexiones ⇒ Configuración LAN y asegúrese de que todo sea como esperaba.
  • Las actualizaciones tardan tanto como descargarse como la aplicación original. Casi no se ha aplicado ninguna habilidad para hacer que las actualizaciones sean compactas.
  • Requiere un código personalizado que se ejecuta en el ISP para servir adecuadamente los archivos de jardiff o para usar la hipercompresión que viene en pack200.
  • No ha cambiado mucho desde su lanzamiento inicial. Puede ser otro producto huérfano. No merece ser. Sin embargo, Sun ha lanzado una nueva versión beta 1.2 después de aproximadamente un año de que no ocurra nada, y se ha integrado en el JRE, por lo que veremos si vuelve a ganar impulso. Hay algunos problemas importantes que han ignorado, como el certificado que se esconde detrás de la pantalla de bienvenida y que requieren autorización para cada jar por separado. Incluso si es huérfano no pasará nada malo. A menos que escriba aplicaciones JWS sin firmar y use el entorno limitado JWS, sus aplicaciones JWS se ejecutarán de manera independiente.
  • Requiere una configuración especial del tipo JNLP MIME tanto en el ISP como en el navegador del cliente. Ninguno de estos está bajo el control directo del desarrollador.
  • Si tiene una actualización urgente, no puede forzarla a instalar antes de que la aplicación vuelva a ejecutarse.
  • Necesita un esquema rígido para asignar espacio en el disco duro en la máquina del cliente que tiene las siguientes propiedades:
    • Los nombres de los directorios asignados deben evitar conflictos de nombres con otros proveedores. Deben incorporar el nombre del paquete principal de la aplicación.
    • Los nombres deben ser significativos para el usuario final. Deben ser algo que pueda recordar, encontrar y escribir cuando necesite encontrar archivos con herramientas de escritorio.
    • El esquema debe proporcionar un lugar tanto para los archivos por usuario como por aplicación.
    • Un programa debería funcionar en cualquier plataforma sin modificaciones para tratar de encontrar sus archivos.

Mi experiencia:
Lo utilicé en 2006, aplicación de intranet para un banco.

La primera descarga estaba bien, sin embargo, cuando se quería lanzar una nueva versión, el almacenamiento en caché de los archivos jar no funcionaba, por lo que los nuevos archivos no se enviaban al cliente.

Pasé una semana tratando de arreglar esto sin éxito.


Java Web Start es la forma correcta de iniciar aplicaciones Java más grandes porque permite una fácil actualización e instalación / descarga de la aplicación y permite una mejor UI / UX que los applets de Java.

Sin embargo , existen algunas barreras para lanzar aplicaciones Java Web Start desde una página web utilizando navegadores comunes con configuraciones predeterminadas:

  1. Sun / Oracle no pudo crear una integración del navegador en funcionamiento. Ver http://crbug.com/10877 por ejemplo sobre Google Chrome / Chromium. Básicamente, el complemento de Java no puede implementar las cosas necesarias de NPAPI para que Firefox y Chrome reenvíen confiablemente la application/x-java-jnlp-file tipo MIME application/x-java-jnlp-file a javaws / javaws.exe binary.

  2. Sun / Oracle no pudo obtener un tipo MIME registrado real para los archivos .jnlp Java Web Start. El prefijo application/x- significa técnico o privado.

  3. Sun / Oracle no pudo usar el esquema de URL en lugar del tipo MIME cuando la intención es que Java Web Start maneje la descarga y el inicio de la aplicación. Por ejemplo, si en lugar de usar una URL como https://example.com/app/launch.jnlp se iniciara Java Web Start como javaws://example.com/app/launch.jnlp cosas funcionarían mucho mejor. Esto se debe a que en este caso, el navegador web no necesita ni siquiera cargar el archivo .jnlp , simplemente pasa la URL completa al manejador de esquema (que sería el binario de javaws ).

Observe la parte que se repite (" Sun / Oracle failed ... ") y ya no necesita preguntarse por qué Java Web Start nunca tuvo mucha tracción. La gran parte que falta es obtener un enlace de página web para iniciar confiablemente el binario de javaws con el archivo .jnlp dado. Eso debería ser técnicamente muy fácil (solo registre un nuevo esquema de URL cuando el binario javaws esté instalado), pero Sun / Oracle no lo hizo. Personalmente creo que todo el lío fue causado por tratar de meterse con el tipo MIME en lugar de simplemente usar un nuevo esquema de URL. E incluso las cosas tipo MIME se hicieron realmente mal, por gritar en voz alta.

Si aún desea usar Java Web Start, simplemente prepare una buena documentación para configurar correctamente el navegador para solucionar el problema dejado por Sun / Oracle. Lo bueno es que solo se debe hacer una vez y funcionará para cualquier sitio que use Java Web start. La parte mala es que generalmente el navegador nunca ha sido configurado para hacer lo correcto con los archivos .jnlp y usted tiene la culpa de usar "tecnología difícil de usar" porque los usuarios no quieren configurar sus navegadores solo para usar su aplicación. ¿Mencioné que fue Sun / Oracle que no configuró el navegador automáticamente?