EN QUE CONSISTE
La programación del lado del servidor entra en juego en el desarrollo de páginas web con elementos dinámicos y de aplicaciones web. Esta tecnología de desarrollo web se basa en la utilización de scripts que ejecuta el servidor web, con ayuda del lenguaje de programación adecuado, cuando un cliente solicita el contenido. Una tarea frecuente de los scripts consiste en extraer los datos que se necesitan de una base de datos y de integrarlos en el proyecto web. Aunque el usuario accede al proyecto a través de páginas HTML, el código fuente de los scripts permanece oculto.
El uso de estos scripts del lado del servidor presupone que el cliente seguirá enviando peticiones al servidor web para entregar información nueva y modificada al usuario. Esto, por un lado, conlleva una fuerte carga de la capacidad del servidor, con la consecuente influencia en su tiempo de respuesta y, por otro, hace imprescindible una conexión al servidor para poder acceder a la página.
Los lenguajes de programación del lado cliente también se utilizan para realizar proyectos con contenidos dinámicos, pero, a diferencia de los lenguajes del lado servidor, no es el servidor el que ejecuta y procesa los scripts, sino el cliente solicitante. Con esta finalidad, los scripts se incluyen en el documento HTML o XHTML o se escribe en un archivo separado que se enlaza al documento principal.
Cuando un usuario solicita una página web o una aplicación web con un script de este tipo, el servidor web envía el documento HTML y el script al navegador, quien lo ejecuta y presenta el resultado final. Asimismo, los scripts del lado cliente contienen instrucciones concretas para el navegador web al respecto de cómo ha de reaccionar a ciertas acciones llevadas a cabo por el usuario como, por ejemplo, un clic en un botón específico. A menudo, el cliente ha de establecer para ello otro contacto con el servidor web.
Al ejecutarse en el navegador, el usuario puede ver el código fuente, a diferencia de lo que ocurre con los scripts del lado servidor. Como contrapartida, la interpretación de los scripts se basa en la suposición de que el navegador web entiende el lenguaje de programación web correspondiente. Como las ventanas emergentes y las herramientas de seguimiento web también se basan en el lenguaje del lado cliente y estos scripts influyen en los tiempos de carga, existen diversas extensiones para el navegador muy populares que bloquean estos scripts.
Usos de Common Gateway Interface
- Cesta de la compra: cuando un cliente añade algún producto a la cesta de la compra de una tienda en línea, el script CGI procesa esos datos y, luego, los envía al servidor.
- Comentarios: el usuario rellena un campo de comentarios. Cuando hace clic en “Enviar”, el texto se transmite al script CGI, que, a su vez, lo reenvía al servidor.
- Formularios: también en el caso de los formularios en línea, como a la hora de enviar algún mensaje o inscribirse en una oferta de trabajo, los datos introducidos son procesados primero por Common Gateway Interface antes de transmitirse al servidor.
- Estadísticas de páginas web: cuando las páginas web muestran el tráfico que tienen, la tecnología que lo respalda también recurre al CGI en muchos casos.
- Server Side Includes: el uso de Common Gateway Interface permite cargar el contenido en formato de texto dinámicamente en la página web.
- Pruebas de software: a través del navegador, los desarrolladores pueden utilizar scripts CGI para probar la funcionalidad de las aplicaciones en línea externas para páginas web.
Existen tres formas de transmisión de datos:
- QUERY_STRING: este método se utiliza principalmente para las peticiones de los usuarios.
- PATH_INFO: este método envía información contextual sobre la página web.
- Stdin: con este método, se procesan otras solicitudes del usuario.
Ventajas e inconvenientes de Common Gateway Interface
A pesar de sus años de antigüedad, CGI sigue siendo uno de los estándares más utilizados en el desarrollo de páginas web. No obstante, esta tecnología no solo presenta ventajas, sino también algunos inconvenientes.
Ventajas
El CGI es una forma sencilla y eficaz de generar contenido dinámico en las páginas web. Al mismo tiempo, como las aplicaciones CGI no tienen que almacenarse en el servidor, no se utilizan recursos innecesariamente. Desde un punto de vista práctico, otra ventaja de Common Gateway Interface es que es compatible con varios lenguajes de programación y, por lo tanto, puede incorporarse fácilmente a las infraestructuras existentes. Por último, pero no por ello menos importante, se trata de un estándar gratuito y disponible para todos los desarrolladores en cualquier momento.
Inconvenientes
Uno de los mayores puntos débiles de Common Gateway Interface es que, aunque la carga del servidor se reduce, el tiempo de respuesta de las aplicaciones CGI se alarga mucho en algunos casos, porque los programas deben volver a ejecutarse con cada nueva solicitud. Especialmente en el caso de las páginas web con mucho tráfico, el hecho de que los servidores solo suelan admitir una cierta cantidad de aplicaciones CGI y que otras solicitudes entrantes se pongan en espera o, directamente, se rechacen puede suponer un problema.
Por otra parte, al igual que otras interfaces, Common Gateway Interface puede suponer un riesgo para la seguridad si no se configura un medio de protección adecuado. En teoría, a través del CGI, los programas externos tienen acceso a todos los datos del servidor web. Por lo tanto, deben establecerse unas restricciones claras para evitar que los scripts CGI causen daño.
Alternativas a Common Gateway Interface
En los últimos años, se han desarrollado otras tecnologías de interfaz basadas en CGI, pero que intentan mitigar su principal inconveniente: que los scripts deban volver a ejecutarse con cada nueva solicitud del usuario.
ASP (Active Server Pages): ASP fue desarrollado originalmente por Microsoft para sus propios servidores, pero ahora está disponible para muchos otros. El intérprete ASP está integrado en el servidor web, por lo que no es necesario iniciar nuevos procesos al utilizarlo. Los comandos ASP se pueden escribir directamente en las páginas HTML. Al igual que CGI, ASP también es compatible con varios lenguajes de programación.
PHP: junto con Perl, PHP es uno de los lenguajes de scripting más utilizados en Internet. La funcionalidad de PHP es muy similar a la del script CGI. Sin embargo, el intérprete PHP está integrado directamente en el servidor web.
ColdFusion: se desarrolló originalmente para Windows, pero ahora también está disponible para varias plataformas Unix. El intérprete de ColdFusion está integrado en el servidor web, al igual que las alternativas a CGI mencionadas más arriba. Las páginas HTML se pueden modificar con etiquetas predefinidas o con elementos de control personalizados. Además, ColdFusion ofrece a los desarrolladores una serie de funciones estándar.
FastCGI: con FastCGI, las solicitudes dinámicas del servidor web pueden procesarse directamente a través de una interfaz Perl sin tener que iniciar un nuevo proceso. FastCGI es ampliamente compatible con CGI y con gran variedad de servidores web.
- es un lenguaje de programación desarrollado por Larry Wal (lwal at netlabs.com) inspirado en otras herramientas de UNIX. PERL es el lenguaje más utilizado para la creación de programas CGI en los servidores web. Es más rápido que los programas shel script de UNIX, puede leer y escribir ficheros binarios, y puede procesar ficheros grandes. La ventaja más importante de PERL sobre C es que PERL no necesita ser recompilado, es
- un lenguaje interpretado.
- Características del lenguaje Perl
En Perl no declaramos el tipo de datos como lo solemos hacer en otros lenguajes, sino que le ponemos un prefijo al nombre de la variable. Los prefijos son $
, @
y %
.
Por ejemplo, en una variable de tipo escalar sería:
$numero = 25;
$texto = "Hola mundo";
Una lista se haría entre paréntesis, separando sus valores por coma:
@listado = (10, 20, 30, 40);
Un hash se haría de la siguiente manera:
%tabla = (primero => 10 , segundo => 20)
También puedes escribirlo en varias líneas:
%tabla = ( primero => 10 , segundo => 20 );
Ventajas y desventajas de Perl
podemos nombrar una serie de ventajas a la hora de elegir Perl como lenguaje de programación:
- Es un lenguaje de alto nivel, así que su curva de aprendizaje es suave.
- Es eficiente a la hora de tratar un gran volumen de datos. Un ejemplo es que se usa en el mercado de finanzas y bioinformática.
- Es de propósito general: puede usarse en desarrollo web, pero también en otros entornos como la administración de sistemas.
- Es multiplataforma, además, viene con la propia instalación de cualquier sistema operativo Linux/Unix.
- Es una buena alternativa a C, ya que no tienes que trabajar con punteros.
- Alguna desventajas son:
- Aunque es un lenguaje interpretado, un programa hecho en Perl se compila al principio de su ejecución, por lo que puede ser lento comparado con otros lenguajes similares (esto se soluciona si después trabajas con muchos datos).
- Su código no es muy legible, comparado con otros lenguajes como Python (que también puede usarse para ejecutar scripts en servidores).
- No tiene control de excepciones, y los posibles errores suelen tener una dificultad media encontrarlos.
Active Server Pages (ASP):
Active Server Pages (ASP):
- es una tecnología del lado servidor de Microsoft para páginas web generadas dinámicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS). EL estándard ASP permite poder utilizar cualquier lenguaje para la programación, si bien Microsoft favorece que se utilice el VBScript, y en segundo término el JScript (versión del estándard Javascript hecha por Microsoft). En teoría, y mediante la programación, es posible adaptar versiones de lenguajes como Pascal, C y otros, para utilizarlos dentro de páginas ASP.
¿Cuáles son las características de Active Server Pages?
Ahora bien, en teoría la contraparte de ASP seria JSP (Java Server Pages) que parecen actuar iguales. No obstante, existen diferencias palpables, sobre todo al momento de que el usuario accede a la información.
En el caso de la tecnología de Microsoft, el código es ejecutado (interpretado) por el servidor sobre la marcha. Por lo tanto, la carga de las webs será más rápida, pero tan solo la primera vez que se accede. ¿Por qué? La razón de esto, es que en Java el código solo se compila una sola vez y se almacena en un archivo .class. Esto no sucede en ASP, y el proceso debe realizarse siempre.
En ASP se usan etiquetas, que van dentro de un archivo HTML y que son procesadas desde el lado del servidor. La mayoría de las instrucciones se encierran en las etiquetas “<% %>”. Las funciones del lenguaje son amplias, y pueden generar paginas dinámicas de todo tipo. Podrás acceder a contenido en base de datos, o añadir la posibilidad de enviar correo electrónico, todo desde un solo sitio web.
Ventajas y desventajas de usar ASP.NET
ASP.NET cuenta con gran cantidad de sitios web que lo respaldan debido a todas las ventajas que te ofrece. Y son estas las cuales fundamentan la razón por la cual millones de usuarios son fieles a este. No obstante, este marco de desarrollo también presenta algunas desventajas y todo ello lo detallamos a continuación.
Ventajas
Los principales beneficios que te ofrece ASP.NET son:
- Capacidad de combinación con otros lenguajes: ASP.NET te ofrece todo lo necesario para que desarrolles aplicaciones web, redes sociales, webs empresariales y sistemas de gestión de contenido (CMS). Ello se debe a que te permite combinar su marco de desarrollo con XML, PHP y HTML para que crees webs interactivas con éxito y con un mantenimiento nada complicado.
- Cuenta con soporte continuo: es una solución efectiva que te ofrece soporte actualizado por Microsoft para que programes con las últimas funciones.
- Tiene soporte MVC: se trata del modelo vista controlador y es una arquitectura que separa la sección de desarrollo web de la interfaz de diseño. Esto te otorga mayor flexibilidad a la hora de trabajar en equipo, ya que mientras unos desarrollan código otros se dedican al diseño, sin que ninguno tenga que interrumpirse. Esto te ofrece escalabilidad y facilidad para ejecutar el mantenimiento del programa desarrollado.
- Formularios web: es un marco de desarrollo que te permite crear aplicaciones web sencillas dentro de tus páginas. Tiene la ventaja de que desarrollas el código en una interfaz que posee la misma apariencia del producto final. También te da control para llevar a cabo grandes proyectos sin utilizar tanto código.
- Acceso a funcionalidades del .net framework: significa que te facilita el trabajo con webservices, bases de datos, criptografía, entre otros recursos.
- Comunicación estable con base datos SQL Server: te permite trabajar de manera cómoda con el sistema de gestión de bases de datos SQL Server ya que se conecta de manera óptima.
- Solo se compila el ejecutable: significa que solo el producto final (programa desarrollado) es el que debes compilar para su ejecución.
Desventajas
Aunque ASP.NET tiene muchas ventajas, también encuentras algunos inconvenientes:
- Menor rendimiento en comparación a Linux: el rendimiento y velocidad del sistema de archivos NTFS (New Technology System) de Microsoft Windows es menor comparado con el sistema de archivos de Linux.
- Plataforma específica de desarrollo: ASP.NET necesita que desarrolles tu programación desde el Entorno de Desarrollo Integrado (IDE) Visual Studio. Sin embargo, otros marcos de desarrollo tienen mayor flexibilidad en este aspecto, por ejemplo PHP que te permite desarrollar desde cualquier editor de texto (Bloc de notas, Atom, etc.).
- No es multiplataforma: este marco de desarrollo funciona solo con el sistema operativo Windows y presenta muchos problemas de compatibilidad con el resto de sistemas operativos. Para trabajar sin problemas, necesitas tener una PC con capacidad de trabajo en dicho sistema e instalar el servidor IIS de Microsoft. No obstante, esta limitación es un punto en contra, ya que otros sistemas de desarrollo se ejecutan en Linux, Windows o derivados de Mac OS.
- Mayor tiempo de desarrollo: aunque solo necesitas compilar el programa que vas a ejecutar, esto te lleva más tiempo en comparación con otros marcos de desarrollo. Asimismo, le agrega más tiempo a todo el proceso de elaborar una solución web.
- Escaso soporte comunitario: aunque ASP.NET cuenta con actualizaciones de seguridad constantes, no tiene foros de ayuda de colaboración desinteresada lo suficientemente amplios para colaborar en el desarrollo web.
- Elevado consumo de recursos: el uso de ASP.NET necesita muchos recursos para su correcto funcionamiento y compilación de recursos programados, ello significa más memoria ram y velocidad de procesamiento del CPU.
- es la tecnología para generar páginas web de forma dinámica en el servidor, desarrollado por Sun Microsystems, basado en scripts que utilizan una variante del lenguaje Java. La tecnología JSP, o de JavaServer Pages, es una tecnología Java que permite a los programadores generar dinámicamente HTML, XML o algún otro tipo de página web. Esta tecnología permite al código Java y a algunas acciones predefinidas ser embebidas en el contenido estático. La principal ventaja de JSP frente a otros lenguajes es que permite integrarse con clases Java (.class) lo que permite separar en niveles las aplicaciones web, almacenando en clases java las partes que consumen más recursos así como las que requieren más seguridad, y dejando la parte encargada de formatear el documento ‘html ‘ en el archivo jsp. Además Java se caracteriza por ser un lenguaje que puede ejecutarse en cualquier sistema, lo que sumado a jsp le da mucha versatilidad.
Ventajas y desventajas de JSP
PHP es un lenguaje de programación destinado a desarrollar aplicaciones para la web y crear páginas web, favoreciendo la conexión entre los servidores y la interfaz de usuario.
Entre los factores que hicieron que PHP se volviera tan popular, se destaca el hecho de que es de código abierto.
Esto significa que cualquiera puede hacer cambios en su estructura. En la práctica, esto representa dos cosas importantes:
- es de código abierto, no hay restricciones de uso vinculadas a los derechos. El usuario puede usar PHP para programar en cualquier proyecto y comercializarlo sin problemas.
- está en constante perfeccionamiento, gracias a una comunidad de desarrolladores proactiva y comprometida
- VENTAJAS DE PROGRAMAR EN PHP:
- *Es un lenguaje multiplataforma.Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.
- *El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
- *Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
- *Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).
DESVENTAJAS DE PROGRAMAR EN PHP:
No hay comentarios.:
Publicar un comentario