gestión y administración web · 2018. 4. 8. · unidad didáctica: gestión y administración web...

15
Gestión y Administración Web CARRERA PROFESIONAL COMPUTACIÓN E INFORMÁTICA Mg. Ing. David Gil Meza

Upload: others

Post on 28-Apr-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

Gestión y Administración Web

CARRERA PROFESIONAL COMPUTACIÓN E INFORMÁTICA

Mg. Ing. David Gil Meza

Page 2: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

1 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

INSTITUTO DE EDUCACIÓN SUPERIOR

TECNOLÓGICO PÚBLICO “TRUJILLO”

Dirección

Pasaje Olaya N° 180

Teléfono

044-233351

GESTIÓN Y ADMINISTRACIÓN WEB

Guía de Aprendizaje Copyright © 2018

por David Gil Meza

Todos los derechos reservados.

Elaboración y diseño:

Mg. Ing. David GiL Meza

Trujillo, marzo del 2018

Page 3: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

2 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Información Curricular

Unidad Didáctica Gestión y Administración Web

Módulo Técnico Profesional N° 03 Gestión de Aplicaciones para Internet y Producción Multimedia

Competencia del Módulo Técnico Profesional

Diseñar, desarrollar, administrar, gestionar e implementar productos multimedia y aplicaciones para Internet, teniendo en cuenta los requerimientos del cliente.

Créditos 4

Semestre Académico V

Turno Diurno/Nocturno

Horas semanales 06

Horas semestrales 108

Capacidad Terminal Planificar, implementar y administrar aplicaciones web

de base de datos, de acuerdo a los requerimientos del

cliente, aplicando conceptos, técnicas y herramientas

especializadas para que la información organizacional

llegue a los usuarios adecuados de forma adecuada y en

el tiempo adecuado.

Page 4: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

3 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Introducción

La internet y especialmente uno de sus servicios la Word Wide Web (WWW) son, posiblemente, los desarrollos más importantes en la historia de la computación. Estas tecnologías han llevado a cientos de millones de personas en el mundo a la era de la informática; además, se han convertido actualmente en parte integral de la vida diaria.

En los primeros días de la WWW los “sitios web” consistían básicamente en un poco más de un conjunto de archivos de hipertexto enlazados que presentaban información mediante texto y gráficos limitados. Además, todos querían tener presencia en la web produciéndose un desarrollo caótico de la misma y una proliferación de sitios web desarrollados por entusiastas y aficionados.

Con el paso de los años y el desarrollo y mejora de las tecnologías de internet, los sitios web han sufrido una natural evolución y con ayuda de tecnologías complementarias nacen las aplicaciones web que proporcionan capacidad de cálculo y procesamiento de información.

Si bien es cierto las características de las aplicaciones web difieren a las de las aplicaciones tradicionales, es necesario que al igual que las aplicaciones tradicionales se dé un enfoque disciplinado que garantice un desarrollo, implementación y mantenimiento exitoso.

Una vez que una empresa u organización cuenta con su sitio web, es una tarea frecuente la actualización de la información en el mismo, agregar recursos o ideas para mejorar su funcionamiento, así como también gestionar el espacio de alojamiento del sitio, cuentas de email, transferencia de archivos, actualizaciones de seguridad, respaldos, redireccionamiento, entre otras actividades con el fin de brindar un mejor servicio a sus clientes y usuarios. La tarea conlleva una gran responsabilidad para quien esté a cargo de la misma, ya sea por la información que se maneja, la interpretación correcta de lo que necesita el cliente para su implementación técnica y la difusión asociada a los fines de la organización/empresa/individuo.

Esta experiencia didáctica es eminentemente práctica sin descuidar el necesario soporte teórico que permita al estudiante planificar, desarrollar, implementar y mantener el sitio web organizacional; gestionar contenidos, de acuerdo a los requerimientos del cliente, aplicando conceptos, técnicas y herramientas especializadas para que la información organizacional llegue a los usuarios adecuados de forma adecuada y en el tiempo adecuado.

