top of page

 

El desarrollo de aplicaciones web ha evolucionado enormemente en la última década, tanto desde el punto de vista del desarrollo de software como a nivel de administración de sistemas.

 

Desarrollo de software:Se han creado multitud de tecnologías, frameworks de desarrollo de aplicaciones, bibliotecas, aplicaciones configurables, arquitecturas,etc.

 

Administración de sistemas: Se ha evolucionado enormemente en la administración de sistemas, servicios de alojamiento, técnicas de escalabilidad, monitorización, gestión de centros de procesos de datos.

 

La evolución ha tenido como resultado que hay una gran cantidad de tecnologías, librerías, herramientas y estilos arquitectónicos para desarrollar una aplicación web.

 

• Es conveniente conocer los elementos más importantes desde un punto de vista de alto nivel para tener una visión global de la disciplina

• Existen dos enfoques en el desarrollo de aplicaciones web:

 

Creación de webs con tecnologías de desarrollo

 

Creación de webs con sistemas gestores de contenido 

 

 

 

 

 

Creación de webs con tecnologías de desarrollo

 

  • Arquitecturas de aplicaciones web: Una aplicación web puede tener diferentes arquitecturas. Esto determina cómo se usan las diferentes tecnologías existentes

 

  • Tecnologías de cliente: Tecnologías que permiten crear interfaces de usuario atractivos y permiten la comunicación con el servidor. Basadas en HTML, CSS y JavaScript.  

 

  • Tecnologías de servidor: Tecnologías que permiten implementar el comportamiento de la aplicación web en el servidor: lógica de negocio, generación de informes, compartir información entre usuarios, envío de correos, etc.

 

  • Bases de datos: La gran mayoría de las webs necesitan guardar información. Las bases de datos son una parte esencial del desarrollo web.

 

Creación de webs con sistemas gestores de contenido

 

  • Existen aplicaciones web cuya principal funcionalidad es la publicación de contenido: blogs, páginas de empresas, organismos públicos, etc.

 

  • Todas estas webs tienen mucho en común, prácticamente sólo se diferencian en el contenido y en el aspecto gráfico.

 

  • Para desarrollar este tipo de webs, en vez de desarrollar la web con técnicas de desarrollo, se utiliza un software ya desarrollado y se personaliza y adapta a las necesidades.

 

  • A las aplicaciones de este tipo se las denomina Sistemas Gestores de Contenido (CMSs).

 

 

 

  Los diferentes lenguajes de programación para la web

 

Actualmente existen diferentes lenguajes de programación para desarrollar en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas.

 

Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios y se dieron soluciones mediante lenguajes estáticos. A medida que paso el tiempo, las tecnologías fueron desarrollándose y surgieron nuevos problemas a dar solución. Esto dio lugar a desarrollar lenguajes de programación para la web dinámicos, que permitieran interactuar con los usuarios y utilizaran sistemas de Bases de Datos.

 

 

 

Páginas web Dinámicas - Que son y para que sirven

 

Las páginas web dinámicas son aquellas en las que la información presentada se genera a partir de una petición del usuario de la página.

 

Contrariamente a lo que ocurre con las páginas estáticas, en las que su contenido se encuentra predeterminado, en las páginas dinámicas la información aparece inmediatamente después de una solicitud echa por el usuario.

 

Esto se hace posible porque una página dinámica tiene asociada una Base de Datos desde la que se permite visualizar la información contenida en ella.

 

Otra de las ventajas de éste tipo de páginas es que permiten almacenar y hacer actualizaciones de la información contenida en la misma, así cómo también modificaciones dinámicas de la estructura y del diseño por parte de su propietario.

 

Para la creación de este tipo de páginas, además de la existencia de una Base de Datos asociada a las mismas deberán utilizarse etiquetas HTML y algún lenguaje de programación que se ejecute “del lado del servidor”, es decir, que esté alojado en el mismo servidor en el que está alojada la páginaweb.

 

Los lenguajes utilizados para la generación de este tipo de páginas son principalmente: Perl CGI, PHP , JSP y ASP .

 

Los manejadores de bases de datos que pueden trabajar con páginas dinámicas son principalmente: PostgresSQL, MySQL , Oracle y Microsoft SQL Server.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GeneraciÓn de paginas dinamicas en el servidor

 

 

Las páginas Web pueden generarse dinámicamente mediante varias secuencias de comandos en el servidor. Una vez que el navegador las recibe, las trata como páginas HTML normales y simplemente las despliega. Por ejemplo, cuando un usuario rellena los distintos campos de un formulario y hace clic en el botón de envío, se envía un mensaje al servidor con toda esta información. Ahora esta información deberá ser entregada a un programa o a una secuencia de comandos para que los procesen. Por lo general, el procesamiento implica el uso de la información proporcionada por el usuario para buscar un registro en una base de datos del disco del servidor y generar una página HTML personalizada para regresarla al cliente.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CGI

 

