Bases teoricas
-
Upload
johanna-tovar -
Category
Documents
-
view
863 -
download
3
Transcript of 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
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:
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.
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:
• 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.
• 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 (<,>).
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:
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
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");
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);