Aplicación web

En informática , una aplicación web (también llamada aplicación web , en inglés y francés) es una aplicación que se puede manejar directamente en línea mediante un navegador web y que, por tanto, no requiere instalación en las máquinas cliente , a diferencia de las aplicaciones móviles. Al igual que los sitios web , una aplicación web generalmente se instala en un servidor y se puede manejar mediante widgets operativos mediante un navegador web, a través de una red informática ( Internet , intranet , red local , etc.). Ejemplos:

Las aplicaciones web son parte de la evolución de los usos y la tecnología de la web denominada Web 2.0 .

Etimología

Web Application es un atajo de software de aplicación en la tecnología World Wide Web . No confunda las aplicaciones web y las aplicaciones móviles disponibles en las tiendas de aplicaciones (tienda).

El software de aplicación es un software que aplica (automatiza) los principios específicos de una actividad.

La World Wide Web (traducción literal, world spider web) es una tecnología para compartir documentos de hipertexto .

La técnica básica

En la tecnología cliente-servidor , utilizada para la World Wide Web, el navegador web envía solicitudes de páginas web al servidor . El servidor responde a las solicitudes enviando las páginas al navegador web. A continuación, el navegador muestra las páginas al usuario.

Las aplicaciones web utilizan esta técnica para implementar su GUI . Se compone de páginas creadas desde cero por el software durante cada solicitud. Cada hipervínculo contenido en la página provoca el envío de una nueva solicitud, que dará lugar a una nueva página. A diferencia de un sitio web estático donde las páginas son archivos previamente guardados.

Las páginas web contienen varios widgets , como botones , iconos y cuadros de texto , lo que permite la manipulación de la aplicación. Cada operación de un botón hace que se envíe una nueva solicitud. Las páginas web pueden contener subprogramas .

A diferencia de otro software, el consumidor puede utilizar inmediatamente una aplicación web instalada en un servidor sin necesidad de comprarla e instalarla en su propia computadora, siempre que la computadora del consumidor esté equipada con un navegador. Esto evita las intervenciones de los administradores del sistema , intervenciones que a menudo son más caras que el software en sí.
El editor de software a menudo pone la aplicación web a disposición del consumidor en sus propios servidores, una técnica denominada Software como servicio .

El uso del navegador web como parte del cliente (software que está disponible en muchos sistemas operativos ) asegura la portabilidad de una aplicación web.

Historia

La World Wide Web es un sistema de documentación de hipertexto creado en 1993 para las necesidades del Centro Europeo de Investigación Nuclear ( CERN ). El primer navegador web ( NCSA Mosaic ) fue creado el mismo año por el Centro Nacional de Aplicaciones de Supercomputación ( NCSA ).

La World Wide Web ha permitido a los usuarios compartir documentos e imágenes más rápido que a través del correo electrónico y más fácil que a través del uso compartido de archivos .

El creciente número de documentos publicados rápidamente hizo que los motores de búsqueda fueran necesarios para encontrarlos: el usuario ingresa una palabra clave, el servidor web realiza la búsqueda y luego envía el resultado como un documento.

Los motores de búsqueda se implementaron por extensión del servidor web.
En 1995, la NCSA publicó el estándar de la industria CGI , que especifica cómo extender un servidor web para conectarlo con software de aplicación, por ejemplo, un motor de búsqueda.

La tecnología de aplicaciones web evolucionó muy rápidamente entre 1994 y 2000, cuando varios software de servidor web dedicado salieron al mercado uno tras otro, junto con mejoras en los navegadores web.

Las primeras aplicaciones web adolecían de una maniobrabilidad y una ergonomía inferiores a las de las aplicaciones de los clientes. Una aplicación web se denomina Aplicación de Internet enriquecida, que ofrece usabilidad y ergonomía equivalentes a una aplicación de cliente. El término Aplicación de Internet enriquecida apareció por primera vez en una publicación de Macromedia en 2002.

Usos

La tecnología de las aplicaciones web permite muchos usos. Los usos más populares son los motores de búsqueda , el correo web , el comercio electrónico y los juegos en línea .

Un motor de búsqueda es una aplicación web que busca documentos.

Un webmail es una aplicación web para recibir y enviar correo electrónico .

Un sistema de gestión de contenido es una aplicación web que presenta documentos. La presentación de los documentos es similar a la de un sitio web , sin embargo, los documentos son generados por el software durante cada solicitud. El sistema de gestión de contenido realiza el procesamiento necesario para formatear y presentar los documentos.

Un juego de navegador es un videojuego creado en forma de aplicación web.

El software del foro permite discusiones abiertas entre usuarios: un usuario escribe un mensaje y este mensaje puede ser leído por todos los demás usuarios. El software del foro a veces se produce como una aplicación web.

