Tips Técnicos

Hemos creado una página con una serie de "Preguntas y Respuestas" para ayudar a nuestros usuarios aprovechar al máximo de algunas de las características que se pueden encontrar a través de la documentación del Wrapper. La manera de hacerle saber sobre los últimos Tips Técnicos sobre el Java Service Wrapper es a través de Boletines.

Índice

¿Cómo puedo distribuir el Java Service Wrapper y mi aplicación Java a diferentes plataformas?

El Paquete Delta (Delta Pack) agrupa los binarios y librerías necesarios para que el Wrapper se ejecute en todas las plataformas compatibles *. También contiene los archivos Bat de Windows y el script de shell de Unix usados para lanzar el Wrapper. El uso de esos scripts hacen más fácil lanzar el Wrapper, ya que ellos automáticamente seleccionan los binarios apropiados para la plataforma actual. En otras palabras, ellos le permiten lanzar el Wrapper en una forma transparente, usando los mismo comandos en diferentes plataformas UNIX (en Windows se usan archivos de script bat separados).

Con un único archivo de configuración, usted podrá configurar el Wrapper para ejecutarse en su aplicación Java, ya sea como una aplicación de consola o como un servicio de Windows o demonio Unix en diferentes sistemas operativos. Esto hace posible tener configuraciones específicas para ciertas plataformas siempre que sea necesario.

El Paquete Delta está disponible en todas las ediciones, empezando por la versión 3.2.0.

Haga clic aquí para leer todo el artículo.

Entendiendo las funciones de seguridade de Windows, DEP y ASLR.

A partir de la versión 3.5.33, el Wrapper especifica que sus binarios son compatibles con la Prevención de Ejecución de Datos (DEP, Data Execution Prevention en inglés) y con la Aleatorización de Distribución del Espacio de Memoria (ASLR, Address Space Layout Randomization en inglés) al cargar.

El uso de estas funciones no tiene ningún impacto notable en el rendimiento y permite que el Wrapper funcione de una manera mucho más segura. DEP marca las regiones de memoria asignadas por el Wrapper como no ejecutables, evitando que algún shellcode que sería inyectado por un malware se ejecute. ASLR protege contra ataques de desbordamiento de búfer aleatorizando las ubicaciones de diferentes partes del programa en la memoria. Cada vez que el Wrapper es ejecutado, el stack, heap, y las bibliotecas son movidos a una dirección diferente en la memoria virtual, y los atacantes ya no pueden aprender a través de pruebas donde está su objetivo.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper hace fácil convertir casi cualquier aplicación Java en un demonio en minutos.

Normalmente, las aplicaciones Java son ejecutadas en un terminal en sistemas Unix. Esto requiere que una cuenta de usuario esté conectada al sistema a todo momento y un terminal debe mantenenerse abierto.

Hay varias desventajas en esto, desde seguridad, a desempeño del sistema, a simplemente correr el riesgo de un usuario presionar una tecla equivocada en el terminal y eliminar la aplicación Java.

El Java Service Wrapper aborda estos problemas haciendo posible instalar su aplicación como un demonio, ofreciendo detección automática de las herramientas de administración de servicios (también conocidas como sistemas init) disponibles en su sistema operativo, o le permite configurar un sistema específico para usar cuando inicia su aplicación como un demonio. Ejecutar como un demonio significa que su aplicación va a ejecutarse en segundo plano, se iniciará automáticamente cuando el sistema inicie, y se apagará limpiamente cuando el sistema se apague.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper le ayuda a configurar fácilmente su aplicación Java para que siempre sea ejecutada en un subconjunto de procesadores designados.

Normalmente el sistema operativo (OS) decide qué CPUs o servicios básicos de la máquina se utilizarán para ejecutar una aplicación. Dependiendo del número de subprocesos requeridos por la aplicación en un momento dado y las necesidades de otras aplicaciones, el OS intentará mover subprocesos cuando sea necesario para mantener la carga total en cada CPU equilibrada.

Dedicar CPUs específicos a su aplicación puede ser una manera de asegurarse de que siempre tendrá suficientes recursos de CPU. Por el contrario, podría mantener de forma explícita algunos procesadores sin usar, con el fin de garantizar los recursos suficientes para otros procesos en ejecución en la misma máquina. En este Tip Técnico mostraremos como su aplicación Java siempre se ejecutará en un subconjunto de procesadores designado.

Haga clic aquí para leer todo el artículo.

El menu de herramientas externas en Eclipse puede iniciar el Java Service Wrapper.

server Es posible ejecutar el Java Service Wrapper como una herramienta externa para testar su aplicación desde Eclipse. Esto le evita cambiar de ventana cada vez que desee iniciar su aplicación con el Wrapper.

Haga clic aquí para leer todo el artículo.

Agrega una aplicación remota Java en la configuración de depuración en Eclipse.

Deadlock Eclipse(R) tiene un gran conjunto de herramientas como el depurador. Un depurador permite a un usuario controlar un programa mientras se está ejecutando. El uso de un depurador para entender cómo funciona un programa, es una buena manera de encontrar posibles errores. El depurador puede conectarse de forma remota a una JVM que esté ejecutándose en el Wrapper y puede ver paso a paso lo que está sucediendo. En el siguiente ejemplo, podrá ver que configurar el depurador es muy fácil.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper incluye detección automática de bloqueos, creación de reportes y ejecución de recuperaciones.

