El otro día, estaba disfrutando de un juego basado en Java bastante bien diseñado en mi navegador Firefox. Después, no pude evitar reflexionar sobre la utilidad y el poder de Java, específicamente cómo funcionan los applets de Java incrustados en la web. En el entorno corporativo donde trabajo, Java se considera la herramienta de aplicación web preferida para desarrollar aplicaciones basadas en navegador. Las aplicaciones ActiveX están deshabilitadas en todos los navegadores de forma predeterminada.
Sun Microsystems desarrolló el lenguaje de programación y la arquitectura de Java en 1995. Desde entonces, se ha convertido en una parte valiosa e integral de la evolución de Internet. Paul proporcionó una excelente lista de ejemplos de aplicaciones Java. Top 5 sitios web para ejemplos de aplicaciones Java. Top 5 sitios web para ejemplos de aplicaciones Java. Lea más que debería ser muy útil para los desarrolladores. Karl proporcionó una guía útil sobre cómo eliminar versiones anteriores de JRE. Eliminar versiones anteriores de Java Runtime desde tu PC Cómo eliminar versiones anteriores de Java Runtime desde tu PC Lee más de tu sistema.
En este artículo, me gustaría tomar un momento para reflexionar sobre las razones por las cuales Java se considera una de las arquitecturas más confiables para desarrollar y ejecutar aplicaciones a través de Internet y cubrir un poco sobre cómo funcionan los applets de Java. Como la mayoría de los lectores saben, la belleza de Java es que la arquitectura de Java Virtual Machine permite que Java se ejecute en múltiples plataformas, incluidas Windows, Solaris, Linux y Apple. La capacidad de escribir aplicaciones comunes que pueden ejecutarse en múltiples arquitecturas convierte a Java en uno de esos modelos de programación web que han sobrevivido y florecido durante más de una década y media.
Por qué puede instalar y ejecutar el software Java en cualquier lugar
La razón por la cual el modelo de Sun funcionó tan bien es, en parte, debido al hecho de que fue creado para superar uno de los muchos inconvenientes de Internet. Pocas aplicaciones muy "útiles" podrían ejecutarse en Internet debido a todas las preocupaciones de seguridad al permitir que una aplicación basada en Internet con acceso a la configuración e información de los navegadores, o peor, el sistema de archivos de la computadora y el sistema operativo. Los primeros desarrolladores de arquitectura se dieron cuenta de que para que cualquier entorno de software web sobreviviera, tendría que tomarse muy en serio esas consideraciones de seguridad.
Antes de llegar a la seguridad, me gustaría cubrir brevemente la arquitectura en sí misma y lo que hace que el sistema sea tan efectivo y poderoso tanto para los desarrolladores de software como para los usuarios de Internet que desean aplicaciones web más útiles y funcionales.
Si echas un vistazo a mi pobre intento de dibujar arriba, verás una representación aproximada del flujo del programa Java. Esencialmente, los desarrolladores de Java escriben una aplicación. Me estoy enfocando en los Applets de Java, porque se trata de aplicaciones de Internet: las aplicaciones Java locales son una bestia completamente diferente con sus propias consideraciones únicas.
Los desarrolladores crean código Java Applet que puede integrarse en cualquier página web. Ya sea que esté ejecutando Ubuntu, Mac o Windows, cuando ejecuta ese applet con su versión particular del navegador, el Applet intenta ejecutar dentro de su "entorno limitado" conocido como Java Runtime Environment o Java Machine. Encontré algunos ejemplos geniales y simples de cómo funcionan los applets de Java, creados por Joseph Bergin de Pace University en 1996.
Como puede ver, esta sencilla aplicación acepta la entrada del usuario y responde a esa entrada clasificando los puntos aleatorios de la manera elegida. Esta aplicación acepta el código Java y lo convierte en código legible por máquina que es apropiado para ese sistema operativo particular para que el mouse, la pantalla y otras funciones del sistema funcionen correctamente con esa aplicación.
Como puede ver en su código de fondo, Java es un lenguaje orientado a objetos, con clases y objetos que son comunes para todos los desarrolladores de Java. Esta es la belleza del desarrollo de Java: la plataforma para la que escribe no importa, porque todos hablan el mismo idioma.
Java es ahora una plataforma de tiempo de ejecución de aplicaciones que se está volviendo más aceptada y "estándar" en todo el mundo, y es uno de los lenguajes de programación más populares elegidos para el desarrollo de aplicaciones en línea. Puede instalar el JRE más reciente para su sistema operativo en cualquier momento.
Preocupaciones de seguridad y por qué debería sentirse seguro
Todo el diseño de Java se desarrolló teniendo en cuenta la seguridad del usuario. Los desarrolladores de Sun querían estructurar el JRE y el lenguaje de una forma que, aunque no imposible de piratear, sería mucho más difícil. En los últimos años, todos hemos escuchado algunas pesadillas de virus ActiveX y similares, pero Java sigue siendo uno de los métodos más seguros para ejecutar aplicaciones web dentro de un navegador. La mayoría de las empresas dejan Java habilitado en sus navegadores, y la mayoría de las máquinas cliente están instaladas con la última JRE.
Cuando ejecuta un Applet de Java, o simplemente instala el JRE, notará que el ícono de Java aparece en su barra de tareas. Cuando vea esto, sabrá que tiene Java instalado. Para verificar la versión, simplemente haga clic derecho, abra el Panel de control y seleccione " Acerca de ... "
Este entorno de tiempo de ejecución, o "caja de arena" protege su computadora de códigos maliciosos, simplemente por la forma en que se desarrolló la funcionalidad y se estructuró el lenguaje. Algunas de las consideraciones de seguridad con las que puede contar cuando permite Java en su navegador, y la instalación de JRE en su sistema son las siguientes.
- Java tiene métodos públicos que los desarrolladores pueden utilizar, pero estos métodos comunes tienen comprobaciones de seguridad que aseguran que la aplicación no los usa de forma incorrecta. Esto significa que el acceso a muchos objetos (como el objeto File) tiene un cierto proceso de "punto de control de seguridad" antes de que cualquier aplicación pueda acceder a ese método público dentro de la biblioteca Java.
- Java se considera "tipo seguro", lo que significa que los tipos de compilación y variable de tiempo de ejecución son compatibles, verificados en compilación o en tiempo de ejecución. Esto bloquea el código malicioso que intenta evadir las protecciones de control de acceso "fundiendo" objetos. Todo esto significa que Java ha eliminado la capacidad de otra clase completa de software Malware y Virus para causar problemas.
- Los desarrolladores declaran los métodos como "finales", lo que significa que las aplicaciones externas (como el softare malicioso) no pueden anular los métodos, solo se invoca el método declarado real para el objeto. Otra grieta de seguridad sellada por Java.
- Finalmente, aunque es una espina en el costado de muchos desarrolladores, Java no permite punteros como tipo de datos. Si bien esto significa que los desarrolladores necesitan desarrollar otras formas de realizar tareas en las que usarán punteros, también significa que los punteros de matriz no pueden manipularse, ni los programadores pueden invadir accidentalmente una longitud de matriz con un código defectuoso. Las aplicaciones maliciosas no pueden aprovechar la aritmética del puntero para acceder a los punteros del objeto del sistema, ya que no hay ningún puntero que manipular.
- Java tiene su propia "recolección de basura" para recuperar memoria, lo que bloquea la capacidad del código malicioso de asignar memoria para un propósito, desasignarla y luego usarla (con un nuevo puntero) para fines maliciosos. Una vez más, una clase completa de código malicioso está bloqueada debido a esto.
Si no eres un programador, entonces toda la información anterior debería simplemente asegurarte que el enfoque de Java para ejecutar aplicaciones web es uno de los más seguros disponibles. Puede sentirse bastante seguro al ejecutar el JRE en su sistema y al iniciar los applets de Java.
Una cosa más que debes entender cuando ejecutas los Applets de Java es cuando te preguntan si quieres proporcionar un "certificado de confianza". Acepta estas solicitudes con cuidado, porque una vez que lo haces, el Código de Java puede ejecutarse algo fuera de su sandbox "Applet" normal. "Puede acceder a los certificados que tiene como de confianza yendo al Panel de control de Java y haciendo clic en la pestaña de seguridad, y luego haciendo clic en" Certificados ... "
Los applets sin firmar solo pueden hacer conexiones de red a su host, mostrar documentos web, invocar únicamente métodos públicos (consulte el beneficio de seguridad mencionado anteriormente) y pueden leer las propiedades del sistema. Los Applets firmados, por otro lado, pueden acceder al sistema de archivos local, archivos, portapapeles e impresoras y pueden acceder a otros servidores remotos, y mucho más. Aun así, el hecho de que el usuario (usted) tenga que conceder explícitamente tal permiso es una buena salvaguarda. Reconocí todas las aplicaciones de mi lista, nada se agrega automáticamente.
¿Eres un desarrollador de Java? ¿Cuál es su opinión sobre la funcionalidad y la seguridad de los applets de Java? Si solo es un usuario regular de Internet y no un desarrollador, ¿considera que el proceso de ejecutar applets Java es lo suficientemente fácil de entender? Comparte tus pensamientos en la sección de comentarios a continuación.