You are on page 1of 11

20

CAPITULO II MARCO TERICO


2.0 FUNDAMENTOS DE LA WEB 4 El xito espectacular de la Web se basa en dos puntales fundamentales: el protocolo HTTP y el lenguaje HTML. Uno permite una implementacin simple y sencilla de un sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una forma fcil, que simplifica el funcionamiento del servidor, Permitiendo que servidores poco potentes atiendan miles de peticiones y Simplificando los costes de despliegue. El otro nos proporciona un mecanismo de composicin de paginas enlazadas simple y fcil, altamente eficiente y de uso o muy simple. 2.1 PROTOCOLO HTTP El protocolo HTTP (Hypertext Tranfer Protocol) es el protocolo base de la WWW. Es un protocolo simple, orientado a conexin y sin estado. Es un protocolo Orientado a conexin ya que emplea para su funcionamiento un protocolo de comunicaciones (TCP, Transport Control Protocol) de modo conectado, un Protocolo que establece un canal de comunicaciones de extremo a extremo (entre el cliente y el servidor) por el que pasa el flujo de bytes que constituyen los datos a transferir, en contraposicin a los protocolos de datagrama o no orientados a conexin que dividen los datos en pequeos paquetes (datagramas) y los envan, pudiendo llegar por vas diferentes del servidor al cliente. El protocolo no mantiene estado, es decir, cada transferencia de datos es una conexin independiente de la anterior, no manteniendo ninguna relacin entre ellas. Esto es as hasta el punto de que para transferir una pgina Web debemos enviar el cdigo HTML del texto as como las imgenes que la componen, pues en la especificacin inicial de HTTP, la 1.0, se abran y usaban tantas conexiones como componentes tenia la pgina, transfirindose por cada conexin un componente (el texto de la pgina o cada una de las imgenes).

4 HTML & XHTML: The Definitive Guide. OReilly 1 Edicion.Musciano, Musciano, Chuck; Kennedy, Bill pg. 120

21 2.2 EL LENGUAJE HTML El otro puntal del xito del WWW ha sido el lenguaje HTML (HyperText Mark-up Language). Este es un lenguaje de marcas (se utiliza insertando marcas en el interior del texto) que nos permite representar de forma rica el contenido, as como referenciar otros recursos (imgenes textos, imgenes, fotografas, audio, sonido, animaciones, video), enlaces a otros documentos (la caracterstica ms destacada del WWW), mostrar formularios para luego procesarlos, etc.

El lenguaje HTML actualmente se encuentra en la versin 5.0, las novedades ms destacables de HTML 5 sern la inclusin de API's para realizar dibujos en dos dimensiones, controlar la reproduccin de audio y vdeo, editar documentos de forma interactiva en el navegador, y mantener datos de forma persistente en la parte cliente de la comunicacin para acceder ms tarde a ellos. 2.3 APLICACIONES WEB Una aplicacin Web, bsicamente, es un programa, en s muy parecido a cualquiera de los programas que todos nosotros tenemos en nuestra computadora, pero con la salvedad de que la computadora que hace correr ese programa, es el servidor al que nos conectamos a travs de nuestro navegador, convirtindose ste en la "pantalla" o ventana en la que visualizamos las cosas que ocurren al ejecutar las acciones de la aplicacin. El servidor nos devuelve la informacin en formato HTML y as cualquier navegador es capaz de interpretar este cdigo para poder visualizar de forma correcta la informacin que nos enva la aplicacin.

Son numerosas las ventajas de las aplicaciones Web en cualquiera de los campos para los que se utilicen, ya que permiten facilitar mucho la estructuracin y sobre todo el mantenimiento de la informacin que se muestra en el sitio Web. Las aplicaciones Web se pueden utilizar con mltiples fines, desde un sencillo uso para facilitar la creacin de un sitio Web ms o menos extenso, hasta para centralizar toda la informacin (contabilidad, pedidos, logstica, etc.) de una empresa multinacional, con sedes en diferentes pases del mundo. Al partir toda la informacin de un mismo punto o base de datos, permite a todos los usuarios que trabajan con esta informacin conocer en tiempo real el estado de la misma. Por

22 ejemplo una empresa con diferentes sedes que vende productos, del tipo que sea, catalogado y referenciado y por supuesto almacenado, con un control de stock.

