¿Qué puede y qué no puede hacer un Applet?
Esta página nos ofrece una introducción de las restricciones de los Applets frente a las capacidades especiales que éstos tienen. Podrás encontrar más detalles en la lección Restriciones de Seguridad.
Restricciones de Seguridad
Todo navegador implementa políticas de seguridad para evitar que los applets compromentan la seguridad del sistema. Esta sección descibe las políticas de seguridad a las que se adhieren los navegadores actuales. Sin embargo, esta implementación de políticas de seguridad es diferente entre navegadores. Y también, estás políticas están sujetas a cambios. Por ejemplo, si un navegador se ha desarrollado sólo para ejecutarse en entornos verdaderos su política de seguridad será más relajada que la de los descritos aquí.
Los navegadores actuales imponen las siguientes restricciones a cualquier applet que se cargue a través de la red:
- Un applet no puede cargar librerías o definir métodos nativos.
- Normalmente no puede leer o escribir ficheros en el host en el que se está ejecutando.
- No puede hacer conexiones de red excepto con el host desde el que vino.
- No puede arrancar ningún programa en el host donde se está ejecutando.
- No puede leer ciertas propiedades del sistema.
- Las vetanas que muestran los applets son distintas a las que muestra una aplicación.
Todo navegador tiene un objeto SecurityManager que implementa sus políticas de seguridad. Cuando un SecurityManager detecta una violación, lanza una SecurityException. Nuestro applet puede capturar dicha excepción y reaccionar de la forma apropiada.
Capacidades de los Applets
El paquete java.applet proporciona una API que ofrece a los Applets algunas capacidades que las aplicaciones no tienen. Por ejemplo, los applets puede ejecutar sonidos, mientras que otros programas no pueden hacerlo todavía.
Aquí hay algunas otras cosas que los navegadores actuales y otros visualizadores permiten hacer a los applets:
- Normalmente pueden hacer conexiones de red hacia el host del que vinieron.
- Los applets que se ejecutan dentro de un navegador Web pueden hacer fácilmente que se muestren documentos HTML.
- Los Applets pueden incovar métodos públicos de otros applets que haya en la misma página.
- Los Applets que se cargan desde el sistema local de ficheros (desde un directorio en el CLASSPATH del usuario) no tienen ninguna de las restriccones que tienen los applets cargados a través de la red.
- Aunque la mayoría de los applets detienen su ejecución una vez que hemos abandonado su página, no tienen porque hacerlo.