En tal sentido, al inicio se sitúa al estudiante en el contexto de las tecnologías web y el desarrollo de aplicaciones web con PHP y MySQL; luego, elaboran un proyecto de desarrollo web de acuerdo al proceso de la ingeniería web; a continuación, se entrena al estudiante para el uso adecuado de uno de los sistemas de gestión de contenidos más utilizados actualmente en el mercado como es WordPress. Finalmente, se presentan conceptos, técnicas y herramientas para optimizar y posicionar sitios web.

Page 5: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

4 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Tabla de contenido

Información Curricular ...................................................................................................... 2

Introducción ..................................................................................................................... 3

Indicador de logro 1 .......................................................................................................... 5

Introducción a las Tecnologías Web ................................. ¡Error! Marcador no definido.

Cómo funciona la web .................................................................... ¡Error! Marcador no definido.

Paradigma cliente-servidor ............................................................. ¡Error! Marcador no definido.

Características de las entidades participantes en el diálogo: ........................... ¡Error! Marcador no definido.

Qué son los DNS ............................................................................. ¡Error! Marcador no definido.

Protocolos de internet .................................................................... ¡Error! Marcador no definido.

HTTP (Hypertext Transfer Protocol) ................................................................. ¡Error! Marcador no definido.

Navegadores Web .......................................................................... ¡Error! Marcador no definido.

Los motores de renderizado ............................................................................. ¡Error! Marcador no definido.

Servidores web ............................................................................... ¡Error! Marcador no definido.

Tecnologías front-end y back-end .............................................................................. 6

Aplicaciones Web ..................................................................................................................... 6

¿Qué es una aplicación web de base de datos? .......................................................................... 6

Tecnologías front-end ............................................................................................................... 7

Desarrollo front-end ....................................................................................................................................... 7

Código HTML .................................................................................................................................................. 7

Estructura HTML ............................................................................................................................................. 8

Hojas de estilo en cascada (CSS: Cascading Stylesheets) ............................................................................... 8

El lenguaje JavaScript ..................................................................................................................................... 9

Tipos de imagen en la web ............................................................................................................................. 9

Web API ........................................................................................................................................................ 10

Fuentes Web ................................................................................................................................................ 10

Tecnologías back-end ............................................................................................................. 11

Código de lado del servidor .......................................................................................................................... 12

Lenguajes de servidor ................................................................................................................................... 12

Trabajando con datos ................................................................................................................................... 13

CMS (Content Management System) ........................................................................................................... 13

Red de entrega de contenidos (CDN Content Delivery Network) ................................................................ 13

Servicios en la nube ...................................................................................................................................... 14

Page 6: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

5 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Indicador de logro 1

Descripción:

Crea aplicaciones web básicas aplicando correctamente los fundamentos de las tecnologías web.

Page 7: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

6 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Tecnologías front-end y back-end

Aplicaciones Web

En ingeniería de software una aplicación web es aquella que los usuarios usan accediendo a un servidor web a través de Internet o de una intranet. Las aplicaciones web son populares debido a la practicidad del navegador web como cliente ligero. La habilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software en miles de potenciales clientes es otra razón de su popularidad. Aplicaciones como los webmail, wikis, weblogs, MMORPGs, tiendas en línea son ejemplos bien conocidos de aplicaciones web.

Una aplicación Web consta de una o más páginas conectadas entre sí. Un buen punto de partida sería decir que una página Web es un archivo de texto que contiene lenguaje de marcas de hipertexto (HTML), etiquetas de formato y vínculos a archivos gráficos y a otras páginas Web.

El archivo de texto se almacena en un servidor de Web al que pueden acceder otras computadoras conectadas ese servidor, vía Internet o una LAN. Al archivo se puede acceder utilizando exploradores Web que no hacen otra cosa que efectuar una transferencia de archivos e interpretación de las etiquetas y vínculos HTML, y muestran el resultado en el monitor.

¿Qué es una aplicación web de base de datos?

