Sei sulla pagina 1di 20

Introduccin a los lenguajes del web

Introduccin general a la programacin en la web, que describe el concepto


de pginas dinmicas y estticas, de cliente y servidor.
Introduccin a la web como medio de comunicacin
Debemos empezar aprendiendo qu es la web y las caractersticas de
este medio de comunicacin. Aprenderemos tambin qu es HTML, el
lenguaje hipertexto con el que estn construidas todas las pginas
web. Asimismo, introduciremos un concepto bsico para poder
clasificar los distintos lenguajes disponibles, el de pginas dinmicas.

Parte 1:
Introduccin a la web
Debemos empezar aprendiendo qu es la web y las caractersticas de este medio de
comunicacin. Aprenderemos tambin qu es HTML, el lenguaje hipertexto con el
que estn construidas todas las pginas web. Asimismo, introduciremos un concepto
bsico para poder clasificar los distintos lenguajes disponibles, el de pginas
dinmicas.

1.1.- Introduccin a la web

Vemos una introduccin al medio donde se encajan los lenguajes que


vamos a tratar: la web.

La web se encuadra dentro de Internet, no es ms que un servicio de


los muchos que presta la Red, entre los que podemos encontrar:

Correo electrnico
IRC o chat
FTP
El propio web

1.1 Web es un sistema Hipertexto/Hipermedia


El sistema con el que est construido el web se llama hipertexto y es
un entramado de pginas conectadas con enlaces.
Los sistemas de hipertexto se utilizan en otros contextos aparte del
web, como la ayuda del Windows. Son muy fciles de utilizar y
tambin es muy fcil encontrar lo que buscamos rpidamente,
gracias a que pulsando enlaces vamos accediendo a la informacin
que ms nos interesa.
La web no solo se limita a presentar textos y enlaces, sino que
tambin puede ofrecernos imgenes, videos, sonido y todo tipo de
presentaciones, llegando a ser el servicio ms rico en medios que
tiene Internet. Por esta razn, para referirnos al sistema que
implementa el web (hipertexto), se ha acuado un nuevo trmino que
es hipermedia, haciendo referencia a que el web permite contenidos
multimedia.

1.2.- Lenguaje HTML


Explicamos el lenguaje sobre el que se basa la creacin web y vemos
algn ejemplo para ilustrarlo.
Una pgina web la vemos en nuestro navegador, o cliente web, y
parece una sola entidad, pero no es as, est compuesta por multitud
de diferentes ficheros, como son las imgenes, los posibles vdeos y lo
ms importante: el cdigo fuente.
El cdigo de las pginas est escrito en un lenguaje llamado HTML,
que indica bsicamente donde colocar cada texto, cada imagen o
cada video y la forma que tendrn estos al ser colocados en la
pgina.
El HTML se cre en un principio con objetivos divulgativos. No se
pens que la web llegara a ser un rea de ocio con carcter
multimedia, de modo que, el HTML se cre sin dar respuesta a todos
los posibles usos que se le iba a dar y a todos los colectivos de gente
que lo utilizaran en un futuro.
El lenguaje consta de etiquetas que tienen esta forma <B> o <P>.
Cada etiqueta significa una cosa, por ejemplo <B> significa que se
escriba en negrita (bold) o <P> significa un prrafo, <A> es un
enlace, etc. Casi todas las etiquetas tienen su correspondiente
etiqueta de cierre, que indica que a partir de ese punto no debe de
afectar la etiqueta. Por ejemplo </B> se utiliza para indicar que se
deje de escribir en negrita. As que el HTML no es ms que una serie
de etiquetas que se utilizan para definir la forma o estilo que
queremos aplicar a nuestro documento. <B>Esto est en
negrita</B>.
Partes de un documento HTML
Un documento HTML ha de estar delimitado por la etiqueta <html> y
</html>. Dentro de este documento, podemos asimismo distinguir
dos partes principales:
El encabezado, delimitado por <head> y </head> donde
colocaremos etiquetas de ndole informativo como por ejemplo el
titulo de nuestra pgina.
El cuerpo, flanqueado por las etiquetas <body> y </body>, que ser
donde colocaremos nuestro texto e imgenes delimitados a su vez
por otras etiquetas como las que hemos visto.
El resultado es un documento con la siguiente estructura:
<html>
<head>
Etiquetas y contenidos del encabezado
Datos que no aparecen en nuestra pgina pero que son
importantes para catalogarla: Titulo, palabras clave,...
</head>
<body>
Etiquetas y contenidos del cuerpo
Parte del documento que ser mostrada por el navegador: Texto
e imgenes
</body>
</html>

1.3.- Pginas estticas Vs. dinmicas