El IM ( chat en inglés ) permite el intercambio instantáneo de mensajes de texto entre diferentes usuarios. El software de mensajería instantánea a veces se produce como una aplicación web. Los mensajes se pueden transmitir a otro usuario del software oa un teléfono móvil a través del servicio de mensajes cortos ( SMS abreviado ).

Google Maps es una aplicación web que le permite ver mapas geográficos de todo el mundo.

Facebook es una aplicación web que permite a cada usuario construir una red social (amigos, asociados, personas que comparten los mismos intereses).

Tecnología

En la tecnología más común, la aplicación web está orientada alrededor de un servidor web al que está conectado el software de la aplicación, a veces acompañado de un servidor de base de datos . El conjunto se denomina servidor de aplicaciones .

El código fuente del software de la aplicación se coloca directamente en las páginas web. Estas páginas son almacenadas por el servidor . Cuando el cliente solicita una página, el servidor web buscará la página y luego ejecutará las instrucciones que contiene. Estas instrucciones pueden llamar al servidor de la base de datos. El servidor web transmite la página con el resultado de la ejecución al cliente .

La transmisión de información entre el cliente y el servidor se realiza mediante el protocolo HTTP , un protocolo también utilizado para sitios web. Esto hace posible utilizar el mismo software de cliente : un navegador web .

Las aplicaciones web a menudo utilizan el mecanismo de las cookies  : en respuesta a una solicitud, el servidor envía información de seguimiento al cliente (la cookie ). Luego, el cliente le enviará esta información durante la próxima solicitud. El mecanismo se utiliza para identificar al cliente y realizar un seguimiento de las manipulaciones.

Las páginas web también pueden contener subprogramas . Estos son fragmentos de código fuente que serán ejecutados por el navegador web después de que se transmita la página, a diferencia de la mayoría del código fuente que ejecuta el servidor web antes de la transmisión. ActiveX , Java , Adobe Flash y Silverlight son tecnologías utilizadas para applets.

El software cliente, el navegador web , es el mismo que se utiliza para ver un sitio web . El software necesario para ejecutar applets está incluido en los navegadores, a veces como complemento .

Software de servidor

El software del servidor recibe solicitudes del navegador web, realiza el procesamiento y luego envía el resultado del procesamiento al cliente .

En 1991, el Centro Nacional de Aplicaciones de Supercomputación publicó el estándar industrial CGI , que especifica cómo se puede conectar el software del servidor web al software de la aplicación. Este estándar está inicialmente destinado a permitir la realización de motores de búsqueda .

PHP , desarrollado por Rasmus Lerdorf , es un intérprete que se puede conectar a un servidor web. El intérprete permite ejecutar software escrito en lenguaje PHP e incorporado en páginas web. El resultado de la ejecución se envía al servidor web, que lo transmitirá al cliente.

WebObjects , desarrollado por Apple , es un software de servidor web que ejecuta código fuente contenido en páginas, código fuente escrito en lenguaje Java .

ASP es una tecnología desarrollada por Microsoft , compuesta por un intérprete, que se conecta al software del servidor web de Internet Information Services . El intérprete ejecuta el código fuente contenido en las páginas, código fuente escrito en lenguaje VBScript .

JSP es una tecnología desarrollada por Sun Microsystems , compuesta por un software de servidor web al que se puede conectar un software de aplicación escrito en lenguaje Java . El software de la aplicación se compone de páginas web que contienen código fuente previamente compilado .

