domingo, 6 de febrero de 2011

APLICACIONES WEB

En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.
Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, a la independencia del sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea y la propia Wikipedia que son ejemplos bien conocidos de aplicaciones web.
Es importante mencionar que una página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la página responderá a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo.


Ventajas
- Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa.
- No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas.
- No ocupan espacio en nuestro disco duro.
- Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos conéctanos estamos usando siempre la última versión que haya lanzado.
- Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos nuestros porque se realizan desde otro ordenador.
- Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener un navegador.
- Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil...) porque se accede a través de una página web (sólo es necesario disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de estos usuarios.
- La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo.
- Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación.
- Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido, por ejemplo, en aplicaciones online de calendarios u oficina.
- Los navegadores ofrecen cada vez más y mejores funcionalidades para crear

Inconvenientes
- Habitualmente ofrecen menos funcionalidades que las aplicaciones de escritorio. Se debe a que las funcionalidades que se pueden realizar desde un navegador son más limitadas que las que se pueden realizar desde el sistema operativo. Pero cada vez los navegadores están mejor preparados para mejorar en este aspecto. La aparición de HTML 5 representa un hito en este sentido. Es posible añadir funcionalidades a estas aplicaciones gracias al uso de Aplicaciones de Internet Ricas.
- La disponibilidad depende de un tercero, el proveedor de la conexión a internet o el que provee el enlace entre el servidor de la aplicación y el cliente. Así que la disponibilidad del servicio está supeditada al proveedor.

MySQL

Características de MySQL
–Modelo relacional, multiusuario
 
Tipos de datos
–Numéricos
•tinyint, smallint, mediumint, int, integer,  
bigint
•decimal, float, numeric
–Fecha y hora
•date, time, datetime, year, timestamp
–Cadena
•char, varchar
•tinytext, text, mediumtext, longtext
•tinyblob, blob, mediumblob, longblob
•enum, set
–Debe elegirse adecuadamente el tipo y el 
tamaño de cada campo


Operadores
–Aritméticos
•+, -, *, /
–Comparación
•=, !=, <=, <, >=, >, IS NULL, IS NOT NULL
–Lógicos
•not (!), and (&&), or (||), xor
Funciones
–Funciones de cadena
–Funciones de comparación de cadenas
–Funciones numéricas
–Funciones de fecha y hora
–Funciones de agregado


Herramientas de administración: phpMyAdmin 


phpMyAdmin es una herramienta para la 
administración del servidor de bases de datos  
MySQL
Dispone de una interfaz gráfica y es de libre 
distribución
Permite realizar todo tipo de operaciones sobre 
bases de datos:
–crear, borrar y modificar tablas
–consultar, insertar, modificar y eliminar datos
–definir usuarios y asignar permisos
–realizar copias de seguridad
–etc
Está escrita en php y se ejecuta desde el 
navegador
Si está instalada en la carpeta phpmyadmin, se 
ejecuta escribiendo en la barra de direcciones 
del navegador la url
http://localhost/phpmyadmin/


Puede administrar bases de datos locales y remotas



phpMyAdmin



1:Configurar
–El fichero de configuración se llama  
config.inc.php
–Este fichero no existe sino que hay que 
crearlo. Para ello se hace una copia del 
fichero config.sample.inc.php, situado 
en la carpeta donde se haya instalado  
phpMyAdmin, y se le pone como nombre  
config.inc.php
–Seguidamente se modifica el fichero  
config.inc.php
–Configuración típica para un servidor 
local:

  ...

  $cfg['Servers'][$i]['host']  = 'localhost'; //MySQL  
hostname

  $cfg['Servers'][$i]['user']  = 'root';      //MySQL  
user

  $cfg['Servers'][$i]['password'] = 'clave';  //MySQL  
password

  ...

  siendo ‘clave’ la contraseña asignada 
al administrador (root) de MySQL durante 
su instalación
    

2: Ejecutar
–Ejecutar Apache
–Abrir el navegador y teclear la url 
http://localhost/phpmyadmin



Lenguaje SQL 

SQL (Structured Query Language) es el lenguaje que se 
utiliza para comunicarse con la base de datos
Procedimiento de comunicación con la base de datos:

Las instrucciones más habituales son SELECT, INSERT, 
UPDATE, DELETE
 
Veamos su sintaxis básica y algunos ejemplos de uso
Para ello utilizaremos una tabla noticias con cinco 
campos: un identificador único de la noticia, el título de 
la noticia, el texto de la noticia, la categoría de la 
noticia y la fecha de publicación de la noticia

DELETE

Sintaxis:
DELETE FROM nombre_tabla
[WHERE condición]
[ORDER BY ...]
[LIMIT row_count]

Ejemplo:
DELETE FROM noticias WHERE fecha < CURDATE()-10
Borra las noticias con más de 10 días de antigüedad


Funciones de PHP para el acceso a bases de datos MySQL
   Los pasos para acceder desde PHP a una base de datos son los siguientes:
–Conectar con el servidor de bases de datos
–Seleccionar una base de datos
–Enviar la instrucción SQL a la base de datos
–Obtener y procesar los resultados
–Cerrar la conexión con el servidor de bases de datos



Acceso a bases de datos MySQL     
Las funciones concretas de MySQL que realizan 
estas operaciones son:
–Conectar con el servidor de bases de datos:
• mysql_connect()
–Seleccionar una base de datos:
•mysql_select_db()
–Enviar la instrucción SQL a la base de datos:
• mysql_query()
–Obtener y procesar los resultados:
•mysql_num_rows() y mysql_fetch_array()
–Cerrar la conexión con el servidor de bases de datos:
• mysql_close()

1.- Conectar con el servidor de bases de datos:    
    mysql_connect()
–Devuelve un identificador de la conexión en caso de 
éxito y false en caso contrario

Sintaxis:

$
conexion = mysql_connect (servidor, username,  
   password);


Ejemplo:

$
conexion = mysql_connect (“localhost”, “cursophp”, “”)
  
 
   or die (“No se puede conectar con el servidor”);
   
   $conexion = mysql_connect (“localhost”, “cursophp-ad”, 
   
   “php.hph”)
   
   or die (“No se puede conectar con el servidor”);


2.- Seleccionar una base de datos: mysql_select_db()
–Devuelve true en caso de éxito y false en caso 
contrario

Sintaxis:

mysql_select_db (database);


Ejemplo:

mysql_select_db (“lindavista”)
  
 
   or die (“No se puede seleccionar la base de datos”);



3.-Enviar la instrucción SQL a la base de datos: mysql_query()
–Devuelve un identificador o true (dependiendo de la 
instrucción) si la instrucción se ejecuta 
correctamente y false en caso contrario


Sintaxis:

$consulta =
mysql_query (instrucción, $conexion);


Ejemplo:

$consulta =
mysql_query (“select * from noticias”, $conexion)
  
or die (“Fallo en la consulta”);


4.- Obtener y procesar los resultados: mysql_num_rows(),  
  mysql_fetch_array()
–En el caso de que la instrucción enviada produzca 
unos resultados, mysql_query() devuelve las filas de 
la tabla afectadas por la instrucción
–mysql_num_rows() devuelve el número de filas 
afectadas
–Para obtener las distintas filas del resultado se 
utiliza la función mysql_fetch_array(), que obtiene 
una fila del resultado en un array asociativo cada 
vez que se invoca

Sintaxis:

$
nfilas = mysql_num_rows ($consulta);
 
   $fila = mysql_fetch_array ($consulta);


Ejemplo 1:
Instrucción:
select * from noticias where categoria=“promociones”


Ejemplo 2:

Instrucción:
select * from noticias where categoria=“promociones”



Obtención de las filas:

$
nfilas = mysql_num_rows ($consulta);
 
   if ($nfilas > 0)
 
    {
  
for ($i=0; $i<$nfilas; $i++)
    
      {
      $fila =
mysql_fetch_array ($consulta);
      
         procesar fila i-ésima de los resultados
   }
}


5.- Cerrar la conexión con el servidor de bases de datos:  
 mysql_close()

Sintaxis:

mysql_close ($conexion);


Ejemplo

mysql_close ($conexion);