PDF de programación - Desarrollo de Aplicaciones Web con HTML::Mason

Imágen de pdf Desarrollo de Aplicaciones Web con HTML::Mason

Desarrollo de Aplicaciones Web con HTML::Masongráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Enero del 2018)
363 visualizaciones desde el 9 de Enero del 2018
189,3 KB
8 paginas
Creado hace 16a (16/06/2004)
Desarrollo de Aplicaciones Web con
HTML::Mason

Francesc Guasch Ortiz

Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona
Univesitat Politècnica de Catalunya

Introducción

Mason es un sistema de desarrollo de webs muy potente y completo. Veremos brevemente algunas de las
características más importantes. También se explicarán técnicas de gestión de proyectos y utilidades
relacionadas.

Esta introducción al sistema HTML::Mason está orientada a responsables de proyectos web que quieran
conocer una herramienta nueva y a programadores que quieran desarrollar aplicaciones en este entorno.
Saber Perl es imprescindible para utilizar Mason, pero no es necesario conocerlo para entender este texto.
Sin embargo, es necesario un mínimo de conocimientos de lo que es un servidor de web y para que sirve.

Panorama

Mason sirve para crear páginas web generando código desde el servidor. Nos permite mezclar Perl y
HTML en el mismo archivo fuente. Éste código es ejecutado en el servidor de web, y se convierte
finalmente en código HTML que se muestra en la pantalla del usuario final.

La unidad central de código en Mason es el componente. Un componente es un archivo de texto que
contiene las fuentes de Perl y HTML. Éste fichero, permite aceptar parámetros y puede generar un
resultado. Cualquier componente puede llamar a otro.

Mason es mucho más que un sistema para tener perl embebido en HTML. Además de las funciones de
programación, tiene herramientas que ayudan a la resolución de los problemas típicos en la creación de
aplicaciones web : caché, debug, plantillas, sesión, etc.

Mason se instala sobre el servidor de web Apache, y requiere un módulo de Apache llamado mod_perl.
Funciona para todos los sistemas operativos en los que haya perl y apache. El sistema más popular donde se
utiliza Mason es Linux, pero se puede instalar en cualquier otro Unix, e incluso Windows.

Mason al Microscopio

1 de 8

Fig. 1: Fases de la Petición de una página.

Desde que el usuario pide una página web, hasta que su navegador le muestra el código HTML generado:
(Fig. 1 )

1.
2.
3.

4.
5.

El usuario pide a su navegador una página de web.
El navegador se conecta al servidor apache. Le pide la página que el usuario quería.
Dentro del servidor la página es un componente formado por Perl y HTML. Es el código fuente que
ha escrito el programador. Mason lo transforma en perl puro.
El código perl generado se ejecuta y genera código HTML.
La página HTML se envía al navegador del cliente en respuesta a la petición, y se dibuja en la
pantalla del usuario final.

El único trabajo del programador, dentro de éste laborioso proceso, es escribir el código fuente del
componente Mason del punto 3.

Características y Beneficios

La principal ventaja que tenemos al utilizar Mason es que podemos programar en Perl.

Con Mason podemos crear componentes modulares reusables. Nos facilita el acceso a los parámetros de
los formularios. Podemos crear plantillas sofisticadas, webs virtuales y filtros. Usando Mason evitamos
repetir código, gracias a la modularidad de los componentes.

Además tenemos herramientas que van más allá de lo necesario para programar. Hay Gestión de Sesiones
y técnicas de Orientación a Objeto. También nos da acceso a funciones internas avanzadas, como por
ejemplo para Caché, que nos sirve para guardar el resultado generado por un componente.

Perl

Mason nos permite programar en Perl, y mezclarlo en el archivo fuente con código HTML para generar
páginas web dinámicamente. Esto nos permite utilizar todas las características del lenguaje de programación

2 de 8

Perl en las aplicaciones web.

Perl es un lenguaje muy completo y evolucionado. Perl ya existía mucho antes de Internet, y tiene
herramientas especiales que lo hacen ideal para éste entorno. Podemos bajar desde el web miles de
módulos para todo tipo de funciones, ya implementados. Dispone de objetos, expresiones regulares, y
muchas utilidades para hacer la vida fácil al programador. Por ejemplo, existen drivers para acceder a
cualquier base de datos del mercado.

Con Perl podemos crear pequeños scripts que nos salvan la papeleta rápidamente, o se puede utilizar para
aplicaciones complejas de cientos de miles de líneas de código con objetos. Por ejemplo, se utiliza en el
proyecto del Genoma Humano o para gestionar webs tan complejos como amazon.com .

Con Mason, se puede incluir Perl dentro del código HTML. La sintaxis está totalmente integrada, con lo que
no hay que aprender ningún otro lenguaje intermedio. Si necesitamos hacer comparaciones, bucles, o
cualquier operación que se escapa al nivel HTML, lo podemos hacer directamente en Perl.

Componentes

La mejor manzana

Pollo
Conejo
Manzanas
Legumbres

la
te
ral

pié de página

Fig. 2: Divisiones o Componentes de una página