Vemos rpidamente los conceptos de pginas estticas y dinmicas.
Adems contrastamos los dos conceptos para que quede clara esta
divisin.
En la web podemos encontrar, o construir, dos tipos de pginas:
Las que se presentan sin movimiento y sin funcionalidades ms all
de los enlaces
Las pginas que tienen efectos especiales y en las que podemos
interactuar.
Las primeras pginas son las que denominamos pginas estticas, se
construyen con el lenguaje HTML, que no permite grandes florituras
para crear efectos ni funcionalidades ms all de los enlaces.
Estas pginas son muy sencillas de crear, aunque ofrecen pocas
ventajas tanto a los desarrolladores como a los visitantes, ya que slo
se pueden presentar textos planos acompaados de imgenes y a lo
sumo contenidos multimedia como pueden ser videos o sonidos.
El segundo tipo de pginas se denomina pgina dinmica. Una pgina
es dinmica cuando se incluye cualquier efecto especial o
funcionalidad y para ello es necesario utilizar otros lenguajes de
programacin, aparte del simple HTML.
Mientras que las pginas estticas todo el mundo se las puede
imaginar y no merecen ms explicaciones, las pginas dinmicas son
ms complejas y verstiles. Para aclarar este concepto, veremos con
detalle a continuacin qu son las pginas dinmicas.
Parte 2:
Pginas dinmicas
Qu son las pginas dinmicas, esenciales para la creacin de lo que se denominan
las aplicaciones web, y los distintos tipos de programacin para producirlas, de
cliente y de servidor.

2.1.- Pginas dinmicas


Explicamos detenidamente el concepto de pgina dinmica y
planteamos ejemplos donde se utilizan habitualmente.
Como hemos visto, una pgina es dinmica cuando realiza
efectos especiales o implementa alguna funcionalidad o
interactividad.
Adems, hemos visto que para programar una pgina dinmica
necesitaremos otros lenguajes aparte del HTML. Sin embargo, nunca
hay que olvidarse del HTML, ya que ste es la base del desarrollo
web: generalmente al escribir una pgina dinmica el cdigo de los
otros lenguajes de programacin se incluye embebido dentro del
mismo cdigo HTML.
Una razn por la que construiremos una pgina dinmica es la simple
vistosidad que pueden alcanzar los trabajos, ya que podemos hacer
presentaciones ms entretenidas de las que se consiguen utilizando
nicamente HTML. Pero vamos a ver con calma algunas razones
menos obvias pero ms importantes.
Supongamos que hemos decidido realizar un portal de televisin
donde una de las informaciones principales a proveer podra ser la
programacin semanal. Efectivamente, esta informacin suele ser
dada por las televisiones con meses de antelacin y podra ser muy
fcilmente almacenada en una base de datos. Si trabajsemos con
pginas HTML, tendramos que construir una pgina independiente
para cada semana en la cual introduciramos "a mano" cada uno de
los programas de cada una de las cadenas. Asimismo, cada semana
nos tendramos que acordar de descolgar la pgina de la semana
pasada y colgar la de la actual. Todo esto podra ser fcilmente
resuelto mediante pginas dinmicas. En este caso, lo que haramos
sera crear un programa (solo uno) que se encargara de recoger de la
base de datos de la programacin aquellos programas que son
retransmitidos en las fechas que nos interesan y de confeccionar una
pgina donde apareceran ordenados por cadena y por hora de
retransmisin. De este modo, podemos automatizar un proceso y
desentendernos de un aspecto de la pgina por unos meses.
Este hecho lo podramos aplicar a otras situaciones: podemos
preparar el horscopo de todos los das, las promociones de un sitio
de e-comercio...
Podemos hacer una clasificacin a las pginas dinmicas en funcin
de dnde se lleva a cabo el procesamiento de la pgina, es decir, el
computador que cargar con el peso adicional que supone que la
pgina realice efectos y funcionalidades.

2.2.- Pginas dinmicas de cliente


