Escribir Applets

Uno de los principales objetivos del entorno Java es hacer que los usuarios de navegadores se sientan seguros cuando ejecutan cualquier applet. Para alcanzar este objetivo, se ha empezado de forma conservadora restringiendo capacidades, quiz�s m�s de las necesarias. Cuando el tiempo pase, los applets probablemente tendr�n m�s habilidades.

Est� p�gina nos cuenta las restricciones actuales de los applets, desde el punto de vista de c�mo afectan al dise�o de applets. Frequently Asked Questions - Applet Security

Todo visualizador de applets tiene un objeto SecurityManager que chequea las violaciones de seguridad de los applets. Cuando un SecurityManager detecta una violaci�n, crea y lanza un objeto SecurityException. Generalmetne, el constructor de la SecurityException imprime un mensaje de aviso en la salida est�ndar. Un applet puede capturar las SecurityExceptions y reaccionar de la forma apropiada, como avisar al usuario y saltar a una forma "segura" (pero menos ideal) de realizar la tarea.

Algunos visualizadores de applets ocultan algunas SecurityExceptions, para que el applet nunca obtenga la SecurityException. Por ejemplo, la implementaci�n del Applet Viewer del JDK de los m�todos getApplet y getApplets de AppletContext simplemente capturan e ignoran cualquier SecurityExceptions. El usuario puede ver los mensajes de error en la salida est�ndar, pero el applet obtiene un resultado v�lido desde los m�todos. Esto tiene sentido, ya que desde getApplets deber�a ser posible volver cualquier applet v�lido que encuentre, incluso si encuentra unos inv�lidos. (El Applet Viewer considera un applet v�lido si fue cargado desde el mismo host que el applet que llam� a getApplets.)

Los applets tienen las siguientes restricciones:

Los Applets no pueden cargar librer�as o definir m�todos nativos.
Los Applets s�lo pueden usar su propio c�digo Java y el API Java que proporciona el visualizador. Como m�nimo, todo applet debe proporcionar acceso al API definido en los paquetes java.*.
Normalmente un applet no puede leer o escribir ficheros en el host en el que se est� ejecutando.
El AppletViewer del JDK permite algunas excepciones a esta regla especificadas por el usuario, pero por ejemplo Netscape Navigator 2.0, no lo hace. Los applets en cualquier visualizador pueden leer ficheros especificados con URLs completas, en lugar de con nombres de ficheros. Un atajo para no tener que escribir ficheros es tener un applet que re-env�e datos a una aplicaci�n en el servidor del que vino. Esta aplicaci�n puede escribir los datos en ficheros de su propio host. Puedes ver la p�gina Trabajar con una Aplicaci�n del Lado-del-Servidor para m�s ejemplos.
Un applet no puede hacer conexiones de red excepto con el host del que vino.
El atajo para esta restriccion es hacer que el applet funcione con una aplicaci�n en el host del que vino. La aplicaci�n puede hacer sus propias conexiones a cualquier lugar de la red. Puedes ver m�s ejemplos en la p�gina Usar un Servidor para Esquivar las Restricciones de Seguridad.
Un applet no puede arrancar ning�n programa en el host en el que se est� ejecutando.
De nuevo, un applet puede trabajar con una aplicaci�n en lado del servidor para evitar esto.
Un applet no puede leer ciertas propiedades del sistema.
Puedes encontrar m�s informaci�n en la p�gina Leer Propiedades del Sistema.
Las ventanas que muestran los applets tienen un aspecto distinto a las que muestran las aplicaciones.
Las ventanas de los Applets tienen alg�n texto de aviso y una barra coloreada o una imagen. Esto ayuda al usuario a distinguir las ventanas de los applets de aquellas de las aplicaciones verdaderas. Las siguientes figuras muestran un ventana tra�da por un programa que se puede ejecutar tanto un applet como una aplicaci�n. La primera figura muestra el aspecto de la ventana cuando el programa se ejecuta como una aplicaci�n sobre la plataforma Solaris. La segunda imagen muestra la ventana cuando el programa se ejecuta como un applet dentro del navegador Netscape Navigator 2.0 de Solaris.

Como puedes ver, la ventana del applet tiene un aviso.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO