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);