Una aplicación es un programa o un conjunto de programas diseñados para su uso por un usuario final (por ejemplo, clientes, proveedores, etc.). Si el usuario final interactúa con la aplicación a través de un navegador Web, la aplicación basada en web o aplicación web. Si la aplicación Web requiere el almacenamiento a largo plazo de la información utilizando una base de datos, es una aplicación Web de base de datos.

Una aplicación Web de base de datos está diseñada para ayudar al usuario realizar una tarea. Puede ser una sencilla aplicación que muestra información en una ventana del navegador (por ejemplo, las oportunidades actuales de empleo cuando el usuario selecciona un anuncio de trabajo) o un programa complicado con funcionalidades extendidas (por ejemplo, la aplicación bookordering en Amazon.com o en la aplicación de licitación en eBay).

Una aplicación Web de base de datos consta de sólo dos piezas:

Base de datos: La base de datos es la memoria a largo plazo de su aplicación de base de datos Web. La aplicación no puede cumplir su propósito sin la base de datos. Sin embargo, la base de datos por sí sola no es suficiente.

Aplicación: La aplicación es el programa o grupo de programas que realizan las tareas. Los programas creados muestran lo que el usuario ve en la ventana del navegador, ellos aseguran que la aplicación interactúe mediante la aceptación y procesamiento de la información que el usuario escribe en la ventana del navegador, ellos almacenan y recuperan la información en la base de datos.

Page 8: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

7 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Tecnologías front-end

Son todas aquellas tecnologías que corren del lado del cliente, es decir, todas aquellas tecnologías que corren del lado del navegador web, generalizándose más que nada en tres lenguajes, HyperText Markup Language (HTML) que estructura los contenidos de las páginas web, hojas de estilo en cascada (CSS) para describir el aspecto y el formato de la página web más algo de código ejecutable realizado en lenguaje de script del navegador (JavaScript), la persona encargada del front-end, se dedica solo a estas tres tecnologías, aunque esto no significa que no sepa cómo trabaja el back-end, ya que es necesario para que pueda consumir datos y pueda estructurar correctamente un maquetado en HTML y CSS para su mejor comodidad y la comodidad del back-end a la hora de colocarlo sobre un servidor.

Desarrollo front-end

El desarrollo front-end es el que se encarga de la parte visible con la que interactúa el usuario, es decir el desarrollo front-end desarrolla las interfaces de la aplicación web; es el responsable de mostrar los contenidos, de controlar la interacción del usuario y de las peticiones al servidor. Los contenidos deben ser presentados estéticamente a los usuarios, las interfaces que se construyen deben ser fáciles de usar para ello los desarrolladores front-end deben utilizar adecuadamente las tecnologías front-end y además conocer otras tecnologías relacionadas a fin de lograr interfaces agradables visualmente, pero a su vez que permitan la interacción exitosa del usuario con la aplicación web.

Código HTML

HTML, sigla en inglés de HyperText Markup Language (lenguaje de marcas de hipertexto), hace referencia al lenguaje de marcado para la elaboración de páginas web. Es un estándar que sirve de referencia del software que conecta con la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código (denominado código HTML) para la definición de contenido de una página web, como texto, imágenes, videos, juegos, entre otros. Es un estándar a cargo del World Wide Web Consortium (W3C) o Consorcio WWW, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación. Se considera el lenguaje web más importante siendo su invención crucial en la aparición, desarrollo y expansión de la World Wide Web (WWW). Es el estándar que se ha impuesto en la visualización de páginas web y es el que todos los navegadores actuales han adoptado.

El lenguaje HTML basa su filosofía de desarrollo en la diferenciación. Para añadir un elemento externo a la página (imagen, vídeo, script, entre otros.), este no se incrusta directamente en el código de la página, sino que se hace una referencia a la ubicación de dicho elemento mediante texto. De este modo, la página web contiene solamente texto mientras que recae en el navegador web (interpretador del código) la tarea de unir todos los elementos y visualizar la página final. Al ser un estándar, HTML busca ser un lenguaje que permita que cualquier página web escrita en una determinada versión, pueda ser interpretada de la misma forma (estándar) por cualquier navegador web actualizado.