Si un agente comercial de un departamento gestiona el pedido de una referencia, de la cual solo queda una en el almacn, justo en el momento en el que se haya ejecutado el pedido, el siguiente agente, aunque pertenezca a otra sede de otro departamento, que entre para realizar un pedido de esa misma referencia, podr informar al cliente de que no hay unidades en almacn de ese producto, evitando problemas en el servicio al cliente.

Ventajas como la mencionadas anteriormente, exigen a cambio el esfuerzo, trabajo o inversin de mantener toda la informacin actualizada permanentemente para poder as ser til a todos los usuarios que trabajan diariamente con la aplicacin Web. 2.4 TIPOS DE APLICACIONES Desarrollo de sitios Web bsicos. Web en flash. Aplicaciones de contenido. Aplicaciones e-learning. Comercio electrnico. Aplicaciones de gestin.

2.4.1 DESARROLLO DE SITIOS WEB BSICOS Hay empresas o profesionales que por su tipo de negocio o producto, solamente precisan tener un pequeo espacio Web para mostrar de forma sencilla informacin sobre su actividad, contacto, etc.

Se

utilizar

como

tarjeta

de

visita

para

presentar

sus

clientes.

Estos sitios Web, an siendo sencillos en sus contenidos, pueden ofrecer una buena imagen de la empresa o el profesional a sus visitantes. Los diseadores y desarrolladores tienen lo siguiente como objetivos principales: Diseo bueno y

23 atractivo, buena estructuracin, fcil navegacin, y acabado completo del sitio 2.4.2 WEB EN FLASH. Hace ya bastante tiempo que la Compaa Macromedia desarroll la tecnologa de flash, para abrir un mundo nuevo de posibilidades de animacin y movimiento a la presentacin de sitios Web. Hoy en da, cualquier navegador de cualquier fabricante o plataforma lleva incorporado el plug-in que permite la correcta visualizacin de este tipo sitios web. 2.4.3 APLICACIONES DE CONTENIDO. Existen muchas empresas y profesionales que desean utilizar Internet como medio para publicar o difundir bien sus servicios o sus estudios profesionales, para llegar a un pblico al que antes de la existencia de Internet no se poda llegar. Este tipo de aplicaciones son ideales para el crecimiento de contenidos a lo largo del tiempo ya que estn estructuradas y permiten ampliar, prcticamente hasta donde se desee, los contenidos del sitio Web. 2.4.4 APLICACIONES E-LEARNING. La competitividad del mercado, cada da mayor, nos obliga a todos a mantener una formacin permanente en nuestro trabajo o profesin, con el fin de estar al da de las ltimas novedades que se producen. Lo anterior unido a la falta de tiempo que todos sufrimos, ha llevado a muchas empresas a ofrecer cursos de formacin continua a travs de Internet, lo que se conoce por e-learning. 2.4.5 COMERCIO ELECTRNICO. Por todos es sabido que el comercio electrnico est sufriendo un espectacular auge en los ltimos aos. Cada da son ms las personas que realizan por Internet, desde la compra de alimentos y enseres para su casa, hasta la compra de determinados productos muy especficos que no se encuentran habitualmente el cualquier comercio tradicional. optimizacin de imgenes

24 2.4.6 APLICACIONES DE GESTIN. Desde luego si hay una funcin estrella para las aplicaciones informticas es la gestin y contabilidad en las empresas. La gran mayora de las pequeas empresas, adquieren o adquirieron su primer ordenador con el objetivo de utilizarlo para la gestin de la contabilidad y en su caso de almacn. La tecnologa Web permite crear un nuevo concepto para este tipo de aplicaciones. 2.5 HISTORIA DE PHP5 PHP comenz siendo un conjunto de scripts escritos en Perl que permitan a su creador. Rasmus Lerdorf, el control de los accesos a sus Pginas personales. A este conjunto de Scripts les denomin como personal Home Page Tools. Poco a poco, Ramus fue complementando las funcionabilidades bsicas de sus herramientas escribiendo programas en C. En 1995 decidi liberar el cdigo fuente escrito en C para que cualquiera pudiera utilizarlo e, incluso, colaborar en su mejora. De este modo Naci PHP/FI. A finales de 1997 se libera PHP/FI 2.0, pasando de ser el proyecto de una sola persona al desarrollo de un equipo. Tuvo un seguimiento estimado de varios miles de usuarios en todo el mundo, con aproximadamente 50,000 dominios informando que lo tenan instalados, lo que sumaba alrededor del 1% de los dominios de Internet.

