Capítulo 5: Programación en el servidor web

1 2 ...
Author: Julián Aguilar Quintana
0 downloads 3 Views

1

2 Capítulo 5: Programación en el servidor webEn este capítulo se abordarán temas relacionados con la programación del lado del servidor: PHP, JSP y ASP, así como su interacción con la base de datos utilizando MySQL y Access. 5.1 Preparación del entorno para el desarrollo web con PHP Podemos tener una arquitectura de dos niveles, que desde el punto de vista de aplicacion web es la más simple. En ella se identifica el nivel del cliente y el nivel del servidor. Otra arquitectura web considera tres niveles: en el primero, tenemos la capa de presentación, donde están el navegador y el servidor web, cuyasu función es escoger el formato adecuado para la presentación de los datos; el segundo nivel se asocia con el tipo de programa o script; el tercero se encarga de proveer los datos necesarios para la rápida ejecución de la misma.

3 5.1.2 Lenguajes del lado del clienteLas herramientas de programación del lado del cliente más utilizadas son HTML, CSS y Javascript, aunque no hay que dejar de lado otras como VBscript, AJAX (Asynchronous JavaScript And XML), XML y applets de Java, entre otros. El HTML indica al navegador (browser) la forma en que se presentará la información, es decir, mediante texto, imágenes o video, así como su ubicación dentro de una página web. 5.1.3 Lenguajes del lado del servidor Este tipo de lenguajes se aplican para la programación y ejecución de programas del lado del servidor web. Brinda las facilidades para la conexión con el servidor, y la creación y accesos a bases de datos, proporciona el dinamismo y la interactividad con el usuario que requiere de una aplicación web dinámica. Dentro de los lenguajes más utilizados del lado del servidor encontramos a PHP, ASP, JSP, PERL y Python.

4 5.1.4 Instalación del servidor WampServerUna de las herramientas que nos permiten tener un entorno de desarrollo, es el paquete WampServer (gratuito y de código abierto), que puede instalarse y trabajar bajo un entorno de desarrollo web utilizando la plataforma de Windows. Además proporciona las facilidades para la administración del entorno con la herramienta PHP MyAdmin, acceso, configuración, arranque y parada de diferentes servicios Herramientas para el entorno de desarrollo Este paquete lo podemos encontrar en: (versión 2.2) o en (version 2.5). Servicios de WampServer, para levantar los servicios de WampSserver seguir el procedimiento que se describe en el libro (pág – 166).

5 5.2. Introducción a la programación de aplicaciones web con lenguaje PHPComencemos con PHP: es un lenguaje de código abierto, por lo que es independiente de la plataforma, cuenta con una gran cantidad de librerías, así como una amplia y variada documentación de referencia para los programadores. Cuando se ejecuta un programa en PHP desde la computadora del cliente, éste sólo recibe respuesta en HTML. Después de haber instalado nuestro entorno de desarrollo, verifiquemos que nuestro intérprete del lenguaje de programación PHP funcione correctamente. Con ese objetivo, utilizaremos una herramienta para edición de texto a fin de introducir nuestro código en PHP . Cabe aclarar que existe una gran variedad de herramientas para la edición de texto; sin embargo, para la mayoría de nuestros ejemplos utilizaremos el bloc de notas de Windows.

6 Analicemos el siguiente programa:Una vez que hemos escrito nuestro código, lo guardaremos con el nombre Ejemplo_1.php (no olvidar poner la extensión .php al archivo), en la carpeta EjerciciosProgramacionWeb. En nuestro primer ejemplo observemos que el código PHP está entre las etiquetas o . Para ver el resultado de nuestro primer ejemplo bastará con abrir el navegador e introducir la siguiente dirección De esta manera tendremos acceso al índice de contenidos de la carpeta EjerciciosProgramacionWeb

7 5.2.1 Aspectos básicos de la programación en PHPEn PHP, las variables se identifican con el signo de pesos ($) seguido del nombre de la variable; por ejemplo: $variable. Cada instrucción finaliza con un punto y coma (;), que funge como separador de instrucciones para distinguir el término de una instrucción y el inicio de otra. Si se trata de una última instrucción el separador no se requiere. Una cadena o string se delimita con (“) o (‘). En el siguiente ejemplo tenemos una variabla llamada $variable_1, a la que le asignaremos como valor una cadena de caracteres Programacion Web, y una segunda variable que llamaremos $variable_2, a la que le asignamos un valor entero En el lenguaje PHP no se requiere declarar las variables antes de usarlas, además pueden contener texto o números de manera indistinta. Programación Web

