Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 11

20

CAPITULO II
MARCO TEÓRICO

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 implementación simple y sencilla de un
sistema de comunicaciones que nos permite enviar cualquier tipo de ficheros de una
forma fácil, 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 composición de paginas enlazadas simple
y fácil, 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 conexión y sin estado. Es un protocolo Orientado a
conexión 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
contraposición a los protocolos de datagrama o no orientados a conexión que
dividen los datos en pequeños paquetes (datagramas) y los envían, pudiendo llegar
por vías diferentes del servidor al cliente. El protocolo no mantiene estado, es decir,
cada transferencia de datos es una conexión independiente de la anterior, no
manteniendo ninguna relación entre ellas. Esto es así hasta el punto de que para
transferir una página Web debemos enviar el código HTML del texto así como las
imágenes que la componen, pues en la especificación inicial de HTTP, la 1.0, se
abrían y usaban tantas conexiones como componentes tenia la página,
transfiriéndose por cada conexión un componente (el texto de la página o cada una
de las imágenes).

4 HTML & XHTML: The Definitive Guide. O’Reilly 1ª Edicion.Musciano, Musciano, Chuck;
Kennedy, Bill pág. 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 (imágenes textos, imágenes, fotografías, audio, sonido,
animaciones, video), enlaces a otros documentos (la característica más destacada
del WWW), mostrar formularios para luego procesarlos, etc.

El lenguaje HTML actualmente se encuentra en la versión 5.0, las novedades más


destacables de HTML 5 serán la inclusión de API's para realizar dibujos en dos
dimensiones, controlar la reproducción de audio y vídeo, editar documentos de
forma interactiva en el navegador, y mantener datos de forma persistente en la parte
cliente de la comunicación para acceder más tarde a ellos.

2.3 APLICACIONES WEB

Una aplicación Web, básicamente, 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 través de nuestro navegador, convirtiéndose éste en la
"pantalla" o ventana en la que visualizamos las cosas que ocurren al ejecutar las
acciones de la aplicación. El servidor nos devuelve la información en formato HTML
y así cualquier navegador es capaz de interpretar este código para poder visualizar
de forma correcta la información que nos envía la aplicación.
Son numerosas las ventajas de las aplicaciones Web en cualquiera de los campos
para los que se utilicen, ya que permiten facilitar mucho la estructuración y sobre
todo el mantenimiento de la información que se muestra en el sitio Web. Las
aplicaciones Web se pueden utilizar con múltiples fines, desde un sencillo uso para
facilitar la creación de un sitio Web más o menos extenso, hasta para centralizar
toda la información (contabilidad, pedidos, logística, etc.) de una empresa
multinacional, con sedes en diferentes países del mundo. Al partir toda la
información de un mismo punto o base de datos, permite a todos los usuarios que
trabajan con esta información 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 almacén, 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 almacén de ese producto, evitando
problemas en el servicio al cliente.

Ventajas como la mencionadas anteriormente, exigen a cambio el esfuerzo, trabajo


o inversión de mantener toda la información actualizada permanentemente para
poder así ser útil a todos los usuarios que trabajan diariamente con la aplicación
Web.

2.4 TIPOS DE APLICACIONES

 Desarrollo de sitios Web básicos.


 Web en flash.
 Aplicaciones de contenido.
 Aplicaciones e-learning.
 Comercio electrónico.
 Aplicaciones de gestión.

2.4.1 DESARROLLO DE SITIOS WEB BÁSICOS

Hay empresas o profesionales que por su tipo de negocio o producto, solamente


precisan tener un pequeño espacio Web para mostrar de forma sencilla información
sobre su actividad, contacto, etc.

Se utilizará como tarjeta de visita para presentar a sus clientes.


Estos sitios Web, aún siendo sencillos en sus contenidos, pueden ofrecer una
buena imagen de la empresa o el profesional a sus visitantes. Los diseñadores y
desarrolladores tienen lo siguiente como objetivos principales: Diseño bueno y
23

atractivo, buena estructuración, fácil navegación, optimización de imágenes


y acabado completo del sitio

2.4.2 WEB EN FLASH.

Hace ya bastante tiempo que la Compañía Macromedia desarrolló la tecnología de


flash, para abrir un mundo nuevo de posibilidades de animación y movimiento a la
presentación de sitios Web. Hoy en día, cualquier navegador de cualquier fabricante
o plataforma lleva incorporado el plug-in que permite la correcta visualización 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 público al que antes de la existencia de Internet no se podía llegar. Este tipo de
aplicaciones son ideales para el crecimiento de contenidos a lo largo del tiempo ya
que están estructuradas y permiten ampliar, prácticamente hasta donde se desee,
los contenidos del sitio Web.