En junio de 1998 se liber oficialmente PHP 3.0, anunciando como sucesor oficial de PHP/FI 2.0, si bien haba sido completamente reescrito por Andi Gutmans y Zeev Zuraski. Una de las mejores caractersticas de PHP 3.0 que trajo a docenas de desarrolladores a unirse y enviar nuevos mdulos de extensin era su gran extensibilidad, adems de proveer a los usuarios finales de una slida infraestructura para muchsimas bases de datos, protocolos, APIs. En su apogeo, PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores Web en Internet.

PHP 5 a Travs de ejemplos .1 Edicin, Abraham Gutirrez, Gins Bravo Garca, pg.

25 2.5.1 EVOLUCION DE PHP El siguiente paso en la evolucin de PHP consisti en la reescritura de su ncleo, dando lugar a un nuevo motor denominado Zend (acrnimo de los apellidos Zeev y Andi). PHP 4.0, basado en este motor, y acoplado con un gran rango de nuevas caractersticas adicinales, fue oficialmente liberado en mayo de 2000.

Adems de la mejora de ejecucin de esta versin, PHP 4.0 inclua otras caractersticas clave, como el soporte para la mayora de los servidores Web, sesiones HTTP forma nativa, ciertas facilidades de orientacin a objetos, compatibilidad con las expresiones regulares de Perl, Buffers de salida, encriptacin, formas ms seguras de controlar las entradas de Usuarios y muchas nuevas

Construcciones de lenguaje, etc.

La ultima y actual versin de PHP, liberada en julio de 2004, es la 5.0 est basada en el nuevo motor Zend 2, el cual ha vuelto a ser reescrito por completo.

Entre sus caractersticas y novedades ms resltables est el completo soporte para la programacin orientada a objetos (que a buen seguro satisfar a los ms apasionados y ortodoxos seguidores de este paradigma de la programacin).

Tambin incorpora la gestin de excepciones, una nueva librera de XML (libxm12), soporte nativo para el sistema gestor de base de datos SQLite, y mejoras en la gestin de las cadenas de caracteres. PHP 5.0 soporta tambin MySQLi, Una nueva ampliacin de MySQL (est diseada para trabajar con la versin 4.1.2 o superior), la cual, adems de la Interfaz habitual, encierra una Interfaz basada en objetos.

2.5.2 QUE SE PUEDE HACER CON PHP? Aunque principalmente se utiliza para programar scripts que van a ser ejecutados en servidores Web, no hay que olvidar que puede utilizarse como cualquier otro lenguaje (Perl,C ,Python ,Shell,etc.) para escribir programas que se ejecuten desde la lnea de comandos, es decir, sin la necesidad de que se ejecute conjuntamente con un servidor Web. De todas formas, es en el entorno Web donde se ha conseguido su mayor aceptacin, Y es que PHP no slo nos permite realizar todas

26 las acciones propias de un Script CGI tradicional (procesamiento de formularios, manipulacin de cookies, generacin de pginas con contenidos dinmicos), sino que tambin nos proporciona las siguientes posibilidades:

Soporte para mltiples sistemas operativos; Unix (entre otras, Linux, HP-UX, Solaris y OpenBSD), Microsoft Windows, Mac Os X, RISC OS. Actualmente est en preparacin para las plataformas IBM OS/390 y AS/400.

Soporte para mltiples servidores Web:Apache,Microsoft Internet Server,Personal Web Server,Netscape e iPlanet ,Oreilly Server,Caudium,Xitami,OmniHTTPd Y muchos otros.

Information

Website Pro

Soporte para ODBC y extensiones DBX. Soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en Windows) y muchos otros.

Puede utilizar objetos Java de forma transparente, como objetos PHP. La extensin de CORBA puede ser utilizada para acceder a objetos remotos. PHP soporta WDDX para intercambio de datos entre lenguajes de programacin Web.