Ejemplo uso de variables

$variable_1 = “Programación Web”; $variable_2 = 2016; echo $variable_1.$variable_2 ?>

8 Tipos de dato en programación PHPUna variable en PHP define su tipo según el contenido y el contexto en el que se utilice. Por ejemplo: si se asigna una cadena a una variable, el tipo de esa variable será string; si a esa misma variable se le asigna un número, el tipo cambiará a entero . Los tipos más comunes son: enteros, flotantes, strings, arrays. Para tener una idea más clara de los tipos de variables, ver y ejecutar los códigos de ejemplo que vienen en el libro.

9 Estructuras de controlEstos esquemas de programación facilitan el control sobre la ejecución de ciertos segmentos de código según la estructura de la programación, es decir, podemos ejecutar un grupo de instrucciones dependiendo de la evaluación de ciertas condicionantes. Copie y ejecute los ejemplos que vienen en el libro para su mejor comprensión.

10 Estructuras de control #Se asignan valores $Dia[0] = “Lunes”; $Dia[1] = “Martes”; $Dia[2] = “Miercoles”; $Dia[3] = “Jueves”; $Dia[4] = “Viernes”; $Numdias[“NumDias”] = 7; #Se adicionar más valores $Dia[] = “Sábado”; $Dia[] = “Domingo”; #Imprime arreglo utilizando la sentencia while print “Imprime el arreglo utilizando la sentencia while
”;
print “
Dias de la semana:
”;
$i=0; while ($i<7) { echo $Dia[$i],”
”; $i++; }
print “Número de dias = “ . $Numdias[“NumDias”].”
\n”;
#Imprime arreglo utilizando la sentencia for print “
Imprime el arreglo utilizando la sentencia for
”;
for($i=0;$Dia[$i];$i++) print “$Dia[$i]
”;
? El siguiente ejemplo muestra una de las formas para crear y asignar valores a un arreglo. Para ello se utilizan las funciones list() o array(). De igual forma, también se presenta el uso de las sentencias while y for para imprimir o ver el contenido del arreglo. Cabe señalar que se pueden asignar valores a cada elemento de manera explícita; en caso de no especificar el índice en un arreglo, el nuevo elemento quedará al final. Copie este código, adecúelo y ejecútelo para ver sus resultados.

11 Funciones $num1=2000; $num2=16; $suma; $multi //Utilización de las funciones suma y multi print $suma=suma($num1,$num2); print $multi=multi($num1,$num2); //Función suma function suma($num1, $num2); { $resp=$num1+$num2; return $resp; } //Función milti function multi($num1, $num2) $resp=$num1*$num2; ?> Las funciones agregan mayor versatilidad, por lo que su uso es muy común; sin embargo, su definición para muchos resulta complicada. Una función, por lo general, está integrada por rutinas y acciones que se ejecutan a lo largo de un script; pueden ser llamadas una o varias veces para su ejecución, esto dependerá de la tarea por realizar. Veamos el típico ejemplo para sumar y multiplicar dos números. Para ello definimos las funciones suma y multi, que son invocadas dentro del mismo código.

12 5.2.2 Entorno de Apache, PHP, MySQL y HTMLPara dar forma a lo que hemos visto con anterioridad, los siguientes ejemplos estarán enfocados a la utilización del servidor Apache, el lenguaje de programación PHP, creación de bases de datos en MySQL y las etiquetas de HTML. Con estos elementos podremos ver nuestra aplicación en el navegador de nuestra preferencia. 5.2.3 Formularios Al efectuar una aplicación web, uno de los principales objetivos es la interactividad entre el usuario y el servidor. En un primer acercamiento se pretende que por cada pregunta se obtenga una respuesta, ya sea por parte del servidor o por parte del usuario. Esto se puede lograr utilizando formularios. La creación del formularios inicia en la etiqueta

; el parámetro action nos indica el código en PHP que se procesará o ejecutará en función del dato que se solicita mediante el formulario, mientras el parámetro method=”post” indica que se van a enviar datos.

13 Ejemplo de elaboración de un formulario:Adecúa el código del Ejemplo y ejecútalo para su entendimiento.