La forma tradicional de manejar formularios y otras páginas Web interactivas es un sistema estándar denominado CGI (Common Gateway Interface) o interfaz de puerta de enlace común. En una aplicación CGI, el servidor Web pasa las solicitudes del cliente a un programa externo. La salida de dicho programa es enviada al cliente en lugar del archivo estático tradicional. Por lo general, estos programas son secuencias de comandos escritas en lenguaje Perl, aunque algunas veces se emplea Python e incluso lenguajes compilados (C, C++, Java, etc.).

 

Perl es un lenguaje de programación interpretado -no requiere de un proceso de compilación previo-, derivado del lenguaje de programación C pero más sencillo, extraordinariamente potente y flexible, y muy extendido entre administradores de sistemas y desarrolladores Web. La base de programas y herramientas existentes en Perl es muy grande, lo que le podrá ayudar a la mejora de su página Web sin muchas dificultades.

 

Si queremos trabajar con Perl en el servidor Web será necesario tener instalado el intérprete del lenguaje. Por convención, los ficheros tienen la extensión “.pl” o “.cgi” y se suelen ubicar en el directorio “cgi-bin”.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Procesamiento de información mediante CGI en un formulario HTML

 

Lenguaje PHP

 

Es un lenguaje de programación utilizado para la creación de sitio web. PHP es un acrónimo recursivo que significa “PHP Hypertext Pre-processor”, (inicialmente se llamó Personal Home Page). Surgió en 1995, desarrollado por PHP Group.

 

PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión (php).

 

Sintaxis:

 

La sintaxis utilizada para incorporar código PHP es la siguiente:

<?

$mensaje=“Hola”;

echo $mensaje;

?>

 

También puede usarse:

 

<?php

$mensaje=“Hola”;

echo $mensaje;

?>

 

Ventajas:

 

  • Muy fácil de aprender.

  • Se caracteriza por ser un lenguaje muy rápido.

  • Soporta en cierta medida la orientación a objeto. Clases y herencia.

  • Es un lenguaje multiplataforma: Linux, Windows, entre otros.

  • Capacidad de conexión con la mayoría de los manejadores de base de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.

  • Capacidad de expandir su potencial utilizando módulos.

  • Posee documentación en su página oficial la cual incluye descripción y ejemplos de cada una de sus funciones.

  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

  • Incluye gran cantidad de funciones.

  • No requiere definición de tipos de variables ni manejo detallado del bajo nivel.

  •  

Desventajas:

 

 

  • Se necesita instalar un servidor web.

  • Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser más ineficiente a medida que las solicitudes aumenten de número.

  • La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.

  • La programación orientada a objetos es aún muy deficiente para aplicaciones grandes.

  • Dificulta la modularización.

  • Dificulta la organización por capas de la aplicación.

 

 

Lenguaje ASP.NET

 

Este es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar entre otras funciones, sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada al mercado mediante una estrategia de mercado denominada .NET.

 

El ASP.NET fue desarrollado para resolver las limitantes que brindaba tu antecesor ASP. Creado para desarrollar web sencillas o grandes aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#, VB.NET o J#. Los archivos cuentan con la extensión (aspx). Para su funcionamiento de las páginas se necesita tener instalado IIS con el Framework .Net. Microsft Windows 2003 incluye este framework, solo se necesitará instalarlo en versiones anteriores.

 

Ventajas:

 

  • Completamente orientado a objetos.

  • Controles de usuario y personalizados.

  • División entre la capa de aplicación o diseño y el código.

  • Facilita el mantenimiento de grandes aplicaciones.

  • Incremento de velocidad de respuesta del servidor.

  • Mayor velocidad.

  • Mayor seguridad.

 

Desventajas:

 

   Mayor consumo de recursos.

 

 

Lenguaje JSP

 

Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma. Creado para ejecutarse del lado del servidor.

 

JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat

 

Sintaxis:

 

<%=new java.util.Date() %>

 

Características:

 

 •Código separado de la lógica del programa.

 •Las páginas son compiladas en la primera petición.

 •Permite separar la parte dinámica de la estática en las páginas web.

 •Los archivos se encuentran con la extensión (jsp).

 •El código JSP puede ser incrustado en código HTML.

 

Elementos de JSP

 

Los elementos que pueden ser insertados en las páginas JSP son los siguientes:

 

 •Código: se puede incrustar código “Java”.

 •Directivas: permite controlar parámetros del servlet.

 •Acciones: permite alterar el flujo normal de ejecución de una página

 