ASP.Net es una tecnología desarrollada por Microsoft como reemplazo de ASP , que consiste en un software que se conecta al software del servidor web de Internet Information Services y ejecuta el software de la aplicación. El software de aplicación está compuesto por páginas que contienen código fuente escrito en un lenguaje que utiliza el framework de programación .Net ( Visual Basic .NET o C # ), el software de aplicación está previamente compilado .

LAMP ( Linux - Apache - MySQL - PHP ) es un conjunto de software de código abierto que, utilizado en conjunto, permite crear servidores de aplicaciones. Por definición, esta suite está compuesta por el sistema operativo Linux , el software del servidor web Apache , el intérprete PHP y el sistema de administración de base de datos MySQL .

Wamp - (neologismo basado en LAMP ) - ( Windows - Apache - MySQL - PHP ) es un paquete de software que, usado en conjunto, permite crear servidores de aplicaciones. Por definición, esta suite está compuesta por el sistema operativo Windows , el software del servidor web Apache , el intérprete PHP y el sistema de administración de base de datos MySQL .

El software del servidor de aplicaciones también se utiliza para realizar servicios web .

navegador web

El navegador web es el software que muestra los resultados enviados por el servidor, recibe las acciones del usuario y las transmite al servidor .

Un subprograma es una pieza de software incrustada en una página web y ejecutada por el navegador web de la computadora cliente . Cuando el usuario activa un widget colocado en una página web, el subprograma puede modificar la presentación de la página (una técnica llamada DHTML ), mostrar mensajes o enviar solicitudes al servidor de aplicaciones.

JavaScript , originalmente llamado LiveScript, es un lenguaje de programación para applets desarrollado por Netscape . Los applets escritos en este idioma son ejecutados por un intérprete incluido en el navegador web. Muchos navegadores web tienen un intérprete de JavaScript.

Los primeros navegadores web equipados con un intérprete de JavaScript tenían diferencias de dialecto que significan que un subprograma escrito para un intérprete en particular no siempre es entendido por otro intérprete. Para superar este problema, Ecma International publicó en 1999 el estándar industrial ECMA-262 ECMAScript que especifica la sintaxis que los intérpretes de JavaScript deben comprender.

El modelo de objetos de documento (abreviado DOM ) es un conjunto estandarizado de objetos que representa la página mostrada, así como el navegador web. El DOM es la interfaz de programación que se utiliza en los subprogramas para realizar cambios en la página.

El método Ajax consiste en el uso conjunto de tecnologías como JavaScript , CSS, XML, DOM y XMLHttpRequest para crear aplicaciones Web que ofrezcan una mayor manejabilidad y comodidad de uso de lo que estaba disponible anteriormente. Luego, la Rich Internet Application (abbr. RIA).

Java es un lenguaje de programación desarrollado por Sun Microsystems , que se puede utilizar para applets. Los subprogramas escritos en este lenguaje se compilan previamente y se ejecutan mediante un software conectado al navegador web, el complemento de Java (traducción literal: que se conecta a él). Consulte Entorno de ejecución de Java .

ActiveX es una tecnología desarrollada por Microsoft en la que los componentes de software se pueden incluir como subprogramas en páginas web. Esta tecnología requiere un sistema operativo Windows en la computadora cliente .

Flash es una tecnología desarrollada por Adobe . Un software conectado al navegador, el complemento Flash le permite mostrar animaciones, imágenes vectoriales , videos y ejecutar applets. Incluye un intérprete de subprogramas en el lenguaje de programación ActionScript, un lenguaje similar a JavaScript. Esta tecnología es muy utilizada para videojuegos en línea.

Creación

Les applications web sont souvent créées par des équipes composées de développeurs , mais la conception de l'application nécessite diverses compétences transverses et demande l'intervention de designers d'interface (designer UI), designer UX, d'architecte logiciel, mais aussi de Gerente de Producto. El desarrollo requiere conocimiento de los diferentes lenguajes utilizados en las tecnologías Web: HTML para la presentación de páginas, CSS para la carta gráfica, JavaScript , Java o ActionScript para las automatizaciones ejecutadas por el cliente, así como un lenguaje como Java , PHP , C # o VBScript para las automatizaciones ejecutadas por el servidor.

Las aplicaciones web se componen de un conjunto de componentes de software y páginas "portadoras"; los componentes están agrupados en bibliotecas de software (ver servlets ). Un software de servidor web proporcionado para este propósito (servidor de aplicaciones web) ejecuta un componente determinado cuando se recibe cada solicitud. ASP.NET , Websphere , JBoss o Apache Tomcat son software de servidor de aplicaciones web.

Por lo general, varios usuarios utilizan una aplicación web simultáneamente; está equipado con mecanismos lógicos de control de acceso , estos se basan en mecanismos de control de acceso específicos del servidor de aplicaciones web y del sistema operativo. A veces utilizan mecanismos existentes como SSO ( inicio de sesión único ).

Para los trabajos de construcción, los ingenieros utilizan entornos de desarrollo integrados que ayudan tanto con la programación de computadoras como con el diseño de sitios web , como Visual Studio o Eclipse .

seguridad

La seguridad de una aplicación web está estrechamente vinculada al entorno que la aloja. Las fallas como la secuencia de comandos entre sitios pueden poner en riesgo la aplicación si el desarrollador no ha tomado las precauciones necesarias para proteger su código. Se pueden utilizar diferentes formas de atacar una aplicación, por ejemplo, inyección SQL o JavaScript.

Notas y referencias

  1. "  Webapp o aplicación móvil: ¿qué desarrollo técnico?  » , En mobizel.com
  2. "  Administración del enrutador Linksys  "
  3. Ejemplo de aplicaciones de Google "  aplicaciones de Google, una suite de oficina en línea  "
  4. (en) "  Una breve historia de CGI  "
  5. (en) "  W3Org, la interfaz de puerta de enlace común  "
  6. (in) "  Cliente enriquecido de próxima generación  "
  7. "  Definición, Wiki  "
  8. "  Historia de PHP  "
  9. (en) "  Historial e información de ASP  "
  10. (in) "  Una breve historia de las páginas de JavaServer  "
  11. (en) "  Conceptos básicos de JSP  "
  12. (en) "  Qué es ASP.Net - O'Reilly  "
  13. (en) "  Especificación ECMA-262  "

Ver también

Artículos relacionados