bases teoricas

14
5.1.1.3 PHP. Las siguientes definiciones han sido tomadas de: - http://es.wikipedia.org/wiki/.php - http://www.php.net/ PHP es un lenguaje de programación intrepretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server- side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTL+. PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Fundation considera esta licencia como software libre. PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, aunque el número de sitios en PHP ha empezado a compartir su cuota con otros lenguajes desde hace unos años. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La más reciente versión principal del PHP fue la versión 5.2.6 de 1 de mayo de 2008.

Upload: johanna-tovar

Post on 28-Jun-2015

863 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Bases teoricas

5.1.1.3 PHP.

Las siguientes definiciones han sido tomadas de:

- http://es.wikipedia.org/wiki/.php

- http://www.php.net/

PHP es un lenguaje de programación intrepretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTL+.

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP

Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdof en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free

Software Fundation considera esta licencia como software libre.

PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser embebido dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, aunque el número de sitios en PHP ha empezado a compartir su cuota con otros lenguajes desde hace unos años. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La más reciente versión principal del PHP fue la versión 5.2.6 de 1 de mayo de 2008.

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.

Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versión de PHP se la llama PHP CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por

Page 2: Bases teoricas

el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. Análisis, diseño e implementación de un sitio Web Departamental: Creación, modificación y almacenamiento de contenidos

Adolfo Miguel Catalán García Manso Page 73‐

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales

como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores

de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# VB.NET

como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Sun

Microsystems, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres,

bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend

Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al

mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. Existe un módulo

para Eclipse uno de los IDE más populares.

Historia:

PHP fue originalmente diseñado en Perl, en base a la escritura de un grupo de CGI binarios

escritos en el lenguaje C por Rasmus Lerdorf en el año 1994 para mostrar su C.V. y guardar ciertos

datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado

"Personal Home Page Tools".

Características:

• Favorables:

Page 3: Bases teoricas

1. Es un lenguaje multiplataforma.

2. Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan

en la actualidad, destaca su conectividad con MySQL.

3. Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados

ext's o extensiones).

4. Posee una amplia documentación en su página oficial, entre la cual se destaca que todas

las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

5. Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

6. Permite las técnicas de Progrmación Orientada a Objetos.

7. Biblioteca nativa de funciones sumamente amplia e incluida.

8. No requiere definición de tipos de variables.

9. Tiene manejo de excepciones (desde php5).

• Desfavorables:

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de

programar (muchos otros lenguajes tampoco lo hacen), aún estando dirigido a alguna en particular, el

programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le

permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que

en PHP se han hecho del patrón de diseño, MODELO VISTA CONTROLADOR (o MVC), que permiten

separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres

componentes independientes

5.1.4 Base de Datos.

A la hora de seleccionar la base de datos, tendremos en cuenta sólo las versiones gratuitas más

conocidas y robustas del mercado.

Page 4: Bases teoricas

5.1.4.3 MySQL Server.

Las siguientes definiciones han sido tomadas de:

- http://es.wikipedia.org/wiki/MySQL/:

- http://www.mysql.com/

MySQL es la base de datos open source más popular. Su continuo desarrollo y su creciente

popularidad están haciendo de MySQL un competidor cada vez más directo de gigantes en la materia de

las bases de datos como Oracle.

MySQL es un sistema de administración de bases de datos (Database Management System,

DBMS) para bases de datos relacionales.

Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales

orientados a objetos. MySQL, como base de datos relacional, utiliza multiples tablas para almacenar y

organizar la información.

MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de

desarrollo, permitiendo su ínteractuación con los lenguajes de programación más utilizados como PHP,

Perl y Java y su integración en distintos sistemas operativos.

También es muy destacable, la condición de open source de MySQL, que hace que su utilización

sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente (salvo

aquellas en las que se ofrece soporte dedicado). Esto ha favorecido muy positivamente en su desarrollo

y continuas actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los

programadores orientados a Internet.

Las principales características de este gestor de bases de datos son las siguientes:

Page 5: Bases teoricas

• Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo.