Recover Java como lenguaje fue diseñado para que fuera imposible que el código desarrollado por el usuario diera como resultado que una aplicación fuera bloqueada. Cualquier error podría resultar en una excepción limpia que sería generada para poder ser detectada y manejada adecuadamente.

En realidad, como cualquier desarrollador de Java o un administrador de sistemas sabe, la máquina virtual Java (JVM) puede bloquearse en algún momento de su ciclo de vida. Esto se debe a que la máquina JVM es un programa escrito con un código nativo y como cualquier otro programa también experimenta errores.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper proporciona un número de métodos para apagar limpiamente una aplicación internamente y externamente.

CTRL-C Cuando la gente empieza a usar el Java Service Wrapper, usualmente están interesados en cómo integrar su aplicación con el Wrapper para que sea ejecutada como un Servicio de Windows o para que sea monitoreada. Sin embargo, una vez que una aplicación es configurada e integrada con otros sistemas, la pregunta sobre cómo apagar dicha aplicación sale a la luz.

En esta ocasión, hemos optado por enfocarnos en la API y reunir en un solo lugar todas las maneras en las que se puede apagar el Wrapper. Probablemente tenemos algunos tips que tal vez usuarios experimentados en el Wrapper aún no se habían percatado que existian.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper le proporciona la oportunidad para programar un gran número de acciones con temporizadores.

Timer

Muchas aplicaciones grandes requieren la capacidad de ejecutar tareas programadas o realizar acciones en momentos específicos o en intervalos regulares. El problema es que diferentes plataformas cada una proporciona su propia forma de acciones programadas. Cuando la aplicación necesita poder ejecutarse a través todas esas plataformas, a menudo es necesario implementar esta funcionalidad para cada plataforma individualmente.

En este Tip Técnico introduciremos los temporizadores del Wrapper, que hacen posible programar todo tipo de acciones en una plataforma de una manera independiente para después implementarlas con el resto de su aplicación.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper incluye detección automática de congelamientos, creación de reportes y ejecución de recuperaciones.

Freeze Cuando un sistema de misión crítica empieza a congelarse o bloquearse, esto puede ser el inicio de una pesadilla para el administrador del sistema, equipo de desarrollo y quienes hagan uso del sistema en general. Identificar y arreglar el problema puede tomar días, en algunos casos incluso meses, mientras que el sistema está en uso activo necesita seguir funcionando.

Para muchas organizaciones, cada minuto que un sistema esté inactivo no sólo tiene un efecto directo a ventas pero también la reputación de la organización y el equipo administrador del sistema. En la mayoría de los casos esto puede reducir el tiempo de inactividad de horas a minutos de trabajo para poder encontrar el error, y por eso que a menudo, usuarios no se percatan de que se experimentó un problema.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper tiene la capacidad de asignar recursos a unidades de red e impresoras para sus servicios.

Mapping En entornos de Windows es común para usuarios asignar unidades de red e impresoras para que se tenga acceso a ellas a través de su sistema local. Servicios de Windows a menudo tienen los mismos requisitos, pero Windows hace difícil el acceso a esos recursos compartidos cuando el servicio es lanzado al momento de iniciar el sistema. Con frecuencia los servicios iniciados en un sistema que esté en ejecución tendrán acceso a recursos compartidos, pero los recursos no estarán disponibles cuando se reinicia el sistema.

El Java Service Wrapper hace posible configurar y tener acceso a unidades de red e impresoras de una manera confiable sin la necesidad de que un usuario esté conectado.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper hace que sea fácil convertir casi cualquier aplicación Java en un servicio de Windows en minutos.

Java App Server Aplicaciones Java ejecutadas en sistemas Windows suelen ser ejecutadas en una consola en una computadora de escritorio ya que Java no tiene la posibilidad de hacerlo como un Servicio de Windows. Esto tiene desventajas, como problemas de seguridad por el hecho de que un usuario esté en sesión, el rendimiento del sistema puede reducir por la presencia de una computadora de escritorio no deseada y simplemente el riesgo de que un usuario pueda presionar una tecla equivocada y afecte la consola. Muchas aplicaciones resuelven estos problemas al ser ejecutadas como un Servicio de Windows. En muchos casos, todo esto es posible sin la necesidad de tener que usar una sola línea de códigos.

Haga clic aquí para leer todo el artículo.

El Java Service Wrapper incluye detección automática de Interbloqueos, creación de reportes y ejecución de recuperaciones.

Deadlock La mayoría de las aplicaciones pasan por pruebas rigurosas antes de ser implementadas o liberadas. Sin embargo, como todos sabemos en el mundo real problemas inesperados suelen ocurrir. Desafortunadamente, interboloqueos son un problema muy común con aplicaciones que hacen uso de múltiples procesos. Pueden ser fatales y muy difíciles de identificar y arreglar.

El Java Service Wrapper cuenta con la habilidad de supervisar automáticamente su aplicación en busca de interbloqueos haciendo uso de un proceso ligero muy funcional en la que casi no se presentarán cambios en su rendimiento. Cuando se detecta un interbloqueo, el Wrapper puede inmediatamente responder de la manera que usted lo desee. También registrará las condiciones precisas de dicho problema para que el desarrollador pueda arreglarlo.

Haga clic aquí para leer todo el artículo.