Sin embargo, a lo largo de sus diferentes versiones, se han incorporado y suprimido diversas características, con el fin de hacerlo más eficiente y facilitar el desarrollo de páginas web compatibles con distintos navegadores y plataformas (PC de escritorio, portátiles, teléfonos inteligentes, tabletas, vipers etc.) No obstante, para interpretar correctamente una nueva versión de HTML, los desarrolladores de navegadores web deben incorporar estos cambios y el usuario debe ser capaz de usar la nueva versión del navegador con los cambios incorporados. Normalmente los cambios son aplicados mediante parches de actualización automática (Firefox, Chrome) u ofreciendo una nueva versión del navegador con todos los cambios incorporados, en un sitio web de descarga oficial (Internet Explorer). Por lo que un navegador desactualizado no será capaz de interpretar correctamente una página web escrita en una versión de HTML superior a la que pueda interpretar, lo que obliga muchas veces a los desarrolladores a aplicar técnicas y cambios que permitan corregir problemas de visualización e incluso de interpretación de código HTML. Así mismo, las páginas escritas en una versión anterior de HTML deberían ser actualizadas o reescritas, lo que no siempre se cumple. Es por ello que ciertos navegadores todavía mantienen la capacidad de interpretar páginas web de versiones

Page 9: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

8 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

HTML anteriores. Por estas razones, todavía existen diferencias entre distintos navegadores y versiones al interpretar una misma página web.

Estructura HTML

Hojas de estilo en cascada (CSS: Cascading Stylesheets)

CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas.

<html>

<head>

Información técnica para el navegador

</head>

<body>

Contenido que se mostrará en la página

</body>

</html>

Page 10: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

9 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

El lenguaje JavaScript

JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.

Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo, en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo.

JavaScript fue desarrollado originalmente por Brendan Eich de Netscape en 1995 con el nombre de Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente quedar como JavaScript.

Desde entonces JavaScript se ha convertido en uno de los lenguajes de programación más populares en internet. Al principio, sin embargo, muchos desarrolladores renegaban del lenguaje porque el público al que va dirigido lo formaban publicadores de artículos y demás aficionados, entre otras razones. La llegada de Ajax devolvió JavaScript a la fama y atrajo la atención de muchos otros programadores. Como resultado de esto hubo una proliferación de un conjunto de frameworks y librerías de ámbito general, mejorando las prácticas de programación con JavaScript, y aumentado el uso de JavaScript fuera de los navegadores web, como se ha visto con la proliferación de entornos JavaScript del lado del servidor. En enero de 2009, el proyecto CommonJS fue inaugurado con el objetivo de especificar una librería para uso de tareas comunes principalmente para el desarrollo fuera del navegador web.

En junio de 2015 se cerró y publicó el estándar ECMAScript 62021 con un soporte irregular entre navegadores y que dota a JavaScript de características avanzadas que se echaban de menos y que son de uso habitual en otros lenguajes como, por ejemplo, módulos para organización del código, verdaderas clases para programación orientada a objetos, expresiones de flecha, iteradores, generadores o promesas para programación asíncrona.

La versión 7 de ECMAScript se conoce como ECMAScript 2016, y es la última versión disponible, publicada en junio de 2016. Se trata de la primera versión para la que se usa un nuevo procedimiento de publicación anual y un proceso de desarrollo abierto.

Tipos de imagen en la web

Uno de las principales decisiones a la hora de incluir gráficos en tu web será elegir el formato correcto para cada tipo de imagen de manera que logres una correcta relación entre la calidad visual de la misma y su peso en Kb.