• Soporta gran cantidad de tipos de datos para las columnas.

• Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).

• Gran portabilidad entre sistemas.

• Soporta hasta 32 índices por tabla.

• Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos. Análisis, diseño e implementación de un sitio Web Departamental: Creación,

modificación y almacenamiento de contenidos

Adolfo Miguel Catalán García Manso Page 95‐

Características de la versión 5.0.22

• Un amplio subconjunto de ANSI SQL 99, y varias extensiones.

• Soporte a multiplataforma.

• Procedimientos almacenados.

• Triggers.

• Cursores.

• Vistas actualizables.

• Soporte a VARCHAR.

• INFORMATION_SCHEMA.

• Modo Strict.

• Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto,

utilizando el motor InnoDB de Oracle.

• Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para

transacciones e integridad referencial).

• Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de

recuperación (savepoints) con InnoDB.

• Soporte para SSL.

Page 6: Bases teoricas

• Query caching.

• Sub-SELECTs (o SELECTs anidados).

• Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para

multiples maestros por esclavo.

• indexing y buscando campos de texto completos usando el motor de almacenamiento MyISAM.

• Embedded database library.

• Soporte completo para Unicode.

• Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster.

• Shared-nothing clustering through MySQL Cluster.

La gran mayoría de gente usa este gestor en Internet por sus ventajas:

• Sin lugar a duda, lo mejor de MySQL es su velocidad a la hora de realizar las operaciones, lo

que le hace uno de los gestores que ofrecen mayor rendimiento.

• Su bajo consumo lo hacen apto para ser ejecutado en una máquina con escasos recursos sin

ningún problema.

• Las utilidades de administración de este gestor son envidiables para muchos de los gestores

comerciales existentes, debido a su gran facilidad de configuración e instalación.

• Tiene una probabilidad muy reducida de corromper los datos, incluso en los casos en los que los

errores no se produzcan en el propio gestor, sino en el sistema en el que está.

• El conjunto de aplicaciones Apache-PHP-MySQL es uno de los más utilizados en Internet en

servicios de foro y de buscadores.

8.1.3. HTML

Es el lenguaje de marcado predominante para la construcción de páginas web. Es usado

para describir la estructura y el contenido en forma de texto, así como para

complementar el texto con objetos tales como imágenes.

HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>).

Page 7: Bases teoricas

HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y

puede incluir un script (por ejemplo JavaScript), el cual puede afectar al

comportamiento de navegadores web y otros procesadores de HTML.

En nuestra aplicación el documento HTML es el encargado de la visualización web de

la misma. En él se muestra el mapa, la ventana de configuración, y el diagrama de

barras. Desde él y usando JavaScript se lee toda la información a visualizar desde

archivos en formato XML.

Un documento HTML se divide en dos grandes bloques:

1. El bloque <head>: define la cabecera del documento HTML. Esta cabecera suele

contener información sobre el documento que no se muestra directamente al usuario.

Como por ejemplo el título de la ventana del navegador. En él, nosotros hemos

declarado las variables globales y todas las funciones que usamos para el desarrollo.

2. El bloque <body>: define el contenido principal o cuerpo del documento. Esta es la

parte del documento html que se muestra en el navegador; dentro de esta etiqueta

pueden definirse propiedades comunes a toda la página, como color de fondo y

márgenes. Dentro del cuerpo <body> podemos encontrar numerosas etiquetas.

En este bloque, ayudándonos del software Dreamweaver (programa muy utilizado en la

programación y diseño web), para facilitar nuestra tarea y así no tener que escribir a

mano todas las etiquetas, hemos incluido todos elementos de nuestra aplicación (tablas,

divs, títulos, list/menu, etc).

También se incluye en este bloque todo el código JavaScript que gestiona el

funcionamiento dinámico de la página.

8.1.6. JavaScript

JavaScript es un lenguaje de scripts desarrollado por Netscape para incrementar las

funcionalidades del lenguaje HTML. Sus características más importantes son:

Page 8: Bases teoricas

1. JavaScript es un lenguaje interpretado, es decir, no requiere compilación. El