Generacin de resultados en mltiples formatos como XHTML, XML ficheros de imgenes, ficheros PDF y pelculas Flash.

Manejo de expresiones regulares POSIX Extended o Perl. Funciones de comercio electrnico, como Cybercash, Cybermut Verisign Payflow Pro y CCVS para pasarelas de pago.

Otras extensiones muy interesantes son las funciones del motor de bsquedas mnoGosearch, funciones para pasarelas de IRC, utilidades de compresin (gzip, bz2), convencin de calendarios y traducciones.

2.5.3 MODO DE FUNCIONAMIENTO DE PHP El intrprete PHP puede ser ejecutado por el servidor Web de dos modos distintos: como mdulo del propio servidor (interfaz SAPI, Server Application programming Interface) o como programa externo a ste (modo CGI, Common Gateway Interface).

27 A grandes rasgos, ejecutar un programa CGI le supone a la maquina donde se est ejecutando el servidor Web llamar al sistema operativo para que realice las siguientes tareas bsicas: cargar el programa en memoria, anotarlo en la lista de

tareas, lanzar su ejecucin, esperar a que termine y, por fin, descargarlo de memoria y de la lista de tareas. Tantas veces el cliente pida la ejecucin de un programa CGI, tantas veces se repetirn estas acciones en la maquina servidora. Es fcil imaginar que, si el nmero de peticiones en medio-alto, el rendimiento general de esta sta se ver proporcionalmente degradado, no ya slo por el nmero de tareas simultneas a realizar, sino por la ocupacin de la memoria fsica del equipo servidor con las copias del programa CGI ejecutndose.

Por otra parte, podemos pensar en un SAPI como un protocolo que permite acceder directamente a las funciones internas del servidor, por tanto a travs del SAPI podemos aadir nuevas funcionabilidades a un servidor Web (por ejemplo, acceso a base de datos, autentificacin de usuarios, cache de pginas, generacin de imgenes al vuelo, etc.). Lo mas interesante de esta caracterstica es que todas estas nuevas funcionabilidades se van ejecutar de forma ms rpida y eficiente ya que lo van hacer en el espacio de memoria del propio servidor. Esto significa que las ejecuciones de los programas las har el propio servidor Web mucho ms rpidas y eficaces y, por tanto, sern

(no habr creacin de procesos nuevos ni

ocupacin extra de la memoria fsica con copias de stos). Segn el fabricante de servidores, existen varios tipos de API`s: Apache API para el servidor Apache, ISAPI de Microsoft para su producto Internet Information Server, NSAPI de AOL para el servidor planet (antes,Netscape Enterprise Server) y WSAPI. Que es el SAPI del servidor Website Pro de O`Reilly 2.6 BASE DE DATOS RELACIONALES6 Existen muchos tipos de base de datos en funcin del modo en que almacenan y acceden a la informacin que guardan: Relacional, jerrquica, en la red, orientada a objetos, etc. Ejemplos de gestores de bases de datos relacionales o RDBMS (Relational Database Management System) hay muchos: MySQL, SQLite, Orale, Informix, SyBase, Microsoft SQL Server, Postgres, Msql, etc.
6

PHP 5 a Travs de ejemplos .1 Edicin, Abraham Gutirrez, Gins Bravo Garca pg.

37-38

28

Bsicamente, un gestor de base de datos relacionales almacena los datos en Tablas, cada una de las cuales est formada por filas (o registros),y estas , a su vez, estn formadas por columnas (o campos), Antes de definir una tabla, hay que normalizarla, proces que consiste en evitar redundancia, es decir, que la informacin ste duplicada ya que, si hubiera que cambiar un dato que estuviera repetido,habra que cambiar varias veces.

MySQL De entre todos los gestores anteriormente mencionados, la eleccin de MySQL como gestor de base de datos radica en que es gratuito tanto para usos privados, cmo comerciales (slo hay que pagar en el caso de que se desarrollo un producto comercial que ste basado en MySQL), en su disponibilidad para distintos sistemas operativos (la mayor parte de los sabores Unix, Windows 9X/NT/2000/XP, OS/2 etc.), en que es capaz de trabajar con millones de registros y porque, adems es muy rpido y no necesita grandes recursos de mquina.