2.4.4 APLICACIONES E-LEARNING.

La competitividad del mercado, cada día mayor, nos obliga a todos a mantener una
formación permanente en nuestro trabajo o profesión, con el fin de estar al día 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 formación continua a
través de Internet, lo que se conoce por e-learning.

2.4.5 COMERCIO ELECTRÓNICO.

Por todos es sabido que el comercio electrónico está sufriendo un espectacular auge
en los últimos años. Cada día son más las personas que realizan por Internet, desde
la compra de alimentos y enseres para su casa, hasta la compra de determinados
productos muy específicos que no se encuentran habitualmente el cualquier
comercio tradicional.
24

2.4.6 APLICACIONES DE GESTIÓN.

Desde luego si hay una función estrella para las aplicaciones informáticas es la
gestión y contabilidad en las empresas. La gran mayoría de las pequeñas empresas,
adquieren o adquirieron su primer ordenador con el objetivo de utilizarlo para la
gestión de la contabilidad y en su caso de almacén. La tecnología 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 permitían a su
creador. Rasmus Lerdorf, el control de los accesos a sus Páginas personales. A
este conjunto de Scripts les denominó como personal Home Page Tools. Poco a
poco, Ramus fue complementando las funcionabilidades básicas de sus
herramientas escribiendo programas en C. En 1995 decidió liberar el código 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 tenían 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 había sido completamente reescrito por Andi Gutmans y Zeev
Zuraski. Una de las mejores características de PHP 3.0 que trajo a docenas de
desarrolladores a unirse y enviar nuevos módulos de extensión era su gran
extensibilidad, además de proveer a los usuarios finales de una sólida
infraestructura para muchísimas bases de datos, protocolos, APIs. En su apogeo,
PHP 3.0 estaba instalado en aproximadamente un 10% de los servidores Web en
Internet.

5 PHP 5 a Través de ejemplos .1ª Edición, Abraham Gutiérrez, Ginés Bravo García, pág. 6
25

2.5.1 EVOLUCION DE PHP


El siguiente paso en la evolución de PHP consistió en la reescritura de su núcleo,
dando lugar a un nuevo motor denominado Zend (acrónimo de los apellidos Zeev y
Andi). PHP 4.0, basado en este motor, y acoplado con un gran rango de nuevas
características adiciónales, fue oficialmente liberado en mayo de 2000.

Además de la mejora de ejecución de esta versión, PHP 4.0 incluía otras


características clave, como el soporte para la mayoría de los servidores Web,
sesiones HTTP forma nativa, ciertas facilidades de orientación a objetos,
compatibilidad con las expresiones regulares de Perl, Buffers de salida, encriptación,
formas más seguras de controlar las entradas de Usuarios y muchas nuevas
Construcciones de lenguaje, etc.

La ultima y actual versión 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 características y novedades más resáltables está el completo soporte para
la programación orientada a objetos (que a buen seguro satisfará a los más
apasionados y ortodoxos seguidores de este paradigma de la programación).

También incorpora la gestión de excepciones, una nueva librería de XML (libxm12),


soporte nativo para el sistema gestor de base de datos SQLite, y mejoras en la
gestión de las cadenas de caracteres. PHP 5.0 soporta también MySQLi, Una nueva
ampliación de MySQL (está diseñada para trabajar con la versión 4.1.2 o superior),
la cual, además 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 línea 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 aceptación, Y es que PHP no sólo nos permite realizar todas
26

las acciones propias de un Script CGI tradicional (procesamiento de formularios,


manipulación de cookies, generación de páginas con contenidos dinámicos), sino
que también nos proporciona las siguientes posibilidades:

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

- Soporte para múltiples servidores Web:Apache,Microsoft Internet Information


Server,Personal Web Server,Netscape e iPlanet ,Oreilly Website Pro
Server,Caudium,Xitami,OmniHTTPd Y muchos otros.
- 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 extensión de CORBA puede ser utilizada para acceder a objetos remotos.
- PHP soporta WDDX para intercambio de datos entre lenguajes de programación
Web.
- Generación de resultados en múltiples formatos como XHTML, XML ficheros de
imágenes, ficheros PDF y películas Flash.
- Manejo de expresiones regulares POSIX Extended o Perl.
- Funciones de comercio electrónico, como Cybercash, Cybermut Verisign Payflow
Pro y CCVS para pasarelas de pago.
- Otras extensiones muy interesantes son las funciones del motor de búsquedas
mnoGosearch, funciones para pasarelas de IRC, utilidades de compresión (gzip,
bz2), convención de calendarios y traducciones.