navegador del usuario se encarga de interpretar las sentencias JavaScript contenidas en

una página HTML y ejecutarlas adecuadamente.

2. JavaScript es un lenguaje orientado a eventos. Cuando un usuario pincha sobre un

enlace o mueve el puntero sobre una imagen se produce un evento. Mediante JavaScript

se pueden desarrollar scripts que ejecuten acciones en respuesta a estos eventos.

3. JavaScript es un lenguaje orientado a objetos. El modelo de objetos de JavaScript está

reducido y simplificado, pero incluye los elementos necesarios para que los scripts

puedan acceder a la información de una página y puedan actuar sobre la interfaz del

navegador.

En nuestra aplicación hemos incluido JavaScript de las dos formas posibles en las que

esto se puede hacer:

1. Embebido en el código HTML, entre las etiquetas o tags <script> y </script>.

2. Como archivo .js que se carga con la página HTML. Para ello, debe indicarse en las

tags anteriores el nombre y ubicación del archivo .js que contiene el script JavaScript.

<script src="../20_4v2/elabel.js" type="text/javascript"></script>

<script src="../20_4v2/diagram.js" type="text/javascript"></script>

La librería diagram.js es especialmente útil para mostrar un diagrama de barras

dependiente de la entrada de datos que le introduzca el usuario o de datos presentes en

una base de datos.

Para la construcción de este diagrama hay que tener en cuenta dos objetos:

1. Diagram object

Este objeto ofrece la posibilidad de dibujar un diagrama en una posición definida con un

tamaño definido dentro del tamaño del documento.

Esta es la forma en la que hemos definido el diagrama en nuestra aplicación:

//Se indica la posición del diagrama en el documentos

Page 9: Bases teoricas

D.SetFrame(45, 575, 685,575 + (vsimtrab.length*55) );

//Indica el rango de valors en los ejes x e y de la gráfica

D.SetBorder( 0, 100,-1, vsimtrab.length);

//Modifica el estilo del texto

D.Font="font-family:Verdana;font-weight:bold;font-size:11pt;lineheight:15pt;line-width:15pt;"; Aplicación web para la geolocalización y monitorización en tiempo real de los

recursos integrantes de una red Grid

_______ __________ ___________________________________

30

//Pone título al diagrama

D.SetText("","","Performance Graph");

D.YScale= 0;

D.XScale=" %";

D.SetGridColor("#8CACBB", "#CCCCCC");

D.Draw("#DEE7EC", "#000000",false);

2. The Box object

Este objeto lo usamos para mostrar una barra en la pantalla. Más en concreto en el

diagrama. Con el propósito de encontrar la posición y el tamaño apropiado de la barra.

Es posible mover, redimensionar, y borrar una barra después de haber sido dibujada.

Esta es la forma en la que creamos las barras en nuestra aplicación:

for (i=0; i<vsimtrab.length; i++){

vj[i]=D.ScreenY(i+0,5);

bottom= D.ScreenX(0)

if (i%2==0) {

vBars[i] = new Box(bottom,vj[i]+12, D.ScreenX(vporciento[i]),

vj[i]-12, "#333366","mar.gif", "#FFFFFF","","#000000");

Page 10: Bases teoricas

vBars2[i] = new Bar(bottom - 37,vj[i]-12,

D.ScreenX(vporciento[i]), vj[i]-12, ""," ", "#000000","");

{

else {

vBars[i] = new Box(bottom,vj[i]+12, D.ScreenX(vporciento[i]),

vj[i]-12, "#8894A4","verde.gif", "#FFFFFF","","#000000");

vBars2[i] = new Bar(bottom - 37,vj[i]-12,

D.ScreenX(vporciento[i]), vj[i]-12, ""," ", "#000000","");

{

{

Vamos creando una barra de cada color de forma alternativa.

El fragmento de código donde las barras se redimensionan para mostrar los datos

actualizados en tiempo real es el siguiente:

vBars[i].ResizeTo(bottom,vj[i]-12,D.ScreenX(vporciento[i])-bottom,24);