Conocemos el primer tipo de pginas dinmicas: Las del lado del
cliente, es decir, las que se ejecutan en el navegador del usuario.
Son las pginas dinmicas que se procesan en el cliente. En
estas pginas toda la carga de procesamiento de los efectos y
funcionalidades la soporta el navegador.
Usos tpicos de las pginas de cliente son efectos especiales para
webs como rollovers o control de ventanas, presentaciones en las que
se pueden mover objetos por la pgina, control de formularios,
clculos, etc.
El cdigo necesario para crear los efectos y funcionalidades se incluye
dentro del mismo archivo HTML y es llamado
SCRIPT. Cuando una pgina HTML contiene scripts de cliente, el
navegador se encarga de interpretarlos y ejecutarlos para realizar los
efectos y funcionalidades.
Las pginas dinmicas de cliente se escriben en dos lenguajes de
programacin principalmente: Javascript y Visual Basic
Script (VBScript), que veremos en detalle ms adelante. Tambin
veremos el concepto de DHTML y conoceremos las CSS.
Nota: Flash es una tecnologa, y un programa, para crear efectos
especiales en pginas web. Con Flash tambin conseguimos hacer
pginas dinmicas del lado del cliente. Como este manual explica los
lenguajes del web, no hemos incluido el Flash por ninguna parte,
porque no es un lenguaje. Sin embargo, si tuviramos que catalogarlo
en algn sitio quedara dentro del mbito de las pginas dinmicas de
cliente.
Las pginas del cliente son muy dependientes del sistema donde se
estn ejecutando y esa es su principal desventaja, ya que cada
navegador tiene sus propias caractersticas, incluso cada versin, y lo
que puede funcionar en un navegador puede no funcionar en otro.
Como ventaja se puede decir que estas pginas descargan al servidor
algunos trabajos, ofrecen respuestas inmediatas a las acciones del
usuario y permiten la utilizacin de algunos recursos de la mquina
local.
2.3.- Pginas dinmicas de servidor
El segundo tipo de pginas dinmicas, las que se ejecutan en el
servidor: Las pginas dinmicas del lado del servidor.
Podemos hablar tambin de pginas dinmicas del servidor, que son
reconocidas, interpretadas y ejecutadas por el propio servidor.
Las pginas del servidor son tiles en muchas ocasiones. Con ellas se
puede hacer todo tipo de aplicaciones web. Desde agendas a foros,
sistemas de documentacin, estadsticas, juegos, chats, etc. Son
especialmente tiles en trabajos que se tiene que acceder a
informacin centralizada, situada en una base de datos en el servidor,
y cuando por razones de seguridad los clculos no se pueden realizar
en el ordenador del usuario.
Es importante destacar que las pginas dinmicas de servidor son
necesarias porque para hacer la mayora de las aplicaciones web se
debe tener acceso a muchos recursos externos al ordenador del
cliente, principalmente bases de datos alojadas en servidores de
Internet. Un caso claro es un banco: no tiene ningn sentido que el
cliente tenga acceso a toda la base de datos, slo a la informacin
que le concierne.
Las pginas dinmicas del servidor se suelen escribir en el mismo
archivo HTML, mezclado con el cdigo HTML, al igual que ocurra en
las pginas del cliente. Cuando una pgina es solicitada por parte de
un cliente, el servidor ejecuta los scripts y se genera una pgina
resultado, que solamente contiene cdigo HTML. Este resultado final
es el que se enva al cliente y puede ser interpretado sin lugar a
errores ni incompatibilidades, puesto que slo contiene HTML
Luego es el servidor el que maneja toda la informacin de las bases
de datos y cualquier otro recurso, como imgenes o servidores de
correo y luego enva al cliente una pgina web con los resultados de
todas las operaciones.
Para escribir pginas dinmicas de servidor existen varios lenguajes,
que veremos con detenimiento ms adelante. Common Gateway
Interface (CGI) comnmente escritos en Perl, Active Server Pages
(ASP), Hipertext Preprocesor (PHP), y Java Server Pages (JSP).
Las ventajas de este tipo de programacin son que el cliente no
puede ver los scripts, ya que se ejecutan y transforman en
HTML antes de enviarlos. Adems son independientes del navegador
del usuario, ya que el cdigo que reciben es HTML fcilmente
interpretable.
Como desventajas se puede sealar que ser necesario un servidor
ms potente y con ms capacidades que el necesario para las
pginas de cliente. Adems, estos servidores podrn soportar menos
usuarios concurrentes, porque se requerir ms tiempo de
procesamiento para cada uno.
2.3.- Pginas dinmicas de servidor
El segundo tipo de pginas dinmicas, las que se ejecutan en el
servidor: Las pginas dinmicas del lado del servidor.
Podemos hablar tambin de pginas dinmicas del servidor, que son
reconocidas, interpretadas y ejecutadas por el propio servidor.
Las pginas del servidor son tiles en muchas ocasiones. Con ellas se
puede hacer todo tipo de aplicaciones web. Desde agendas a foros,
sistemas de documentacin, estadsticas, juegos, chats, etc. Son
especialmente tiles en trabajos que se tiene que acceder a
informacin centralizada, situada en una base de datos en el servidor,
y cuando por razones de seguridad los clculos no se pueden realizar
en el ordenador del usuario.
Es importante destacar que las pginas dinmicas de servidor son
necesarias porque para hacer la mayora de las aplicaciones web se
debe tener acceso a muchos recursos externos al ordenador del
cliente, principalmente bases de datos alojadas en servidores de
Internet. Un caso claro es un banco: no tiene ningn sentido que el
cliente tenga acceso a toda la base de datos, slo a la informacin
que le concierne.
Las pginas dinmicas del servidor se suelen escribir en el mismo
archivo HTML, mezclado con el cdigo HTML, al igual que ocurra en
las pginas del cliente. Cuando una pgina es solicitada por parte de
un cliente, el servidor ejecuta los scripts y se genera una pgina
resultado, que solamente contiene cdigo HTML. Este resultado final
es el que se enva al cliente y puede ser interpretado sin lugar a
errores ni incompatibilidades, puesto que slo contiene HTML
Luego es el servidor el que maneja toda la informacin de las bases
de datos y cualquier otro recurso, como imgenes o servidores de
correo y luego enva al cliente una pgina web con los resultados de
todas las operaciones.
Para escribir pginas dinmicas de servidor existen varios lenguajes,
que veremos con detenimiento ms adelante. Common Gateway
Interface (CGI) comnmente escritos en Perl, Active Server Pages
(ASP), Hipertext Preprocesor (PHP), y Java Server Pages (JSP).
Las ventajas de este tipo de programacin son que el cliente no
puede ver los scripts, ya que se ejecutan y transforman en HTML
antes de enviarlos. Adems son independientes del navegador del
usuario, ya que el cdigo que reciben es HTML fcilmente
interpretable.
Como desventajas se puede sealar que ser necesario un servidor
ms potente y con ms capacidades que el necesario para las
pginas de cliente. Adems, estos servidores podrn soportar menos
usuarios concurrentes, porque se requerir ms tiempo de
procesamiento para cada uno.