14 5.3 Uso de bases de datos en programación webRevisemos algunas definiciones de base de datos: Conjunto de archivos o tablas relacionadas entre sí, un archivo o una tabla contiene una colección de renglones o registros; una tabla contiene una colección de columnas, también llamada campos. Conjunto de archivos o tablas estructurados bajo un mismo contexto y que se encuentran relacionados entre sí. Algunas características de las base de datos son las siguientes : Fácil acceso y actualización que utiliza diferentes lenguajes de programación. Realización de consultas complejas, con el uso de herramientas para este fin, por ejemplo: MySQL. Independencia lógica y física de los datos. Evitan al máximo la redundancia de datos. Acceso concurrente, es decir, de varios usuarios a la vez. Máxima integridad posible de los datos. Altos niveles de seguridad de acceso y herramientas de auditoría. Herramientas para respaldo y recuperación de información.

15 5.3.1 El proceso de acceso a base de datos en webProceso de acceso a bases de datos web con PHP Tomemos como referencia la figura, en donde tenemos nuestra base de datos del lado del servidor (el servidor es Apache en este caso). Para acceder utilizaremos una interfaz del lado del cliente (usuario), HTML y PHP, y para interactuar con las base de datos usaremos sentencias SQL, que al ejecutarlas, podremos insertar y obtener datos almacenados. Con esto lograremos un pequeño ambiente web; nos daremos cuenta de que las aplicaciones que facilitan la interacción entre páginas web y las base de datos tienen muchas ventajas.

16 5.3.2 SQL SQL utiliza el lenguaje de definición de datos (DML, Data Definition Language) para generar la estructura de los datos, utilizando funciones específicas, es decir, podemos tener campos con números enteros, reales, cadenas de texto, campos de tipos lógicos u otros que formen parte de la estructura de un tabla o archivo. De manera similar, utiliza el lenguaje de manipulación de datos (DML, Data Manipulation Language) para facilitar la administración de la información. Las funciones básicas de este lenguaje son las siguientes: Select, para hacer el requerimiento de un dato o grupo de ellos a una tabla o archivo. Insert, para insertar nuevos registros en una tabla o archivo. Delete, para borrar registros de una tabla o archivo Update, para modificar uno o varios registros de una tabla o archivo

17 5.3.3 SQL Creación de la base de datos con MySQLAquí se muestra la creación de dos tablas “cursos” e “inscritos”· Para crea la base de datos se utiliza la instrucción create database `db_cursosinf`; Para verificar que nuestra base datos se ha creado correctamente, aplicamos el comando show databases; Para crea la tabla cursos se utiliza la instrucción create table `db_cursosinf.cursos`; La instrucción show tables; se utiliza para verificar que las tablas se han definido correctamente.

18 5.3.4 Instrucciones básicas de SQLUna vez creada la base de datos y las tablas, entonces podremos realizar operaciones sobre ellas: La Instrucción insert. Nos permite insertar datos en nuestra tabla “inscritos”. INSERT INTO `db_cursosinf`.`inscritos` (`id_control`, `ClaveCurso`, `Alumnos`) VALUES (‘1’,’AD01’,’García T. Alvaro’); 2. La Instrucción select. Se utiliza para verificar que los datos han sido introducidos correctamente. La siguiente instrucción selecciona todas las columnas de la tabla "Inscritos”: select * from inscritos; 3. La Instrucción delete facilita la eliminación de registros de una tabla. Por ejemplo: si queremos borrar el registro con id_control = 10 debemos indicar los registros por descartar mediante la cláusula where. La instrucción de borrado quedará como sigue: delete from inscritos where id_control = 10; 4. La instrucción update habilita la actualización o modificación de los campos que integran un registro dentro de una tabla. Por ejemplo: update inscritos set alumnos = ‘Luciano M. Ramón’ where id_control = 12; update inscritos set alumnos = ‘Díaz M. Rafael’ where id_control = 13;

19 5.4 Programación de aplicaciones web con JSPJSP es el acrónimo de Java Server Pages, lenguaje de programación desarrollado por la empresa Sun Microsystems. La potencialidad de este lenguaje radica en su motor de páginas, que se basa en servlets de Java, por lo que requiere la instalación de un servidor llamado Tomcat. Proceso de acceso a bases de datos web con JSP

20 5.4.1 Instalación del servidor TomcatApache Tomcat está desarrollado en Java y por su naturaleza funciona en cualquier sistema operativo que tenga instalada la máquina virtual Java, por lo que para que el servidor funcione deberá haberse instalado el compilador o intérprete de Java. Este se puede obtener de forma gratuita del kit de desarrollo (JDK), provisto por Sun Microsystems y que contiene un conjunto de herramientas, documentación y utilerías que facilitan el desarrollo de aplicaciones Java. JDK es de fácil instalación y se puede descargar de la dirección de internet: java/javase/downloads/index.html. Para el caso de la instalación del servidor Apache Tomcat, también se puede descargar en forma gratuita de la dirección de internet: En nuestro caso se descargó la versión Tomcat 6.0 (32-bit Windows zip). Nota: seguir los pasos de instalación que el propio instalador facilita.