Ventajas:

 

 •Ejecución rápida del servlets.

 •Crear páginas del lado del servidor.

 •Multiplataforma.

 •Código bien estructurado.

 •Integridad con los módulos de Java.

 •La parte dinámica está escrita en Java.

 •Permite la utilización se servlets.

 

Desventajas:

 

 •Complejidad de aprendizaje.

 

 

ColdFusion

 

ColdFusion es un entorno de desarrollo Web dinámico y un servidor Web que permite trabajar con distintos lenguajes como ASP, PHP, JSP, etc. Integra el ColdFusion Markup Language un lenguaje creado por Macromedia (ahora Adobe) cuyo funcionamiento se basa en etiquetas especiales integradas sobre el código HTML.

 

ColdFusion es una plataforma que se puede ejecutar de forma concurrente con la mayoría de los servidores Web de Windows, Mac, Linux y Solaris.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Generación de páginas dinamicas en el cliente

 

 

Las secuencias de comandos CGI, PHP, ASP.NET, JSP y ColdFusion resuelven el problema de manejar formularios e interacciones de bases de datos en el servidor. Pueden aceptar información entrante de formularios, buscar información en bases de datos y generar páginas HTML con los resultados.

 

Sin embargo, ninguno de ellos puede responder a los movimientos del ratón o interactuar de manera directa con los usuarios. Para ello es necesario tener secuencias de comandos incrustadas en páginas HTML que se ejecuten en la máquina cliente y no en el servidor. Las secuencias de tales comandos son posibles comenzando con la etiqueta <script>. El lenguaje de secuencias de comandos más popular para cliente es JavaScript. En este caso, todo el trabajo se realiza de manera local en el navegador, no hay contacto con el servidor, por lo que generalmente es más rápido. Otras alternativas populares son los applets de Java, los controles ActiveX y las animaciones Flash.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lenguaje Javascript

 

Este es un lenguaje interpretado, no requiere compilación. Fue creado por Brendan Eich en la empresa Netscape Communications. Utilizado principalmente en páginas web. Es similar a Java, aunque no es un lenguaje orientado a objetos, el mismo no dispone de herencias. La mayoría de los navegadores en sus últimas versiones interpretan código Javascript.

 

El código Javascript puede ser integrado dentro de nuestras páginas web. Para evitar incompatibilidades el World Wide Web Consortium (W3C) diseño un estándar denominado DOM (en inglés Document Object Model, en su traducción al español Modelo de Objetos del Documento).

 

Java

 

Los applets son pequeños programas de Java que se han compilado -extensión “.class”- en instrucciones de máquina para una computadora virtual llamada JVM (Java Virtual Machine). Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems basándose en el lenguaje C++. Aunque es también un lenguaje de carácter general, su principal característica es la de ser independiente de cualquier plataforma. Mientras los applets se almacenan en el servidor pero se ejecutan en el lado cliente previa descarga, los servlets son aplicaciones que se almacenan y ejecutan en el servidor (sustituyen a las CGI).

 

Si en una de nuestras páginas hemos referenciado a un applet (mediante la etiqueta <applet>), cuando un usuario cargue la página, recibirá del servidor dicho applet(al igual que ocurre con una imagen o sonido), y se ejecutará en su navegador. Debido a que los subprogramas de Java se interpretan en vez de ejecutarse directamente, el intérprete Java puede evitar que realicen acciones que puedan dañar la seguridad del PC.

 

ActiveX

 

La respuesta de Microsoft a los applets de Java fueron los controles ActiveX. Active X define unas normas para el desarrollo de objetos COM (Component Object Model), pudiendo ser generados con multitud de lenguajes (Visual Basic, Java, C++, etc.). Se trata así de programas compilados -extensión“.ocx”, ".dll" o ".exe"- y ejecutados en el hardware. Cuando el navegador ve un control ActiveX en una página Web, lo descarga, verifica su identidad y lo ejecuta.

Los controles ActiveX son muy rápidos y versátiles, pero tradicionalmente han presentado problemas de seguridad. También tienen problemas de compatibilidad con plataformas distintas a Windows.

 

Flash

 

Flash de Adobe (antes Macromedia) es otro medio para integrar aplicaciones dentro de una página Web que ha desbancado a Java. Adobe ha creado en torno a Flash una herramienta muy amigable y multiplataforma para crear animaciones y aplicaciones, e incluso ofrecer vídeo y audio en streaming. Los ficheros que genera –con extensión “.swf”- son muy compactos, se transmiten rápidamente y pueden visualizarse durante su descarga, siendo además compatibles con la mayoría de los navegadores existentes.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bottom of page