Parte 3:
Lenguajes web de cliente
Son los lenguajes que basan su procesamiento en el cliente web, es
decir que se ejecutan en el navegador del usuario. Vemos un listado
de los lenguajes de cliente disponibles para los desarrolladores y sus
caractersticas.

3.1.- Qu es Javascript
Una introduccin meramente conceptual al potente lenguaje de script
del lado del cliente.
Javascript es un lenguaje de programacin utilizado para
crear pequeos programitas encargados de realizar acciones
dentro del mbito de una pgina web.
Se trata de un lenguaje de programacin del lado del cliente, porque
es el navegador el que soporta la carga de procesamiento. Gracias a
su compatibilidad con la mayora de los navegadores modernos, es el
lenguaje de programacin del lado del cliente ms utilizado.
Con Javascript podemos crear efectos especiales en las pginas y
definir interactividades con el usuario. El navegador del cliente es el
encargado de interpretar las instrucciones Javascript y ejecutarlas
para realizar estos efectos e interactividades, de modo que el mayor
recurso, y tal vez el nico, con que cuenta este lenguaje es el propio
navegador.
Javascript es el siguiente paso, despus del HTML, que puede dar un
programador de la web que decida mejorar sus pginas y la potencia
de sus proyectos. Es un lenguaje de programacin bastante sencillo y
pensado para hacer las cosas con rapidez, a veces con ligereza.
Incluso las personas que no tengan una experiencia previa en la
programacin podrn aprender este lenguaje con facilidad y utilizarlo
en toda su potencia con slo un poco de prctica.
Entre las acciones tpicas que se pueden realizar en Javascript
tenemos dos vertientes. Por un lado los efectos especiales sobre
pginas web, para crear contenidos dinmicos y elementos de la
pgina que tengan movimiento, cambien de color o cualquier otro
dinamismo. Por el otro, javascript nos permite ejecutar instrucciones
como respuesta a las acciones del usuario, con lo que podemos crear
pginas interactivas con programas como calculadoras, agendas, o
tablas de clculo.
Javascript es un lenguaje con muchas posibilidades, permite la
programacin de pequeos scripts, pero tambin de programas ms
grandes, orientados a objetos, con funciones, estructuras de datos
complejas, etc. Adems, Javascript pone a disposicin del
programador todos los elementos que forman la pgina web, para
que ste pueda acceder a ellos y modificarlos dinmicamente.
Con Javascript el programador, que se convierte en el verdadero
dueo y controlador de cada cosa que ocurre en la pgina cuando la
est visualizando el cliente.

3.2.- Qu es Visual Basic


Script Explicamos el lenguaje de scripts de Microsoft para la creacin
de pginas web. Lo enfocamos a su parte en el cliente y
diferenciamos con su faceta de servidor en pginas ASP.
Es un lenguaje de programacin de scripts del lado del cliente, pero
slo compatible con Internet Explorer. Es por ello que su utilizacin
est desaconsejada a favor de Javascript.
Est basado en Visual Basic, un popular lenguaje para crear
aplicaciones Windows. Tanto su sintaxis como la manera de trabajar
estn muy inspirados en l. Sin embargo, no todo lo que se puede
hacer en Visual Basic lo podremos hacer en Visual Basic Script, pues
este ltimo es una versin reducida del primero.
El modo de funcionamiento de Visual Basic Script para construir
efectos especiales en pginas web es muy similar al utilizado en
Javascript y los recursos a los que se puede acceder tambin son los
mismos: el navegador.
Como decimos, no debemos utilizar este lenguaje en la mayora de
las ocasiones, aunque un caso donde tendra sentido utilizar Visual
Basic Script sera la construccin de una Intranet donde sepamos con
toda seguridad que los navegadores que se van a conectar sern
siempre Internet Explorer. En este caso, un programador habitual de
Visual Basic tendra ms facilidades para realizar los scripts utilizando
Visual Basic Script en lugar de Javascript.

3.3.- Qu es CSS
Comentamos brevemente que son las hojas de estilo en cascada y
explicamos una serie de efectos rpidos e interesantes que se pueden
hacer con ellas. CSS, es una tecnologa que nos permite crear pginas
web de una manera ms exacta.
Gracias a las CSS somos mucho ms dueos de los resultados finales
de la pgina, pudiendo hacer muchas cosas que no se poda hacer
utilizando solamente HTML, como incluir mrgenes, tipos de letra,
fondos, colores... CSS son las siglas de Cascading Style Sheets, en
espaol Hojas de estilo en Cascada. En este reportaje vamos a ver
algunos de los efectos que se pueden crear con las CSS sin necesidad
de conocer la tecnologa entera.