21 5.4.2 Tipos de dato en JSP Los tipos de datos que maneja JSP, PHP, C++ y Java son muy similares y se pueden ver en el siguiente cuadro. Los operadores relacionales que reconoce JSP son:

22 Para escribir un programa en JSP, abriremos bloc de notas e introduciremos el código en él. Como se puede ver, esto resulta relativamente sencillo: Programación Web

Estrucura básica en JSP

<% Código en JSP No olvidar que al momento de guardar el archivo que contiene las etiquetas de HTML y las instrucciones de JSP, se deberá hacer con la extensión .jsp.

23 5.4.3 Estructuras de control de ciclosEstructuras de control utilizadas frecuentemente en JSP

24 5.5 Programación con ASP Active Server Pages (ASP) es un entorno tecnológico desarrollado por Microsoft. Se utiliza en gran medida para la creación aplicaciones basada en ambientes web y opera en conjunto con el servidor IIS (Internet Information Server) y el servidor Windows NT. Estas tecnologías trabajan del lado del servidor. Para muchos programadores, las tecnologías como PHP y JSP representan la competencia de ASP de Microsoft, a diferencia de que las dos primeras son gratuitas y de libre distribución, situación que no sucede en su totalidad con ASP ya que su uso se encuentra un tanto limitado desde el punto de vista de licenciamiento de la plataforma que proporciona Microsoft. Una forma muy sencilla para iniciar el desarrollo de aplicaciones ASP consiste en establecer y definir el entorno de trabajo: un servidor web, que en este caso es el IIS y, por supuesto, deberá estar activado.

25 5.5 Programación con ASP Modelo de objetos de ASPASP proporciona un modelo de objetos ASP que proporciona seis objetos nativos que podemos usar en nuestros programas. El objeto Request facilita información sobre una petición HTTP que el usuario realiza al servidor; el objeto Response gestiona la información que se envía desde el servidor hacia el cliente; el objeto Server proporciona las propiedades Modelo de objetos de ASP y los métodos relacionados con el servidor que ejecuta la aplicación; el objeto Application comparte información entre todos los usuarios de una aplicación (no olvidemos que la aplicación tiene un periodo de vida, es decir, mientras dure su ejecución); el objeto Session se encarga de que a cada cliente que solicita una página ASP se le asigne un objeto (Session); y el objeto ObjectContext es empleado para la gestión de transacciones.

26 5.5 Programación con ASP Las páginas ASP permiten combinar código HTML, scripts y componentes ActiveX del servidor para desarrollar aplicaciones web, al igual que en PHP y JSP. Las instrucciones de ASP se incluyen dentro de las etiquetas de código HTML, para lo que se hace necesario que estén delimitadas por <%...%>, es decir, se escriben entre los símbolos reservados <% {sentencias} %>, donde sentencias pueden ser una o varias expresiones del lenguaje. Cabe aclarar que lo único que procesa el servidor son las instrucciones que están entre los delimitadores <%...%>–, como se muestra en el siguiente ejemplo: Programación Web <% rem Comentario: Imprime 10 veces “Programación Web” for j = 1 to 10 step 1 %> Programacion Web
next ‘Comentario: Cierre de ciclo %>

27 5.6 Consideraciones finalesLas tecnologías como PHP, JSP, y ASP son muy utilizadas para el desarrollo de aplicaciones web. Sin embargo, no perdamos de vista que existen muchos otras como Python, Perl, Lisp, que, si bien es cierto no son tan nuevas, siguen en continuo estudio y desarrollo para mejorar sus métodos y formas de trabajo, buscando con esto su permanencia en el mercado de las aplicaciones web. Incluso se apoyan (y soportan) en potentes y sofisticados lenguajes de programación como Java, C++, C#, Visual Studio y muchos otros que en su conjunto facilitan el desarrollo de sistemas y aplicaciones que operan bajo la plataforma de internet. Respecto a los ambientes integrados de desarrollo (IDE, Integrated Development Environment) para sistemas y aplicaciones web, también encontramos una gran cantidad de opciones. Muchos facilitan el trabajo de desarrollo y programación para web, los hay tanto del lado del cliente, como del lado del servidor; por ejemplo, Visual Studio de Microsoft sólo soporta ASP.NET del lado del servidor; a la par de otros más abiertos, libres y gratuitos, tal es el caso de NetBeans, JBuilder y Eclipse, entre otros.