JPG JPEG (Joint Photographic Experts Group) es un algoritmo diseñado para comprimir imágenes con 24 bits de profundidad o en escala de grises. Normalmente se le llama JPG debido a la extensión que tiene en sistemas operativos que sólo aceptan tres letras de extensión. JPEG (JPG) es un algoritmo de compresión con pérdida. Esto significa que al utilizar la imagen tras la compresión no obtenemos exactamente la misma imagen que teníamos antes de la compresión. Una de las características que hacen muy flexible el JPEG (JPG) es el poder ajustar el grado de compresión. Si especificamos una compresión muy alta se perderá una cantidad significativa de calidad, pero obtendremos ficheros extremadamente pequeños. Con una cantidad de compresión baja obtenemos una calidad muy parecida a la del original, y un fichero pequeño.

GIF El formato GIF (Graphic Interchange Format) es un formato de archivos gráficos de mapa de bits (una trama) desarrollado por Compuserve. Existen dos versiones de este formato de archivos: GIF 87a y GIF 89a, desarrolladas en 1987 y 1989 respectivamente. GIF 87a soporta la compresión LZW, el entrelazado (posibilidad de una visualización progresiva), una paleta de 256 colores y la posibilidad de crear imágenes animadas (GIF animados)

Page 11: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

10 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

almacenando varias imágenes en un mismo archivo. GIF 89a añade la posibilidad de definir un color transparente en la paleta y precisar el tiempo de las animaciones.

PNG El formato PNG (Portable Network Graphics) es un formato de archivos de gráficos de mapa de bits (una trama). Fue desarrollado en 1995 como una alternativa gratuita al formato GIF, cuyos derechos pertenecen a Unisys (propietario del algoritmo de compresión LZW) y a quien los editores de software deben pagar regalías por usar este formato.

SVG SVG (Scalable Vector Graphics) es abierto y está basado en los gráficos XML, un formato que se está incorporando a los estándares Web. Muchos buscadores ya soportan SVG en cierto grado. Puede ser utilizado tanto para imágenes como para animaciones. Dado que SVG es un formato de gráficos vectorizados, las imágenes puedes ser redimensionadas y transformadas sin sufrir pérdidas de calidad ni deformaciones.

Web API

La interfaz de programación de aplicaciones (API: Application Programming Interface), es un conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.

Una API es una “llave de acceso” a funciones que nos permiten hacer uso de un servicio web provisto por un tercero, dentro de una aplicación web propia, de manera segura.

Fuentes Web

Se refiere al tipo de letra usada en la World Wide Web. Cuando fue creado HTML, tanto la fuente tipográfica como el estilo venían determinados exclusivamente por las preferencias del navegador web utilizado. No existió ningún mecanismo para el control del tipo de letra en las páginas web hasta que en 1995 Netscape introdujo la etiqueta <font></font>, la cual fue estandarizada en HTML 2. No obstante, la fuente especificada por esta etiqueta tenía que estar instalada en el ordenador del usuario o tener una fuente de reserva como la predeterminada para la web; Sans-serif o un tipo de letra monoespaciado. La primera especificación de hojas de estilo en cascada (CSS en sus siglas en inglés) fue publicada en 1996 y proporcionaba las mismas prestaciones.

En 1998 fue publicado el estándar de CSS2, que intentaba mejorar el proceso de elección de fuentes tipográficas por medio de procedimientos como el de coincidencia de fuentes, síntesis y descarga. Estas técnicas no se llegaron a utilizar demasiado y fueron eliminadas de la especificación en CSS2.1. Sin embargo, Internet Explorer agregó soporte para descarga de fuentes en la versión 4.0, publicada en 1997. Más tarde se incluyó la descarga de fuentes en el módulo de fuentes de CSS3, y desde entonces ha sido implementada en Safari versión 3, Firefox versión 3,5 y Opera. Subsecuentemente, se ha incrementado el interés sobre la tipografía para la web, así como el uso de descarga de fuentes.

Page 12: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

11 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

Tecnologías back-end

La parte servidor de las aplicaciones web está formada por páginas estáticas que siempre muestran el mismo contenido y por programas o scripts que son ejecutados por el servidor web cuando el navegador del cliente solicita algunas páginas. La salida de este script suele ser una página HTML estándar que se envía al navegador del cliente. Tradicionalmente este programa o script que es ejecutado por el servidor web se basa en la tecnología Common Gateway Interface (CGI).