3.5.- Qu son los Applets de Java


Una manera de incluir programas complejos en el mbito de una
pgina web. Estos applets se programan en Java y por tanto se
benefician de la potencia de este lenguaje para la Red.
Es otra manera de incluir cdigo a ejecutar en los clientes que
visualizan una pgina web. Se trata de pequeos programas hechos
en Java, que se transfieren con las pginas web y que el navegador
ejecuta en el espacio de la pgina.
Los applets de Java estn programados en Java y precompilados, es
por ello que la manera de trabajar de stos vara un poco con
respecto a los lenguajes de script como Javascript. Los applets son
ms difciles de programar que los scripts en Javascript y requerirn
unos conocimientos bsicos o medios del lenguaje Java.
La principal ventaja de utilizar applets consiste en que son mucho
menos dependientes del navegador que los scripts en Javascript,
incluso independientes del sistema operativo del ordenador donde se
ejecutan. Adems, Java es ms potente que Javascript, por lo que el
nmero de aplicaciones de los applets podr ser mayor.
Como desventajas en relacin con Javascript cabe sealar que los
applets son ms lentos de procesar y que tienen espacio muy
delimitado en la pgina donde se ejecutan, es decir, no se mezclan
con todos los componentes de la pgina ni tienen acceso a ellos. Es
por ello que con los applets de Java no podremos hacer directamente
cosas como abrir ventanas secundarias, controlar Frames,
formularios, capas, etc.
Cmo es posible la multiplataforma en Java
Java es compatible con todos los sistemas porque basa su
funcionamiento en los Byte Codes, que no es ms que una
precompilacin del cdigo fuente de Java. Estos Byte Codes no son el
programa en Java propiamente dicho, sino un archivo que contiene un
cdigo intermedio que puede manejar la Mquina Virtual de Java.
Cada sistema operativo dispone de una Maquina Virtual de Java que
puede interpretar los Byte Codes y transformarlos a sentencias
ejecutables en el sistema en cuestin.

Parte 4:
Lenguajes web de servidor
Son los lenguajes que se procesan en el lado del servidor y que
generan la pgina antes de enviarla al cliente.
Veremos una lista de los lenguajes de servidor ms populares.

4.1.- Qu es CGI
Una breve introduccin a CGI, con apuntes sobre la metodologa de trabajo
y desventajas frente a otras tecnologas del servidor.
Es el sistema ms antiguo que existe para la programacin de las pginas
dinmicas de servidor. Actualmente se encuentra un poco desfasado por
diversas razones entre las que destaca la dificultad con la que se desarrollan
los programas y la pesada carga que supone para el servidor que los
ejecuta.
Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros
lenguajes como C, C++ o Visual Basic pueden ser tambin empleados para
construirlos.

4.2.- Qu es Perl
Documento introductorio al lenguaje Perl.
Es un lenguaje de programacin muy utilizado para construir aplicaciones
CGI para el web. Perl es un acrnimo de Practical Extracting and Reporting
Languaje, que viene a indicar que se trata de un lenguaje de programacin
muy prctico para extraer informacin de archivos de texto y generar
informes a partir del contendido de los ficheros.
Es un lenguaje libre de uso, eso quiere decir que es gratuito. Antes estaba
muy asociado a la plataforma Unx, pero en la actualidad est disponible en
otros sistemas operativos como Windows.
Perl es un lenguaje de programacin interpretado, al igual que muchos otros
lenguajes de Internet como Javascript o ASP. Esto quiere decir que el cdigo
de los scripts en Perl no se compila sino que cada vez que se quiere ejecutar
se lee el cdigo y se pone en marcha interpretando lo que hay escrito.
Adems es extensible a partir de otros lenguajes, ya que desde Perl
podremos hacer llamadas a subprogramas escritos en otros lenguajes.
Tambin desde otros lenguajes podremos ejecutar cdigo Perl.
Perl est inspirado a partir de lenguajes como C, sh, awk y sed (algunos
provenientes de los sistemas Unx), pero est enfocado a ser ms prctico y
fcil que estos ltimos. Es por ello que un programador que haya trabajado
con el lenguaje C y los otros tendr menos problemas en entenderlo y
utilizarlo rpidamente. Una diferencia fundamental de Perl con respecto a
los otros lenguajes es que no limita el tamao de los datos con los que
trabaja, el lmite lo pone la memoria que en ese momento se encuentre
disponible.
Si queremos trabajar con Perl ser necesario tener instalado el interprete
del lenguaje. A partir de ese momento podemos ejecutar CGIs en nuestros
servidores web. El proceso para conseguirlo puede variar de unos servidores
a otros, pero se suelen colocar en un directorio especial del servidor llamado
cgi-bin donde hemos colocado los correspondientes permisos CGI. Adems,
los archivos con el cdigo tambin debern tener permiso de ejecucin.

