Subprograma

Pequeña aplicación de software

En informática , un subprograma es cualquier aplicación pequeña que realiza una tarea específica que se ejecuta dentro del alcance de un motor de widgets dedicado o un programa más grande , a menudo como un complemento . [1] El término se usa con frecuencia para referirse a un subprograma de Java , un programa escrito en el lenguaje de programación Java que está diseñado para colocarse en una página web . Los subprogramas son ejemplos típicos de aplicaciones transitorias y auxiliares que no monopolizan la atención del usuario. Los subprogramas no son programas de aplicación con todas las funciones y están destinados a ser fácilmente accesibles.

Historia

La palabra applet fue utilizada por primera vez en 1990 en PC Magazine . [2] Sin embargo, el concepto de un applet, o más ampliamente un pequeño programa interpretado descargado y ejecutado por el usuario, data al menos de RFC 5 (1969) de Jeff Rulifson , que describió el lenguaje de decodificación-codificación, que fue diseñado para permitir el uso remoto del sistema oN-Line sobre ARPANET , mediante la descarga de pequeños programas para mejorar la interacción. [3] Esto ha sido específicamente acreditado como un precursor de los programas descargables de Java en RFC 2555. [4]

Applet como extensión de otro software

En algunos casos, un subprograma no se ejecuta de forma independiente. Estos subprogramas deben ejecutarse en un contenedor proporcionado por un programa anfitrión, a través de un complemento o en una variedad de otras aplicaciones, incluidos dispositivos móviles que admitan el modelo de programación de subprogramas.

Subprogramas basados ​​en la web

Los applets se utilizaban para proporcionar funciones interactivas a las aplicaciones web que históricamente no se podían proporcionar solo con HTML . Podían capturar la entrada del ratón y también tenían controles como botones o casillas de verificación . En respuesta a la acción del usuario, un applet podía cambiar el contenido gráfico proporcionado. Esto hizo que los applets fueran muy adecuados para la demostración, la visualización y la enseñanza. Había colecciones de applets en línea para estudiar varios temas, desde física hasta fisiología cardíaca. Los applets también se utilizaban para crear colecciones de juegos en línea que permitían a los jugadores competir contra oponentes en vivo en tiempo real.

Un subprograma también podría ser solo un área de texto, proporcionando, por ejemplo, una interfaz de línea de comandos multiplataforma a algún sistema remoto. Si fuera necesario, un subprograma podría abandonar el área dedicada y ejecutarse como una ventana separada . Sin embargo, los subprogramas tenían muy poco control sobre el contenido de la página web fuera del área dedicada al subprograma, por lo que eran menos útiles para mejorar la apariencia del sitio en general (mientras que también se conocen subprogramas como los teletipos de noticias o los editores WYSIWYG ). Los subprogramas también podrían reproducir medios en formatos que no son compatibles de forma nativa con el navegador.

Las páginas HTML pueden incorporar parámetros que se pasaron al subprograma. Por lo tanto, el mismo subprograma puede tener un aspecto diferente según los parámetros que se hayan pasado.

Algunos ejemplos de subprogramas basados ​​en la Web incluyen: [ cita requerida ]

Subprograma vs. subrutina

Una aplicación más grande distingue sus subprogramas a través de varias características: [ cita requerida ]

  • Los subprogramas se ejecutan únicamente en el entorno de la plataforma "cliente" de un sistema, a diferencia de los " servlets ". Por lo tanto, un subprograma proporciona una funcionalidad o un rendimiento que van más allá de las capacidades predeterminadas de su contenedor (el navegador).
  • El contenedor restringe las capacidades de los applets.
  • Los subprogramas se escriben en un lenguaje distinto del lenguaje de scripting o HTML que los invoca. El subprograma se escribe en un lenguaje compilado, mientras que el lenguaje de scripting del contenedor es un lenguaje interpretado, de ahí el mayor rendimiento o funcionalidad del subprograma. A diferencia de una subrutina, un componente web completo se puede implementar como un subprograma.

Subprogramas Java

Un subprograma Java es un programa Java que se inicia desde HTML y se ejecuta en un navegador web. Toma código del servidor y se ejecuta en un navegador web. Puede proporcionar a las aplicaciones web funciones interactivas que no se pueden proporcionar con HTML. Dado que el código de bytes de Java es independiente de la plataforma, los subprogramas Java pueden ejecutarse en navegadores que se ejecutan en muchas plataformas, incluidas Windows , Unix , macOS y Linux . Cuando un navegador web habilitado con tecnología Java procesa una página que contiene un subprograma, el código del subprograma se transfiere al sistema del cliente y lo ejecuta la máquina virtual Java del navegador . [5] Una página HTML hace referencia a un subprograma ya sea a través de la etiqueta obsoleta o a través de su reemplazo, la etiqueta . [6]<applet><object>

Seguridad

Los recientes avances en la codificación de aplicaciones, incluidos los sistemas móviles e integrados , han generado conciencia sobre la seguridad de los applets.

Subprogramas de plataforma abierta

Los applets en un entorno de plataforma abierta deben proporcionar interacciones seguras entre diferentes aplicaciones. Se puede utilizar un enfoque compositivo para proporcionar seguridad a los applets de plataforma abierta. [7] Se han desarrollado métodos avanzados de verificación compositiva para interacciones seguras entre applets. [7]

Subprogramas Java

Un subprograma Java contiene diferentes modelos de seguridad: seguridad del subprograma Java sin firmar , seguridad del subprograma Java firmado y seguridad del subprograma Java autofirmado .

Subprogramas basados ​​en la web

En un navegador web habilitado para subprogramas, se pueden utilizar muchos métodos para proporcionar seguridad a los subprogramas contra subprogramas maliciosos. Un subprograma malicioso puede infectar un sistema informático de muchas maneras, incluyendo la denegación de servicio, la invasión de la privacidad y la molestia. [8] Una solución típica para los subprogramas maliciosos es hacer que el navegador web controle las actividades de los subprogramas. Esto dará como resultado un navegador web que permitirá la detención manual o automática de los subprogramas maliciosos. [8]

Véase también

Referencias

  1. ^ "AskOxford: applet", Oxford Dictionaries. Consultado el 21 de julio de 2009
  2. ^ "Diccionario Oxford de inglés". 2011. Consultado el 23 de agosto de 2011 .
  3. ^ Rulifson, Jeff (2 de junio de 1969), "DEL", RFC 5 , Grupo de trabajo de redes
  4. ^ Editor de RFC, et al. (7 de abril de 1999), "30 años de RFC", RFC 2555 , Network Working Group
  5. ^ "Applets". oracle.com . 5 de octubre de 2023 . Consultado el 5 de octubre de 2023 .
  6. ^ "Etiqueta de subprograma HTML", W3Schools. Acceso el 21 de julio de 2009
  7. ^ ab Barthe, Gilles; Gurov, Dilian; Huisman, Marieke (2002). "Verificación compositiva de interacciones seguras de subprogramas". Enfoques fundamentales de la ingeniería de software . Apuntes de clase en informática. Vol. 2306. págs. 15–32. CiteSeerX 10.1.1.16.1254 . doi :10.1007/3-540-45923-5_2. ISBN.  978-3-540-43353-8.
  8. ^ ab Hassler, Vesna; Then, Oliver (1998). "Control del comportamiento de los subprogramas en un navegador". Actas de la 14.ª Conferencia anual sobre aplicaciones de seguridad informática (n.º de cat. 98EX217) . págs. 120-125. doi :10.1109/CSAC.1998.738594. ISBN 978-0-8186-8789-1. Número de identificación del sujeto  17633591.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Applet&oldid=1242918135"