2.6.1 CONEXIN CON EL GESTOR DE LA BASE DE DATOS

Como ya es bien sabido las aplicaciones que siguen la arquitectura cliente-servidor (Web, Correo, ftp, news, etc.) basan su funcionamiento en dos extremos; un servidor que se mantiene a la escucha de peticiones en un puerto determinado y en el otro, los clientes que, cuando quieren contactar con el servidor, realizan conexiones a ese puerto.

MySQL sigue esta misma arquitectura y, por tanto, para poder realizar operaciones, es necesario tener arrancado el programa servidor, por defecto el servidor de MySQL escucha peticiones en el puerto TCP 3306.

29 2.6.2 LA NATURALEZA DE LAS BASES DE DATOS RELACIONALES Aunque las bases de datos fsicamente son archivos de una computadora, las aplicaciones que utilizan las bases de datos no manejan estos archivos directamente. En su lugar, las aplicaciones envan comandos y reciben respuestas de un sistema de administracin de base de datos (SABD).SQL Server y Access son ejemplos de sistemas de administracin de base de datos. Un SABD libera al programador de muchas tareas tediosas y complicadas implicadas en el procesamiento de la base de datos y protege frente a la introduccin de datos no validos. Casi todas las bases de datos modernas se ajustan al llamado modelo relacional. Esto es lo que mas convierte en bases de datos relacionales. Todos los SABD deben proporcionar las siguientes tres funciones para acceder a los datos: Select: Presentan una vista de una tabla en la que slo se muestran los registros que tienen los valores especificados en los campos especificados. Project: Presenta una vista de una tabla que no incluye todos sus campos. Join: Presenta una vista combinada de dos tablas como si fueran una sola. El resultado es como una tabla temporal que el SABD construye haciendo corresponder los valores de los registros de una tabla con los valores de los registros de otra y despus combinado los campos de ambos registros concordantes.

2.6.3 DISEO DE BASE DE DATOS Una nica base de datos relacional puede contener cualquier nmero de tablas, esto plantea las preguntas de cuntas tablas debe tener una base de datos y de qu campos bebe tener cada tabla. Dichas decisiones son la base del diseo de datos. Un buen diseo hace que resulte fcil trabajar con la base de datos y ofrece

suficiente flexibilidad como para admitir los requisitos futuros.

Un diseo pobre obstaculiza las operaciones select, proyect y join, haciendo que la base de datos resulte poco flexible y sea difcil trabajar con ella.

30 2.6.4 DISEO FORMAL DE UNA BASE DE DATOS Una base de datos verdaderamente relacional es aquella que sigue el llamado modelo relacional formulado inicialmente por E.F.Codd, un investigador de IBM. El modelo relacional describe la base de datos, tablas, registros, campos, operadores como select, Project y join de un modo formal, matemtico. Uno de los puntos fuertes del modelo relacional es que es matemticamente completo (un trmino que coloquialmente significa que no contiene incoherencias ni le faltan vnculos). El resultado es un modelo de base de datos con una capacidad de aplicacin sin precedentes a una gama de problemas enormemente amplia. En una tecnologa relacional, el proceso de organizar los campos en tablas se denomina normalizacin, porqu con cada paso el diseo se aproxima cada vez ms al estndar relacional (es decir, la norma relacional). Los expertos han propuesto muchos grados de normalizacin, pero todos parecen estar de acuerdo con los cincos primeros: Primera Forma Normal: Un campo dado de un registro dado slo puede contener un valor, esto prohbe todo tipo de grupos que se repiten dentro de un nico registro, para implementar grupos que se repiten, disee una tabla con registros que se repiten. Segunda Forma Normal: Cada Campo no clave debe depender de todos los campos de la clave principal. Tercera Forma Normal: Ningn campo no clave depende de otro campo no clave. Cuarta Forma Normal: Esta Forma prohbe varias relaciones independientes de unos a varios entre los campos de la clave principal y los campos no clave. Para conseguir la cuarta forma normal tendr que crear una tabla aparte para cada relacin de uno a varios independientes. Quinta Forma Normal: Esta forma es muy extrema y suele ignorarse, requiere descomponer una tabla en las partes ms pequeas posibles para eliminar toda la redundancia.

You might also like