4.3.- Qu es ASP
Es el lenguaje de scripting del lado del servidor creado por Microsoft.
ASP (Active Server Pages) es la tecnologa desarrollada por
Microsoft para la creacin de pginas dinmicas del servidor. ASP
se escribe en la misma pgina web, utilizando el lenguaje Visual
Basic Script o Jscript (Javascript de Microsoft).
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web,
justo antes de que se enve la pgina a travs de Internet al cliente. Las
pginas que se ejecutan en el servidor pueden realizar accesos a bases de
datos, conexiones en red, y otras tareas para crear la pgina final que ver
el cliente. El cliente solamente recibe una pgina con el cdigo HTML
resultante de la ejecucin de la pgina ASP. Como la pgina resultante
contiene nicamente cdigo HTML, es compatible con todos los
navegadores.
El tipo de servidores que emplean este lenguaje son, evidentemente, todos
aquellos que funcionan con sistema Windows NT, aunque tambin se puede
utilizar en un PC con windows 98 si instalamos un servidor denominado
Personal Web Server. Incluso en sistemas Linux podemos utilizar las ASP si
intalamos un componente denominado Chilisoft, aunque parece claro que
ser mejor trabajar sobre el servidor web para el que est pensado: Internet
Information Server.
Con las ASP podemos realizar muchos tipos de aplicaciones distintas. Nos
permite acceso a bases de datos, al sistema de archivos del servidor y en
general a todos los recursos que tenga el propio servidor. Tambin tenemos
la posibilidad de comprar componentes ActiveX fabricados por distintas
empresas de desarrollo de software que sirven para realizar mltiples usos,
como el envio de correo, generar grficas dinmicamente, y un largo etc.
Actualmente se ha presentado ya la segunda versin de ASP, el ASP.NET,
que comprende algunas mejoras en cuanto a posibilidades del lenguaje y
rapidez con la que funciona. ASP.NET tiene algunas diferencias en cuanto a
sintaxis con el ASP, de modo que se ha de tratar de distinta manera uno de
otro.

4.4.- Qu es PHP
Es un lenguaje para programar scripts del lado del servidor, que se
incrustan dentro del cdigo HTML. Este lenguaje es gratuito y
multiplataforma.
PHP es el acrnimo de Hipertext Preprocesor. Es un lenguaje de
programacin del lado del servidor gratuito e independiente de plataforma,
rpido, con una gran librera de funciones y mucha documentacin.
Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web,
justo antes de que se enve la pgina a travs de Internet al cliente. Las
pginas que se ejecutan en el servidor pueden realizar accesos a bases de
datos, conexiones en red, y otras tareas para crear la pgina final que ver
el cliente. El cliente solamente recibe una pgina con el cdigo HTML
resultante de la ejecucin de la PHP. Como la pgina resultante contiene
nicamente cdigo HTML, es compatible con todos los navegadores.
4.5.- Qu es JSP
La tecnologa Java para la creacin de pginas web con programacin en el
servidor.
JSP es un acrnimo de Java Server Pages, que en castellano vendra a decir
algo como Pginas de Servidor Java. Es, pues, una tecnologa orientada a
crear pginas web con programacin en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados
servidores web, de mltiples plataformas, ya que Java es en esencia un
lenguaje multiplataforma. Las pginas JSP estn compuestas de cdigo
HTML/XML mezclado con etiquetas especiales para programar scripts de
servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro
editor HTML/XML habitual.
Parte 5: XML
Es un lenguaje que tiene a su alrededor distintas tecnologas para cubrir un
gran abanico de posibilidades.
Veremos una introduccin al lenguaje y el por qu de su importancia en el
momento actual. Adems, daremos referencias para que las personas
puedan obtener ms informacin.
XML es una tecnologa en realidad muy sencilla que tiene a su alrededor
otras tecnologas que la complementan y la hacen mucho ms grande y con
unas posibilidades enormes y bsicas para la sociedad de la informacin.
Vamos a ver a lo largo de varios captulos una introduccin al mundo XML,
es decir, al lenguaje as como a las tecnologas que trabajan con l, sus
usos, ventajas y modos de llevar a cabo las tareas.
XML, con todas las tecnologas relacionadas, representa una manera distinta
de hacer las cosas, ms avanzada, cuya principal novedad consiste en
permitir compartir los datos con los que se trabaja a todos los niveles, por
todas las aplicaciones y soportes. As pues, el XML juega un papel
importantsimo en este mundo actual, que tiende a la globalizacin y la
compatibilidad entre los sistemas, ya que es la tecnologa que permitir
compartir la informacin de una manera segura, fiable, fcil. Adems, XML
permite al programador y los soportes dedicar sus esfuerzos a las tareas
importantes cuando trabaja con los datos, ya que algunas tareas tediosas
como la validacin de estos o el recorrido de las estructuras corre a cargo
del lenguaje y est especificado por el estndar, de modo que el
programador no tiene que preocuparse por ello.
Vemos que XML no est slo, sino que hay un mundo de tecnologas
alrededor de l, de posibilidades, maneras ms fciles e interesantes de
trabajar con los datos y, en definitiva, un avance a la hora de tratar la
informacin, que es en realidad el objetivo de la informtica en general.
XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes,
no es una sintaxis, sino varias y no es una manera totalmente nueva de
trabajar, sino una manera ms refinada que permitir que todas las
anteriores se puedan comunicar entre si sin problemas, ya que los datos
cobran sentido.

