Académique Documents
Professionnel Documents
Culture Documents
Como ya sabes, hay muchas pginas en Internet que no tienen extensin .htm,
.html o .xhtml. Muchas de estas pginas tienen extensiones como .php, .asp,
.jsp, .cgi o .aspx. En stas, el contenido que se descarga al navegador es
similar al de una pgina web esttica: HTML (o XHTML). Lo que cambia es la
forma en que se obtiene ese contenido. Al contrario de lo que vimos hasta
ahora, esas pginas no estn almacenadas en el servidor; ms concretamente,
el contenido que se almacena no es el mismo que despus se enva al
navegador. El HTML de estas pginas se forma como resultado de la
ejecucin de un programa, y esa ejecucin tiene lugar en el servidor web
(aunque no necesariamente por ese mismo servidor).
Pasos:
1. El cliente web (navegador) de tu ordenador solicita a un servidor web una
pgina web.
2. El servidor busca esa pgina y la recupera.
3. En el caso de que se trate de una pgina web dinmica, es decir, que su
contenido deba ejecutarse para obtener el HTML que se devolver, el servidor
web contacta con el mdulo responsable de ejecutar el cdigo y se lo enva.
4. Como parte del proceso de ejecucin, puede ser necesario obtener
informacin de algn repositorio, como por ejemplo consultar registros
almacenados en una base de datos.
5. El resultado de la ejecucin ser una pgina en formato HTML, similar a
cualquier otra pgina web no dinmica.
6. El servidor web enva el resultado obtenido al navegador, que la procesa y
muestra en pantalla.
Las aplicaciones web emplean pginas web dinmicas para crear aplicaciones que
se ejecuten en un servidor web y se muestren en un navegador.
Hoy en da existen aplicaciones web para multitud de tareas como procesadores de
texto, gestin de tareas, o edicin y almacenamiento de imgenes. Estas aplicaciones
tienen ciertas ventajas e inconvenientes si las comparas con las aplicaciones
tradicionales que se ejecutan sobre el sistema operativo de la propia mquina.
Ventajas de las aplicaciones web:
Un servidor web para recibir las peticiones de los clientes web (normalmente
navegadores) y enviarles la pgina que solicitan (una vez generada puesto que
hablamos de pginas web dinmicas). El servidor web debe conocer el
procedimiento a seguir para generar la pgina web: qu mdulo se encargar
de la ejecucin del cdigo y cmo se debe comunicar con l.
El mdulo encargado de ejecutar el cdigo o programa y generar la pgina
web resultante. Este mdulo debe integrarse de alguna forma con el servidor
web, y depender del lenguaje y tecnologa que utilicemos para programar la
aplicacin web.
Una aplicacin de base de datos, que normalmente tambin ser un servidor.
Este mdulo no es estrictamente necesario pero en la prctica se utiliza en
todas las aplicaciones web que utilizan grandes cantidades de datos para
almacenarlos.
(se encarga de dar formato a los datos para presentrselo al usuario final), lgica
(utiliza los datos para ejecutar un proceso y obtener un resultado), persistencia (que
mantiene los datos almacenados de forma organizada) y acceso (que obtiene e
introduce datos en el espacio de almacenamiento).
Cada capa puede ocuparse de una o varias de las funciones anteriores. Por ejemplo,
en las aplicaciones de 3 capas nos podemos encontrar con:
AMP. Son las siglas de Apache, MySQL y PHP/Perl/Python. Las dos primeras
siglas hacen referencia al servidor web (Apache) y al servidor de base de datos
(MySQL). La ltima se corresponde con el lenguaje de programacin utilizado,
que puede ser PHP, Perl o Python, siendo PHP el ms empleado de los tres.
Dependiendo del sistema operativo que se utilice para el servidor, se utilizan
las siglas LAMP (para Linux), WAMP (para Windows) o MAMP (para Mac).
Tambin es posible usar otros componentes, como el gestor de bases de datos
PostgreSQL en lugar de MySQL.
Todos los componentes de esta arquitectura son de cdigo libre (open source).
Es una plataforma de programacin que permite desarrollar aplicaciones de
tamao pequeo o mediano con un aprendizaje sencillo. Su gran ventaja es la
disponible.
C#
<html>
<script language="C#" runat="server">
void EnterBtn_Click(Object Src, EventArgs E) {
Message.Text = "Hi " + Name.Text + ", welcome to ASP.NET!";
}
</script>
<body>
<form runat="server">
Enter your name: <asp:textbox id="Name" runat=server/>
<asp:button text="Enter" Onclick="EnterBtn_Click"
runat="server"/>
<p>
<asp:label id="Message" runat=server/>
</form>
</body>
</html>
VB
<html>
<script language="VB" runat="server">
Sub EnterBtn_Click(Src As Object, e As EventArgs)
Message.Text = "Hi " & Name.Text & ", welcome to ASP.NET!"
End Sub
</script>
<body>
<form runat="server">
Enter your name: <asp:textbox id="Name" runat=server/>
<asp:button text="Enter" Onclick="EnterBtn_Click"
runat="server"/>
<p>
<asp:label id="Message" runat=server/>
</form>
</body>
</html>
5.3.- PHP
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.
PHP se escribe dentro del cdigo HTML, lo que lo hace realmente fcil de utilizar, al
igual que ocurre con el popular ASP de Microsoft, pero con algunas ventajas como su
gratuidad, independencia de plataforma, rapidez y seguridad. Cualquiera puede
descargar a travs de la pgina principal de PHP www.php.net y de manera gratuita,
un mdulo que hace que nuestro servidor web comprenda los scripts realizados en
confirmacion.php
<?php
//Se inicializa la sesin
session_start();
//Las variables del formulario se introducen en $_SESSION
$_SESSION['usuario']=$_POST['usuario'];
$_SESSION['password']=$_POST['password'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Cp1252">
<title>Pantalla de confirmacin</title>
</head>
<body>
<p>Los datos introducidos son los siguientes:</p>
<p>Usuario: <?php echo $_SESSION['usuario']; //Se muestra el user?> </p>
<p>Contrasea: <?php echo $_SESSION['password'];//Password?></p>
</body>
</html>
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-88591">
<title> entrega el nombre como parmetro, de lo contrario lo pide y
saluda
</title>
</head>
<body>
<%
String nombre = request.getParameter("nombrePila");
if (nombre != null) {
%>
<h1>
Hola <%= nombre %>, <br />
Bienvenido a la pgina !
</h1>
<%}
else {
%>
<form action="saludo.jsp" method = "get">
<p>Escriba su nombre y pulse Enviar </p>
<p><input type = "text" name = "nombrePila" />
<input type = "submit" value = "Enviar" />
</p>
</form>
<%}%>
</body>
</html>
Para aprender JSP, aparte de conocer HTML, ser necesario comprender y tener algo
de experiencia en la programacin en Java, que es un lenguaje de programacin
Orientado a Objetos por completo. Una vez conocida la programacin en Java se
puede estudiar por encima el sistema de Servlets, lo que nos dar una mejor idea del
funcionamiento interno del motor JSP.
5.5.- Qu es XML?
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
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 s sin problemas, ya que los datos cobran
sentido.
XML es interesante en el mundo de Internet y el e-bussiness, ya que existen muchos
sistemas distintos que tienen que comunicarse entre si, pero como se ha podido
imaginar, interesa por igual a todas las ramas de la informtica y el tratamiento de
datos, ya que permite muchos avances a la hora de trabajar con ellos.
A lo largo de todo este curso, vamos a necesitar diferentes softwares, con diferentes
objetivos cada uno de ellos. Aun as, entre los tres conseguiremos un objetivo
comn: diseo e implementacin de pginas web dinmicas.
Las herramientas que vamos a emplear van a ser las siguientes:
Apache. Como servidor de pginas web.
MySQL. Como gestor de bases de datos.
Intrprete PHP. Mediante este intrprete instalado en el servidor Apache y
mediante consultas a las bases de datos MySQL podremos conseguir crear
pginas web dinmicas, utilizando su lenguaje de programacin.
Apache
Apache es un servidor HTTP de cdigo abierto y licenciamiento libre, que funciona
en Linux, sistemas operativos derivados de Unix, Windows, Novell Netware y
otras plataformas. Ha desempeado un papel muy importante en el crecimiento de
la red mundial, y contina siendo el servidor HTTP ms utilizado, siendo adems, el
servidor de hecho contra el cual se realizan las pruebas comparativas y de
desempeo para otros productos competidores. Apache es desarrollado y
mantenido por una comunidad de desarrolladores auspiciada por Apache Software
Foundation (http://www.apache.org).
Apache es una tecnologa gratuita de cdigo fuente abierto (open source). El hecho
realmente importante no es que sea gratuito, que tambin, sino sobre todo el hecho de
que sea de cdigo abierto, ya que vamos a poder implementar soluciones
desarrolladas y mejoradas por una gran comunidad.
Apache puede trabajar con una gran cantidad de lenguajes de programacin como
PHP, Perl u otros lenguajes de script.
MySQL
MySQL es un sistema gestor de bases de datos relacionales, rpido y slido. Con la
utilizacin de bases de datos, podremos realizar operaciones de bsqueda,
ordenacin y consulta de datos de una forma ptima.
Instalando un servidor MySQL, podremos controlar el acceso a estos datos para, de
esta forma, poder asegurar el uso simultneo de varios usuarios, para que puedan
acceder a sus datos, garantizando que slo podrn acceder a aquellos quienes tengan
autorizacin para realizar dichas tareas.
MySQL es un servidor multiusuario y de subprocesamiento mltiple que utiliza el
lenguaje SQL (Structured Query Language, Lenguaje de consulta estructurado),
que es el lenguaje estndar para la consulta de bases de datos ms utilizado en
todo el mundo.
Una base de datos relacional va a guardar sus datos en tablas separadas en lugar
de poner todos sus datos en un gran almacn. Con esto conseguimos aumentar la
velocidad y flexibilidad. La parte SQL de MySQL se refiere a "Structured Query
Language".
SQL es el lenguaje estandarizado ms comn para acceder a bases de datos y
est definido por el estndar ANSI/ISO SQL. El estndar SQL ha evolucionado
desde 1986 y existen varias versiones. En este manual, "SQL-92" se refiere al
estndar del 1992, "SQL:1999" se refiere a la versin del 1999, y "SQL:2003" se
refiere a la versin actual del estndar. Usamos la frase "el estndar SQL" para
referirnos a la versin actual de SQL.
MySQL se distribuye bajo un sistema de licencias dual. Podremos utilizarlo con una
licencia de cdigo abierto (GPL), que ser gratuita mientras cumplamos sus
condiciones. Pero si deseamos distribuir una aplicacin que no sea GPL y que
incluya MySQL, tendremos que comprar una licencia adicional.
MySQL es propiedad y patrocinio de MySQL AB.
PHP
PHP (PHP Hipertext Preprocessor) es un lenguaje de secuencia de comandos de
servidor que fue desarrollado de forma especfica con el objetivo de construir sitios
web. Utilizaremos el lenguaje PHP en el diseo de una web, programando un
cdigo fuente que ser ejecutado cada vez que un usuario visite la pgina web. El
cdigo que hayamos generado se ejecutar siempre en el lado del servidor, y ser
transformado a cdigo HTML, as como a otro tipo de contenido.
PHP es una de las soluciones adoptadas por la mayora de programadores y
empresas para llevar a cabo sus proyectos web en Internet. Tiene todas las
ventajas para que as sea, ya que se trata de un software de cdigo abierto (Open
Source), y por lo tanto, con la ventaja que supone tambin que exista una gran
comunidad dando soporte a la mejora de la tecnologa y compartiendo sus
proyectos para que puedan ser mejorados por el resto.
Est desarrollado para que pueda trabajar con las plataformas ms utilizadas
(Windows, Linux, Macintosh, Solaris, etc.) e incluye soporte para un gran nmero
de gestores de bases de datos y otras tecnologas como Java o XML.
Otro de sus puntos fuertes es su fcil aprendizaje. Como podremos comprobar a lo
largo de este libro, crear pginas PHP no resultar nada difcil; y si adems, ya
poseemos algn conocimiento sobre todos lenguajes de programacin, an ser ms
fcil asimilarlo y llevar a la prctica esta nueva forma de crear pginas dinmicas.
En el diseo de pginas web se pueden utilizar lenguajes que se ejecutan en cliente
o en el servidor. Los lenguajes de cliente (HTML, Javascript o VBscript) se
caracterizan porque su cdigo es ejecutado en los navegadores de los usuarios que
visitan estas pginas web, de tal forma que ser el navegador el encargado de
interpretar el cdigo y mostrarlo en pantalla. Esto nos supone el principal
inconveniente, que a la hora de desarrollar el cdigo, tendremos que prestar
especialmente atencin a los diferentes navegadores que existan en el mercado,
para que pueda ser compatible con todos.
Por el contrario, los lenguajes como PHP que se ejecutan en el lado del servidor,
ser ste quien se encarga de interpretar el cdigo y llevar hasta el usuario el
resultado obtenido. El proceso ser el siguiente: el navegador realiza una llamada
al servidor web, que pasar la peticin a travs de la interfaz PHP del servidor web.
Esta interfaz realizar una llamada al intrprete PHP, que acceder a la zona del
disco donde estn almacenados los scripts PHP, de tal forma que el servidor