La programación del servidor mediante CGI es compleja y laboriosa. El protocolo HTTP no almacena el estado entre una conexión y la siguiente (es un protocolo sin estado), por lo que es el programador el que se tiene que encargar de conservarlo. Esto conduce a que el programador tenga que dedicar parte de su tiempo a programar tareas ajenas al objetivo de la aplicación, lo que suele ser origen de diversos problemas.

Sin embargo, con la entrada en 1995 de Microsoft en el mundo Internet y la salida al mercado de su servidor web (Internet Information Services) se abrió un nuevo campo para las aplicaciones web: Internet Server Application Program Interface (ISAPI). Se trata de un conjunto de funciones que el servidor web pone a disposición de los programadores de aplicaciones web. Con ISAPI, los programadores pueden crear Dynamic Link Library (DLL) con funciones que son invocadas para determinados archivos (se ejecutan cuando el cliente solicita un archivo con una determinada extensión).

Todo el sistema Active Server Pages (ASP), no es más que una DLL del tipo ISAPI que es invocada automáticamente para los archivos cuya extensión sea .asp. La DLL ASP preprocesa el archivo .asp interpretando su código como un script a ejecutar en el servidor. Sin embargo, ella no interpreta directamente el código, sino que en función del lenguaje en el que está escrito, invoca a otra DLL que se encarga de ejecutar el script. Después recoge la salida y se la envía al servidor web, el cual a su vez la reenvía al cliente.

Las ventajas que presenta ASP frente a CGI son:

Las páginas basadas en CGI resultan difíciles de mantener, ya que las instrucciones HTML se encuentran insertadas en el propio código del programa CGI, mezclándose sus funcionalidades.

La ejecución de un programa CGI es muy ineficiente, debido al proceso de carga del código en memoria que se realiza cada vez que un usuario requiere su ejecución. La existencia de múltiples clientes simultáneos supone múltiples copias del programa en memoria del servidor.

Page 13: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

12 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

La unión de ISAPI con el servidor web es más “fuerte” (están más integrados), su ejecución es más rápida, con lo que se logra que las aplicaciones basadas en ISAPI tengan un mayor rendimiento que las basadas en CGI.

Además de ASP, existen otras tecnologías destinadas a programar la parte servidor de las aplicaciones web: ColdFusion, Java Server Pages (JSP), serv-lets, PHP, etc. Todas ellas son muy similares, se basan en los mismos principios y ofrecen resultados equivalentes.

Código de lado del servidor

Es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el servidor web para generar páginas HTML dinámicamente como respuesta.

Lenguajes de servidor

Los Lenguajes de programación del lado del servidor son especialmente útiles en trabajos que se tiene que acceder a información centralizada, situada en una base de datos en el servidor, y cuando por razones de seguridad los cálculos no se pueden realizar en la computadora del usuario.

Es importante destacar que los lenguajes de programación del lado del servidor son necesarios porque para hacer la mayoría de las aplicaciones web se debe tener acceso a muchos recursos externos a la computadora del cliente, principalmente bases de datos alojadas en servidores de Internet.

Las páginas dinámicas del servidor se suelen escribir en el mismo archivo HTML, mezclado con el código HTML, al igual que ocurría en las páginas del cliente. Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los scripts y se genera una página resultado, que solamente contiene código HTML. Este resultado final es el que se envía al cliente y puede ser interpretado sin lugar a errores ni incompatibilidades, puesto que sólo contiene HTML.

Luego es el servidor el que maneja toda la información de las bases de datos y cualquier otro recurso, como imágenes o servidores de correo y luego envía al cliente una página web con los resultados de todas las operaciones. Las ventajas de este tipo de programación son que el cliente no puede ver los scripts, ya que se ejecutan y transforman en HTML antes de enviarlos. Además, son independientes del navegador del usuario, ya que el código que reciben es HTML fácilmente interpretable.