Mason tiene un sistema de componentes reusables. Con ésto vamos más allá de un script en el que
podemos incluir otros archivos. Los componentes son sofisticados elementos, a los que podemos pasarles
parámetros y devuelven un resultado. Los componentes pueden llamarse entre ellos, como si fueran
subrutinas. Puede haber componentes que contengan código perl y HTML, o que sólo tengan código y no
devuelvan ningún resultado visible para el usuario final.

Separemos las partes de una página de web típica ( Fig. 2 ). Probablemente habrá una cabecera, un índice
a la izquierda, enlaces a la derecha, un pequeño pié de página, y en el centro el contenido que ha pedido el
usuario. Cada uno de estos apartados puede ser un componente separado. Al generarse el código HTML
completo de la página, Mason va llamando por orden a cada uno de los componentes, y se insertan en el
lugar apropiado.

La mayoría de las páginas de un web tendrán elementos iguales, por ejemplo, la cabecera. Teniéndola
dentro de un componente aparte, nos evita tener que copiar la cabecera en cada página.

Puede haber componentes que no muestren ningún resultado visual, por ejemplo, un componente que guarde
información en una base de datos. También pueden ejecutarse estos componente desde Mason

Parámetros

Los desarrolladores de Mason han resuelto de manera única y brillante el problema del paso de parámetros.
Tanto los datos que el usuario rellena en los formularios, como los argumentos de llamada en los
componentes, se tratan igual. El programador no tiene que preocuparse por los detalles internos de los
parámetros de las páginas web, tanto si son tipo POST o GET, se accede de la misma manera sin
complicaciones.

Cuando un usuario accede a una página en la que hay un formulario, rellena los datos y los envía al servidor.
Al ejecutarse el componente correspondiente, el programador puede acceder a los datos enviados por el

3 de 8

usuario como si fueran parámetros de una subrutina.

De la misma manera, cuando un componente llama a otro, le puede pasar parámetros. El componente
ejecutado puede acceder a estos datos de la misma manera que cuando un usuario rellena un formulario.

El sistema de paso de parámetros está pensado para facilitar la modularidad del web. Podemos separar
cada bloque de la página en partes y ejecutarlos por orden.

Plantillas

Hay unos supercompontes en Mason que facilitan la creación de plantillas. Se acabó repetir código, copiar y
pegar, o incluir páginas. Todo ésto se gestiona automáticamente.

Las páginas de un web tienen bloques comunes ( Fig. 3 ), por ejemplo una cabecera o un pié de página.
Podemos hacer llamadas desde cada página para mostrar la cabecera y el pié, pero eso nos obligaría a
repetir el código de esa llamada en todas las páginas.

Fig. 3: autohandler

Hay una técnica que nos evita incluso ese trabajo repetitivo. Es un supercomponente de Mason llamado
autohandler. Se ejecuta antes de la página real, y se encarga de hacer las llamadas a todos los componentes
comunes , y en el momento justo mostrar la página real que se ha pedido.

URLs Virtuales

Existe otro supercomponente de Mason, llamado dhandler, que se ejecuta si alguien pide una página que no
existe. Una de las utilidades es la creación de webs con URLs virtuales.

Podemos crear un apartado en el web que no esté formado por componentes reales. Al usuario final, le
parecerá que existe un sistema de directorios y archivos, pero en realidad no existen.

Por ejemplo, una web de una revista de periodicidad mensual tendría unas URLs parecidas a esta, o incluso
mucho más horribles:

http://revista.example.com/articulos?año=2003&mes=junio

En la página "artículos" habría una llamada a una base de datos para buscar los contenidos que hacen
referencia a ese mes y ese año. Si no existen se mostraría un mensaje de error.

Con Mason podemos hacer que las URLs tengan un formato más elegante:

4 de 8

http://revista.example.com/articulos/2003/junio.html

Esta página no existe en realidad. El supercomponente dhandler se ejecuta, el programador escribe código
para descomponer la URL y realiza el acceso a la base de datos. Se obtiene el contenido y se muestra en
pantalla, si no existe el artículo responde con un error al usuario.

Filtros

Recordemos los pasos de ejecución de un componente. Mason transforma el código perl+html en sólo perl,
y luego se transforma en el HTML que es lo que ve el usuario final.

Podemos añadir un filtro al componente para que transforme el texto generado. Por ejemplo, queremos
transformar todas las llamadas a las imágenes de la página para que se busquen en otro servidor. Haríamos
un filtro que hiciera una transformación. El código se parecería un poco a :

s| img src="(/.*)" | img src="http://img.example.com/$1" |

No hace falta que intentemos tan pronto saber como hacer filtros. Pensemos que simplemente, busca el
nombre de la imagen, la guarda en la variable $1, y esta variable se añade al web en el que hemos puesto
los archivos.

Orientación a Objeto

Mason permite la utilización de herencia entre los componentes. Podemos programar métodos y atributos , y
definir de que otro componentes se heredan.

Los objetos de Mason, no ti
  • Links de descarga
http://lwp-l.com/pdf8253

Comentarios de: Desarrollo de Aplicaciones Web con HTML::Mason (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad