¿Encapsular una aplicación es posible?

Buenas, en el trabajo tenemos una aplicación web que corre en un cliente firefox portable, es antigua y necesita java 6, y constantemente tenemos problemas con los clientes porque se les actualiza al 8 deja de funcionarles...
¿sabéis si sería posible "encapsular" de algún modo una aplicación para que se ejecute en su propia versión de java, aislado de las llamadas a las versiones que pueda tener el SO anfitrión? me imagino que algo rollo máquina virtual, pero sería interesante si existiese algún modo de "aislar" una app del OS,. [beer]
Creo (y ojo digo creo porque hablo muy de memoria) que podrias poner la version de java requerida descargada en una carpeta de la aplicacion y luego llamarla en plan asi

/Aplicacion/java6/java.exe  -jar /Aplicacion/aplicacion.jar 


Es un ejemplo si la aplicacion fuera un .jar

Diria que eso funcionaria, tendrías que crear un fichero para que lanzase ese comando y seria lo mas parecido a encapsular que quieres...
Si, es posible, mientras que lo que estes ejecutando sea un .jar es tan facil como crearte un archivo .bat/.cmd/.sh (si estas ejecutando el programa en linux).

En el caso de un .bat haz lo siguiente:

1. Create una carpeta y mete el .jar dentro
2. Descarga la version de JDK que corresponda (En tu caso la 6) y tambien la metes en la misma carpeta
3. Creas un archivo .txt tambien en esa misma carpeta y escribes lo siguiente dentro:

############## SCRIPT PARA EJECUCION SERVICIO WEB JAVA 6 ####################
cd ./carpeta_jdk_6/bin
java.exe -jar ../../nombre_del_jar.jar

Por ejemplo podria quedar asi:

cd ./jdk-6.0.2.1/bin
java.exe -jar ../../miApp.jar

Despues de poner eso, guardas y cambias la extension de .txt a .bat.

El comando "cd" se utiliza para moverte a esa ruta, que es relativa a donde se encuentre el .bat alojado, de ahi que los 3 archivos tengan que estar dentro de la misma carpeta.

Luego lo que haces es llamar al java.exe de dentro del jdk 6 y que ejecute tu .jar que esta dos carpetas mas hacia arriba, de ahi el "../../".

La estructura de carpetas que te debe quedar es

CarpetaGeneral
|
---------------------------- jdk-6.0.2.1
|
---------------------------- miApp.jar
|
---------------------------- script.bat

Ahora cada vez que quieras ejecutarlo das doble click sobre el .bat y listo.

Si quieres algo mas profesional te aconsejo que mires que es Docker y para que sirve, te vendria bien, aunque no se hasta que punto eres desarrollador y probablemente te baste con lo dicho.
Gracias por los mensajes!
Realmente el java se ejecuta desde una versión del Firefox Portable, de desarrollo no sé mucho, estudié ASI y vimos poco de programación y tampoco me dediqué nunca a ello, sí que hay compis de ciclo que acabaron siendo desarrolladores.

Lo del script solucionaría varias cosas, como que los clientes actualizan el java del OS y se rompe el invento, con un script ya llamaría al java con la versión "correcta" para la que fué programada.

Aunque el problema de raíz es que debería funcionar también con la última versión de java, pero bueno... debe ser complicado para los desarrolladores, no sé.. [beer]
Hay librerias que Java ya no les da soporte, y si encima el cliente de firefox tambien esta sin actualizar, cuanto menos hace que ese servicio se pueda ejecutar, inviable.

Quiza se deberia replantear un rediseño y programarlo con tecnologias mas actuales y ya asentadas. Por lo que comentas entiendo que probablemente el programa funciona con Java Applets, que ya no cuenta con soporte en las ultimas versiones del lenguaje.
joanvicent escribió:Gracias por los mensajes!
Realmente el java se ejecuta desde una versión del Firefox Portable, de desarrollo no sé mucho, estudié ASI y vimos poco de programación y tampoco me dediqué nunca a ello, sí que hay compis de ciclo que acabaron siendo desarrolladores.