Para escribir páginas dinámicas de servidor existen varios lenguajes, entre estos tenemos:

Practical Extraction and Report Language ( PERL): es un lenguaje de programación desarrollado por Larry Wall 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 shell 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.

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 Services (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.

Java Server Pages (JSP): 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

Page 14: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

13 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

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.

Hipertext Preprocesor (PHP): PHP (acrónimo recursivo de “PHP: Hypertext Preprocessor”, originado inicialmente del nombre PHP Tools, o Personal Home Page Tools) es un lenguaje de programación interpretado. Aunque fue concebido en el tercer trimestre de 1994 por Rasmus Lerdorf no fue hasta el día 8 de junio de 1995 que fue lanzada la versión 1.0. Se utiliza entre otras cosas para la programación de páginas web activas, y se destaca por su capacidad de mezclarse con el código HTML. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un compilador comercial denominado (Zend Optimizer). El desarrollo del código abierto por un lado y el firme respaldo comercial por el otro, han elevado a PHP a alcanzar una popularidad más que notable.

Trabajando con datos

Muchos sitios web necesitan almacenar información de los usuarios como nombres de usuario, contraseñas, etc. Los datos en internet se han convertido en algo esencial y se pueden gestionar de diferentes formas, de manera general se puede almacenar los datos en el cliente o se puede almacenar en el servidor.

Cookie: galleta o galleta informática es una pequeña información enviada por un sitio web y almacenada en el navegador del usuario, de manera que el sitio web puede consultar la actividad previa del usuario.

API Web Storage: es una de las APIs de HTML5 que nos permite guardar datos de tipo/valor (key/value) sin tener que utilizar cookies, es decir, no depende del tráfico de Internet.

XML: siglas en inglés de eXtensible Markup Language, traducido como "Lenguaje de Marcado Extensible" o "Lenguaje de Marcas Extensible", es un meta-lenguaje que permite definir lenguajes de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible.

JSON: acrónimo de JavaScript Object Notation, es un formato de texto ligero para el intercambio de datos.

Bases de datos: Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. Reside en el servidor y puede almacenar todo tipo de información.

Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés database management system o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada.

CMS (Content Management System)

Un sistema de gestión de contenidos es un programa desarrollado para que cualquier usuario pueda administrar y gestionar contenidos de una web con facilidad y sin conocimientos de programación Web.

Red de entrega de contenidos (CDN Content Delivery Network)

Se trata de una red de entrega de contenidos compuesta por diferentes ordenadores. Es decir, CDN hace referencia a un conjunto de servidores ubicados en diferentes puntos geográficos que contienen copias de contenidos alojados en otros servidores, y es un servicio del que puedes disponer en los mejores proveedores de hosting. Por consiguiente, busca optimizar el acceso a la información de la

Page 15: Gestión y Administración Web · 2018. 4. 8. · Unidad Didáctica: Gestión y Administración Web 6 Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia Ing

14 Unidad Didáctica: Gestión y Administración Web

Módulo 3: Gestión de Aplicaciones para Internet y Producción Multimedia

Ing. David Gil

red de redes, puesto que el usuario llegará a aquellas copias de datos que se encuentren más próximas a su posición.

Servicios en la nube

La computación en la nube (cloud computing), conocida también como servicios en la nube, informática en la nube, nube de cómputo, nube de conceptos o simplemente "la nube", es un paradigma que permite ofrecer servicios de computación a través de una red, que usualmente es Internet.

The World Wide Wed Consortium, www.w3.org

Wikipedia, www.wikipedia.org

Webkit, www.webkit.org/getting-the-code/

Gecko, www.developer.mozilla.org/en-US/docs/Mozilla/Gecko

Directnic, www.directnic.com

1&1, www.1and1.com

Arsys, www.arsys.es

Programación web, https://programacionwebisc.wordpress.com/2-3-lenguajes-de-

programacion-del-lado-del-servidor/