API REST para el desarrollo


REST deriva de "REpresentational State Transfer", que traducido vendra a ser
transferencia de representacin de estado, lo que tampoco aclara mucho,
pero contiene la clave de lo que significa. Porque la clave de REST es que un
servicio REST no tiene estado (es stateless), lo que quiere decir que, entre dos
llamadas cualesquiera, el servicio pierde todos sus datos. Esto es, que no se
puede llamar a un servicio REST y pasarle unos datos (p. ej. un usuario y una
contrasea) y esperar que nos recuerde en la siguiente peticin. De ah el
nombre: el estado lo mantiene el cliente y por lo tanto es el cliente quien debe
pasar el estado en cada llamada. Si quiero que un servicio REST me recuerde,
debo pasarle quien soy en cada llamada. Eso puede ser un usuario y una
contrasea, un token o cualquier otro tipo de credenciales, pero debo pasarlas
en cada llamada. Y lo mismo aplica para el resto de informacin.

SOAP y REST

SOAP es el acrnimo de Simple Object Access Protocol y es el protocolo que


se oculta tras la tecnologa que comnmente denominamos Web Services o
servicios web. SOAP es un protocolo extraordinariamente complejo pensado
para dar soluciones a casi cualquier necesidad en lo que a comunicaciones se
refiere, incluyendo aspectos avanzados de seguridad, transaccionalidad,
mensajera asegurada y dems. Cuando sali SOAP se vivi una poca dorada
de los servicios web. Aunque las primeras implementaciones eran lo que se
llamaban WS1.0 y no soportaban casi ningn escenario avanzado, todo el
mundo pagaba el precio de usar SOAP, ya que pareca claro que era el
estndar que dominara el futuro. Con el tiempo salieron las especificaciones
WS-* que daban soluciones avanzadas, pero a la vez que crecan las
capacidades de SOAP, creca su complejidad. Al final, los servicios web SOAP
terminan siendo un monstruo con muchas capacidades pero que en la mayora
de los casos no necesitamos.

Por su parte REST es simple. REST no quiere dar soluciones para todo y por lo
tanto no pagamos con una demasiada complejidad una potencia que quiz no
vamos a necesitar.

Uniform interface

Una diferencia fundamental entre un servicio web clsico (SOAP) y un servicio


REST es que el primero est orientado a RPC, es decir, a invocar mtodos
sobre un servicio remoto, mientras que el segundo est orientado a recursos.
Es decir, operamos sobre recursos, no sobre servicios.

En una API REST la idea de servicio como tal desaparece. Lo que tenemos
son recursos, accesibles por identificadores (URIs). Sobre esos recursos
podemos realizar acciones, generalmente diferenciadas a travs de verbos
HTTP distintos.
As, en un servicio web clsico (SOAP) tendramos un servicio llamado
BeerService que tendra un mtodo llamado GetAll que me devolvera todas las
cervezas. La idea, independientemente de la tecnologa usada para consumir el
servicio web, es que se llama a un mtodo (GetAll) de un servicio remoto
(BeerService). Del mismo modo para obtener una cerveza en concreto
llamaramos al mtodo GetById() pasndole el id de la cerveza. De ah que se
diga que estn orientados a RPC (Remote Procedure Call Llamada a mtodo
remoto).

Por su parte en un servicio REST la propia idea de servicio se desvanece. En


su lugar nos queda la idea de un recurso, llammosle Coleccin de cervezas
que tiene una URI que lo identifica, p. ej. /Beers. As, si invoco dicha URI debo
obtener una representacin de dicho recurso, es decir, debo obtener el listado
de todas las cervezas.

Para obtener datos de una cerveza, habr otro recurso (cerveza) con una URI
asociada. Adems, entre los recursos hay relaciones: est claro que una
cerveza forma parte de la Coleccin de cervezas as que parece lgico que a
partir de la coleccin entera (/Beers) pueda acceder a uno de sus elementos
con una URI tipo /Beers/123, siendo "123" el ID de la cerveza.

Volvamos a nuestro servicio SOAP: para dar de alta una cerveza llamaramos a
un mtodo "AddBeer" de nuestro "BeerService", y le pasaramos la cerveza a
aadir. En cambio, en nuestra API REST aadir una cerveza consiste en usar
la URI de dicha cerveza, (p. ej. /Beers/456 si estamos aadiendo la cerveza
con ID 456) usando POST o PUT como verbo HTTP y colocando los datos de
la cerveza en el cuerpo de la peticin. La URI para acceder a la cerveza con ID
456 es siempre /Beers/456 y es el verbo HTTP (GET, POST, PUT, DELETE,...)
el que indica cual es la operacin que deseamos hacer con esa cerveza.