Lo del script solucionaría varias cosas, como que los clientes actualizan el java del OS y se rompe el invento, con un script ya llamaría al java con la versión "correcta" para la que fué programada.

Aunque el problema de raíz es que debería funcionar también con la última versión de java, pero bueno... debe ser complicado para los desarrolladores, no sé.. [beer]


Por la combinacion que dices "java 6 + firefox antiguo" seguramente esten ejecutando un applet java...lamentablemente hace ya MUCHOS años que los navegadores dejaron de dar soporte al tema applets java en el navegador por temas de seguridad. Yo tenia uno asi en un antiguo curro y se sudaba manteniendolo hasta que al final pegaron el tijeretazo y hubo que migrarlo a una aplicacion java fuera del navegador directamente con java 8...
miguej escribió:
joanvicent escribió:Gracias por los mensajes!
Realmente el java se ejecuta desde una versión del Firefox Portable, de desarrollo no sé mucho, estudié ASI y vimos poco de programación y tampoco me dediqué nunca a ello, sí que hay compis de ciclo que acabaron siendo desarrolladores.

Lo del script solucionaría varias cosas, como que los clientes actualizan el java del OS y se rompe el invento, con un script ya llamaría al java con la versión "correcta" para la que fué programada.

Aunque el problema de raíz es que debería funcionar también con la última versión de java, pero bueno... debe ser complicado para los desarrolladores, no sé.. [beer]


Por la combinacion que dices "java 6 + firefox antiguo" seguramente esten ejecutando un applet java...lamentablemente hace ya MUCHOS años que los navegadores dejaron de dar soporte al tema applets java en el navegador por temas de seguridad. Yo tenia uno asi en un antiguo curro y se sudaba manteniendolo hasta que al final pegaron el tijeretazo y hubo que migrarlo a una aplicacion java fuera del navegador directamente con java 8...


El tema esque me sorprende que teniendo la empresa un grupo grande de desarrolladores no lo hayan migrado a java 8 pero igual están en ello, yo sólo soy un técnico del sat, y vaya, es un nido de problemas.
@joanvicent pues siendo tu del SAT, pienso que esto no es competencia tuya, y que en todo caso quienes deberian comerse el marron son el equipo de desarrollo [+risas]
SaulRC1 escribió:@joanvicent pues siendo tu del SAT, pienso que esto no es competencia tuya, y que en todo caso quienes deberian comerse el marron son el equipo de desarrollo [+risas]

Pero son cosas que sufrimos en el día a día.

Es como otra cosa que me pasa casi a diario, nos llaman los clientes porque no pueden imprimir... y resulta que de repente no llegan a las impresoras compartidas en los otros equipos de la red... por nombre!, pero sí por ip!, ni idea a qué se pueda deber... las cambio y tal vez... a las semanas, te llaman porque otra vez no llegan por IP pero sí por nombre.. lo cambio y a correr.

La vida de los SAT podría ser mucho más fácil si pudiésemos controlar unas cuantas cosas más, ahora nos limitamos a ir de bomberos.
joanvicent escribió:
SaulRC1 escribió:@joanvicent pues siendo tu del SAT, pienso que esto no es competencia tuya, y que en todo caso quienes deberian comerse el marron son el equipo de desarrollo [+risas]

Pero son cosas que sufrimos en el día a día.

Es como otra cosa que me pasa casi a diario, nos llaman los clientes porque no pueden imprimir... y resulta que de repente no llegan a las impresoras compartidas en los otros equipos de la red... por nombre!, pero sí por ip!, ni idea a qué se pueda deber... las cambio y tal vez... a las semanas, te llaman porque otra vez no llegan por IP pero sí por nombre.. lo cambio y a correr.

La vida de los SAT podría ser mucho más fácil si pudiésemos controlar unas cuantas cosas más, ahora nos limitamos a ir de bomberos.


Pues vaya tela, que te sea leve entonces tio, manda huevos. Si tienes algo de tiempo formarte un poquillo en programacion seguro que te aligera la carga de trabajo, ya veras.
10 respuestas