2.5.3 MODO DE FUNCIONAMIENTO DE PHP


El intérprete PHP puede ser ejecutado por el servidor Web de dos modos distintos:
como módulo 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 básicas: cargar el programa en memoria, anotarlo en la lista de
tareas, lanzar su ejecución, esperar a que termine y, por fin, descargarlo de memoria
y de la lista de tareas. Tantas veces el cliente pida la ejecución de un programa CGI,
tantas veces se repetirán estas acciones en la maquina servidora.
Es fácil imaginar que, si el número de peticiones en medio-alto, el rendimiento
general de esta ésta se verá proporcionalmente degradado, no ya sólo por el
número de tareas simultáneas a realizar, sino por la ocupación de la memoria física
del equipo servidor con las copias del programa CGI ejecutándose.

Por otra parte, podemos pensar en un SAPI como un protocolo que permite acceder
directamente a las funciones internas del servidor, por tanto a través del SAPI
podemos añadir nuevas funcionabilidades a un servidor Web (por ejemplo, acceso
a base de datos, autentificación de usuarios, cacheó de páginas, generación de
imágenes al vuelo, etc.). Lo mas interesante de esta característica es que todas
estas nuevas funcionabilidades se van ejecutar de forma más rápida 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 y, por tanto, serán
mucho más rápidas y eficaces (no habrá creación de procesos nuevos ni
ocupación extra de la memoria física con copias de éstos).
Según 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 función del modo en que almacenan y
acceden a la información que guardan: Relacional, jerárquica, 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 Través de ejemplos .1ª Edición, Abraham Gutiérrez, Ginés Bravo García pág. 37-38
28

Básicamente, 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,
están formadas por columnas (o campos), Antes de definir una tabla, hay que
normalizarla, procesó que consiste en evitar redundancia, es decir, que la
información éste duplicada ya que, si hubiera que cambiar un dato que estuviera
repetido,habrìa que cambiar varias veces.

MySQL
De entre todos los gestores anteriormente mencionados, la elección de MySQL
como gestor de base de datos radica en que es gratuito tanto para usos privados,
cómo comerciales (sólo 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, además es
muy rápido y no necesita grandes recursos de máquina.

2.6.1 CONEXIÓN 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 físicamente son archivos de una computadora, las
aplicaciones que utilizan las bases de datos no manejan estos archivos
directamente. En su lugar, las aplicaciones envían comandos y reciben respuestas
de un sistema de administración de base de datos (SABD).SQL Server y Access son
ejemplos de sistemas de administración 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 introducción 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 sólo 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 después combinado los campos de ambos registros
concordantes.

2.6.3 DISEÑO DE BASE DE DATOS


Una única base de datos relacional puede contener cualquier número de tablas, esto
plantea las preguntas de cuántas tablas debe tener una base de datos y de qué
campos bebe tener cada tabla. Dichas decisiones son la base del diseño de datos.
Un buen diseño hace que resulte fácil trabajar con la base de datos y ofrece
suficiente flexibilidad como para admitir los requisitos futuros.

Un diseño pobre obstaculiza las operaciones select, proyect y join, haciendo que la
base de datos resulte poco flexible y sea difícil trabajar con ella.
30

2.6.4 DISEÑO 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, matemático.

Uno de los puntos fuertes del modelo relacional es que es matemáticamente


completo (un término que coloquialmente significa que no contiene incoherencias ni
le faltan vínculos). El resultado es un modelo de base de datos con una capacidad
de aplicación sin precedentes a una gama de problemas enormemente amplia.

En una tecnología relacional, el proceso de organizar los campos en tablas se


denomina normalización, porqué con cada paso el diseño se aproxima cada vez
más al estándar relacional (es decir, la norma relacional). Los expertos han
propuesto muchos grados de normalización, pero todos parecen estar de acuerdo
con los cincos primeros:

Primera Forma Normal: Un campo dado de un registro dado sólo puede contener
un valor, esto prohíbe todo tipo de grupos que se repiten dentro de un único registro,
para implementar grupos que se repiten, diseñe 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: Ningún campo no clave depende de otro campo no clave.

Cuarta Forma Normal: Esta Forma prohíbe 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
relación de uno a varios independientes.

Quinta Forma Normal: Esta forma es muy extrema y suele ignorarse, requiere
descomponer una tabla en las partes más pequeñas posibles para eliminar toda la
redundancia.

También podría gustarte