Arquitectura de un desarrollo basado en API REST

Una vez que sabemos exactamente las caractersticas de REST nos podremos
plantear cmo es una aplicacin basada en REST. Realmente podra haber
muchas respuestas, puesto que podemos usar APIs para hacer multitud de
sitios web. Por ejemplo, podramos usar el API REST de Twitter para crear un
servicio basada en esa red o el API de Youtube para crear un sitio web que
muestra vdeos de distintas maneras. Pero no es eso a lo que me refiero en
este artculo.

En este caso quiero proponer un modelo que aprovecha perfectamente sus


posibilidades de REST donde t o tu equipo es el que desarrolla tu propia API y
donde t eres el consumidor de ella.

Nota:Para aclararnos, decir que comnmente hasta ahora siempre tenamos un cliente (navegador)
y un servidor. El cliente haca una solicitud de una URL y reciba una pgina HTML, con sus estilos,
etc. Esa pgina tena un HTML que renderizado en el navegador nos produca la presentacin que
desebamos. Esa situacin nos ha valido desde mucho tiempo atrs y sigue sirviendo hoy en da,
pero ahora existen otras soluciones que nos aportan otras posibilidades. Tienes que mirar todo esto
bajo el prisma del momento tecnolgico actual. El objetivo sigue siendo hacer aplicaciones, sin
embargo, en muchos casos no vamos a pensar solo en hacer aplicaciones web, sino tambin apps
para mviles o cualquier otro tipo de sistema o dispositivo.

Pues bien, ahora en un desarrollo basado en API REST tendremos un


esquema como el que puedes ver en esta imagen:
El cliente inicia siempre una solicitud, pero ahora sta no la produce el usuario
en "bruto" hacia el servidor, sino que pasa por Javascript. Nuestro lenguaje del
lado del cliente es el que solicitar al servidor un recurso al servidor.

El servidor y el cliente web se comunican en un formato de intercambio de


informacin como puede ser JSON, aunque podra ser otro lenguaje como
XML.

Lo importante es que el cliente no recibe HTML para renderizar, sino


simplemente los datos que se han generado como respuesta. Es decir, el
servidor no escribe HTML, sino nicamente genera los datos para enviarlos al
cliente.

Qu tecnologas de servidor usas para implementar REST?


Es independiente, podrs tener un servidor que trabaja con PHP, Java, Python,
NodeJS o lo que prefieras, o te imponga el proyecto. Tanto el lenguaje como la
base de datos son importantes, porque nos sirven para procesar la solicitud y
generar la respuesta, pero no importa cmo lo hagas en el servidor.
Simplemente que la respuesta la entregues en ese lenguaje de intercambio de
informacin que ests usando, generalmente JSON.

Qu libreras JS?
Realmente tampoco estamos obligados a usar ninguna. Lo que estar claro es
que si ests produciendo una web en el cliente usars Javascript, pero la
librera que tengas para facilitarte las cosas es indiferente.

Actualmente, por posibilidades, por comunidad y por facilidad de desarrollo los


profesionales se estn decantando por AngularJS, pero realmente usars
aquella con la que te sientas a gusto.

Alguna librera del lado del servidor?


Debe haber cientos, tambin dependiendo del lenguaje que ests usando en el
servidor. Si es con PHP puedes usar Laravel, Symfony o microframeworks
como Slim. Si ests usando NodeJS probablemente encuentres til Express o
Sails.js. Son solo por nombrar algunas, puesto que en este caso todo depende
mucho de la tecnologa que ests usando en el servidor.
Qu tipo de aplicaciones son adecuadas para esta arquitectura?
Esta es una buena pregunta, porque realmente el desarrollo basado en API
REST no es para cualquier tipo de proyecto. Si ests haciendo un sitio web y
planeas que tu sitio va a ser siempre eso "una web", quizs sea innecesario
desarrollar en base a un API. Por ejemplo, un sitio centrado en contenido, como
un blog o una pgina de una empresa donde ofrece sus productos, servicios y
modos de contacto, no tiene sentido desarrollarla en base a un API. Ahora, si lo
que ests es ofreciendo un servicio online o ests realizando una aplicacin
web de gestin, entonces encaja perfectamente la filosofa de REST.

En general si piensas que tu sistema en el futuro podra ser accedido no solo


desde una pgina web, sino tambin desde una App para mvil o desde una
aplicacin de otro tipo, las ventajas de REST sern especialmente tiles. En
resumen, si sospechas que los datos o servicios que ests ofreciendo en un
futuro puedan llegar a ser consultados desde otros sistemas, te interesa usar
REST. Incluso hay profesionales que piensan que, aunque de momento no
ests pensando en que esos datos o servicios puedan llegar a ser consultados
desde otros sistemas ajenos a tu web, merece la pena usar REST porque es la
solucin que mayor escalabilidad te va a aportar. Todo esto lo vers mejor
enseguida que tratemos las ventajas / inconvenientes.

Potrebbero piacerti anche