Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tesis Lista
Tesis Lista
INTRODUCCIÓN
La tecnología hoy en día avanza a pasos agigantados, tanto que varias de las
instituciones educativas a nivel nacional cuentan con su Web Site para controlar
su gestión académica, el mismo que ofrece una mejor atención y promoción
institucional, a medida que las instituciones educativas van evolucionando se
hace muy importante considerar el acceso a la información por parte de los
usuarios, docentes y estudiantes de la institución a fin de ofrecer un servicio de
calidad.
Por lo mismo nuestro proyecto está basado en aplicaciones web para el Colegio
Nacional Mixto “Dr. José María Velasco Ibarra” del Cantón El Guabo, que le
permitirá su promoción, proceso de matriculación y beneficios, por el cual es
necesario su análisis, en el cual descubrimos los problemas que tenía la
institución con respecto al manejo de sus datos y como se estaba promocionando
en el área institucional, para lo cual planteamos una solución a estos
inconvenientes, a través de diferentes metodologías y diagramas, lograremos
conseguir las mejores opciones para el logro de nuestro objetivo, como es la
creación del Web Site para el ingreso de estudiantes a esta institución.
El Colegio Nacional Mixto “Dr. José María Velasco Ibarra” del Cantón El Guabo es
la institución más prestigiosa del Cantón, nos hemos visto en la necesidad de
crear un Web Site con sus respectivas aplicaciones web con una base de datos
ubicada en un servidor, para desde ahí tener control de sus procesos de
matriculación y acceso a la información requerida.
El Web Site cuenta con un diseño e interfaz amigable para los estudiantes y
personas en general, en donde encontraremos, imágenes, videos, material
didáctico, su ubicación geográfica, así como también el acceso a los servicios que
presta esta prestigiosa institución.
1
UNIVERSIDAD TECNICA DE MACHALA
OBJETIVOS
Objetivo General:
Objetivo Específicos:
Realizar todos los formularios de registros donde nos permita ingresar los
datos primordiales de forma completa.
2
UNIVERSIDAD TECNICA DE MACHALA
JUSTIFICACIÓN
Los Web Sites y las aplicaciones web a nivel nacional forman parte de algunas
instituciones educativas que han puesto en consideración las mismas para estar a
la par de los avances tecnológicos que se implantan a nivel educativo.
3
UNIVERSIDAD TECNICA DE MACHALA
Por lo expuesto hemos considerado factible abordar este tema, del cual pedimos
su respectiva aprobación.
4
UNIVERSIDAD TECNICA DE MACHALA
PROBLEMAS
PROBLEMA CENTRAL
PROBLEMAS ESPECÍFICOS
5
UNIVERSIDAD TECNICA DE MACHALA
PREGUNTA CIENTÍFICA
Central
Particulares:
6
UNIVERSIDAD TECNICA DE MACHALA
ALCANCE
Resultados
Portal web con un diseño amigable y de fácil manejo para los usuarios
y personal administrativo de la institución.
7
UNIVERSIDAD TECNICA DE MACHALA
2.1.1 Misión
2.1.2 Visión
2.1.3 Paradigma
8
UNIVERSIDAD TECNICA DE MACHALA
2.1.4 Objetivo
La iniciación tubo impulso cuando regía nuestro país el Dr. José María
Velasco Ibarra; cuyo Ministro de Educación y Cultura era en ese entonces el
Dr. Augusto Solórzano Constantino, como subsecretario de educación el
señor Augusto Luis Moscoso y siendo alcalde de la provincia el abogado
Luis Alberto León León
.Hasta que en el año lectivo 1973-1974 mediante decreto supremo, No. 887,
en articulo 2do. se nacionalizo y la vida económica tuvo su giro de
independencia contando con un presupuesto de 502.000 sucres y a la
9
UNIVERSIDAD TECNICA DE MACHALA
medida que han pasado los años se han ido incrementado cada vez mas. La
iniciación de las labores funcionales tiene como marco las instalaciones de la
Escuela de Niños General Manuel Serrano, en ese entonces ubicados en
las calles 9 de Octubre y Eloy Alfaro, donde funciono por el lapso de un año,
para luego continuar en la casa Municipal Parroquial, en donde permaneció
por el lapso de 6 años, hasta la fecha que emite el decreto de giro político de
nuestro lugar natal , la cantonización de El Guabo, luego de este
acontecimiento el establecimiento se traslado a los edificios de la escuela
Zoila Ugarte de Landivar en jornada vespertina, finalmente se traslado a su
propio local ubicado en la Vía Panamericana Sur, en el desvió a Pasaje, local
que está ha servicio de la comunidad de El Guabo y de la provincia desde el
mes de abril de 1984.
En primer lugar como Rector fundador fue el Dr. Vinicio Sarmiento Alvarado
desde el 12 de noviembre de 1970, radicado en esta ciudad por largos años,
como secretaria titular fue nombrada la Srta. Miryam Sánchez y como auxiliar
la Srta. Dolly Serrano Jácome. Los primeros maestros fueron: Sr. Saúl Paz
miño, Sra. Mercede Orellana, Sr. Mauro Muñoz, Sr. Volter Medina, Sra. Julia
Jaramillo, Sr. Rodolfo Aguirre. Alumnos matriculados en el año 1.971-1972
103 divididos en dos paralelos uno para primer curso y otro para segundo.
En este año aumenta dos profesores y un conserje el Sr. Miguel Mesones,
1972-1973 fueron matriculados 165 alumnos. En este año los señores
profesores: Voltaire Medina Y Mauro Muñoz solicitaron el cambio, ingresan
nuevos profesores: Marlene Serrano de Vogueley, Julián Reyes, sr, Hernán
Rosales Sra. Rosario Palacios y como conserje el Sr. Rómulo Lojas.
10
UNIVERSIDAD TECNICA DE MACHALA
En este año el número del personal es de 12. Ingresan. Sr. Rodolfo Aguirre,
sr, Manuel Benítez, Germán Jácome.
11
UNIVERSIDAD TECNICA DE MACHALA
Beltrán Romero José Vicente, Capa Farías Gabriel Agustín, Espinoza Armijos
Florencio Ilvano, Gómez Izurieta Helen Elaine, Guerra Izurieta Carlos
Gonzalo, Guerra Izurieta Marco Gabriel, izquierdo Mesones Darwin Colon,
Izurieta Jaén Norma Irlanda, Orellana Álvarez Guillermo Santo, Orellana
Quevedo Ángela María, Ortiz Pérez alba Marlene, Ortiz Pérez Lilia Piedad,
Solano Solano Luis Antonio., Verdi Barros Rubén Benjamín, Zamora Ruiz
Rosa Dalila.
En este año el colegio tiene sus símbolos patrios creados por la iniciativa del
Dr. Vinicio Sarmiento la bandera y el escudo.
12
UNIVERSIDAD TECNICA DE MACHALA
Nuevos maestros: que ingresan: Sr. Rubén Verdi, Sr. Teófilo Chamba, Sra.
Elva Verdi, Sr. Hernán Valverde, Sr. Mauro Valverde, Sr. Juan Reyes, .Sr.
Sra. Elena Mora.
El Ing. Carlos Loayza Sánchez en unión con el Concejo Directivo Logra que
la dirección nacional de construcciones escolares DINACE efectúen visitas
con el objetivo de realizar los planos previos a la construcción de las oficinas
Administrativas, el bloque para los laboratorios y los bloques de las aulas y
talleres., Se gradúa de 11 estudiantes en Humanidades modernas.
13
UNIVERSIDAD TECNICA DE MACHALA
Promoción Q.B. 17, S.E. 19., 1992-1993- promoción Q.B. 17. F.M. 11., S.E.
19., 1993-1994 promociones Q.B. 13 F.M. 1. S.E. 18., 1994-1995.- promoción
Q.B. 14, FM 12 S.E. 20.- En su administración logro la construcción de
algunos bloques de aulas, cerramientos de linderos, en cementado del
ingreso exterior del plantel, culmino con la construcción del salón de actos
14
UNIVERSIDAD TECNICA DE MACHALA
15
UNIVERSIDAD TECNICA DE MACHALA
2006 -2007 se realizo por parte del comité central de padres de familia, la
readecuación de una loza que se encontraba en mal estado y la construcción
de 2 aulas en la parte superior.
16
UNIVERSIDAD TECNICA DE MACHALA
17
UNIVERSIDAD TECNICA DE MACHALA
2.1.6 Organigrama
18
UNIVERSIDAD TECNICA DE MACHALA
2.1.7 Ubicación
19
UNIVERSIDAD TECNICA DE MACHALA
2.2.4 Modalidades
20
UNIVERSIDAD TECNICA DE MACHALA
Internet, la red de redes, nace a mediados de la década de los setenta, bajo los
auspicios de DARPA, la Agencia de Proyectos Avanzados para la Defensa de
Estados Unidos. DARPA inició un programa de investigación de técnicas y
tecnologías para unir diversas redes de conmutación de paquetes, permitiendo
así a los ordenadores conectados a estas redes comunicarse entre sí de forma
fácil y transparente.
21
UNIVERSIDAD TECNICA DE MACHALA
22
UNIVERSIDAD TECNICA DE MACHALA
23
UNIVERSIDAD TECNICA DE MACHALA
Las directivas de petición de información que define HTTP 1.1 (la versión
considerada estable y al uso) son:
24
UNIVERSIDAD TECNICA DE MACHALA
Cabe destacar que todos los recursos que sean servidos mediante HTTP deberán
ser referenciados mediante una URL (universal resource locators).
Las peticiones en HTTP pueden realizarse usando dos métodos. El método GET,
en caso de enviar parámetros junto a la petición, las enviaría codificadas en la
URL. Por su parte, el método POST, en caso de enviarlos, lo haría como parte del
cuerpo de la petición.
25
UNIVERSIDAD TECNICA DE MACHALA
• Línea de petición
• Cabecera de petición
Identificador: valor
Parámetros de petición
Una petición HTTP puede también contener parámetros, como res- puesta, por
ejemplo, a un formulario de registro, a una selección de producto en una tienda
electrónica, etc. Estos parámetros pueden pasarse de dos formas:
26
UNIVERSIDAD TECNICA DE MACHALA
Para codificar los parámetros como parte de la URL, éstos se añaden a la URL
detrás del nombre del recurso, separados de éste por un carácter?. Los diferentes
parámetros se separan entre sí por el carácter&. Los espacios se sustituyen por +.
Por último, los caracteres especiales (los mencionados antes de&,+ y?, así como
los caracteres no imprimibles, etc.) se representan con %xx, donde xx representa
al código ASCII en hexadecimal del carácter.
Por ejemplo:
Host: www.ejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/gif, image/jpeg, text/html
Accept-language: en
Accept-Charset: iso-8859-1
Para pasar los parámetros como datos extra de la petición, éstos se envían al
servidor como cuerpo de mensaje en la petición.
Host: www.ejemplo.com
Accept-language: en
Accept-Charset: iso-8859-1
nombre=Perico+Palotes&OK=1
27
UNIVERSIDAD TECNICA DE MACHALA
Cabe destacar que para pasar los parámetros como cuerpo de la petición, ésta
debe realizarse como POST y no como GET, aunque una petición POST también
puede llevar parámetros en la línea de petición. Los parámetros pasados como
cuerpo de la petición están codificados, al igual que en el ejemplo anterior, como
URL, o pueden usar una codifica- ción derivada del formato MIME (multipurpose
internet mail extensions), en lo que se conoce como codificación multiparte.
Host: www.ejemplo.com
Accept-language: en
Accept-Charset: iso-8859-1
Content-Type: multipart/form-data,
delimiter=“----ALEATORIO----”
----ALEATORIO----
Perico Palotes
----ALEATORIO----
Content-Disposition: form-data; name=“OK”
1----ALEATORIO------
Esta codificación es exclusiva del método POST. Se emplea para enviar ficheros
al servidor.
• Respuestas en HTTP
28
UNIVERSIDAD TECNICA DE MACHALA
Las respuestas en HTTP son muy similares a las peticiones. Una respuesta
estándar a una petición de una página sería similar a lo siguiente:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 428
Connection: close
<HTML>
...
En ella podemos observar que la primera línea nos responde con la versión del
protocolo empleada para enviarnos la página, seguida de un código de retorno y
una frase de retorno. El código de retorno puede adoptar uno de los siguientes
valores:
29
UNIVERSIDAD TECNICA DE MACHALA
Después del estatus aparece una serie de campos de control, con el mismo
formato que en las cabeceras de la petición que nos informan del contenido
(fecha de creación, longitud, versión del servidor, etc.). A continuación viene el
contenido solicitado.
El otro puntal del éxito del WWW ha sido el lenguaje HTML (hypertextmark-up
language). Se trata de un lenguaje de marcas (se utiliza insertando marcas en el
interior del texto) que nos permite represen tar de forma rica el contenido y
también referenciar otros recursos (imágenes, etc.), enlaces a otros documentos
(la característica más destacada del WWW), mostrar formularios para
posteriormente procesarlos, etc.
El esquema de funcionamiento de los CGI tenía un punto débil: cada vez que
recibíamos una petición, el servidor web lanzaba un proceso que ejecutaba el
30
UNIVERSIDAD TECNICA DE MACHALA
programa CGI. Como, por otro lado, la mayoría de CGI estaban escritos en algún
lenguaje interpretado (Perl, Python, etc.) o en algún lenguaje que requería runtime
environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la
máquina del servidor. Además, si la web tenía muchos accesos al CGI, esto
suponía problemas graves.
Por ello se empiezan a desarrollar alternativas a los CGI para solucionar este
grave problema de rendimiento. Las soluciones vienen principalmente por dos
vías. Por un lado se diseñan sistemas de ejecución de módulos más integrados
con el servidor, que evitan que éste tenga que instanciar y ejecutar multitud de
programas. La otra vía consiste en dotar al servidor de un intérprete de algún
lenguaje de programación (RXML, PHP, VBScript, etc.) que nos permita incluir las
páginas en el código de manera que el servidor sea quien lo ejecute, reduciendo
así el tiempo de respuesta.
A lo largo del curso abordaremos con más detalle la que quizás sea la más
exitosa y potente de estas aproximaciones, la seguida por Sun Microsystems con
su sistema Java, que está integrada por dos componentes; a saber, un lenguaje
que permite incrustar código interpretable en las páginas HTML y que el servidor
traduce a programas ejecutables, JSP (Java server pages) y un mecanismo de
programación estrechamente ligado al servidor, con un rendimiento muy superior
a los CGI convencionales, llamado Java Servlet.
Otra de las tecnologías que más éxito ha obtenido y una de las que más se utiliza
en Internet es el lenguaje de programación interpretado por el servidor PHP. Se
trata de un lenguaje que permite incrustar HTML en los programas, con una
31
UNIVERSIDAD TECNICA DE MACHALA
32
UNIVERSIDAD TECNICA DE MACHALA
1. Espera peticiones en el puerto TCP asignado (el estándar para HTTP es el 80).
5. Vuelve al punto 2.
Un servidor web que siguiese el esquema anterior cumpliría los requisitos básicos
de los servidores HTTP, aunque, eso sí, sólo podría servir ficheros estáticos.
A partir del esquema anterior se han diseñado y construido todos los programas
servidores de HTTP que existen, variando sólo el tipo de peticiones (páginas
estáticas, CGI, Servlets, etc.) que pueden atender, en función de que sean o no
multiproceso, multihilados, etc. A continuación detallaremos algunas de las
características principales de los servidores web, que extienden, obviamente el
esquema anterior.
Todos los servidores web deben incluir, como mínimo, la capacidad para servir los
ficheros estáticos que se encuentren en alguna parte concreta del disco. Un
requisito imprescindible es la capacidad de especificar qué parte del disco se
servirá. No resulta en absoluto recomendable que el servidor nos obligue a usar
un directorio concreto, si bien puede tener uno por defecto.
33
UNIVERSIDAD TECNICA DE MACHALA
34
UNIVERSIDAD TECNICA DE MACHALA
RADIUS, LDAP, etc.). Si usamos un sistema operativo como Linux, que dispone
de una infraestructura de autenticación como PAM (pluggable authentication
modules), podemos usar esta funcionalidad como modo de autenticación del
servidor web, permitiéndonos así usar los múltiples métodos disponibles en PAM
para autenticar contra diversos sistemas de seguridad.
Uno de los aspectos más importantes del servidor web escogido es el nivel de
soporte que nos ofrece para servir contenido dinámico. Dado que la mayor parte
del contenido web que se sirve no proviene de páginas estáticas, sino que se
genera dinámicamente, y esta tendencia es claramente alcista, el soporte para
contenido dinámico que nos ofrece el servidor web es uno de los puntos más
críticos en su elección.
La mayoría de servidores web ofrecen soporte para CGI (cabe recordar que los
CGI son el método más antiguo y simple de generación de contenido dinámico).
Muchos ofrecen soporte para algunos lenguajes de programación (básicamente
interpretados) como PHP, JSP, ASP, Pike, etc. Es altamente recomendable que el
servidor web que utilicemos proporcione soporte para alguno de estos lenguajes,
siendo uno de los más utilizados PHP, sin tener en cuenta JSP, que usualmente
requiere un software externo al servidor web para funcionar (como por ejemplo,
un contenedor de Servlets). La oferta en este campo es muy amplia, pero antes
de escoger un lenguaje de programación de servidor tenemos que plantearnos si
deseamos un lenguaje muy estandarizado para que nuestra aplicación no
dependa de un servidor web o arquitectura concreta o si, por el contrario, la
portabilidad no es una prioridad y sí lo es alguna prestación concreta que pueda
ofrecernos algún lenguaje de programación concreto.
35
UNIVERSIDAD TECNICA DE MACHALA
la petición HTTP. Esta prestación permite administrar de una forma más racional y
ahorrativa un bien escaso, como son las direcciones IP.
Son muchas las prestaciones que nos ofrecen los servidores web para
diferenciarse de la competencia. Algunas de ellas resultan realmente útiles y
pueden decidir la elección de servidor web. Debemos ser conscientes, no
obstante, de que si usamos algunas de estas características, o si éstas se
convierten en imprescindibles para nosotros, ello nos puede obligar a usar un
determinado servidor web aunque en algún momento determinado deseemos
cambiar.
Spelling (Apache). Esta prestación de Apache nos permite definir una página de
error para los recursos no encontrados que sugiera al usuario algunos nombres
de recurso parecidos al que solicitaba para el caso de que hubiese cometido un
error al escribir.
Status (Apache). Nos proporciona una página web generada por el servidor donde
éste nos muestra su estado de funcionamiento, nivel de respuesta, etc.
(RXML), comandos para realizar accesos a bases de datos SQL desde las
propias páginas HTML.
36
UNIVERSIDAD TECNICA DE MACHALA
Kill Frame (Roxen). Envía con cada página web servida un código que evita que
nuestra web quede como frame (enmarcada) dentro de otra página web.
Algunos servidores web nos permiten usarlos como servidores intermedios (proxy
servers). Podemos usar los servidores intermedios para propósitos muy variados:
37
UNIVERSIDAD TECNICA DE MACHALA
Existen módulos para diversos servidores web que nos permiten usar los como
frontales para otros servidores especializados en otro tipo de servicio.
38
UNIVERSIDAD TECNICA DE MACHALA
2.5.1 Apache
Estos voluntarios se conocen como el Apache Group. Además del Apache Group,
cientos de personas han contribuido al proyecto con código, ideas y
documentación.
Éstos, usando el servidor NCSA 1.3 como base de trabajo, añadieron todas las
correcciones de errores publicadas y las mejoras más valiosas que encontraron y
probaron el resultado en sus propios servidores. Posteriormente publicaron lo que
sería la primera versión oficial del servidor Apache (la 0.6.2, de Abril de 1995).
Casualmente, en esas mismas fechas, NCSA reemprendió el desarrollo del
servidor NCSA.
39
UNIVERSIDAD TECNICA DE MACHALA
En este momento el desarrollo de Apache siguió dos líneas paralelas. Por un lado,
un grupo de los desarrolladores siguió trabajando sobre el Apache 0.6.2 para
producir la serie 0.7, incorporando mejoras, etc. Un segundo grupo reescribió por
completo el código, creando una nueva arquitectura modular. En julio de 1995 se
migraron a esta nueva arquitectura las mejoras existentes para Apache 0.7,
haciéndose público como Apache 0.8.
El día uno de diciembre de 1995, apareció Apache 1.0, que incluía documentación
y muchas mejoras en forma de módulos incrustables. Poco después, Apache
sobrepasó al servidor de NCSA como el más usado en Internet, posición que ha
mantenido hasta nuestros días. En 1999 los miembros del Grupo Apache
fundaron la Apache Software Foundation, que provee soporte legal y financiero al
desarrollo del servidor Apache y los proyectos laterales que han surgido de éste.
Una vez dentro de este directorio, continuaremos con los siguientes pasos:
$ ./configure
40
UNIVERSIDAD TECNICA DE MACHALA
$ make
El alumno debe recordar que para compilar Apache requeriremos, como mínimo,
GNU Make y GNU CC.
$ make install
– Una vez instalado en su lugar, dispondremos, dentro del subdirectorio bin del
directorio de instalación, el que hemos especificado con prefix, un programa
llamado apachectl que nos permitirá controlar el servidor. Para iniciar éste:
$ ./apachectl start
Para detenerlo:
$ ./apachectl stop
• Redhat/Fedora
41
UNIVERSIDAD TECNICA DE MACHALA
Debian
apt-get install apache que nos instalará Apache en la última versión o bien lo
actualizará, si ya lo teníamos instalado.
42
UNIVERSIDAD TECNICA DE MACHALA
• Parámetros globales
• Directivas de funcionamiento
•Hosts virtuales
Algunos parámetros son generales para el servidor, mientras que otros se pueden
configurar de manera independiente para cada conjunto de directorios o ficheros o
para un servidor virtual concreto. En estos casos, los parámetros se encuentran
ubicados dentro de secciones donde se indica el ámbito de aplicación del
parámetro.
43
UNIVERSIDAD TECNICA DE MACHALA
<Proxy>: sólo se aplican los parámetros a las peticiones de proxy (requiere, por
tanto, mod proxy instalado) que coincidan con la especificación de URL.
1.<Directory>y .htaccess
2.<DirectoryMatch>y <Directory>
3.<Files>y <FilesMatch>
4.<Location>y <LocationMatch>
<Directory /home/*/public_html>
Options Indexes
</Directory>
Order allow,deny
44
UNIVERSIDAD TECNICA DE MACHALA
</FilesMatch>.
Directivas principales
45
UNIVERSIDAD TECNICA DE MACHALA
ServerName www.uoc.edu:80
ServerName 192.168.1.1:80
46
UNIVERSIDAD TECNICA DE MACHALA
Por ejemplo:
•UserDir: esta directiva nos permite indicar a Apache que un subdirectorio del
directorio de trabajo de los usuarios del sistema sirva para almacenar su página
personal.
Por ejemplo:
http://www.uoc.edu/˜test/indice.html
Directivas de sección
47
UNIVERSIDAD TECNICA DE MACHALA
–Allow,Deny. El acceso está denegado por defecto y sólo podrán entrar los
clientes que cumplan las especificaciones de Allow y no cumplan las de Deny.
–Deny,Allow. El acceso está permitido por defecto y sólo podrán entrar los clientes
que no cumplan las especificaciones de Deny o cumplan las de Allow.
Servidores virtuales
Apache soporta servir diversos sitios web con un sólo servidor. Para ello
proporciona facilidades de creación de dominios virtuales en función de diversas
direcciones IP o diversos nombres por IP.
Apache fue uno de los primeros servidores en soportar servidores virtuales sin IP,
en función de nombre. Esta capacidad simplifica mucho la administración de los
servidores, además de suponer un ahorro importante de direcciones IP,
normalmente escasas. Los servidores virtuales por nombre son totalmente
transparentes para el cliente, con la única posible excepción de aquellos
navegadores muy antiguos que no envíen la cabecera Host: con las peticiones.
Para atender a diversos servidores virtuales, cada uno con una dirección IP,
utilizaremos la sección de configuración VirtualHost. Con esta sección definiremos
cada uno de los servidores con su propia configuración y dirección IP.
48
UNIVERSIDAD TECNICA DE MACHALA
<VirtualHost 192.168.1.1>
ServerAdmin webmaster@uoc.edu
DocumentRoot /web/uoc
ServerName www.uoc.edu
ErrorLog /web/logs/uoc_error_log
TransferLog /web/logs/uoc_access_log
</VirtualHost>
<VirtualHost 192.168.254.254>
ServerAdmin webmaster@asociados.uoc.edu
DocumentRoot /web/asociados
ServerName asociados.uoc.edu
ErrorLog /web/logs/asociados_error_log
TransferLog /web/logs/asociados_access_log
</VirtualHost>
Como podemos ver, este ejemplo define dos servidores web, cada cual con una
IP y un nombre diferente. Ambos tienen su propio DocumentRoot, etc.
Para utilizar servidores virtuales por IP, es necesario que el sistema servidor tenga
configuradas en el sistema operativo las diversas direcciones IP que hay que
servir.
49
UNIVERSIDAD TECNICA DE MACHALA
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@uoc.edu
ServerName www.uoc.edu
DocumentRoot /web/uoc
ErrorLog /web/logs/uoc_error_log
TransferLog /web/logs/uoc_access_log
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@uoc.edu
ServerName asociados.uoc.edu
DocumentRoot /web/asociados
ErrorLog /web/logs/asociados_error_log
TransferLog /web/logs/asociados_access_log
</VirtualHost>.
50
UNIVERSIDAD TECNICA DE MACHALA
NameVirtualHost 192.168.1.1
NameVirtualHost 172.20.30.40
</VirtualHost>
<VirtualHost _default_>
DocumentRoot /www/defecto
</VirtualHost>
51
UNIVERSIDAD TECNICA DE MACHALA
Existen multitud de servidores HTTP de código libre, pero casi todos ellos han
quedado eclipsados por la fama de Apache. Algunos de estos servidores
presentan características que les dotan de gran interés.
2.6.1. AOLServer
AOLServer tiene una amplia base de usuarios, gracias sobre todo a su integración
con OpenACS, un sistema de gestión de contenidos muy potente, de código libre,
desarrollado inicialmente por una empresa llamada ArsDigita y posteriormente
liberado bajo licencia GPL. El binomio AOLServer-OpenACS constituye la
infraestructura de proyectos web tan complejos y potentes como dotLRN (un
campus virtual universitario de código libre).
52
UNIVERSIDAD TECNICA DE MACHALA
• Es de código libre.
• Soporte gráfico integrado que permite, con sólo algunas etiquetas de RXML (la
extensión de HTML de Roxen), generar imágenes, títulos, gráficas, etc.
Roxen es uno de los pocos casos en los que un excelente producto (ha sido
siempre uno de los servidores web más estables, rápidos y con mayor número de
prestaciones y facilidades) no ha triunfado, ya que siempre ha sido eclipsado por
Apache.
53
UNIVERSIDAD TECNICA DE MACHALA
2.6.3. thttpd
Su utilidad como servidor web de propósito general es más bien escasa, aunque
su uso principal suele ser como servidor rápido de contenido estático, muchas
veces como soporte de servidores Apache para servir contenido binario estático,
como puedan ser imágenes u otros, dejando para el servidor Apache las páginas
dinámicas o más complejas. Usado como auxiliar de Apache para servir contenido
estático ha conseguido reducir la carga del servidor principal a una centésima
parte.
2.6.4. Jetty
54
UNIVERSIDAD TECNICA DE MACHALA
2.7 Javascript
2.7.1 Concepto
<HTML>
<HEAD>
<SCRIPT LANGUAGE=“Javascript”>
function Saludo()
alert(“Hola mundo”);
</SCRIPT>
</HEAD>
<BODY>
<FORM>
55
UNIVERSIDAD TECNICA DE MACHALA
<INPUT TYPE=“button”NAME=“Boton”
VALUE=“Pulsar” onClick=“Saludo()”>
</FORM>
</BODY>
</HTML>
<SCRIPT LANGUAGE=“Javascript1.1”>
...
</SCRIPT>
56
UNIVERSIDAD TECNICA DE MACHALA
Nuestro código:
function Saludo()
alert(“Hola mundo”);
<FORM>
<INPUT TYPE=“button”NAME=“Boton”
VALUE=“Pulsar” onClick=“Saludo()”>
</FORM>
57
UNIVERSIDAD TECNICA DE MACHALA
Otro punto que conviene tener presente es que los símbolos (nombres de
variables, funciones, etc.) son sensibles a cambios de mayúsculas/minúsculas.
Comentarios
/*
*/
Literales
•Enteros 123
•Reales 0.034
estaciones= [“Otoño”,”Invierno”,”Primavera”,”Verano”];.
Caracteres especiales
58
UNIVERSIDAD TECNICA DE MACHALA
• cadenas de caracteres
• enteros
• reales
• booleanos
• vectores
• matrices
• referencias
• objetos
59
UNIVERSIDAD TECNICA DE MACHALA
Variables
No hace falta declaración explícita de las variables, ya que éstas son globales. Si
deseamos una variable local, debemos declararla usando la palabra reservada
var y hacerlo en el cuerpo de una función. En una declaración de variable
mediante var podemos declarar diversas variables, separando los nombres de
éstas mediante ,.
Las variables tomarán el tipo de datos a partir del tipo del objeto de datos que les
asignemos.
Referencias
Javascript elimina del lenguaje los punteros a memoria, pero mantiene el uso de
referencias. Una referencia funciona de forma muy similar a un puntero de
memoria, pero obviando para el programador las tareas relacionadas con gestión
de memoria que provocaban tantos errores en los punteros dentro de otros
lenguajes.
function soloExplorer()
...
function soloMozilla()
...
60
UNIVERSIDAD TECNICA DE MACHALA
function toda()
var funcion;
if(navegadorMozilla)
funcion=soloMozilla;
else
funcion=soloExplorer;
funcion();
Vectores
Como podemos ver en el código siguiente, los Array de Javascript son objetos (de
tipo Array) los cuales pueden tener como índice de acceso un valor no numérico y
de los que no debemos declarar las medidas inicialmente. No disponemos de un
tipo de vector n dimensional, pudiendo usar para ello vectores de vectores.
miEstupendoVector[30] = “contenido”;.
//dimensionamos un vector
61
UNIVERSIDAD TECNICA DE MACHALA
capitales[“Francia”]= “París”;
Operadores
– Igualdad==
– Desigualdad! =
– Igualdad estricta===
– Desigualdad estricta!==
– Menor que<
– Mayor que>
– Negación!
– Y&&
– Ó||
62
UNIVERSIDAD TECNICA DE MACHALA
Bifurcaciones condicionales
if (condicion)
<codigo>
else
<codigo>
switch(valor)
case valortest1:
<codigo>
break;
case valortest2:
<codigo>
break;
...
default:
<codigo>
63
UNIVERSIDAD TECNICA DE MACHALA
Bucles
while(condicion)
<codigo>
do{<codigo>
} while(condicion);
<codigo>
<codigo>
Por otro lado tenemos with, que proporcionará una mayor comodidad cuando
tengamos que tratar con múltiples propiedades de un mismo objeto. Podemos
escribir:
with (objeto)
{propiedad1 = ...
propiedad2 = ...
objeto.propiedad1=...
objeto.propiedad2=...
64
UNIVERSIDAD TECNICA DE MACHALA
2.7.6 Funciones
código
2.7.7 Objetos
objeto.propiedad
Para definir un objeto en Javascript debemos, en primer lugar, definir una función
especial, cuya finalidad consiste en construir el objeto. A dicha función, llamada
constructor, debemos asignarle el mismo nombre que al objeto.
this.atr1=atr1;
this.atr2=atr2;
65
UNIVERSIDAD TECNICA DE MACHALA
objeto=new MiObjeto(....)
objeto.atr1=a;.
Para añadir métodos a un objeto, debemos definir primero dichos métodos como
una función normal:
{//codigo
objeto.metodo1=Metodo1;
objeto.metodo1(....);
Herencia
{this.base=ObjetoPadre;
this.base(arg1,arg2);
66
UNIVERSIDAD TECNICA DE MACHALA
En ese momento podemos acceder por un objeto de tipo ObjetoHijo tanto a los
métodos y propiedades del objeto hijo como del objeto padre.
Objetos predefinidos
•Array Vectores.
•Function Funciones.
2.7.8 Eventos
Ventajas:
67
UNIVERSIDAD TECNICA DE MACHALA
Las aplicaciones Web son fáciles de usar (no requieren conocimientos avanzados
de computación).
Con una aplicación Web tendrá alta disponibilidad, ya que puede realizar
consultas en cualquier parte del mundo donde tenga acceso a Internet y a
cualquier hora.
Beneficios:
2.7.10 Antecedentes
68
UNIVERSIDAD TECNICA DE MACHALA
2.7.11 Interfaz
Como ejemplo, AJAX, es una técnica de desarrollo web que usa una combinación
de varias tecnologías.
Una ventaja significativa es que las aplicaciones web deberían funcionar igual
independientemente de la versión del sistema operativo instalado en el cliente. En
vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas
operativos, la aplicación web se escribe una vez y se ejecuta igual en todas
partes. Sin embargo, hay aplicaciones inconsistentes escritas con HTML, CSS,
DOM y otras especificaciones para navegadores
Otra aproximación es utilizar Adobe Flash Player o Java applets para desarrollar
parte o toda la interfaz de usuario. Como casi todos los navegadores incluyen
soporte para estas tecnologías (usualmente por medio de plug-ins), las
aplicaciones basadas en Flash o Java pueden ser implementadas con
69
UNIVERSIDAD TECNICA DE MACHALA
Una estrategia que está emergiendo para las empresas proveedoras de software
consiste en proveer acceso vía web al software. Para aplicaciones previamente
distribuidas, como las aplicaciones de escritorio, se puede optar por desarrollar
una aplicación totalmente nueva o simplemente por adaptar la aplicación para ser
usada con una interfaz web. Estos últimos programas permiten al usuario pagar
una cuota mensual o anual para usar la aplicación, sin necesidad de instalarla en
el ordenador del usuario. Las compañías que siguen esta estrategia se
denominan Proveedores de Aplicaciones de Servicio (ASP por sus siglas en
inglés), un modelo de negocio que está atrayendo la atención de la industria del
software.
70
UNIVERSIDAD TECNICA DE MACHALA
PHP
ASP/ASP.NET
Perl
Ruby
Python
HTML
XML
71
UNIVERSIDAD TECNICA DE MACHALA
Beneficios:
72
UNIVERSIDAD TECNICA DE MACHALA
73
UNIVERSIDAD TECNICA DE MACHALA
8. Los datos también van online. Por supuesto con el desplazamiento de las
aplicaciones locales a aquellas basadas en web también los datos que creamos y
accedemos van a necesitar experimentar profundos cambios. A nadie le gusta no
poder acceder a su propio e-mail cuando está de viaje, o poder recuperar un
documento particular cuando se conecta desde un ciber café a 15.000 kilómetros
de su oficina"Los clientes no deberían almacenar datos; deberían ser como
teléfono. De hecho pueden convertirse en teléfonos, o viceversa. Y a medida que
los clientes se hagan más pequeños, usted tiene otra razón para no tener sus
datos en ellos: algo que usted lleva consigo pueden perderse o ser robado"
11. Desarrollar aplicaciones en el lenguaje que usted quiera. Una vez que
las aplicaciones han sido separadas de computadoras locales y sistemas
operativos específicos esa pueden también ser escritas en prácticamente
74
UNIVERSIDAD TECNICA DE MACHALA
La era "En vivo" tal como Bill Gates la ha denominado, realmente ya está aquí,
debajo de nuestras narices.
75
UNIVERSIDAD TECNICA DE MACHALA
Por último, pero no por eso menos importante, las aplicaciones y los servicios
basados en web necesitarán ser apoyados por estrategias de comunicación de
marketing que más que nunca corte el cordón umbilical con las comunicaciones
corporativas tradicionales, de arriba-abajo y reciba abiertamente feedback y
participación del usuario en todas las áreas del desarrollo y soporte del producto.
A medida que la tangibilidad de productos, embalajes y CDs gradualmente
desaparezcan, la "cara" de la web y la habilidad para interactuar verdaderamente
con sus clientes se convertirá en los nuevos pilares claves de lo que nosotros
llamamos hoy marca institucional y marketing de relaciones públicas.
Las páginas web son textos ASCII escritos en HTML (Hypertext Markup
Language), que se transfieren entre los servidores de WWW y los navegadores
mediante el protocolo HTTP (Hypertext Transfer Protocol).
Cuando comenzó la World Wide Web, los sitios web ofrecían páginas estáticas,
es decir, que a efectos del usuario, el único proceso realizado era el de
visualización de sus contenidos por parte del navegador del cliente.
76
UNIVERSIDAD TECNICA DE MACHALA
-Las páginas del lado del servidor, permiten modificar los contenidos antes de
enviarlos al cliente. Las primeras fueron CGI (Common Gateway Interface) que
implementan páginas web activas en el servidor, capaces de leer lo que le
enviaba un cliente al servidor a través de un formulario, o escribir en la página del
cliente.
PHP es capaz de realizar determinadas acciones de una forma fácil y eficaz sin
tener que generar programas programados en un lenguaje distinto al HTML. Esto
se debe a que PHP ofrece un extenso conjunto de funciones para la explotación
de bases de datos sin complicaciones. Es por esto, que levanta un mayor interés
con respecto a los lenguajes pensados para los CGI.
PHP fue desarrollado originalmente por Rasmus Ledford en 1994 como un CGI
escrito en Perl que permitía la interpretación de un número limitado de comandos.
El sistema fue denominado Personal Home Page Tools y consiguió relativo éxito
gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus
77
UNIVERSIDAD TECNICA DE MACHALA
PHP3 carecía del uso de sesiones, algo muy común en las páginas web de cierta
complejidad. En el año 2000, PHP3 evolucionó a PHP4, que utiliza el motor Zend
(desarrollado por Zeev y Andi encargado de interpretar el código fuente de los
scripts de PHP), desarrollado para cubrir las necesidades actuales y solucionar
algunos inconvenientes de la anterior versión. Algunas mejoras de esta nueva
versión son su mayor independencia del servidor web y su rapidez, ya que
primero se compila y luego se ejecuta, mientras que antes se ejecutaba a la vez
que se interpretaba el código.
78
UNIVERSIDAD TECNICA DE MACHALA
PHP suele ser utilizado conjuntamente con Perl, Apache, MySQL o PostgreSQL
en sistemas Linux, formando una combinación barata (todos los componentes son
de código libre), potente y versátil. Tal ha sido la expansión de esta combinación
que incluso ha merecido conocerse con un nombre propio LAMP (formado por las
iniciales de los diversos productos).
Apache, así como algunos otros servidores web, Roxen entre ellos, puede
incorporar PHP como un módulo propio del servidor, lo cual permite que las
aplicaciones escritas en PHP resulten mucho más rápidas que las aplicaciones
CGI habituales.
Si solicitamos a nuestro servidor una página PHP, éste envía dicha página al
intérprete de PHP que la ejecuta (de hecho, no se trata más que de un programa)
y devuelve el resultado (generalmente HTML) al servidor web, el cual, a su vez,
se lo enviará al cliente.
<h1>¡Hola mundo!</h1>
79
UNIVERSIDAD TECNICA DE MACHALA
<?php
$MYVAR = “1234”;
$myvar = “4321”;
echo $myvar.”<br>\n”;
?>
1234<br>
4321<br>
El primer punto que debemos destacar es que los bloques de código de PHP
están delimitados en HTML con<?php y?>. Podemos, por tanto, escribir una
página HTML e incluir en ella diversos bloques de instrucciones PHP:
80
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
</HEAD>
<BODY>
<h1>Cabecera H1</h1>
<h1>Cabecera H1 segunda</h1>
<?php
$MYVAR = 1234;
$myvar = 4321;
echo $myvar.”<br>“;
?>
</BODY>
</HTML>
81
UNIVERSIDAD TECNICA DE MACHALA
También podemos observar que hay un comentario dentro del código. Este
comentario no afectará en modo alguno al programa ni será enviado al navegador
del cliente (de hecho, el navegador cliente nunca recibirá código PHP). Para
introducir comentarios en nues- tro código, disponemos de dos opciones:
2.8.2.3 Variables
PHP no precisa que declaremos a priori la variable que vamos a usar ni el tipo de
ésta. PHP declarará la variable y le asignará el tipo de datos correcto en el
momento en que la usemos por primera vez:
$numero = 100;
$decimal = 8.5;
?>
En PHP las variables pueden tener, básicamente, dos ámbitos: uno global, en el
que serán accesibles desde todo el código y otro local, en el que sólo serán
accesibles desde la función en la que las creamos. Para asignar a una variable un
ámbito global bastará con declararla (en este caso, sí que hace falta una
declaración de variable) y usar la palabra reservada global en la declaración:
<?php
82
UNIVERSIDAD TECNICA DE MACHALA
global $test;
?>
Las variables que no califiquemos como globales, pero que sean definidas fuera
de cualquier función, tendrán como ámbito el global.
Bastará con definir una variable dentro de una función. En ese caso, su ámbito
quedará restringido a la función donde la declaremos.
<?php
function suma()
?>
Podemos ver que tanto a como variable son variables globales, mientras que
b.y.res son variables locales.
<?php
$mares[0]= “Mediterráneo”;
$mares[1] = “Aral”;
83
UNIVERSIDAD TECNICA DE MACHALA
$mares[2] = “Muerto”;
Como podemos ver, hemos declarado la variable mares con una llamada a
array(). Esto indica a PHP que dicha variable es un vector de elementos.
Para acceder a los elementos individuales del vector, debemos utilizar el nombre
del vector e indicar la posición del elemento al que queremos acceder entre
corchetes. En PHP los vectores empiezan a numerarse en 0.
Además de vectores con índices numéricos, PHP soporta vectores cuyos índices
sean cadenas de texto:
<?php
$montañas[“Everest”]= “Himalaya”;
$montañas[“Montblanc”] = “Alpes”;
?>
5.2.4. Operadores
Los operadores son símbolos que se utilizan para realizar tanto operaciones
matemáticas como comparaciones u operaciones lógicas.
• Operadores matemáticos:
84
UNIVERSIDAD TECNICA DE MACHALA
• Operadores de comparación:
2 == 2 (Verdadero).
2 != 2 (Falso).
2 < 5(Verdadero).
6 > 4 (Verdadero).
2 <= 5 (Verdadero).
6 >= 4 (Verdadero).
• Operadores lógicos:
85
UNIVERSIDAD TECNICA DE MACHALA
<?php
$a = 5;
$b = 10;
?>
Condicionales
El condicional if nos permite escoger entre dos bloques de código en función del
cumplimiento o no de una condición.
<?php
86
UNIVERSIDAD TECNICA DE MACHALA
$a = 0;
$b = 1;
if($a == $b)
}else
?>
if(condición)
else
87
UNIVERSIDAD TECNICA DE MACHALA
if/else:
if(condición1)
if(condición2)
else
else
switch.
88
UNIVERSIDAD TECNICA DE MACHALA
<?php
$a=1;
switch($a)
case1:
Bucles
89
UNIVERSIDAD TECNICA DE MACHALA
• El bucle while
El bucle while es el más simple de los tres, pero aún así probablemente sea el
bucle más utilizado. El bucle se ejecuta mientras la condición que le hemos
pasado sea cierta:
<?php
$a = 1;
while($a < 4)
echo “a=$a<br>“;
$a++;
?>
En este caso, el bucle se ejecutará cuatro veces. Cada vez que se ejecute,
incrementaremos el valor de a e imprimiremos un mensaje. Cada vez que se
vuelve a ejecutar el código, while comprueba la condición y, en caso de cumplirse,
vuelve a ejecutar el código. La cuarta vez que se ejecute, como a valdrá cuatro,
no se cumplirá la condición especificada y el bucle no volverá a ejecutarse.
• El bucle for
Para bucles del tipo anterior, donde la condición de continuación es sobre una
variable que aumenta o disminuye con cada iteración, disponemos de un tipo de
bucle más apropiado: for.
90
UNIVERSIDAD TECNICA DE MACHALA
<?php
echo “a=$a<br>“;
?>
Como podemos ver, en el caso del bucle for en la misma sentencia declaramos la
variable sobre la que iteraremos, la condición de finalización y la de incremento o
continuación.
• foreach
Para aquellos casos en los que queremos que nuestro bucle haga un recorrido
sobre los elementos de un vector disponemos de una sentencia que nos simplifica
este hecho: foreach.
<?php
foreach ($a as $v
}?>
Como podemos ver, en su forma más simple, foreach asigna a una variable v uno
a uno todos los valores de un vector a.
2.8.2.5 Funciones
Otro punto clave de PHP son las funciones. Las funciones en PHP pueden recibir
o no, parámetros y siempre pueden devolver un valor. Las funciones sirven para
91
UNIVERSIDAD TECNICA DE MACHALA
<?php
return$retorno;
?>
<?php
$retorno=$a1+$a2;
return$retorno;
for($i=$b1;$i<$b2;$i++)
$res=suma($res,$b3);
}return$res;
}echo sumatorio(1,3,2);
92
UNIVERSIDAD TECNICA DE MACHALA
?>
Las funciones en PHP reciben habitualmente los parámetros por valor, es decir, la
variable que se pasa como parámetro en el código que llama no sufre
modificaciones si el parámetro de la función es modificado. Podemos, no
obstante, pasar parámetros por referencia (de forma similar a los punteros de
otros lenguajes de programación):
<?php
$a1=0;
$a2=0;
}$b1=1;
$b2=1;
modifi($b1,$b2);
?>
10
Mostrando información
93
UNIVERSIDAD TECNICA DE MACHALA
Tenemos dos mecanismos para que PHP muestre información al usuario: por un
lado podemos escribir páginas HTML corrientes, insertando sólo el código PHP
que requerimos en medio del código HTML. Por ejemplo:
<HTML>
<HEAD>
</HEAD>
<BODY>
<h1>Cabecera H1</h1>
<h1>Cabecera H1 segunda</h1>
</BODY>
</HTML>
Por otro lado, podemos usar PHP para generar contenido dinámico. Para ello
debemos usar las instrucciones de PHP de salida de datos, la más importante,
echo.
<HTML>
<HEAD>
</HEAD>
<BODY>
<h1>Cabecera H1</h1>
94
UNIVERSIDAD TECNICA DE MACHALA
<h1>Cabecera H1 segunda</h1>
</BODY>
</HTML>
Para recoger información del usuario, podemos utilizar los formularios de HTML,
utilizando nuestros programas PHP como ACTION de dichos formularios. Como
PHP fue diseñado para crear aplicaciones web, el acceso a los valores
introducidos por el usuario en los campos del formulario es realmente fácil en
PHP, ya que éste define un vector llamado REQUEST al que accedemos con el
nombre del campo como índice y que contiene el valor contenido en éste al
ejecutar el programa PHP.
<HTML>
<HEAD>
</HEAD>
<BODY>
<INPUT TYPE=submit>
</FORM>
</BODY>
</HTML>
95
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
?>
</BODY>
</HTML>
96
UNIVERSIDAD TECNICA DE MACHALA
chopElimina el último carácter de una cadena, útil para eliminar saltos de línea o
espacios finales superfluos.
<?php
$cadena1 = “hola”;
$cadena2 = “pera,manzana,fresa”;
$longitud = str_len($cadena1);//longitud=4
$partes = explode(“,”,$cadena2);
//$partes[1]=“manzana”; y $partes[2]=“fresa”;
$cadena3 = str_replace(“,”,”;”,$otracadena);
?>
97
UNIVERSIDAD TECNICA DE MACHALA
<?php
$fichero = file(“entrada.txt”);
$numlin = count($fichero);
echo $fichero[$i];
?>
<?php
$recurso = fopen (
98
UNIVERSIDAD TECNICA DE MACHALA
“ftp://usuario:password@uoc.edu/salida.txt”, “w”);
?>
Ahí podemos ver cómo abrimos un fichero para lectura (‘‘r’’), para escritura
binaria( ‘ ‘ w b ’’), una página web para leerla como si se tratara de un fichero y un
fichero vía FTP para escribirlo, respectivamente.
<?php
$conexion=mysql_connect($servidor,$usuario,$password);
if(!$conexion).
exit();
}if(!(mysql_select_db($basedatos,$conexion)))
99
UNIVERSIDAD TECNICA DE MACHALA
exit();
}$consulta=mysql_query(
$conexion);
while($fila = mysql_fetch_array($consulta))
$nombre = $fila[“nombre”];
$teléfono = $fila[“telefono”];
}mysql_free_result($consulta);
mysql_close($conexion);
?>
Podemos ver que el primer paso para acceder a la base de datos es abrir una
conexión con ésta. Para ello necesitaremos la dirección del ordenador que
contenga la base de datos, el usuario con el que conectaremos y la palabra de
acceso a dicha base de datos. Una vez conectados al servidor de mySQL,
debemos seleccionar qué base de datos de las múltiples que puede tener el
servidor queremos usar para trabajar. A raíz de esta secuencia de conexión,
tendremos en la variable conexión los datos de la conexión a mySQL. Debemos
pasar esta variable a todas las funciones de PHP que accedan a bases de datos.
Ello nos permite disponer de diversas conexiones a diferentes bases de datos
abiertas al mismo tiempo y trabajar con ellas simultáneamente.
100
UNIVERSIDAD TECNICA DE MACHALA
de una tabla de la base de datos llamada agenda, la cual contiene dos columnas
denominadas nombre y teléfono.
Posteriormente, podemos ejecutar un bucle que recorrerá todos los registros para
que nos devuelva la consulta a la base de datos, accediendo a ellos uno a uno y
pudiendo así mostrar los resultados.
<?php
//$conexion = pg_connect(“dbname=“.$basedatos);
//$conexion = pg_connect(
$resultado = pg_query($conexión,
101
UNIVERSIDAD TECNICA DE MACHALA
while($fila = pg_fetch_array($result))
$nombre = $fila[“nombre”];
$telefono = $fila[“telefono”];
}pg_close($dbconn);
?>
Uno de los puntos fuertes y una de las claves del éxito de PHP como lenguaje de
programación de aplicaciones web reside en la gran cantidad de librerías,
módulos, etc., que se han desarrollado para él. PHP pone a nuestra disposición
una cantidad ingente de API, funciones, módulos, clases (recordad que,
progresivamente, PHP se está convirtiendo en un lenguaje de programación
orientado a objetos), los cuales nos permiten operar con la complejidad creciente
de las aplicaciones web. Esta diversidad de soporte incluye, entre otras cosas:
• Control de sesiones.
102
UNIVERSIDAD TECNICA DE MACHALA
Plantillas HTML.
• Carritos de compra.
• Manejo decookies.
• Transferencia de ficheros.
• Expresiones regulares.
Por eso, en caso de desear usar PHP para desarrollar algún proyecto, resulta
altamente recomendable visitar la página web del proyecto (http://www.php.net),
ya que es muy posible que nos ofrezca un surtido de herramientas que nos
faciliten grandemente el trabajo. Disponemos, además, de PEAR, un repositorio
103
UNIVERSIDAD TECNICA DE MACHALA
de PHP que nos proporcionará la mayor parte de las herramientas que podamos
llegar a necesitar.
Una de las necesidades más perentorias con las que nos enfrentamos al
desarrollar aplicaciones para Internet con Java, y para muchas otras aplicaciones,
es la de disponer de un almacén de datos potente, robusto, rápido y fácilmente
accesible. Para ello existen multitud de sistemas gestores de bases de datos
(SGBD) de código libre. Analizaremos algunos de ellos en las siguientes
secciones y presentaremos posteriormente una tecnología que proporciona Java
para acceder a SGBD, especialmente relacionales, llamada JDBC (algunas veces
erróneamente expandido como Java database connectivity).
La mayoría de los SGBD de código libre proceden de dos fuentes principales: por
un lado, de proyectos que nacieron como código libre desde su principio
(proyectos de investigación, etc.) y por el otro, tenemos SGBD que pertenecían a
empresas de software propietario, cuyo negocio principal no es el SGBD. Estas
compañías optan por poner el producto bajo el amparo de una licencia de código
libre, abriendo así su desarrollo a la comunidad. Veremos a continuación algunos
de los SGBD de código libre más emblemáticos.
2.9.2 PostgreSQL
104
UNIVERSIDAD TECNICA DE MACHALA
• Subconsultas.
• Soporte de vistas.
• Integridad referencial.
• Herencia de tablas.
Triggers, comandos SQL que deben ejecutarse al actuar sobre una tabla.
105
UNIVERSIDAD TECNICA DE MACHALA
2.9.3 MySQL
106
UNIVERSIDAD TECNICA DE MACHALA
107
UNIVERSIDAD TECNICA DE MACHALA
Entre las alternativas a este programa, existen algunos programas libres como
GIMP, orientada a la edición fotográfica en general, o propietarios como
PhotoPaint de Corel, capaz de trabajar con cualquier característica de los
archivos de Photoshop, y también con sus filtros plugin.
108
UNIVERSIDAD TECNICA DE MACHALA
109
UNIVERSIDAD TECNICA DE MACHALA
Como editor WYSIWYG que es, Dreamweaver permite ocultar el código HTML de
cara al usuario, haciendo posible que alguien no entendido pueda crear páginas y
sitios web fácilmente sin necesidad de escribir código.
110
UNIVERSIDAD TECNICA DE MACHALA
También podría decirse, que para un diseño más rápido y a la vez fácil podría
complementarse con fireworks en donde podría uno diseñar un menú o para otras
creaciones de imágenes (gif web, gif websnap, gif adaptable, jpeg calidad
superior, jpeg archivo más pequeño, gif animado websnap) para un sitio web y
después exportar la imagen creada y así utilizarla como una sola, en donde ya
llevara los vínculos a un dicho sitio en especifico que uno le haya dado.(MRR -
U.P.C.)
111
UNIVERSIDAD TECNICA DE MACHALA
2.12 JavaScript
112
UNIVERSIDAD TECNICA DE MACHALA
Inicialmente los autores lo llamaron Mocha y más tarde LiveScript pero fue
rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems
y Netscape, el 4 de diciembre de 1995.
En 1997 los autores propusieron JavaScript para que fuera adoptado como
estándar de la European Computer Manufacturers 'Association ECMA, que a
pesar de su nombre no es europeo sino internacional, con sede en Ginebra.
En junio de 1997 fue adoptado como un estándar ECMA, con el nombre de
ECMAScript. Poco después también como un estándar ISO.
Todos los que hasta ahora hayan seguido el curso de HTML, se habrán dado
cuenta de una cosa: crear un documento HTML es crear algo de caracter
estático, inmutable con el paso del tiempo. La página se carga, y ahí termina
la historia. Tenemos ante nosotros la información que buscábamos, pero no
podemos INTERACTUAR con ella.
113
UNIVERSIDAD TECNICA DE MACHALA
2.12.2 Versiones
Internet
No soporta JavaScript --
Explorer 2
Internet
Javascript 1.0 --
Explorer 3
Internet
Javascript 1.2 ECMA-262-compliant
Explorer 4
ECMA compliant
Nestcape 6 Full ECMAScript-262
Javascript 1.4
114
UNIVERSIDAD TECNICA DE MACHALA
Click
Nota: Los scripts pueden incluirse como comentarios para asegurar que su
código no es "visto" por navegadores viejos que no reconocen JavaScript y
así evitar errores.
<script ....>
<!-
Código JavaScript
//-->
</script>
2.12.4 Gramática
115
UNIVERSIDAD TECNICA DE MACHALA
116
UNIVERSIDAD TECNICA DE MACHALA
globalVariable=5;
117
UNIVERSIDAD TECNICA DE MACHALA
Sin embargo, si usted está codificando dentro de una función y usted quiere
crear una variable local que sólo tenga alcance dentro de esa función, debe
declarar la nueva variable haciendo uso de var:
function newFunction()
{
var localVariable=1;
globalVariable=0;
...
}
MiVariable=4;
y después:
MiVariable="Una_Cadena";
Tipos de Datos:
118
UNIVERSIDAD TECNICA DE MACHALA
Nulos Null
Operadores Aritméticos
119
UNIVERSIDAD TECNICA DE MACHALA
una variable.
Operadores de comparación
120
UNIVERSIDAD TECNICA DE MACHALA
Operador Descripción
Nota:
121
UNIVERSIDAD TECNICA DE MACHALA
Operadores Lógicos
122
UNIVERSIDAD TECNICA DE MACHALA
Operador Descripción
Operadores de Cadena
123
UNIVERSIDAD TECNICA DE MACHALA
Operadores de Asignación
Operador Descripción
124
UNIVERSIDAD TECNICA DE MACHALA
a = 8;
b = 3;
a += 3;
document.write(a);document.write("<br>");
a -= 2;
document.write(a);document.write("<br>");
b *= 2;
document.write(b);
</script>
</body>
</html>
Operadores especiales
Operador Descripción
2.12.8 Objetos
125
UNIVERSIDAD TECNICA DE MACHALA
El Objeto String
Este objeto nos permite hacer diversas manipulaciones con las cadenas, para
que trabajar con ellas sea más sencillo. Cuando asignamos una cadena a una
variable, JS está creando un objeto de tipo String que es el que nos permite
hacer las manipulaciones.
Propiedades
Métodos
126
UNIVERSIDAD TECNICA DE MACHALA
127
UNIVERSIDAD TECNICA DE MACHALA
cad.split("o");
with(document) {
write("La cadena es: "+cad+"<BR>");
write("Longitud de la cadena: "+cad.length+"<BR>");
write("Haciendola ancla: "+cad.anchor("b")+"<BR>");
write("En grande: "+cad.big()+"<BR>");
write("Parpadea: "+cad.blink()+"<BR>");
write("Caracter 3 es: "+cad.charAt(3)+"<BR>");
write("Fuente FIXED: "+cad.fixed()+"<BR>");
write("De color: "+cad.fontcolor("#FF0000")+"<BR>");
write("De color: "+cad.fontcolor("salmon")+"<BR>");
write("Tamaño 7: "+cad.fontsize(7)+"<BR>");
write("<I>orl</I> esta en la posicion: "+cad.indexOf("orl"));
write("<BR>En cursiva: "+cad.italics()+"<BR>");
128
UNIVERSIDAD TECNICA DE MACHALA
El Objeto Array
a=new Array(15);
129
UNIVERSIDAD TECNICA DE MACHALA
a=new Array(21,"cadena",true);
que nos muestra, además, que los elementos del array no tienen por qué ser
del mismo tipo.
a=new Array("cadena");
a=new Array(false);
a=new Array(2,3);
a=new Array(4);
for(i=0;i<4;i++) a[i]=new Array(7);
130
UNIVERSIDAD TECNICA DE MACHALA
Propiedades
length. Esta propiedad nos dice en cada momento la longitud del array, es
decir, cuántos elementos tiene.
Métodos
j[0]=new Array(3);
j[1]=new Array(2);
131
UNIVERSIDAD TECNICA DE MACHALA
document.write(c);
document.write("<P>"+d+"<P>");
document.write("j[0][0]="+j[0][0]+"; j[0][1]="+j[0][1]+
"; j[0][2]="+j[0][2]+"<BR>");
document.write("j[1][0]="+j[1][0]+"; j[1][1]="+j[1][1]+
"; j[1][2]="+j[1][2]);
document.write("<P>h= "+(h[0]='Hola')+"<P>");
document.write("i[0]="+i[0]+"; i[1]="+i[1]+"; i[2]="+i[2]+"<P>");
document.write("Antes de ordenar: "+b.join(', ')+"<P>");
document.write("Ordenados: "+b.sort()+"<P>");
document.write("Ordenados en orden inverso: "+b.sort().reverse());
//-->
</script>
</BODY>
</HTML>
El Objeto Math
Este objeto se utiliza para poder realizar cálculos en nuestros scripts. Tiene la
peculiaridad de que sus propiedades no pueden modificarse, sólo consultarse.
Estas propiedades son constantes matemáticas de uso frecuente en algunas
tareas, por ello es lógico que sólo pueda consultarse su valor pero no
modificarlo.
Propiedades
132
UNIVERSIDAD TECNICA DE MACHALA
Métodos
133
UNIVERSIDAD TECNICA DE MACHALA
El Objeto Date
Este objeto nos va a permitir hacer manipulaciones con fechas: poner fechas,
consultarlas... para ello, debemos saber lo siguiente: JS maneja fechas en
milisegundos. Los meses de Enero a Diciembre vienen dados por un entero
cuyo rango varía entre el 0 y el 11 (es decir, el mes 0 es Enero, el mes 1 es
Febrero, y así sucesivamente), los días de la semana de Domingo a Sábado
vienen dados por un entero cuyo rango varía entre 0 y 6 (el día 0 es el
Domingo, el día 1 es el Lunes, ...), los años se ponen tal cual, y las horas se
especifican con el formato HH:MM:SS.
Podemos crear un objeto Date vacío, o podemos crealo dándole una fecha
concreta. Si no le damos una fecha concreta, se creará con la fecha
correspondiente al momento actual en el que se crea. Para crearlo dándole un
valor, tenemos estas posibilidades:
134
UNIVERSIDAD TECNICA DE MACHALA
En día pondremos un número del 1 al máximo de días del mes que toque.
Todos los valores que tenemos que pasar al constructor son enteros.
Pasamos a continuación a estudiar los métodos de este objeto.
Métodos
* getDate(). Devuelve el día del mes actual como un entero entre 1 y 31.
* getHours(). Devuelve la hora del día actual como un entero entre 0 y 23.
* getMonth(). Devuelve el mes del año actual como un entero entre 0 y 11.
135
UNIVERSIDAD TECNICA DE MACHALA
El Objeto Boolean
Este objeto nos permite crear booleanos, esto es, un tipo de dato que es
cierto o falso, tomando los valores true o false. Podemos crear objetos de este
tipo mediante su constructor. Veamos varios ejemplos:
El Objeto Number
Este objeto representa el tipo de dato número con el que JS trabaja. Podemos
asignar a una variable un número, o podemos darle valor, mediante el
constructor Number, de esta forma:
136
UNIVERSIDAD TECNICA DE MACHALA
Propiedades
Jerarquía
En este capítulo vamos a estudiar la jerarquía que presentan los objetos del
navegador, atendiendo a una relación "contenedor - contenido" que se da
entre estos objetos. De forma esquemática, esta jerarquía podemos
representarla de esta manera (al lado está la directiva HTML con que se
incluyen en el documento objetos de este tipo, cuando exista esta directiva):
137
UNIVERSIDAD TECNICA DE MACHALA
* window
+ history
+ location
138
UNIVERSIDAD TECNICA DE MACHALA
+ frame <FRAME>
* navigator
Por ejemplo, si queremos hacer referencia a una caja de texto, tendremos que
escribir ventana.documento.formulario.caja_de_texto donde ventana es el
nombre del objeto window (su nombre por defecto es window), documento es
el nombre del objeto document (cuyo nombre por defecto es document),
formulario es el nombre del objeto forms (veremos que forms es un array) y
caja_de_texto es el nombre del objeto textarea (cuyo nombre por defecto es
textarea).
El objeto window
139
UNIVERSIDAD TECNICA DE MACHALA
Propiedades
* length. Variable que nos indica cuántos frames tiene la ventana actual.
* window. Igual que self: nombre alternativo del objeto window actual.
140
UNIVERSIDAD TECNICA DE MACHALA
Métodos
* focus(). Captura el foco del ratón sobre el objeto window actual. A partir de
NS 3, IE 4.
141
UNIVERSIDAD TECNICA DE MACHALA
142
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
<script LANGUAGE="JavaScript">
<!--
function moverVentana()
143
UNIVERSIDAD TECNICA DE MACHALA
mi_ventana.moveBy(5,5);
i++;
if (i<20)
setTimeout('moverVentana()',100);
else
mi_ventana.close();
//-->
</script>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
var opciones="left=100,top=100,width=250,height=150", i= 0;
mi_ventana = window.open("","",opciones);
mi_ventana.moveTo(400,100);
moverVentana();
//-->
</script>
</BODY>
</HTML>
144
UNIVERSIDAD TECNICA DE MACHALA
El objeto frame
Todos sabemos que la ventana del navegador puede ser dividida en varios
frames que contengan cada uno de ellos un documento en el que mostrar
contenidos diferentes. Al igual que con las ventanas, cada uno de estos
frames puede ser nombrado y referenciado, lo que nos permite cargar
documentos en un marco sin que esto afecte al resto.
Realmente cada frame se representa con un objeto window, esto quiere decir
que el objeto frame tiene todas las propiedades y métodos del objeto window.
Propiedades
* length. Variable que nos indica cuántos frames tiene la ventana actual.
145
UNIVERSIDAD TECNICA DE MACHALA
* window. Igual que self: nombre alternativo del objeto window actual.
Métodos
* focus(). Captura el foco del ratón sobre el objeto window actual. A partir de
NS 3, IE 4.
146
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<frameset cols="50%,*">
<frameset rows="50%,*">
147
UNIVERSIDAD TECNICA DE MACHALA
</frameset>
</frameset>
</HTML>
ejem09a.html
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
<script LANGUAGE="JavaScript">
<!--
function color()
top.frames['der1'].document.bgColor="#FF5500";
function cargarYahoo()
top.frames['der2'].location='http://www.yahoo.com';
//-->
</script>
</HEAD>
148
UNIVERSIDAD TECNICA DE MACHALA
<BODY>
<script LANGUAGE="JavaScript">
<!--
var i=0;
for (i=0;i<top.frames.length;i++)
//-->
</script>
<br><br>
</BODY>
</HTML>
Ver código
ejem09b.html
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
149
UNIVERSIDAD TECNICA DE MACHALA
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
//-->
</script>
</BODY>
</HTML>
El objeto location
Este objeto contiene la URL actual así como algunos datos de interés
respecto a esta URL. Su finalidad principal es, por una parte, modificar el
objeto location para cambiar a una nueva URL, y extraer los componentes de
dicha URL de forma separada para poder trabajar con ellos de forma
individual si es el caso. Recordemos que la sintaxis de una URL era:
protocolo://maquina_host[:puerto]/camino_al_recurso
Propiedades
* host. Cadena que contiene el nombre del servidor y el número del puerto,
dentro de la URL.
150
UNIVERSIDAD TECNICA DE MACHALA
Métodos
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
151
UNIVERSIDAD TECNICA DE MACHALA
//-->
</script>
</BODY>
</HTML>
El objeto history
Este objeto se encarga de almacenar una lista con los sitios por los que se ha
estado navegando, es decir, guarda las referencias de los lugares visitados.
Se utiliza, sobre todo, para movernos hacia delante o hacia atrás en dicha
lista.
Propiedades
Métodos
* back(). Vuelve a cargar la URL del documento anterior dentro del historial.
152
UNIVERSIDAD TECNICA DE MACHALA
El objeto navigator
Propiedades
* mimeTypes. Array que contiene todos los tipos MIME soportados por el
cliente. A partir de NS 3.
* plugins. Array que contiene todos los plug-ins soportados por el cliente. A
partir de NS 3.
Métodos
153
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
//-->
</script>
</BODY>
</HTML>
154
UNIVERSIDAD TECNICA DE MACHALA
El objeto document
Propiedades
* cookie. Es una cadena con los valores de las cookies del documento
actual
* forms. Se trata de un array con todos los formularios del documento. Los
formularios tienen a su vez elementos (cajas de texto, botones, etc) que
tienen sus propias propiedades y métodos, y serán tratados en el siguiente
capítulo.
155
UNIVERSIDAD TECNICA DE MACHALA
* referrer. Cadena con la URL del documento que llamó al actual, en caso
de usar un enlace.
Métodos
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
<script LANGUAGE="JavaScript">
<!--
var i=1;
function cambiarTitulo()
document.title = titulooriginal.substring(0,i);
156
UNIVERSIDAD TECNICA DE MACHALA
i++;
if (i>titulooriginal.length) i=0;
setTimeout('cambiarTitulo()',100);
cambiarTitulo();
//-->
</script>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
//-->
</script>
</BODY>
</HTML>
157
UNIVERSIDAD TECNICA DE MACHALA
El objeto link
Este objeto engloba todas las propiedades que tienen los enlaces externos al
documento actual.
Propiedades
* protocol. Es una cadena con el protocolo usado, incluyendo los : (los dos
puntos), dentro de la URL
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
158
UNIVERSIDAD TECNICA DE MACHALA
<a href="http://www.google.com/search?q=crear+paginas+web">Google!
</a><br><br>
<script LANGUAGE="JavaScript">
<!--
var i;
for (i=0;i<document.links.length;i++)
document.write("<br><br>");
//-->
</script>
</BODY>
</HTML>
El objeto anchor
Este objeto engloba todas las propiedades que tienen los enlaces internos al
documento actual.
Propiedades
159
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<BODY>
<script LANGUAGE="JavaScript">
<!--
var i;
for (i=0;i<document.anchors.length;i++)
document.write("<br><br>");
//-->
</script>
<a href="#arriba">Subir</a>
</BODY>
</HTML>
El objeto image
160
UNIVERSIDAD TECNICA DE MACHALA
Propiedades
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<script LANGUAGE="JavaScript">
<!--
img1.src = "/graficos/nni1b.gif";
161
UNIVERSIDAD TECNICA DE MACHALA
img2.src = "/graficos/nni1a.gif";
function cambia(nombre,imagen)
{
nombre.src = imagen.src
}
function dobleancho()
{
imagen1.width=imagen1.width*2;
}
function doblealto()
{
imagen1.height=imagen1.height*2;
}
function mitadancho()
{
imagen1.width=imagen1.width/2;
}
function mitadalto()
{
imagen1.height=imagen1.height/2;
}
//-->
</script>
<BODY>
162
UNIVERSIDAD TECNICA DE MACHALA
</BODY>
</HTML>
Formularios
El objeto form
Propiedades
* action. Es una cadena que contiene la URL del parámetro ACTION del
form, es decir, la dirección en la que los datos del formulario serán
procesados.
163
UNIVERSIDAD TECNICA DE MACHALA
* method. Es una cadena que tiene el nombre del método con el que se va
a recibir/procesar la información del formulario (GET/POST).
Métodos
Vistas ahora las propiedades y métodos del objeto form, pasamos a estudiar,
uno por uno, todos los objetos contenidos en el formulario.
Propiedades
Métodos
164
UNIVERSIDAD TECNICA DE MACHALA
<BODY>
</form>
</BODY>
</HTML>
165
UNIVERSIDAD TECNICA DE MACHALA
El objeto button
Propiedades
Métodos
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<script LANGUAGE="JavaScript">
<!--
function Mostrar(boton)
return true;
//-->
166
UNIVERSIDAD TECNICA DE MACHALA
</script>
<BODY>
</form>
</BODY>
</HTML>
El objeto checkbox
Propiedades
Métodos
167
UNIVERSIDAD TECNICA DE MACHALA
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<script LANGUAGE="JavaScript">
<!--
function Mostrar(boton)
msg="Opcion 1:"+formulario.check1.checked+"\n"
msg+="Opcion 2:"+formulario.check2.checked+"\n"
msg+="Opcion 3:"+formulario.check3.checked+"\n"
alert(msg);
//-->
</script>
<BODY>
</form>
168
UNIVERSIDAD TECNICA DE MACHALA
</BODY>
</HTML>
El objeto radio
Al contrario que con los checkbox, que nos permiten elegir varias
posibilidades entre las dadas, los objetos radio sólo nos permiten elegir una
de entre todas las que hay. Están pensados para posibilidades mútuamente
excluyentes (no se puede ser a la vez mayor de 18 años y menor de 18 años,
no se puede estar a la vez soltero y casado, etc.).
Propiedades
* checked. Valor booleano que nos dice si el radio está seleccionado o no.
Hay que recordar que para agrupar elementos de tipo radio, todos ellos deben
tener el mismo valor en NAME.
Métodos
169
UNIVERSIDAD TECNICA DE MACHALA
<!--
function Mostrar(boton)
{
msg="Elementos:"+formulario.edad.length+"\n";
msg+="Menor de 18 años:"+formulario.edad[0].checked+"\n";
msg+="Entre 18 y 60 años:"+formulario.edad[1].checked+"\n";
msg+="Mayor de 60 años:"+formulario.edad[2].checked+"\n";
alert(msg);
}
//-->
</script>
<BODY>
<form action="procesa.phtml" name="formulario" id="formulario"
method="GET">
Edad:<br>
<input type="radio" name="edad" value="<18"> Menor de 18 años.<br>
<input type="radio" name="edad" value=">18 y <60" checked> Entre 18 y 60
años.<br>
<input type="radio" name="edad" value=">60"> Mayor de 60 años.<br>
</form>
<A href="javascript:Mostrar()">Ver valores</A>
</BODY>
</HTML>
El objeto select
Este objeto representa una lista de opciones dentro de un formulario. Puede
tratarse de una lista desplegable de la que podremos escoger alguna (o
algunas) de sus opciones.
* length. Valor numérico que nos indica cuántas opciones tiene la lista
170
UNIVERSIDAD TECNICA DE MACHALA
o length. Valor numérico que nos dice cuántas opciones tiene la lista.
* selectedIndex. Valor numérico que nos dice cuál de todas las opciones
disponibles está actualmente seleccionada.
<HTML>
<HEAD>
<title>Ejemplo de JavaScript</title>
</HEAD>
<script LANGUAGE="JavaScript">
<!--
function Mostrar(boton)
{
msg="Elementos:"+formulario.edad.length+"\n";
msg+="Edad:
"+formulario.edad.options[formulario.edad.selectedIndex].value+"\n";
171
UNIVERSIDAD TECNICA DE MACHALA
alert(msg);
}
//-->
</script>
<BODY>
<form action="procesa.phtml" name="formulario" id="formulario"
method="GET">
Edad:<br>
<select name="edad">
<option value="<18" SELECTED>Menor de 18 años</option>
<option value=">18 y <60">Entre 18 y 60 años</option>
<option value=">60">Mayor de 60 años</option>
</select>
</form>
<A href="javascript:Mostrar()">Ver valores</A>
</BODY>
</HTML>
El objeto hidden
Gracias a este objeto podemos almacenar información extra en el formulario
de forma completamente transparente para el usuario, pues no se verá en
ningún momento que tenemos estos campos en el documento.
Es parecido a un campo de texto (objeto text) salvo que no tiene valor por
defecto (no tiene sentido pues el usuario no va a modificarlo) y que no se
puede editar.
Propiedades
172
UNIVERSIDAD TECNICA DE MACHALA
2.13 Ajax
2.14.1Introducción a Xajax
173
UNIVERSIDAD TECNICA DE MACHALA
Para trabajar con Ajax tenemos que saber programar con Javascript y utilizar
una serie de métodos complejos que dificultan bastante el desarrollo de las
páginas web. Pero por suerte, existen sistemas como Xajax que nos permiten
abstraernos de las complicaciones del desarrollo de páginas web que hacen
uso de Ajax. En este caso, Xajax mezcla PHP con Javascript, para el
desarrollo de aplicaciones PHP avanzadas, casi sin conocimientos Javascript
y sin necesidad de aprender a gestionar solicitudes al servidor por Ajax.
Por otra parte, tenemos una sección dedicada por completo a Ajax, que
también nos puede servir para trabajar con Ajax sin utilizar ningún framework.
174
UNIVERSIDAD TECNICA DE MACHALA
Las dos primeras versiones son versiones Beta, como se puede ver en el
nombre de las releases, la tercera versión, aunque es menos nueva, es la
única que tienen publicada como estable, es decir, la única que podemos
utilizar en nuestras aplicaciones en producción con la confianza que está libre
de errores.
Dejo aquí un link para descarga de la versión de Xajax 0.2.5. Esta versión la
podríamos descargar desde la propia página de Xajax, pero pongo este link
por si acaso eliminan los archivos de esta versión y los queréis descargar
para realizar los ejemplos de este manual en vuestros sistemas.
Esto es todo. Simplemente decir que Xajax es una delicia, por su facilidad, por
su potencia, versatilidad, etc. Los desarrolladores de PHP podrán
comprobarlo en pocos minutos y hacer ejemplos o programas con Ajax,
fácilmente y casi sin más conocimientos que los que ya tienen.
175
UNIVERSIDAD TECNICA DE MACHALA
2.15 WAMPSERVER
Funcionalidades
* Crear alias
176
UNIVERSIDAD TECNICA DE MACHALA
2.16 XAMPP
Las diferencias están orientadas más a la manera trabajar con ambos que en
el fondo, porque ambos incluyen PHP, Apache y MySQL, y estoy orientando la
comparación hacia el sistema operativo Windows, el único sobre el que
funciona WAMP, que no es multiplataforma (XAMPP si lo es).
177
UNIVERSIDAD TECNICA DE MACHALA
178
UNIVERSIDAD TECNICA DE MACHALA
♦ El interfaz para crear bases de datos y usuarios, así como sus permisos son
idénticos en ambos. Ambos incluyen ‘phpmyadmin’
(http://localhost/phpmyadmin/), la herramienta para manejar la administración
de SQL, para realizar esas tareas.
179
UNIVERSIDAD TECNICA DE MACHALA
Por su parte, las siglas de WAMP significan Windows (el Sistema Operativo
sobre el que funciona), Apache, MySQL y PHP.
Un breve paso a paso de cómo utilizar WAMP en una LAN, de manera que
todos los usuarios puedan acceder a los sitios que estemos probando.
Configuración
C:/wamp/www/logs
C:/wamp/www/test/logs
180
UNIVERSIDAD TECNICA DE MACHALA
“Include conf/extra/httpd-vhosts.conf”
NameVirtualHost *:80
<VirtualHost *:80>
ServerName test
DocumentRoot e:/wamp/www/test
ErrorLog e:/wamp/www/test/logs/error.log
CustomLog e:/wamp/www/test/logs/access.log common
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
DocumentRoot e:/wamp/www
ErrorLog e:/wamp/www/logs/error.log
CustomLog e:/wamp/www/logs/access.log common
</VirtualHost>
(Ponemos la carpeta en que tenemos los sitios subidos en www dentro de
wamp)
4. En el servidor, abrir el archivo hosts dentro de
C:/Windows/System32/drivers/etc. Para nuestro sitio “test”, deberíamos tener
al menos lo siguiente:
127.0.0.1 localhost
127.0.0.1 test
5. En las otras máquinas, abrimos también el archivo hosts, y deberemos
tener lo siguiente:
192.168.1.107 test
181
UNIVERSIDAD TECNICA DE MACHALA
2.19.2 Aplicaciones
182
UNIVERSIDAD TECNICA DE MACHALA
2.20 Pruebas
Las pruebas que se realizaron fueron extensas las misma que se realizaron
con encuestas e instrucciones de comandos, y se corrigieron una por una
para evitar futuros inconvenientes.
183
UNIVERSIDAD TECNICA DE MACHALA
3.1.1 Metodología XP
184
UNIVERSIDAD TECNICA DE MACHALA
3.1.1.1 Valores
3.1.1.2 Simplicidad:
3.1.1.3 Comunicación:
185
UNIVERSIDAD TECNICA DE MACHALA
Los puntos anteriores parecen tener sentido común, entonces, ¿por qué
coraje? Para los gerentes la programación en parejas puede ser difícil de
aceptar, porque les parece como si la productividad se fuese a reducir a la
mitad ya que solo la mitad de los programadores está escribiendo código. Hay
que ser valiente para confiar en que la programación por parejas beneficia la
calidad del código sin repercutir negativamente en la productividad. La
simplicidad es uno de los principios más difíciles de adoptar. Se requiere
coraje para implementar las características que el cliente quiere ahora sin caer
en la tentación de optar por un enfoque más flexible que permita futuras
modificaciones. No se debe emprender el desarrollo de grandes marcos de
trabajo (frameworks) mientra el cliente espera. En ese tiempo el cliente no
recibe noticias sobre los avances del proyecto y el equipo de desarrollo no
recibe retroalimentación para saber si va en la dirección correcta. La forma de
186
UNIVERSIDAD TECNICA DE MACHALA
3.1.1.6 Respeto:
187
UNIVERSIDAD TECNICA DE MACHALA
188
UNIVERSIDAD TECNICA DE MACHALA
3.2 Planificación
189
UNIVERSIDAD TECNICA DE MACHALA
3.2.3 Iteraciones
3.3 Diseño
Para los estudiantes será más provechoso conocer sus notas y poder realizar
su respectiva matricula, con la facilidad que ofrece la página web por medio
del internet.
190
UNIVERSIDAD TECNICA DE MACHALA
3.4 Desarrollo
3.4.1 Integración
191
UNIVERSIDAD TECNICA DE MACHALA
192
UNIVERSIDAD TECNICA DE MACHALA
REQUISITOS FUNCIONALES
Gestión de Documentación
- Historia del Colegio Nacional Mixto “Dr. José María Velasco Ibarra”
- Acta de Matriculas
- Nómina de Profesores
- Nómina de Alumnos
- Institución y su ámbito.
- Áreas Administrativas
- Departamento de Psicología
- Canchas deportivas
- Bares
- Parques
- Áreas Verdes
GESTIÓN ACADÉMICA
- Profesores
- Estudiantes
- Usuarios
- Matricula
193
UNIVERSIDAD TECNICA DE MACHALA
CONSULTAS
- Profesores
- Estudiantes
- Usuario
- Matricula
- Notas
Gestión de EVENTOS
- Quienes Somos
- Servicios
- Sistema
- Contáctenos
- Descargas
- Formulario de autenticación
REQUISITOS NO FUNCIONALES
Compatibilidad
Windows XP
Vista
194
UNIVERSIDAD TECNICA DE MACHALA
Linux
Windows 7
Hardware
Pentium IV en adelante
1 Gb de memoria
Browsers:
Mozilla FireFox
Google Chrome
Opera
Safira
Identificación de usuarios
195
UNIVERSIDAD TECNICA DE MACHALA
Disponibilidad
Confidencialidad
Funcionalidad
Desempeño
Confiabilidad
Seguridad externa
Seguridad interna
Fiabilidad
Eficiencia
Mantenibilidad
Portabilidad
_____________________
Ing. Sist. Rossmery Samaniego Mg. Sc
EVALUACIÓN DE EXPERTOS
196
UNIVERSIDAD TECNICA DE MACHALA
Disponibilidad
Confidencialidad
Funcionalidad
Desempeño
Confiabilidad
Seguridad externa
Seguridad interna
Fiabilidad
Eficiencia
Mantenibilidad
Portabilidad
___________________________
Ing. Sist. Jonathan Aguilar
ENCUESTAS
USUARIOS (SECRETARIA)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
197
UNIVERSIDAD TECNICA DE MACHALA
Diseño
Facilidad de manejo
Ayudas y documentación
Animaciones
Exploración
Herramientas
Gráficos
Interactividad
Contenidos
Funcionalidades
_____________________
Secretaria
USUARIOS (PROFESORES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Diseño
Facilidad de manejo
Ayudas y documentación
Rendimiento del programa
Bases de Datos de alumnos
Versatilidad del programa
Tipo de interacción con el programa
Estructura del programa
198
UNIVERSIDAD TECNICA DE MACHALA
Animaciones
Exploración
Herramientas
Gráficos
Interactividad
Contenidos
Funcionalidades
_____________________
Prof.:
USUARIOS (PROFESORES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Diseño
Facilidad de manejo
Ayudas y documentación
Rendimiento del programa
Bases de Datos de alumnos
Versatilidad del programa
Tipo de interacción con el programa
Estructura del programa
Animaciones
Exploración
Herramientas
Gráficos
Interactividad
Contenidos
Funcionalidades
_____________________
199
UNIVERSIDAD TECNICA DE MACHALA
Prof.:
USUARIOS (PROFESORES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Diseño
Facilidad de manejo
Ayudas y documentación
Rendimiento del programa
Bases de Datos de alumnos
Versatilidad del programa
Tipo de interacción con el programa
Estructura del programa
Animaciones
Exploración
Herramientas
Gráficos
Interactividad
Contenidos
Funcionalidades
_____________________
Prof.:
USUARIOS (ESTUDIANTES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
200
UNIVERSIDAD TECNICA DE MACHALA
Motivación e interés
Diseño
Contenidos
Funcionalidades
Usabilidad
Grado de entretenimiento
_____________________
Alumna:
USUARIOS (ESTUDIANTES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
201
UNIVERSIDAD TECNICA DE MACHALA
Motivación e interés
Diseño
Contenidos
Funcionalidades
Usabilidad
Grado de entretenimiento
_____________________
Alumna:
USUARIOS (ESTUDIANTES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Motivación e interés
202
UNIVERSIDAD TECNICA DE MACHALA
Diseño
Contenidos
Funcionalidades
Usabilidad
Grado de entretenimiento
_____________________
Alumna:
USUARIOS (ESTUDIANTES)
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Motivación e interés
Diseño
Contenidos
Funcionalidades
203
UNIVERSIDAD TECNICA DE MACHALA
Usabilidad
Grado de entretenimiento
_____________________
Alumna:
USUARIOS
BAJA
EXCELENTE
CORRECTA
ALTA
ATRIBUTO DE CALIDAD
Motivación e interés
Diseño
Contenidos
Funcionalidades
Usabilidad
Grado de entretenimiento
204
UNIVERSIDAD TECNICA DE MACHALA
_____________________
Alumna:
CONCLUSIONES
205
UNIVERSIDAD TECNICA DE MACHALA
RECOMENDACIONES
Es preciso que esta institución establezca estos tipos de servicios para ganar más
prestigio a nivel educativo y profesional, el mismo que es un paso importante
dentro de la comunidad guabeña y del país.
206
UNIVERSIDAD TECNICA DE MACHALA
BIBLIOGRAFÍA
http://www.desarrolloweb.com/manuales/xajax.html
http://www.mundojavascript.com
JotForm, Easiest Form Builder, First Web Based WYSIWYG Form Builder.
Create and publish web forms using your browser, Consulta 8 de Enero del
2010
http://jotform.com/index.php
http://www.gamarod.com.ar/recursos/tutoriales/php/
http://tutorialzine.com
http://www.proclave.com/esp/cursos/glosario.htm
207
UNIVERSIDAD TECNICA DE MACHALA
http://www.programacion.com/php/tutorial/php/
http://hungred.com/useful-information/php-form-validation-snippets/
http://www.original-design.es/tutosphp.php
208
UNIVERSIDAD TECNICA DE MACHALA
GLOSARIO
209
UNIVERSIDAD TECNICA DE MACHALA
Bajar: Es cada vez más frecuente oír frases como "Me he bajado de la red
una actualización para mi antivirus". La palabra "bajar" (o "descargar", en
inglés "download") indica una transferencia de información desde un
ordenador remoto (por ejemplo, un ordenador que haga de anfitrión en
Internet o en otra red) hasta nuestro ordenador personal. La palabra
"subir" (en inglés "upload") indica el envío de información de nuestro
ordenador a un ordenador anfitrión en la red.
210
UNIVERSIDAD TECNICA DE MACHALA
Blog: Cuaderno de bitácora. Lugar que una persona crea en Internet con el
fin de reflejar sus opiniones, gustos, experiencias, etc. Estos sitios se
encuentran generalmente en servidores preparados para esta labor.
211
UNIVERSIDAD TECNICA DE MACHALA
Campo: En el mundo de las bases de datos, cada una de los datos que
forman un registro (o ficha). Por ejemplo, en la ficha de cada proveedor
tendríamos campos como su nombre, su dirección postal, su teléfono, etc.
Cliente: Un ordenador que accede a los recursos que red que otro
ordenador (el servidor) deja a su disposición.
Coma (fija y flotante): La expresión "coma fija" (en inglés fixed point) se
usa para referirse a números con una cantidad de cifras decimales
constantes. Estos números son más sencillos de manipular (pero menos
útiles en la práctica) que los números en "coma flotante" (en inglés,
Floating Point), con un número variable de cifras decimales.
212
UNIVERSIDAD TECNICA DE MACHALA
213
UNIVERSIDAD TECNICA DE MACHALA
214
UNIVERSIDAD TECNICA DE MACHALA
HD: Disco duro (Hard Disk) // HD: Alta densidad (High Density).
215
UNIVERSIDAD TECNICA DE MACHALA
216
UNIVERSIDAD TECNICA DE MACHALA
217
UNIVERSIDAD TECNICA DE MACHALA
218
UNIVERSIDAD TECNICA DE MACHALA
Páginas Web: Forma de denominar a las hojas creadas con html que se
manejan dentro del entorno WWW.
219
UNIVERSIDAD TECNICA DE MACHALA
Registro: En el mundo de las bases de datos, cada una de las fichas que
componen una tabla.
220
UNIVERSIDAD TECNICA DE MACHALA
221
UNIVERSIDAD TECNICA DE MACHALA
ANEXOS
BIBLIOTECA
SECRETARIA
222
UNIVERSIDAD TECNICA DE MACHALA
ADMINISTRACIÓN
223
UNIVERSIDAD TECNICA DE MACHALA
224
UNIVERSIDAD TECNICA DE MACHALA
La pantalla de presentación del sitio web posee el diseño ambientado a los usuarios tanto
alumnos como profesores, el mismo que les permite observar cada uno de los menús de
navegación de acuerdo a sus necesidades.
Posee un entorno amigable que detalla cada una de las actividades que se desarrollan
dentro de la institución, varias opciones como: hacer comentarios, descargar archivos,
enlaces con sitios web y ayuda.
Y como en toda institución no puede faltar su foro para poder comentar o sugerir a cerca
de los programas que se desarrollen dentro de la institución.
225
UNIVERSIDAD TECNICA DE MACHALA
El registro de usuario le permite ingresar sus datos y obtener su propia cuenta si estos
fueron correctamente ingresados hacer clic sobre el botón REGISTRAR, el mismo que
después le pedirá guardar los datos y usted tendrá que oprimir el botón ACEPTAR y si no
está de acuerdo o desea modificar alguno de los datos recientemente ingresados oprima
el botón CANCELAR, lo que le permite acceder a nuestras páginas como invitado, por
las cuales podrá navegar de acuerdo a lo establecido por el sistema.
AVISOS DE ALERTAS
El sistema cuenta con sus respectivos avisos de alerta en cada uno de los campos que
componen los respectivos formularios estos están validados de acuerdo al dato que se
sugiere que ingrese el usuario.
226
UNIVERSIDAD TECNICA DE MACHALA
Ejemplo.:
El campo contraseña y confirmar contraseña debe ser igual, caso contrario la validación
del sistema le arrojara su respectiva alerta.
INICIO DE SESIÓN
227
UNIVERSIDAD TECNICA DE MACHALA
Una vez registrados podemos iniciar sesión y acceder al sistema como invitado.
Una vez que ingresamos como usuario podemos tener acceso al portal y navegar en el
mismo de acuerdo a lo establecido por el sistema, además encontramos un link en el cual
hacemos clic y nos permite editar nuestros datos.
El menú del sistema cuenta con sus respectivas opciones en la que les detallamos las
siguientes:
228
UNIVERSIDAD TECNICA DE MACHALA
Botón Inicio: Nos permite regresar a la página inicial del portal web.
Botón Quienes Somos: Nos despliega un submenú que nos permitirá conocer más a
cerca de la institución, tanto sus objetivos, sus orígenes, actualidad educativa y su
personal laboral.
Botón Matriculas: Este link nos permite acceder a las inscripciones a un submenú donde
el estudiante podrá realizar su matriculación de acuerdo a cada uno de los requisitos que
se detallan en los campos del formulario de registro.
229
UNIVERSIDAD TECNICA DE MACHALA
En el formulario está compuesto por varios campos que son necesarios ser llenadas en
su totalidad, ya que esta información es primordial la institución, este formulario esta
valido al igual que los registros de usuario lo cual indica que la información que usted
ingrese debe ser concreta y lógica a lo que se solicita.
230
UNIVERSIDAD TECNICA DE MACHALA
Una de las restricciones se da aquí en Ver Matriculas por Internet ya que solo el
administrador tiene acceso a esta información.
231
UNIVERSIDAD TECNICA DE MACHALA
232