Anda di halaman 1dari 146

UNIVERSIDAD CATLICA DE TEMUCO

Sistemadeadministracindeproyectosmunicipales onlineparala comunadeTemuco


Ziga Ziga, Christian Octavio

2006

UNIVERSIDAD CATOLICA DE TEMUCO FACULTAD DE INGENIERIA

SISTEMA DE ADMINISTRACION DE PROYECTOS MUNICIPALES ONLINE PARA LA COMUNA DE TEMUCO

Por

CHRISTIAN OCTAVIO ZUIGA ZUIGA

Trabajo de Ttulo presentado a la Facultad de Ingeniera de la Universidad Catlica de Temuco, para optar al Titulo de Ingeniero de Ejecucin en Informtica.

- Temuco 2006 -

UNIVERSIDAD CATOLICA DE TEMUCO FACULTAD DE INGENIERIA COMISIN EXAMEN DE TITULO

Este Examen de Ttulo ha sido realizado en la Escuela de Ingeniera Informtica.

Presidente Comisin

............................................................................... Sr. Oriel Herrera Gamboa Ingeniero Civil Industrial M / Informtica Doctor (c) En Ciencias de la Computacin

Profesor Gua

............................................................................... Sr. Oriel Herrera Gamboa Ingeniero Civil Industrial M / Informtica Doctor (c) En Ciencias de la Computacin

Profesor Informante

............................................................................... Sr. Luis Alberto Caro Saldivia Ingeniero Civil en Informtica

Secretario Acadmico Escuela de Informtica

............................................................................... Sr. Luis Alberto Caro Saldivia Ingeniero Civil en Informtica

Temuco, Abril de 2006

UNIVERSIDAD CATOLICA DE TEMUCO FACULTAD DE INGENIERIA

INFORME DE TRABAJO DE TITULO

TITULO:

"SISTEMA DE ADMINISTRACIN DE PROYECTOS MUNICIPALES PARA LA COMUNA DE TEMUCO". Cristian Octavio Ziga Ziga

ALUMNO:

En mi calidad de profesor gua, mis apreciaciones del informe son las siguientes:

El informe cubre todos los aspectos llevados a cabo en el trabajo de ttulo. El tratamiento a cada uno de ellos sigue un orden lgico y explicativo de manera que da cuenta de forma clara y precisa del trabajo desarrollado. Se evidencia un claro manejo de aspectos tcnicos en el tema. Adems, incluye una redaccin tcnica, fcil de leer, que facilita el seguimiento del informe. Se utiliz en la implementacin tecnologa que el alumno debi aprender por cuenta propia, logran un ptimo uso de sta, lo que agrega valor al trabajo en s.

Por lo anterior, califico el presente informe con nota 7,0 (siete coma cero).

____________________________ ORIEL HERRERA GAMBOA Profesor Gua

Temuco, abril 12 de 2006.

UNIVERSIDAD CATOLICA DE TEMUCO FACULTAD DE INGENIERIA

INFORME TRABAJO DE TTULO

TTULO

: Sistema de Administracion de proyectos municipales OnLine para la comuna de Temuco

ALUMNO

: Christian Octavio Zuiga Zuiga

En mi condicin de profesor informante de este trabajo de titulo puedo efectuar las siguientes observaciones:

El trabajo esta ordenado y bien estructurado y se han usado herramientas metodolgicas adecuadas. Se aprecia un buen nivel de dedicacin y buen dominio sobre el tema. La utilidad del sistema desarrollado lo hace muy atractivo para la administracin de proyectos municipales.

De acuerdo a estas consideraciones califico este trabajo con nota 7.0 (Siete coma cero).

________________________________ Luis Alberto Caro Saldivia Profesor Informante

Temuco, 07 de Abril del 2006

A mis Padres

AGRADECIMIENTOS

Agradezco especialmente a mis padres Patricia y Enrique, por sus aos de sacrificio entregando apoyo, preocupacin, paciencia y amor a travs de mis aos de vida.

Agradezco sinceramente al profesor Sr. Alberto Caro, por su gran preocupacin y amistad, en un momento muy complicado como alumno.

Agradezco al profesor Sr. Oriel Herrera, por su buena voluntad y disponibilidad a la hora de llevar a cabo este proyecto.

Agradezco a todos aquellos docentes que contribuyeron en mi formacin profesional.

Agradezco a todas esas personas que estuvieron preocupadas por mi, ya sea con una palabra, un gesto o un consejo.

INDICE GENERAL

INDICE GENERAL....................................................................................................... i INDICE DE CONTENIDOS........................................................................................ ii INDICE DE FIGURAS............................................................................................... viii RESUMEN.................................................................................................................... xi

ii

INDICE DE CONTENIDOS

CAPITULO I: INTRODUCCION

1. Los sistemas online y las Tecnologas de informacin y comunicacin (TIC) relacionadas al problema.
1.1 Sistemas online .....................................................................2 1.1.1 Caractersticas de los sistemas online...2 1.1.2 Sistemas online en la actualidad...3 1.2 Tecnologas de la informacin y comunicacin (TIC).........................................3 1.3 Descripcin del problema......................................................................................5 1.4 Objetivos del Proyecto..........................................................................................6 1.4.1 1.4.2

Objetivos generales....................................................................................6 Objetivos especficos................................................................................7

1.5 Solucin propuesta basada en las TIC...................................................................7 1.6 Organizacin del resto del documento...7

iii

CAPITULO II: ANALISIS 2 Anlisis.........................................................................................................................10 2.1 Resumen de requerimientos..10 2.2 Requerimientos del sistema...12 2.2.1 Requerimientos funcionales del sistema..12 2.2.2 Requerimientos operacionales..13 2.2.3 Requerimientos de Hardware y software.15 2.3 Tecnologas y herramientas para dar solucin al problema..15 2.31 Detalle de los servicios implementados en la Municipalidad...16 2.4 Descripcin de las herramientas tecnolgicas y Arquitecturas Web para el Desarrollo del sistema .17 2.4.1 Arquitecturas Web.......17 2.4.1.1 Arquitectura bsica de una aplicacin Web..19 2.4.1.2 Paginas Web..20 2.4.1.3 Scripts en el cliente...20 2.4.1.4 Formularios....21 2.4.1.5 Servidor Web.21 2.4.1.6 Arquitectura Cliente/Servidor...21 2.4.1.6.1 Ventajas de la arquitectura cliente/servidor...23 2.4.1.7 Arquitectura de tres niveles.......23 2.4.1.7.1 Capas o niveles.....24 2.5 Active Server pages (ASP)26 2.5.1 Trabajo con Bases de datos...27 2.5.2 Conexin a Base de Datos28

iv

2.6 Instalacin del servidor Web Internet Information Server.....30 2.6.1 Instalacin agregando componentes adicionales de Windows..30 2.6.2 Acceder al servidor Web33 2.6.3 Establecer sitio Web predeterminado.34 2.6.4 Situar paginas en IIS.......34 2.6.5 Administracin de IIS.37 2.6.5.1 Definir el documento por defecto en IIS.38 2.6.5.2 Directorios Virtuales en IIS.41 2.6.5.3 Permisos del Sitio Web predeterminado.........43 2.7 SQL Server 2000 Microsoft...46 2.7.1 Ventajas y desventajas de SQL Server...46 2.7.2 Caractersticas de SQL Server 2000..47 2.7.3 Requerimientos del sistema51

CAPITULO 3: DISEO 3 Diseo del sistema... 54 3.1 Modelo de Entidad Relacin...55 3.1.1 Descripcin del Modelo Conceptual. 55 3.1.2 Detalle de la Base de datos 57 3.2 Diagramas de procesos66 3.2.1 Diagramas de flujo del sistema de administracin.66 3.2.1.1 Diagrama de flujo autentificacin del administrador.66 3.2.1.2 Diagrama de flujo insercin, modificacin y eliminacin de proyectos...67 3.2.2 Diagramas de flujo para el usuario invitado...68 3.2.2.1 Realizar bsquedas de acuerdo a filtros personalizados69 3.3 Diseo de Interfaces...71 3.3.1 Diseo de interfaz inicio de sesin72 3.3.2 Diseo de interfaz bsqueda por filtros 73 3.3.3 Diseo de interfaz bsqueda por mapa..74

vi

CAPITULO 4: IMPLEMENTACION 4 Implementacin del Sistema.......................................................................................76 4.1 Introduccin.76 4.2 Descripcin de los cdigos fuente que intervienen en el sistema...76 4.2.1 Construccin de mapa utilizando ASP ms javascript76 4.2.2 Selects dependientes con acceso a base de datos82 4.2.3 Inicio de sesin87 4.2.4 Insercin de casillas de texto en una pgina usando javascript...90 4.2.5 Pgina Padre, actualizada por pgina hija ....94

vii

CAPITULO 5: RESULTADOS OBTENIDOS 5 Resultados..101 5.1 Sugerencias.102

CAPITULO 6: CONCLUSION 6 Conclusin..................................................................................................................106

BIBLIOGRAFIA..........................................................................................................108

ANEXOS Anexo 1: Conceptos bsicos de la programacin en ASP110 Anexo 2: Cdigos ASP para utilizar con Bases de Datos SQL Server y Microsoft Access...........123

viii

INDICE DE FIGURAS

Figura 1: Arquitectura Web sencilla19 Figura 2: Sitio dinmico...19 Figura 3: Instalacin IIS desde el CD...31 Figura 4: Instalacin IIS desde el panel de control......31 Figura 5: Seleccionar servicios de Internet Information Server...32 Figura 6: Pagina de instalacin de IIS satisfactoria..33 Figura 7: Sitio Web predeterminado, paso1.39 Figura 8: Sitio Web predeterminado, paso240 Figura 9: Crear directorio virtual42 Figura 10: Crear directorio virtual, establecer permisos.43 Figura 11: Uso compartido de Web.44 Figura 12: Permisos idneos para usuarios administradores45 Figura 13: Modelo conceptual del sistema...56 Figura 14: Tipo de datos de la tabla proyectos.....58 Figura 15: Tipo de datos de la tabla etapas..58 Figura 16: Vista de la tabla etapas...59 Figura 17: Tipo de datos de la tabla sectores...59 Figura 18: Vista de la tabla sectores.60 Figura 19: Tipo de datos de la tabla subsectores......60 Figura 20: Vista de la tabla subsectores...61 Figura 21: Tipo de datos de la tabla rate..61 Figura 22: Vista de la tabla rate...61

ix

Figura 23: Tipo de datos de la tabla organizaciones...62 Figura 24: Vista de la tabla organizaciones....62 Figura 25: Tipo de datos de la tabla juntas.68 Figura 26: Vista de la tabla juntas...63 Figura 27: Tipo de datos de la tabla solicitante...63 Figura 28: Tipo de datos de la tabla finan_proyecto...64 Figura 29: Vista de la tabla fondoempresa...64 Figura 30: Vista de la tabla fuente...65 Figura 31: Tipo de datos de la tabla respuestas...65 Figura 32: Diagrama de flujo proceso de autentificacin67 Figura 33: Diagrama de flujo Insercin y bsqueda de elementos..68 Figura 34: Diagrama de flujo bsqueda de proyectos por filtro..70 Figura 35: Diseo de Interfaz de, inicio de sesin ..72 Figura 36: Diseo de Interfaz de, Bsqueda personalizada.73 Figura 37: Diseo de Interfaz de, Bsqueda por mapa74 Figura 38: Despliegue de mapa de la ciudad de Temuco.....77 Figura 39: Despliegue de men obtenido de una consulta...80 Figura 40: Salida en pantalla de la pgina mostrar proyectos..81 Figura 41: Relacin entre tabla sector y tabla subsector......83 Figura 42: Vista de diseo de la tabla subsector mostrando su campo auto numrico id _ sector...83 Figura 43: Pagina que genera el primer select.85 Figura 44: Despliegue del select dinmico, aludiendo a la tabla subsector.86 Figura 45: Inicio de sesion1.87

Figura 46: Resultado satisfactorio del inicio de sesin....88 Figura 47: Formulario de insercin de casillas de texto parte1....91 Figura 48: Formulario de insercin de casillas de texto parte293 Figura 49: Pantalla que muestra la aparicin de una pagina hija.....95 Figura 50: Bsqueda por cadena de texto.....95 Figura 51: Resultado de la consulta por frase..97 Figura 52: Campo de texto que recibe un valor desde una ventana hija.98

xi

RESUMEN Las Tecnologas de la Informacin y las Comunicacin (TIC) son

incuestionables y estn ah, forman parte de la cultura tecnolgica que nos rodea y con la que debemos convivir. Amplan nuestras capacidades fsicas y mentales, y las posibilidades de desarrollo social. Cambiantes, siguiendo el ritmo de los continuos avances cientficos y en un marco de globalizacin econmica y cultural, contribuyen a la rpida obsolescencia de los conocimientos y a la emergencia de nuevos valores, provocando continuas transformaciones en nuestras estructuras econmicas, sociales y culturales, e incidiendo en casi todos los aspectos de nuestra vida: el acceso al mercado de trabajo, la salud, la gestin burocrtica, la gestin econmica, el diseo industrial y artstico, el ocio, la comunicacin, la informacin, la manera de percibir la realidad y de pensar, la organizacin de las empresas e instituciones, sus mtodos y actividades, la forma de comunicacin interpersonal, la calidad de vida, la educacin, etc. Su gran impacto en todos los mbitos de nuestra vida hace cada vez ms difcil que podamos actuar eficientemente prescindiendo de ellas. Es por lo antes mencionado, que el departamento de Gestin y Evaluacin de proyectos del Municipio de Temuco, el cual est encargado de los proyectos municipales, con sectores de desarrollo como lo son transporte, vivienda, deportes y otros, opt por desarrollar un sistema utilizando las TIC el cual carecer de burocracia y mejorar notablemente los tiempos de respuestas a la informacin por parte de los usuarios.

xii

El problema principal es el actual sistema de almacenamiento de datos del departamento de gestin y evaluacin de proyectos de la municipalidad de Temuco en que los datos se presentan totalmente desorganizados sin ninguna base de datos que contenga toda la informacin relevante de los proyectos. Esto trae como consecuencia informacin descentralizada de los proyectos entre los distintos departamentos de la municipalidad, lo que conlleva largos tiempos de respuesta a la hora de conocer la situacin de un proyecto, por lo tanto, se ha planteado el objetivo general de desarrollar un sistema online con una arquitectura de tres niveles (servidor Web, servidor de base de datos y browser) con el cual se consolide un banco de proyectos municipales en el cual se pueda administrar los proyectos como tambin visualizar el estado de stos por parte de los ciudadanos. En cuanto a las herramientas, se ha optado por una aplicacin Web conforme a los recursos que cuenta la municipalidad de Temuco los cuales son: servidor Web Internet Information Server que da soporte a la programacin en lenguaje Web ASP (Active Server Pages) y motor de bases de datos SQL Server. Los resultados del proyecto consistieron en implementar una aplicacin que cumpliera a cabalidad con todos los requerimientos de un sistema online. El abrir nuevos canales de comunicacin entre municipio y responsables de juntas de vecinos y organismos funcionales, dar pie al desarrollo de nuevas aplicaciones o extensiones al actual sistema implementado lo que involucrara mayor interactividad entre ellos.

CAPITULO 1 INTRODUCCION

1. Los sistemas online y las Tecnologas de Informacin y Comunicacin (TIC) relacionadas al problema.

A modo de introduccin se dar a conocer el problema que presenta el Departamento de Gestin y Evaluacin de proyectos de la Municipalidad de Temuco. Tambin se dar a conocer la importancia de por qu se requiere darle una pronta solucin y cmo se le dar sta. Luego introduciremos algunos conceptos que son clave para entender el resto del documento, y finalmente se mostrar la forma en que se organizar el resto de este.

1.1 Sistema ONLINE

Los sistemas online son aquellos en que varios usuarios pueden compartir una aplicacin y trabajar en red. El software y la base de datos se encuentran en un servidor alojado en Internet, por lo tanto no es necesario instalarlo en ningn computador cliente. Otro punto importante es que la actualizacin de los datos se efecta en forma inmediata, se estara hablando de un sistema de tiempo real.

1.1.2 Caractersticas de los Sistemas ONLINE

Una de las principales caractersticas es la actualizacin de la informacin en forma automtica, pudiendo esta ser modificada remotamente en cualquier instante y en cualquier lugar, obtenindose resultados de forma inmediata. En

otras palabras ubicndola en el contexto del problema, los administradores del sistema Banco Integrado de proyectos municipales podran revisar y manipular los datos de los proyectos desde su hogar, como cualquier lugar del mundo, sin necesidad de estar en su lugar de trabajo obteniendo resultados totalmente actualizados. Otro punto importante es el intercambio de informacin e interaccin a distancia por dos o ms entidades en tiempo real.

1.1.3 Sistemas Online en la actualidad

Los sistemas online son un producto de la popularizacin de los medios de comunicacin en Internet, que trajo el uso de correos electrnicos, entre otros, como un medio fcil, rpido y de poco costo. Otras herramientas, como el Chat y el Messenger han permitido la comunicacin fcil y de poco costo a travs del mundo. Estos sistemas se hacen cada vez ms recurrentes por empresas e instituciones ya que los recursos software, hardware y comunicaciones son cada vez menos costosos.

1.2

Tecnologas de la Informacin y Comunicacin (TIC).

Las TIC son herramientas tecnolgicas que avanzan con un ritmo vertiginoso de la mano de los avances cientficos y globalizacin. Estas TIC estn

compuestas por computadoras, perifricos, redes, telecomunicaciones, imagen y sonido.

Los principales aportes de las TIC son los siguientes: Fcil acceso a una inmensa fuente de informacin. Procesos rpidos y fiables de todo tipos de datos. Canales de comunicacin inmediata. Almacenamiento de grandes cantidades de informacin. Automatizacin de tareas. Interactividad. Digitalizacin de informacin. Instrumento cognitivo.

De todos los elementos que integran las TIC, sin duda el ms poderoso y revolucionario es Internet, que nos abre las puertas de una nueva era, la Era Internet, en la que se ubica la actual Sociedad de la Informacin. Internet nos proporciona un tercer mundo en el que podemos hacer casi todo lo que hacemos en el mundo real y adems nos permite desarrollar nuevas actividades, muchas de ellas enriquecedoras para nuestra personalidad y forma de vida (contactar con foros a distancia y personas de todo el mundo, localizacin inmediata de cualquier tipo de informacin, etc.).

1.3

Descripcin del problema

Descripcin del problema Los proyectos de cualquier ndole, ya sean econmicos con fines de lucro o sociales sin fines de lucro surgen a travs de un problema o necesidad. El sistema que se plantea en el informe, presentados por juntas vecinales trabaja con proyectos sociales

y organizaciones funcionales los cuales

solicitan financiamiento al municipio. Un ejemplo de esto es la peticin por parte de una junta vecinal la construccin de una multicancha para que nios y adultos tengan un lugar de recreacin en sus momentos de ocio. La problemtica que se pretende solucionar en el Municipio de Temuco, consiste principalmente en que actualmente no se cuenta con una Bases de Datos estructurada, ni automatizada, que contenga los proyectos existentes dentro de la ciudad. Adems, los datos de las organizaciones y juntas de vecinos se manejan con sistemas obsoletos de almacenamiento como ficheros y planillas de clculo con datos sin formatear, lo cual genera largos tiempos de respuestas al pedir informacin sobre un proyecto. Tambin la informacin se encuentra descentralizada entre los distintos departamentos de la

municipalidad, en donde, un proceso de bsqueda de informacin siendo una burocracia.

termina

Por tal motivo, se requiere, encontrar la mejor herramienta que permita crear un Sistema Online de administracin, mediante el cual se pueda almacenar de una manera organizada y automatizada todos los proyectos, conocer las

fuentes de financiamiento para la realizacin de estos y visualizacin de los proyectos por medio de bsquedas avanzadas.

Presentado estos antecedentes, es necesario otorgarle una solucin al problema antes descrito, para as, aportar de una forma tecnolgica al departamento de gestin y evaluacin de proyectos de la Municipalidad de Temuco.

1.4

Objetivos del proyecto

1.4.1 Objetivos generales

Desarrollar una aplicacin que consolide un Banco Integrado de Proyectos (BIP), para la Municipalidad de Temuco. Desarrollar un sistema que sea de fcil uso, comprensible, intuitivo y atrayente, para que as, el usuario se sienta a gusto y pueda utilizarlo sin problemas. Manejar en una base de datos la informacin, permitiendo al usuario realizar cambios, modificaciones, actualizaciones, etc.

1.4.2 Objetivos Especficos Investigar las tecnologas requeridas para implementar el proyecto (lenguaje ASP, JavaScript, Sql Server,etc). Implementar la plataforma Web para el desarrollo de la aplicacin. Disear la aplicacin de acuerdo a la mejor alternativa de producto. Implementar la aplicacin y asegurar el correcto funcionamiento de ella. Responder satisfactoriamente con la propuesta del BIP y as obtener como resultado final un sistema terminado en perfecto funcionamiento.

1.5 Solucin propuesta basada en las TIC La solucin propuesta para el desarrollo de la aplicacin consiste en implementar un sistema online con una arquitectura de tres niveles (servidor Web, Servidor de bases de datos y browser) en la cual los usuarios puedan revisar sus proyectos y los usuarios administrativos le puedan brindar a los usuarios comunes informacin actualizada de los datos en tiempo real. Para esto es necesario trabajar con los sistemas online en tiempo real y las tecnologas de informacin TIC.

1.6

Organizacin del resto del documento

A continuacin se dar a conocer la organizacin del resto del documento, donde se presentaran las principales etapas del desarrollo del sistema en cuestin.

En el captulo 2 se presenta la etapa de anlisis partiendo de una pequea investigacin para obtener antecedentes para el desarrollo de la aplicacin, Tambin se describen los requerimientos del sistema y el uso de las herramientas y tecnologas a usar en el sistema.

En el captulo 3 se ilustra la fase de diseo del sistema. En esta etapa se construye todo un modelado del sistema como lo son modelos de datos,

diagramas de flujo y diseo de interfaces. Con estos se pretende mostrar una instancia preliminar de los datos antes de su resultado final.

En el captulo 4 se describe la etapa de implementacin, en donde se seala la creacin de la Plataforma Web, comunicacin con la Base de datos y los cdigos ms relevantes que intervienen en el desarrollo del sistema.

En el captulo 5 se describen los resultados obtenidos. Se sealan los impactos esperados y se presentan algunas sugerencias para el sistema.

En el captulo 6 se dan a conocer las conclusiones obtenidas a travs del sistema presentado en este documento.

CAPITULO 2 ANALISIS

10

2 Anlisis

En este captulo se explicara todos los requerimientos del sistema para que se obtenga un producto en perfecto funcionamiento, tambin se realizara un anlisis de todas las herramientas que intervienen en el sistema.

2.1 Resumen de requerimientos

Para determinar en forma clara y precisa todas las necesidades detectadas en el capitulo 1, se realiz un resumen requerimientos el cual debe considerar los siguientes puntos:

Contar con una base de datos robusta que contenga toda la informacin pertinente a proyectos municipales, organismos funcionales, sectorialidad y otros.

Contar con una informacin fidedigna y actualizada de las tablas pertenecientes al sistema.

Otorgar un acceso restringido al administrador o administradores para que con esto se obtenga seguridad y confidencialidad a la hora de procesar la informacin.

Permitir al administrador realizar un mantenimiento del sistema mediante los mdulos ingresar, modificar y borrar datos, para as conservar la informacin actualizada.

11

Manejar bsquedas personalizadas de proyectos con las cuales se obtiene simplicidad operacional, como tambin un resultado mas acotado de la informacin.

Manejar una bsqueda de proyectos para las juntas vecinales de la ciudad mediante un mapa de la ciudad que sea amigable y de fcil uso para el usuario.

Permitir al administrador cambiar su contrasea para otorgarle mayor seguridad a la hora de manipular datos.

A travs de mens, el usuario tendr diversas opciones para acceder y manipular la informacin.

Debe otorgar a los usuarios una ficha imprimible con todos los antecedentes de un proyecto de forma detallada y de fcil comprensin.

Es necesario que el sistema permita conectividad independiente del lugar desde el cual se est conectado.

Como sistema multiusuario debe ser capaz de soportar varios usuarios conectados al mismo tiempo

En cuanto a las tecnologas de informacin se debe trabajar con las herramientas que cuenta la Municipalidad de Temuco.

12

2.2 .1 Requerimientos Funcionales del Sistema

Dado el resumen de requerimientos anteriormente descrito, los requerimientos funcionales del sistema son los siguientes:

Al administrador deber permitir:

Autentificacin del administrador. Listar men de administracin. Gestin, mantenimiento de la base de datos. Ingreso de proyectos municipales. Modificacin de proyectos municipales. Eliminacin de proyectos. Ingresar juntas vecinales. Ingresar Organismos funcionales.

A los usuarios deber permitir:

Ingresar sin autentificarse. Desplegarle un men para realizar bsquedas de proyectos. Buscar sus proyectos presentados a la municipalidad. Buscar sus proyectos pertinentes a su sector. Obtener una ficha detallada de los proyectos municipales.

13

Para el funcionamiento del sistema se requiere de dos mdulos, uno de mantencin de informacin por parte del administrador y otro para los usuarios comunes del sistema el cual le permita realizar bsquedas de proyectos.

2.2.2 Requerimientos Operacionales

A la hora de hablar de los requerimientos de operacin en el anlisis de un sistema, estamos hablando de lo que espera o necesita el usuario en trminos de presentacin y funcionalidad de ste. Los requerimientos esenciales a la hora del desarrollo de una buena aplicacin en un entorno Web son:

Conectividad

Es necesario que la aplicacin a realizar permita a los usuarios estar siempre conectados, independiente del lugar de donde estn. Para obtener este tipo de conectividad es necesario trabajar el sistema bajo la plataforma Internet, que diariamente es accedida por millones de personas de todo el mundo.

14

Facilidad en la navegacin

Las pginas Web deben permitir a los usuarios un desplazamiento fluido por el sitio, para ello deben contar con un men de navegacin o una estructura bien elaborada para que el usuario no se pierda.

Rapidez al cargar las pginas Web

Para una carga rpida de una pgina Web, ellas deben evitar el uso excesivo de grficas. Si se usan stas se debe reducir al mximo su tamao.

Compatibilidad con los Navegadores

Toda pgina Web tiene que poder ser visualizada con las ms recientes versiones de Netscape, Internet Explorer, Opera y Firefox.

Compatible de Resoluciones

Las

pginas

deben

ser

visualizadas

correctamente

en

diferentes

resoluciones (800x600, 640x480, 1024x768, color 16 bits, 24 bits, etc).

15

Interfaz amigable

Una interfaz debe ser de fcil comprensin y con alta capacidad intuitiva hacia los usuarios, no todos los usuarios que acceden a un sitio o a un sistema Web, son usuarios avanzados.

Reutilizable para futuras versiones

Los sistemas deben ser

capaces de ser reutilizados para posteriores

versiones. Por tal motivo un estilo de programacin ordenado y con una buena notacin es de fcil comprensin para futuros desarrolladores de una nueva versin del sistema.

2.2.3 Requerimientos de Hardware y Software

El sistema debe ser perfectamente implementado sobre las actuales instalaciones de Municipalidad de Temuco, con esto nos referimos a Redes, Servidores, Sistemas Operativos, Lenguajes de Programacin, Servidores de Bases de Datos, etc.

2.3 Tecnologas y Herramientas para dar solucin al problema

De acuerdo al estudio realizado en la etapa de anlisis de requerimientos, se ha llegado a la conclusin de que la Municipalidad de Temuco cuenta con todos los

16

medios tecnolgicos necesarios como para llevar a cabo este proyecto, y as, dar solucin al problema planteado en el captulo 1.

2.3.1 Detalle de los servicios tecnolgicos implementados en la Municipalidad de Temuco.

A continuacin se muestran todos los servicios que actualmente operan en la Municipalidad de Temuco:

Lenguaje de programacin Web: ASP.

Motor de Bases de datos: SQL Server 2000.

Servidor Web:Internet Information Server

Internet/Intranet

Hardware de red

Clientes ftp.

Cliente para acceder y gestionar la base de datos (FrontEnd).

17

2.4 Descripcin de las herramientas tecnolgicas y arquitecturas Web para el desarrollo del sistema

Para lograr un mayor entendimiento sobre las tecnologas y arquitecturas utilizadas en la aplicacin. Se dar a conocer toda la informacin necesaria de cada herramienta. Mostrando desde los aspectos bsicos hasta lo que involucra configuracin e instalacin

2.4.1 Arquitectura WEB

Hasta el da de hoy, lo ms importante en el desarrollo de aplicaciones Web han sido las herramientas. Poco se ha dicho sobre el proceso de desarrollo.

La fcil creacin de hojas HTML y en general de sitios Web, usando herramientas simples, ha hecho que el desarrollo de este tipo de aplicaciones se haga sin un trabajo serio de anlisis y diseo.

Cualquier sistema de complejidad no trivial, necesita ser analizado y modelado. Las aplicaciones Web, al igual que otras aplicaciones, necesitan mtodos formales de anlisis y diseo.

Cul es la diferencia entre un sitio Web y una aplicacin Web?

18

Una aplicacin Web es un sitio Web donde la navegacin a travs del sitio, y la entrada de datos por parte de un usuario, afectan el estado de la lgica del negocio. En esencia, una aplicacin Web usa un sitio Web como entrada (frontend) a una aplicacin tpica.

Es Google (o cualquier Motor de Bsquela) un sitio Web o una aplicacin Web? Qu pasa con un sitio Web como el de Microsoft donde hay que registrase antes de bajar algn software?

La arquitectura de un sitio Web tiene tres componentes principales: Un servidor Web, una conexin de red, y uno o ms clientes (browsers).

El servidor Web distribuye pginas de informacin formateada a los clientes que las solicitan. Los requerimientos son hechos a travs de una conexin de red, y para ello se usa el protocolo HTTP.

La siguiente figura muestra como interacta, una arquitectura WEB.

19

Figura 1: Arquitectura Web sencilla.

2.4.1.1 Arquitectura bsica de una aplicacin/sitio Web

La informacin mostrada en las pginas est tpicamente almacenada en archivos. Sin embargo, muchas veces esta informacin est almacenada en una base de datos, y las pginas son creadas dinmicamente. Los sitios Web que usan este esquema, son llamados sitios dinmicos.

En la siguiente figura se ilustra, un sitio dinmico.

Figura 2: Sitio dinmico.

20

2.4.1.2 Pginas Web

Las pginas Web son el componente principal de una aplicacin o sitio Web. Los browsers piden pginas (almacenadas o creadas dinmicamente) con informacin a los servidores Web.

En algunos ambientes de desarrollo de aplicaciones Web, las pginas contienen cdigo HTML y scripts dinmicos, que son ejecutados por el servidor antes de entregar la pgina.

Una vez que se entrega una pgina, la conexin entre el browser y el servidor Web se rompe (a diferencia de otros esquemas tipo cliente/servidor). Es decir que la lgica del negocio en el servidor solamente se activa por la ejecucin de los scripts de las pginas solicitadas por el browser (en el servidor, no en el cliente).

2.4.1.3 Scripts en el cliente

Cuando el browser ejecuta un script en el cliente, ste no tiene acceso directo a los recursos del servidor.

Hay otros componentes que no son scripts, como los applets o los componentes ActiveX. Los scripts del cliente son por lo general cdigo JavaScript o VBSscript, mezclados con cdigo HTML.

21

2.4.1.4 Formularios

La forma ms comn de capturar la informacin dada por el usuario, es a travs de formularios. Un formulario (form) es una coleccin de campos de entrada: textbox, text area, checkbox, radio button group, button y selection list. Cuando un formulario es llenado con los elementos antes mencionados, se enva al servidor usando una operacin submit solicitada por el usuario tpicamente al hacer click en un botn.

2.4.1.5 Servidor Web

En muchas aplicaciones Web hay una capa intermedia, compuesta por un conjunto de componentes, que se ejecutan no necesariamente en el servidor Web, sino en otros servidores de aplicaciones. Esta capa encapsula la lgica del negocio, y, al ser componentes compilados puede contener objetos, con sus mtodos y atributos (llamados business objects).

2.4.1.6 La arquitectura cliente-servidor La arquitectura cliente-servidor denominada modelo cliente-servidor o servidorcliente es una forma de dividir y especializar programas y equipos de computo a fin de que la tarea que cada uno de ellos realiza se efecte con la mayor eficiencia, y permita simplificar las actualizaciones y mantenimiento del sistema.

22

En esta arquitectura la capacidad de proceso est repartida entre el servidor y los clientes. En la funcionalidad de un programa distribuido se pueden distinguir 3 capas o niveles: 1. Manejador de Base de Datos (Nivel de almacenamiento), 2. Procesador de aplicaciones o reglas del negocio (Nivel lgico). 3. Interfase del usuario (Nivel de presentacin) En una arquitectura monoltica no hay distribucin; los tres niveles tienen lugar en el mismo equipo. En un comienzo, los mainframes Bases concentraban de datos) y la funcionalidad de

almacenamiento (Motor de

lgica

(Lenguaje de

programacin) y a ellos se conectaban terminales tontos, posiblemente ubicados en sitios remotos. En el modelo cliente-servidor, en cambio, el trabajo se reparte entre dos computadores. De acuerdo con la distribucin de la lgica de la aplicacin hay dos posibilidades: 1. Cliente delgado: si el cliente solo se hace cargo de la presentacin. 2. Cliente pesado: si el cliente asume tambin la lgica del negocio.

23

En la actualidad se suele hablar de arquitectura de tres niveles, donde la capa de almacenamiento y la de negocio se ubican en (al menos) dos servidores diferentes, conocidos como servidores de datos y servidores de aplicaciones.

2.4.1.6.1 Ventajas de la arquitectura cliente-servidor

El servidor no necesita tanta potencia de procesamiento, parte del proceso se reparte con los clientes.

Se reduce el trfico de red considerablemente. Idealmente, el cliente se conecta al servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la conexin dejando la red libre.

2.4.1.7 Arquitectura de tres niveles En el diseo de sistemas informticos actual se suele usar las arquitecturas multinivel o Programacin por capas. En dichas arquitecturas a cada nivel se le confia una misin simple, lo que permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten). El diseo ms en boga actualmente es el diseo en tres niveles (o en tres capas).

24

2.4.1.7.1 Capas o Niveles

1.- Capa de presentacin: es la que ve el usuario, presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario dando un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica nicamente con la capa de negocio. 2.- Capa de negocio: es donde residen los programas que se ejecutan, recibiendo las peticiones del usuario y enviando las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) pues es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de l. 3.- Capa de datos: es donde residen los datos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio. Todas estas capas pueden residir en un nico computador (no sera lo normal), si bien lo ms usual es que haya una multitud de computadores donde reside la capa de presentacin (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo computador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o ms

25

computadores. As, si el tamao o complejidad de la base de datos aumenta, se puede separar en varios computadores los cuales recibirn las peticiones del computador en que resida la capa de negocio. Si por el contrario fuese la complejidad en la capa de negocio lo que obligase a la separacin, esta capa de negocio podra residir en uno o ms computadores que realizaran solicitudes a una nica base de datos. En sistemas muy complejos se llega a tener una serie de computadores sobre los cuales corre la capa de datos, y otra serie de computadores sobre los cuales corre la base de datos. En una arquitectura de tres niveles, los trminos Capas o Niveles no significan lo mismo ni son similares. El trmino capa hace referencia a la forma en, como una solucin es segmentada desde el punto de vista lgico: Presentacin/ Lgica de Negocio/ Datos. El termino nivel, corresponde a la forma como las capas lgicas, se encuentran distribuidas de forma fsica. Ej: Una solucin de tres capas (presentacin, lgica, datos) que residen en un solo computador (Presentacin+lgica+datos). Se dice, que la arquitectura de la solucin es de tres capas y un nivel.

26

Una solucion de tres capas (presentacin, logica, datos) que residen en dos computadores (presentacion+logica, logica+datos). Se dice, que la arquitectura de la solucin es de tres capas y dos niveles. Una solucion de tres capas (presentacin, logica, datos) que residen en tres computadores (presentacion, logica, datos). La arquitectura que la define es: solucin de tres capas y tres niveles.

2.5 Active Server Pages (ASP) ASP, es una tecnologa Microsoft, del lado servidor, para pginas web generadas dinmicamente, que ha sido comercializada como un anexo a Internet Information Server (IIS). ASP, ha pasado por cuatro iteraciones mayores, ASP 1.0 (distribuido con IIS 3.0), ASP 2.0 (distribuido con IIS 4.0), ASP 3.0 (distribuido con IIS 5.0) y ASP.NET (parte de la plataforma .NET de Microsoft). Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clsico. En el ltimo ASP clsico, ASP 3.0, hay seis objetos integrados disponibles para el programador, Application, ASPError, Request, Response, Server y Session. Cada objeto corresponde a un grupo de funcionalidades frecuentemente usadas y tiles para crear pginas web dinmicas.

27

Se facilita la programacin de sitios Web mediante varios objetos integrados, como un objeto de sesin basada en Cookies, que mantiene las variables mientras se pasa de pgina a pgina. Al comienzo de 2002, el ASP clsico est siendo reemplazado por ASP.NET, que, entre otras cosas, reemplaza los lenguajes interpretados como VBScript o JScript por lenguajes compilados a cdigo intermedio (llamado MSIL o Microsoft Intermediate Language) como Visual Basic, C#, o cualquier otro lenguaje que soporte la plataforma .NET. El cdigo MSIL se compila con posterioridad a cdigo nativo.

2.5.1 Trabajo con bases de datos en ASP

Una de las principales ventajas que presenta el trabajar con pginas dinmicas es el poder almacenar los contenidos en bases de datos. De esta forma, podemos organizarlos, actualizarlos y buscarlos de una manera mucho ms simple.

ASP ofrece una forma muy eficaz de interaccionar con bases de datos gracias al uso del componente ADO (ActiveX Data Objects) el cual permite acceder a. dichas bases de una forma sencilla. Este ADO no es ms que un conjunto de objetos que, utilizados en conjunto, permiten explotar de una forma muy verstil las bases de datos.

28

Por otra parte, lo scripts ASP deben establecer un dialogo con la base de datos. Este dialogo se lleva a cabo a partir de un idioma universal: el SQL (Structured Query Language) el cual es comn a todas las bases de datos. En la seccin anexos de este informe se mostrara una serie de cdigos, en donde el componente ADO, juega un papel fundamental.

2.5.2 Conexin a Bases de Datos El objetivo aqu no es explicar la forma de explotarlas sino cmo establecer una conexin entre la base de datos, almacenada en cualquier lugar del disco duro u Servidor de aplicaciones mas una pgina Web alojada tambin en cualquier parte y reconocida por el servidor. Para crear este vnculo se de necesitan los conectores ODBC (Open DataBase Connectivity) los cuales establecen el enlace con la base de datos.

La conectividad con la Base de datos se explicara de una forma local, pero que posee la misma secuencia de operaciones que se realizarla en el servidor. El primer paso para crear esta conexin es ir al panel de configuracin y abrir el icono ODBC 32bits. Dentro de l, se deber crear un DSN (Data Source Name) de tipo sistema o usuario. Para ello se selecciona la solapa correspondiente (DSN sistema o DSN usuario) y seleccionamos "Aadir". A continuacin se pedir seleccionar los controladores de la aplicacin que se ha de utilizar para

29

crear la base de datos (el nombre que se emplear en nuestros scripts) y la ruta para encontrarla en el disco duro.

Este DSN permite en realidad definir la base de datos que ser interrogada sin necesidad de pasar por la aplicacin que se haya utilizado para construirla, es decir, con simples llamadas y rdenes desde los archivos ASP se podr obtener los datos que se busquen sin necesidad de ejecutar Access o SqlServer los cuales, evidentemente, no tendrn por qu encontrarse en el servidor donde se trabaj.

30

2.6 Instalacin del Servidor Web

IIS en Windows XP Profesional

Internet Information Server (IIS) es el servidor de pginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en NT, como pueden ser Windows 2000 Profesional o Windows 2000 Server, as como Windows XP, tambin en sus versiones Profesional y Server. Estas normas de instalacin son aplicables, a nivel general, a las que podemos encontrarnos en las distintas versiones de los sistemas operativos comentados antes, si bien se ha ocupado Windows XP profesional para relatar los pasos y tomar las imgenes de las pantallas.

2.6.1 Instalacin agregando componentes adicionales de Windows

IIS se puede encontrar en el propio CD de instalacin de Windows XP Profesional. Hay que acceder a la opcin de "Instalar componentes opcionales de Windows" para poder cargarlo en el sistema. Para ello se tiene dos opciones:

1) Insertar el CD de instalacin de Windows y en la ventana de auto arranque que se muestra, seleccionar la opcin que pone "Instalar componentes opcionales de Windows"

31

Figura 3: Instalacin IIS desde el CD.

2) En el Panel de control, seleccionar la opcin de "Agregar o quitar programas" y en la ventana que sale, pulsar sobre el icono de la izquierda marcado como "Seleccionar o quitar componentes de Windows".

Figura 4: instalacin IIS desde el panel de control.

32

Ahora se muestra la ventana para seleccionar los componentes adicionales de Windows que hay disponibles. En la lista, se marca la opcin "Servicios de Internet Information Server (IIS)". Por defecto se seleccionan unos cuantos componentes, dentro de los que ofrece la instalacin de IIS. Para elegir qu componentes se desea instalar se debe apretar el botn marcado como "Detalles". Entre los componentes posibles se encuentran las extensiones de FrontPage, documentacin, servicios adicionales de IIS, un servidor de FTP (para la transferencia de ficheros con el servidor por FTP), incluso uno de SMTP (para el envo de correos electrnicos).

Si no se sabe qu componentes instalar se debe dejar las opciones como aparecen en un principio, pues para la mayora de los casos sern vlidas. Slo un detalle: puede ser adecuado no instalar las extensiones de FrontPage en caso de que no pensemos que se vayan a utilizar.

Figura 5: Seleccionar servicios de Internet information Server.

33

Una vez instalado los componentes deseados, se debe apretar el botn "Siguiente" para comenzar la instalacin, que se alargar unos minutos.

2.6.2 Acceder al servidor web Para comprobar si el Servidor Web se ha instalado correctamente IIS. Simplemente se debe escribir http://localhost en Internet Explorer y debera aparecer una pgina web informando que IIS est correctamente instalado. Adems, aparecer la documentacin de IIS en una ventana emergente, si es que fue instalada.

Fig. 6: Pagina que muestra una instalacin satisfactoria.

34

2.6.3 Sitio Web predeterminado en IIS Lo que se muestra cuando se accede a http://localhost es el sitio Web predeterminado, que se guarda en el disco duro, concretamente en la carpeta C:\Inetpub\wwwroot

Si se accede a dicha carpeta desde Mi PC se podr ver los archivos que se estn utilizando como el sitio web predeterminado. Se encontrara, entre otros un archivo llamado "iisstart.asp" que es el que se pone en marcha al acceder a este directorio.

2.6.4 Situar paginas en IIS Lo lgico ahora es que se desee colocar pginas propias, para que las utilice IIS. Si el sitio Web es bastante simple se podr colocar todos los archivos dentro de la carpeta del sitio Web predeterminado. Por ejemplo, para hacer una prueba, se pondr un archivo llamado "hola.asp" en la carpeta C:\Inetpub\wwwroot. Para acceder a este archivo desde el explorador deberamos escribir la direccin http://localhost/hola.asp. Para probar si est funcionando o no el motor ASP, podemos utilizar el siguiente cdigo, denominado: hola.asp:

35

<html> <head> <title>Probando ASP</title> </head> <body> <% for i=1 to 7 response.write "<font size=" & i & ">Hola Mundo</font><br>" next %> </body> </html>

Si se tuviera un sitio medianamente complejo, convendra crear una carpeta dentro de wwwroot con el nombre de el sitio y dentro de este colocar todos los archivos. Si el directorio tuviera una ruta como C:\Inetpub\wwwroot\mi_web, se accedera colocando la siguiente direccin en el browser:

http://localhost/mi_web.

Cuando se accede a ese directorio se ocupa el documento por defecto que se haya configurado en el servidor Web.

36

Si no se ha especificado ninguno en la ruta de acceso, es decir, si no indicamos ningn archivo en la direccin que colocamos en Internet Explorer (una direccin como http://localhost/mi_web, que especifica un directorio, pero no un archivo) se muestra el documento por defecto. En principio, el documento por defecto en IIS est configurado a Default.asp o Default.htm. Esto quiere decir que se debera colocar un archivo con uno de esos nombres en nuestro directorio para que se sea nuestra pagina de inicio. Luego veremos cmo cambiar esta configuracin.

Para probar todo esto, se creara un archivo llamado Default.asp y se guardar en el directorio C:\Inetpub\wwwroot\mi_web. El cdigo que se utilizara sera por ejemplo este:
<html> <head> <title>Archivo por defecto en mi_web</title> </head> <body> <h1>Archivo por defecto en mi_web</h1> <% for i=0 to 9 response.write i next %>

37 </body> </html>

Recordar que para ver este archivo habra que componer una direccin como esta http://localhost/mi_web. Automticamente se muestra el archivo

Default.asp, aunque no se especifique nada, pues ese es el documento por defecto. Tambin se podria acceder al archivo especificando su ruta completa: http://localhost/mi_web/Default.asp 2.6.5 Administracin de IIS Para administrar el servidor Internet Information Server en Windows XP o Windows 2000, se dispone de un panel de control llamado "Servicios de Internet Information Server" al que podemos acceder de varias maneras.

1) Pulsando con el botn derecho en MI PC y seleccionando la opcin que pone "Administrar". Esto abre "Microsoft Management Console" o, dicho en castellano, la "Administracin de equipos". En la lista de la izquierda, en la parte de abajo aparece "Servicios y aplicaciones", entre los que encontraremos una opcin buscada: "Servicios de Internet Information Server" 2) Se puede acceder desde el panel de control. Si se tiene configurada la vista clsica se entrara un icono que pone "Herramientas administrativas" y

haciendo doble clic, se encontrara el icono para administrar IIS. Si estuviese configurada la vista por categoras del panel de control (la que aparece por defecto en Windows XP) la bsqueda de la opcin es un poco ms compleja:

38

Seleccionamos "Rendimiento y mantenimiento" y dentro ya encontraremos el icono de "Herramientas administrativas", al que tenamos que hacer doble clic para encontrar, entre otros, el icono para acceder a "Servicios de Internet Information Server". 3) Otra manera de acceder aparece en la ayuda de Internet Information Server. Se trata de hacer una bsqueda del archivo llamado "inetmgr.exe". Una vez localizado se puede ejecutar y aparece la consola de administracin de IIS. Si se desea, se puede hacer un acceso directo a dicho archivo para no tener que buscarlo cada vez que se desee ejecutar. Una vez accedido al panel "Servicios de Internet Information Server" se tiene ante nosotros la posibilidad de configurar el servidor web en muchos aspectos, por ejemplo se puede, definir el documento por defecto, crear directorios virtuales, modificar las opciones de seguridad, etc.

2.6.5.1

Definir el documento por defecto en IIS

Se haba hablado sobre el documento por defecto, que en IIS viene definido en un principio en los archivos default.asp, default.htm o index.htm. Estos archivos son muy especficos de Windows, pero no suelen utilizarse en la mayora de los proveedores, as que es mejor se utilizara un documento por defecto idntico al que utilizan la mayora de los proveedores de hosting.

39

Si el documento por defecto no es el mismo que en el directorio local (El servidor IIS) y en remoto (espacio en nuestro albergue en un servidor web conectado permanentemente a Internet), puede que se tenga que realizar

algunas modificaciones en los nombres de los archivos, para que todo funcione perfectamente al subir el sitio Web a Internet, lo que resultara una dificultad adicional e innecesaria, de haber configurado nuestro servidor desde un principio.

Documentos por defecto tpicos son index.html, index.asp (Si es que estamos programando pginas ASP) o index.php (si es que estamos programando con PHP).

Para definir el documento por defecto se debe apretar con el botn derecho en Sitio Web predeterminado y seleccionar la opcin "Propiedades".

Fig. 7: Sitio Web predeterminado paso1.

40

Fig. 8: Sitio Web predeterminado paso 2.

Entonces aparece la ventana de propiedades de este sitio, donde se debe seleccionar la pestaa marcada como "Documentos" para poder definir el documento o los documentos por defecto. Se podr definir uno o varios documentos por defecto, de modo que, si no existe el primer archivo seleccionado como documento por defecto, se intentara con el segundo, el tercero y cuantos haya configurados hasta que se encuentre un archivo que mostrar o se acabe la lista. Por tanto, el orden de los distintos archivos configurados como documento por defecto si importa y se puede modificar utilizando las flechas de la izquierda de la lista de posibles documentos. Si no hay ningn archivo en el directorio cuyo nombre sea alguno de los documentos por defecto, no se mostrara ningn archivo y en su lugar se

41

recibira un error 404 o el listado de ese directorio, depende de cmo est configurado IIS para este caso. 2.6.5.2 Directorios virtuales en IIS

Un directorio virtual es un directorio del servidor que no est dentro del directorio de publicacin habitual, es decir, un directorio que no depende de C:\Inetpub\wwwroot pero que s que se puede acceder a travs del servidor web como si estuviera dentro de dicho directorio. Como ya se haba comentado, para acceder a nuestro IIS se escribe una direccin como esta: http://localhost. As se accede al directorio

C:\Inetpub\wwwroot, que es llamado directorio particular. El directorio virtual se accede con algo como http://localhost/directorio_virtual, pero no tiene porque existir una correspondencia en disco de este directorio dentro de la carpeta de publicacin, es decir, no tiene porque existir el directorio

C:\Inetpub\wwwroot\directorio_virtual, sino que dicho directorio podra estar en cualquier otro sitio del disco duro, por ejemplo C:\mis_paginas.

Los directorios virtuales se pueden mapear hacia otro directorio de los discos duros o incluso a otro directorio situado en otro computador de la red. Crear un directorio virtual Para definir un directorio virtual se puede pulsar con el botn derecho del ratn sobre el sitio web en el que queremos definirlo y seleccionar la opcin "Nuevo >

42

Directorio Virtual...". Entonces aparece un asistente que nos guiar paso a paso en el proceso.

Fig. 9: Crear directorio virtual.

El primer paso del asistente es preguntar el "alias" o nombre lgico que se quiere darle al directorio. El segundo paso pide la localizacin fsica de ese directorio en el disco duro o en la red local. Finalmente solicita los permisos que se deseen asignar a ese directorio. El permiso de lectura y el de ejecucin de secuencias de comandos (Por ejemplo, ASP) suelen ser suficientes para la mayora de los casos.

43

Fig. 10: Crear directorio virtual, Establecer permisos.

Una vez finalizado el asistente queda creado el directorio virtual y se podr acceder a el, a travs del alias que se haya seleccionado.

2.6.5.3 Permisos del Sitio Web predeterminado.

Para un perfecto funcionamiento de nuestras paginas, en el caso de usuarios administrativos es necesario establecer los siguientes permisos:

Permisos de acceso: Habilitar lectura y escritura, con estas opciones se tendr la facultad de realizar todo tipo de operaciones con bases de datos Ej. (Insercin, modificacin, lectura etc.).

44

Permisos de Aplicacin: Habilitar la casilla permisos de ejecucin, sirve para ejecutar secuencias de comandos ASP, adems de correr lenguajes script (Javascript, Vbscript) por el lado del cliente fusionados con lenguaje servidor, en nuestro caso ASP.

En la figura 11 se muestra la ventana para establecer los permisos al sitio Web predeterminado.

Fig. 11: Uso compartido de Web.

Para obtener la figura 11 es necesario pinchar con el botn derecho del Mouse, la ruta del disco duro, en donde se encuentra el sitio Web predeterminado y seleccionar la pestaa uso compartido de Web.

45

A continuacin en la figura 12 se muestra los permisos correspondientes a un usuario Administrativo.

.
Fig. 12: permisos idneos usuario administrador.

46

2.7 SQL SERVER Microsoft

SQL nace de un lenguaje de procesamiento de datos llamado SEQUEL creado por IBM, que fue diseado especficamente para consulta de base de datos.

SQL SERVER

es el producto emblema de motor de base de datos de

Microsoft. Microsoft se ha comprometido a invertir grandes cantidades de dinero en apoyo a la comercializacin del producto y cuenta con que SQL SERVER se convierta en el principal motor de base de datos en la industria de computo para la plataforma WINDOWS XP aunque tambin puede operar en Windows 95 y Windows 98.

Microsoft SQL SERVER 2000 es el ltimo lanzamiento de los productos de base de datos de Microsoft que aprovecha la slida base establecida por SQL Server 6.5 y 7.0.

2.7.1 Ventajas y desventajas de SQL Server

Ventajas del cliente: El conjunto de aplicaciones que posee SQL Server por el lado del cliente, como lo son el administrador corporativo (FrontEnd), administrador de Consultas etc. Poseen un interfaz amigable de fcil uso, con el cual se pueden manejar mltiples plataformas de hardware y manejo de mltiples aplicaciones de software.

47

Ventajas del Servidor: SQL Server como servidor de bases de datos posee las siguientes ventajas: Confiabilidad, Sistema Tolerante a fallas, Hardware de alto desempeo y la integracin con lenguajes Web como lo son ASP y .NET para la exposicin y publicacin de datos en la Internet.

Desventajas del Servidor: No ser un motor Multiplataforma, o sea, corre solamente en Windows y no en otro sistema operativo.

2.7.2 Caractersticas de SQL Server

Las principales caractersticas son las siguientes:

Portabilidad: Las bases de datos pueden desarrollarse fcilmente ya sea en una red de micros y operarse en un equipo mainframe o una mini computadora, sin importar su sistema operativo. Cuenta con soporte de SAN (Red de rea de almacenamiento) , lo que permite una mayor comunicacin entre servidores.

Compatibilidad: Los DBMS (Data Bases Management System) se pueden ejecutar ya sea en computadoras personales, microcomputadoras,

mainframes y computadoras con procesamiento paralelo masivo as como en distintas arquitecturas de hardware y software sin tener la necesidad de cambiar una sola lnea de cdigo.

48

El optimizador de consultas soporta paralelismo entre consultas lo que implica la capacidad de procesar una sola consulta en mltiples procesadores. Primera base de datos que ofrece una compatibilidad de cdigo del 100%. Primera base de datos con los servicios de transformacin de datos integrados (DTS: Data Trasnformation Service). Con DTS se pueden

importar y exportar datos entre varias fuentes de datos heterogneas y destinos de datos, es decir, transferir y transformar los datos

automticamente.

Conectividad: Los DBMS pueden trabajar con informacin almacenada con otros sistemas de bases de datos as como tambin almacenar los datos y acceder a ellos desde otros paquetes de software. Es la primera base de datos que ofrece la administracin multiservidor para un gran nmero de servidores. Acceso universal a los datos (Universal Data Access), la estrategia de Microsoft para permitir el acceso de alto rendimiento a una gran cantidad de fuentes de informacin. Utiliza varios procesadores al insertar, seleccionar, actualizar y eliminar. La estrategia de Microsoft afirma que SQL SERVER es la base de datos que lleva a cabo la creacin, administracin y distribucin de las aplicaciones empresariales en forma ms sencilla, esto significa

proporcionar a los desarrolladores un modelo de programacin simple y rpido, eliminar la necesidad de administrar la base de datos en las

49

operaciones

habituales y proporcionar herramientas sofisticadas, para

realizar las operaciones ms complejas en distintos servidores.

Permite ejecutar varias aplicaciones de forma fiable con instancias separadas de base de datos por cliente o aplicacin. La capacidad para operar con otros productos incluye soporte para una conectividad sin problemas entre sistemas y fuentes de datos.

Seguridad: Verificaciones de usuarios, mantener clientes diferentes en una misma base de datos y a los usuarios sealar ciertos datos que solo podrn acceder determinados usuarios as como la codificacin de

informacin privada. El Administrador puede programar permisos por tabla, columna o fila. El acceso a los datos es por medio de credenciales de seguridad formal. Por medio del sistema operativo se permite la restriccin de los

movimientos que pudieran hacerse con los archivos, as como controlar los accesos con cuentas, a esto se le conoce como autenticacin. La seguridad comprende en proteccin y codificacin de tablas de datos, columnas y filas, as como las transferencias de datos entre un cliente y un servidor como auditorias que identifican violaciones a la seguridad.

50

Administracin: Funcionalidades de administracin y tunning

de la

memoria, del PROCESADOR y de disco, de manera que se reduce el tiempo para la administracin. Primera base de datos que soporta la configuracin automtica y la autooptimizacin por medio del servicio Agente SQL SERVER. Comprende la interaccin que se requiere para el desempeo optimo de la base de datos, las tareas que incluyen instalacin y configuracin,

mantenimiento y supervisin de recursos.

Rendimiento: Permiten una alta disponibilidad de aplicaciones sin necesidad de una reconfiguracin de datos.

Herramientas de desarrollo: Funcionan con un amplio conjunto de herramientas de desarrollo, herramientas de consulta para el usuario final, aplicaciones comerciales y herramientas de gestin de la informacin del mbito corporativo. La estrategia Microsoft consiste en reducir el costo y la complejidad de almacenamiento de datos al tiempo que pone la tecnologa al alcance de un mayor nmero de persona. Microsoft ha establecido un planteamiento de amplia cobertura para el

proceso completo del almacenamiento de datos. El objetivo es facilitar an ms la creacin y el diseo de soluciones econmicas de almacenamiento de datos mediante la combinacin de tecnologas, servicios y alianzas entre

51

fabricantes

(Microsoft

Alliance

for

Data Warehousing).

Entre

estas

innovaciones se incluyen: Generacin de informes y anlisis corporativos hasta el modelado de datos y el soporte de la toma de decisiones. Generacin de Microsoft Repository (Deposito de Micrososft), una

infraestructura comn para compartir la informacin.

2.7.3

Requerimientos del sistema

Procesador: Microsoft SQL Server 2000 opera en computadores con procesador Intel o compatibles con Pentium, Pentium Pro, o Pentium II Procesador. stos tienen que tener como mnimo 166MHz.

Memoria RAM: Las ediciones y versiones de SQL Server 2000 necesitan la siguiente memoria RAM:

Enterprise Edition: Standard Edition: Personal Edition:

64 MB de mnimo o 128 MB recomendado. 64 MB de mnimo. 64 MB en Windows 2000, 32 MB en todos los dems sistemas operativos.

Developer Edition Desktop Engine

64 MB de mnimo 64 MB mnimo en Windows 2000, 32 MB en los

dems sistemas operativos

52

Disco Duro: SQL Server 2000 necesita tener los siguientes requerimientos dependiendo de los componentes de instalacin seleccionados.

Database components Analysis Services English Query Desktop Engine only

de 95 a 270 MB, 250 MB tpica 50 MB minimo, 130 MB tpica 80 MB 44 MB

Monitor: SQL Server 2000 requiere un monitor con resolucin VGA; las herramientas de grficos de SQL Server requieren un monitor con resolucin 800x600 o superior.

Navegador: SQL Server 2000 requiere Internet Explorer 5.0 o posterior y es soportado por los siguientes sistemas operativos:

Windows 2000. Microsoft Windows NT version 4.0 Service Pack 5 o superior. Windows Millennium Edition. Windows 98. Windows 95.

53

CAPITULO 3: DISEO

54

3 Diseo del sistema

En esta etapa se desarrollar un modelado del sistema, a partir de herramientas como: El modelo entidad relacin, modelo relacional, diagramas de procesos y diseo de interfaces. Estos modelos conforman la estructura del sistema. Tambin se puede decir que es una presentacin preliminar de ste antes de llegar al sistema implementado, es equivalente a decir la confeccin de un plano por un arquitecto antes de la construccin total de un edificio.

La lgica nos permite llegar a un sistema final implementado en perfecto funcionamiento de acuerdo a sus requerimientos, siempre siendo necesario pasar por la etapa de diseo. La no existencia del diseo, puede ocasionar un sistema con falencias de implementacin.

Otro punto importante de destacar es que la aplicacin final debe ser un reflejo lo mas idntico posible al modelado del sistema desarrollado en esta etapa.

55

3.1 Modelo de Entidad Relacin

3.1.1 Descripcin del Modelo Conceptual

De acuerdo a lo descrito en el punto 1.3, del presente

informe se puede

resumir que, instituciones solicitantes como lo son, las juntas vecinales y organizaciones funcionales necesitan saber el actual estado de los proyectos presentados al municipio, como tambin quien los financia.

Para saber el actual estado de los proyectos se propone entregar una ficha de respuestas a los solicitantes.

Con lo anteriormente mencionado nos podemos encontrar con los siguientes conceptos para dar forma al modelo:

Institucin solicitante Proyectos Estado Financiamiento Respuestas

A continuacin, en la figura 13 se muestra el modelo conceptual o modelo entidad relacin.

56

Figura 13: Modelo conceptual del sistema.

Bsicamente nuestro modelo interacta sobre la tabla proyectos, en donde recibe requerimientos de la tabla Institucin solicitante, la cual esta determinada por organizaciones funcionales de la ciudad de Temuco, estas organizaciones postulan a una etapa de un proceso presupuestario la cual indica las fases de puesta en marcha del proyecto.

57

Para que estos proyectos se puedan llevar a cabo la tabla fondos cumple vital importancia por que con la carencia de financiamiento no existe la posibilidad de realizarlos.

Otro punto importante es la tabla rate, esta tabla est relacionada con el concepto estado o situacin de los proyectos. La informacin de los cambios de rate o estado se describirn en la tabla respuestas.

Para mayor comprensin en el punto siguiente, se detallaran las tablas que tienen un papel fundamental en el diseo de la base de datos.

3.1.2 Detalle de la Base de datos

Proyectos(codigo,nombre,ao,etapa,postulacion,derscripcion,solicitante,sector, subsector,aosolicitado,rate,fecha,observaciones)

En la siguiente tabla se reciben todos los proyectos municipales, efectuados por Organismos funcionales en bsqueda de financiamiento, tambin refleja el estado de estos mediante el campo rate.

58

Figura 14: tipo de datos de la tabla proyectos.

Etapa (etapa, id_etapa)

Muestra todas las etapas que postula un proyecto

Figura 15: tipo de datos de la tabla etapas.

59

Figura 16: vista de la tabla etapas.

Sectores (idsector,sector)

La tabla sector describe a la sectorialidad del proyecto (Al rea a la que postula. Ej. Deportes, educacin etc.), es importante destacar que tiene un campo auto numrico idsector el cual esta relacionado con el campo nsector de la tabla subsector.

Figura 17: tipo de datos de la tabla sectores.

60

Figura 18: vista de la tabla sectores.

Subsector(subsector,nsector,sector)

La tabla subsector describe con mayor nivel de detalle la sectorialidad.

Figura 19: tipo de datos de la tabla subsectores.

61

Figura 20: Vista de la tabla subsectores.

Rate(descripcin,estado)

Muestra el actual estado de los proyectos presentados a la Municipalidad.

Figura 21: tipo de datos de la tabla rate.

Figura 22: vista de la tabla rate.

62

Organizaciones(organizaciones,pj,fecha)

Muestra todas las organizaciones funcionales pertenecientes a la ciudad de Temuco y sus comunas, el campo pj se refiere a la Personalidad jurdica de dicha organizacin

Figura 23: tipo de datos de la tabla organizaciones.

Figura 24: vista de la tabla organizaciones.

Juntas (unidadvecinal, juntavecinos, pj,macrosector, nombreuv, fecha)

La tabla juntas muestra todas las juntas vecinales pertenecientes a la ciudad de Temuco y sus comunas.

63

Figura 25: tipo de datos de la tabla juntas.

Figura 26: vista de la tabla juntas.

Solicitante (nombre_solicitante, pj_solicitante, descripcin, id_solicitante) La tabla solicitante rene todas las organizaciones, juntas vecinales, municipalidad y algunas seremis.

Figura 27: tipo de datos de la tabla solicitante.

64

Finan_proyecto (cod_bip, nombre, id_fondo, cantidad) La tabla finan_proyecto obtiene se relaciona con la tabla proyectos para obtener su codigo, esta tabla se encarga de almacenar las empresas que financian el proyecto, con su respectivo aporte.

Figura 28: tipo de datos de la tabla finan_proyecto.

Fondoempresa (Id de proveedor, nfondo, Nombre) La tabla fondoempresa se encarga de almacenar todas las empresas que participan en el financiamiento de los proyectos municipales.

Figura 29: vista de la tabla fondoempresa.

Fuente (fondo,idfondo) La tabla fuente se encarga de clasificar las empresas que financian los proyectos.

65

Figura 30: vista de la tabla fuente.

Respuestas (codigoproy, descripcion, fecha, id_etapa, id_solicitante) La tabla respuestas se encarga de mantener el actual estado de los proyectos, actualizando constantemente las etapas, rate y observaciones.

Figura 31: tipo de datos de la tabla respuestas.

66

3.2 Diagramas de procesos

El diagrama de procesos representa mediante smbolos grficos los procesos que intervienen en el sistema y flujos de operaciones de ste. Estos smbolos representan elementos bsicos de programacin como escritura y lectura de datos, ciclos o bucles y condiciones. Tambin se puede interpretar como un diagrama bsico representando una rutina de programacin sobre la Arquitectura Web, Imaginndonos el Browser, Servidor Web y nuestra base de datos.

3.2.1 Diagramas de flujo del sistema de administracin

El sistema de administracin es el encargado de mantener todos los proyectos municipales actualizados, as como tambin, la mantencin de estos. Este sistema tambin se encargara de agregar nuevas juntas vecinales y organizaciones funcionales, a medida del crecimiento de la ciudad.

3.2.1.1 Diagrama de flujo autentificacin del administrador

Este diagrama muestra bsicamente una entrada de datos solicitando el nombre de usuario y la contrasea, en donde mediante un proceso que valida la entrada comprobando la existencia de stos en la base de datos,

67

posteriormente despliega un men de operaciones al administrador siendo los datos correctos, si no es as enva un mensaje de error.

Figura 32: Diagrama de flujo proceso de autentificacin.

3.2.1.2 Diagrama de flujo insercin, modificacin y eliminacin de proyectos

68

El siguiente diagrama representa la mantencin del sistema en cuanto a proyectos se refiere. El proceso de insercin de proyectos tiene una variacin en cuanto al

procedimiento comnmente utilizado, la variacin consiste en presentar al administrador la opcin de revisar el proyecto ingresado, ofrecindole modificar el proyecto en caso de alguna entrada de datos errnea.

Figura 33: Diagrama de flujo Insercin y bsqueda de elementos.

3.2.2 Diagramas de flujo para el usuario invitado

El usuario invitado tiene acceso al sistema mediante un link. Las operaciones que puede realizar estn limitadas exclusivamente a la bsqueda de proyectos.

69

Las bsquedas de proyectos est compuesta por dos bsquedas, una bsqueda personalizada utilizando filtros y una bsqueda por junta de vecinos mediante un mapa. 3.2.2.1 Realizar bsquedas de acuerdo a filtros personalizados

Dado a que el usuario dispondr de algunas opciones para realizar el filtro, la bsqueda por el campo cdigo es la ms exacta por ser clave principal, la cual arrojara solamente el proyecto con dicho cdigo Si el usuario no conoce el cdigo puede realizar combinaciones utilizando los campos instituciones solicitantes, ao y etapa a la que postulan. Mientras ms campos seleccionados tengan la bsqueda, ms acotada ser la respuesta.

La figura 34 que representa la bsqueda por filtros se ilustra en la pgina siguiente.

70

Figura 34: Diagrama de flujo bsqueda de proyectos por filtro.

71

3.3 Diseo de Interfaces

El diseo de interfaces es una aproximacin real mediante smbolos, de las pantallas a utilizar en un sistema. Cada smbolo significa algn cdigo html en particular. A continuacin mostraremos la simbologa utilizada por el autor de este

informe, para describir los cdigos html correspondientes.

<input type="text" >

<input type="submit" >

<select name="menu1" > <option>XXXX</option> </select> <img src="archivo" width="120" height="35" > <a href="ARCHIVOl">ENLACE</a>

ENLACE

<area shape="rect" coords="135,183,173,201">

<textarea name="TA >textarea</textarea>

72

3.3.1 Diseo de interfaz inicio de sesin

El Diseo de interfaz inicio de sesin cuenta con dos campos de entrada de texto de tipo password, en donde se solicitan datos al usuario para luego ser enviados por el boton submit, a un proceso de validacin. Tambin cuenta con dos enlaces o link uno para lo que significa el cambio de password y el otro para acceder al sitio para recibir reportes de los proyectos.

Figura 35: Diseo de Interfaz de, inicio de sesin

73

3.3.2 Diseo de interfaz bsqueda por filtros

El Diseo de interfaz bsqueda por filtros, cuenta con una entrada de texto solicitando el cdigo al usuario, para obtener una salida mas acotada, en cuanto a la bsqueda de proyectos se refiere y luego cuenta con cuatro selects options obtenidos de una base de datos, con los cuales permite realizar combinaciones para realizar la bsqueda, segn el criterio y necesidad del usuario.

Figura 36: Diseo de Interfaz de, Bsqueda personalizada.

74

3.3.3 Diseo de interfaz bsqueda por mapa.

El diseo de interfaz bsqueda por mapa, cuenta con una serie de componentes area shape, que describen las unidades vecinales de la ciudad de Temuco, los cuales se ubican mediante coordenadas dentro de una imagen que representa la ciudad. Al pasar el Mouse por encima del area shape (Evento javascript, onmouseover), genera un men emergente desarrollado en javascript, el cual despliega todas las juntas de vecinos de la ciudad, la cual el usuario selecciona para su posterior bsqueda.

Figura 37: Diseo de Interfaz de, Bsqueda por mapa.

75

CAPITULO 4: IMPLEMENTACION

76

4 Implementacin

4.1 Introduccin

En el captulo 2 correspondiente al anlisis, se establecieron los requisitos del software, con los cuales en el captulo 3 se defini la arquitectura. Con toda esta informacin recopilada, se puede entonces comenzar a desarrollar la etapa de implementacin de la aplicacin.

En esta etapa del informe se explicar todo lo relativo a la puesta en marcha del proyecto.

Tambin se detallarn los cdigos fuentes ms importantes que intervinieron en el desarrollo del software.

4.2 Descripcin de los cdigos fuente que intervienen en el sistema

4.2.1 Construccin de mapa utilizando ASP ms javascript Uno de los cdigos ms relevantes del sistema consiste en desplegar un mapa de la ciudad de Temuco mostrando todas las juntas vecinales pertenecientes a est. El mapa fue construido mediante pginas dinmicas que es la fusin de

lenguaje ASP y Javascript. La virtud de este cdigo es que todo se ejecuta por

77

el lado del cliente sin necesidad de ocupar el mtodo submit para enviar informacin al servidor.

La figura 38 muestra una salida en pantalla del mapa:

Figura 38: despliegue de mapa de la ciudad de Temuco.

A continuacin se detallarn, las partes ms importantes de cdigo para la realizacin del mapa: La parte clave para generar una pgina dinmica es la siguiente lnea de

cdigo <%@LANGUAGE="JAVASCRIPT"%> esta lnea tiene que ir antes del encabezado del documento html, con esto se le est indicando al documento que mezclaremos lenguaje servidor ASP con lenguaje cliente javascript.

78

// Procesamiento de una consulta asp utilizando javascript


<% oRs = Server.CreateObject("ADODB.Recordset"); oRs.Open ("SELECT juntavecinos,nombreuv FROM juntas ", oConn); oRs.PageSize = 300; var cont=0 for (j = 0; j < oRs.PageSize; j++) { if (oRs.EOF) { break; } for (i = 0; i < oRs.Fields.Count; i++) { %>

// Tomar el valor de la consulta en un campo oculto


<input type="hidden" name="loco" value="<%= oRs(i) %>"> <% cont=cont+1 } oRs.MoveNext() } %>

Del cdigo anterior se puede apreciar que en sus primeras lneas se est realizando una consulta a la base de datos en el cual se seleccionarn el nombre de las juntas de vecinos ms la unidad vecinal a la cual pertenecen, luego se establece un ciclo for con cdigo netamente javascript en el cual su culminacin est determinada con una variable en lenguaje ASP. La clave para darle forma al mapa es tomar los datos de la consulta en un campo oculto, de esta forma:

<input type="hidden" name="oculto" value="<%= oRs(i) %>">

Para que luego con un cdigo javascript descrito a continuacin, se tome el valor de la consulta en las variables xtraman y xtraman2, en donde el ndice a1 corresponde a la junta vecinal y el ndice a2 corresponde a la unidad vecinal.

79

: // Se toman los valores de los campos ocultos en las variables xtraman y xtraman2
for(i=0;i<=200;i++) {r a1=i*2 a2=(i*2)+1 xtraman=document.form1.oculto(a1).value xtraman2=document.form1.oculto(a2).value

// Si la unidad vecinal es rural despliega todas las juntas vecinales correspondiente a esa unidad vecinal
if(xtraman2=="rural") { mm_menu_1114085841_0.addMenuItem(xtraman); }

El objetivo de tomar estos valores es desplegar un men, en donde muestre todas las juntas de vecinos pertenecientes a su correspondiente unidad vecinal, y as poblar toda la ciudad.

Una salida en pantalla del men, se muestra en la figura 39, de la siguiente pgina.

80

Figura 39: Despliegue de men obtenido de una consulta.

El despliegue de los mens en el mapa, estn determinado por el evento addMenuItem que esta creado en una hoja javascript adjunta al documento de la siguiente forma:

<script language="JavaScript1.2" src="mm_menu.js"></script>.

El cdigo para esta funcin es la siguiente:

function addMenuItem(label, action) { this.items[this.items.length] = label;

81 rancio="mostrar_proyecto.asp?id="+label this.actions[this.actions.length] = 'window.open("'+rancio+'")'; }

El evento addMenuItem toma la variable xtraman representada por label con el cual su accin ser crear una ventana nueva denominada mostrar_proyecto.asp enviando la variable id por la url con el valor de label. La pagina mostrar_proyecto.asp que se ilustra en la figura 40, muestra todos los proyectos pertenecientes usuarios. a la junta de vecinos seleccionada por los

Figura 40: Salida en pantalla de la pgina mostrar proyectos.

82

4.2.2 Selects dependientes con acceso a base de datos

El problema que motiv a usar selects dependientes en el sistema, surgi a partir de la necesidad de obtener datos acotados y concretos, conseguidos a travs de tablas relacionadas por un campo clave.

Los selects dependientes son bsicamente la interaccin de un select con otro, tomando a la vez los datos desde una base de datos SQL Server, en donde solo ser necesario crear una pagina asp sin necesidad de otra.

Un ejemplo concreto del uso de estos selects, puede ser cuando uno se registra al crear una cuenta de correo electrnico en www.hotmail.com, en donde al seleccionar el pas, automticamente en el select siguiente despliega las regiones correspondientes al pas seleccionado.

Para lograr el perfecto funcionamiento del combo, lo primero que hay que tener en cuenta es la relacin de las tablas de la base de datos.

El ejemplo selects dependientes, tomar datos de las tablas sector y subsector.

La relacin entre tablas para poder realizar un select dependiente con acceso a base de datos, tiene que ser idneamente entre un tipo de dato numrico con otro autonumerico. En la figura 41, se muestra la relacin entre la tabla sectores y subsectores.

83

Figura 41: relacin entre tabla sector y tabla subsector.

En la figura 42, muestra una vista de la tabla sector, la cual obtiene el campo subsector, a travs del campo auto numrico id_sector. Todo esto es posible por la relacin entre las tablas sector y la tabla subsector.

Figura 42: Vista de diseo de la tabla subsector mostrando su campo auto numrico disector.

84

Luego del trabajo realizado en la base de datos se dar a conocer las lneas de cdigo pertenecientes al trabajo de los selects dependientes.
<select name=idsector class="textoman" onChange="location.href('solicitante2.asp?idsector=' formulario.idsector.options[formulario.idsector.selectedIndex].value)" > <% SQL_sector="select * from sectores " set RS_sector=createobject("ADODB.Recordset") RS_sector.open SQL_sector,conn do while not RS_sector.eof sector = RS_sector("sector") idsector = RS_sector("idsector") p = request.querystring("sector") if p <> "" then if p = sector then response.write "<option value="&idsector&"&sector="&sector&" selected>"&sector&"</option>" elseif p <> sector then response.write "<option value="&idsector&"&sector="&sector&">"&sector&"</option>" end if else response.write "<option value="&idsector&"&sector="&sector&">"&sector&"</option>" end if RS_sector.movenext loop RS_sector.close %> <% if request.querystring("idsector") <> "" then %> +

El cdigo da como resultado la siguiente pantalla ilustrado en la figura 43.

85

Figura 43: Pagina que genera el primer select.

El cdigo anterior cuenta con dos elementos muy importantes para la realizacin de los combos, uno de estos es el evento onchange de javascript en el cual se le da la siguiente accin: "location.href('solicitante2.asp?idsector=' + formulario.idsector.options[formulario.idsector.selectedIndex].value)" El evento location.href hace vincular el mismo documento asp pasndole por la URL una variable seleccionada del combo que equivale al resultado de la consulta. Con este valor obtenido se llama al mtodo request.querystring

mencionado en el capitulo 2, con el cual se toma el valor de la variable para generar el combo equivalente a los subsectores mostrado en la siguiente figura.

86

Figura 44: Despliegue del select dinmico, aludiendo a la tabla subsector.

El cdigo de la figura 44, corresponde a:

<select name=subsector class="textoman" > <% SQL_prov="select * from sector="&request.querystring("idsector")&"" set RS_prov=createobject("ADODB.Recordset") RS_prov.open SQL_prov,conn do while not RS_prov.eof nsector = request.querystring("nsector") subsector = RS_prov("subsector") %>

subsectores

where

<option value="<%=subsector%> <%=nsector%>"><%=subsector%></option> <% RS_prov.movenext loop RS_prov.close %> </select>

87

La consulta se genera con el valor tomado en el select anterior con el mtodo request.querystring. SQL_prov="select * from subsectores where sector="&request.querystring("idsector")&""

4.2.3 Inicio de sesin

El inicio de sesin del sistema parte con una pgina sencilla construida en lenguaje HTML, con un formulario para la recepcin de datos. La siguiente figura muestra la pagina inicio de sesin.

Figura 45: inicio de sesion1.

88

Si los datos ingresados son correctos, se muestra la siguiente interfaz de la figura 46, en donde se da un mensaje de bienvenida ofrecindole un men de operaciones.

Figura 46: resultado satisfactorio del inicio de sesin

Se aclara en este documento que el desarrollador opt por un sistema en donde las variables son almacenadas en cookies. Se eligi esta alternativa ya que intervienen varias pginas y no se quiere perder el hilo de la navegacin. El ejemplo de generacin de cookies se muestra en las siguientes lneas de cdigo:

89 <% If Request.Form ("usuario") <> "" then Response.Cookies ("usuario") = Trim(Request.Form ("usuario")) Response.Cookies ("password") = Trim(Request.Form ("password")) Response.Cookies("usuario").Expires = "1/1/2010" End If %>

Las cookies tanto en ASP como PHP tienen que ir antes del encabezado html. Un cdigo a destacar en la pagina es la validacin de los datos ingresados.

// SE TOMAN LAS COOKIES DE LA PAGINA EN LAS VARIABLES USUARIO Y PASSWORD <% usuario=request.cookies("usuario") password=request.cookies("password") %>

// SE CONSULTA EN LA BASE DE DATOS SI EXISTEN // LOS DATOS TOMADOS DE LAS VARIABLES ANTERIORES // SI ES CORRECTO IMPRIMIRA EL NOMBRE DEL USUARIO Y SI NO ES ASI DARA EL MENSAJE //DE NO EXISTENCIA DEL REGISTRO

<%

if usuario <> "" then if password <> "" then SQL_sesion="select nombre password="&password&""

from

registro

where

usuario="&usuario&"

and

set RS_sesion=createobject("ADODB.Recordset") RS_sesion.open SQL_sesion,conn if not RS_sesion.eof then sesion = RS_sesion("nombre")

%> <% <% else response.write "NO EXISTE EL REGISTRO " response.write ucase(sesion) %>

90

end if end if end if %>

Se omite el cdigo html referente a tablas presentes en la pgina para mejor entendimiento del lector.

4.2.4 Insercin de casillas de texto en una pgina usando javascript.

Para la generacin de las casillas de texto es necesario ocupar la funcin de javascript document.write con la cual le estamos dando el lenguaje la capacidad de agregar cualquier tipo de elemento al documento. En esta pgina se crearon dos formularios, el primero se construy con una funcin la cual se encargara de agregar las casillas de texto y el segundo se le dio la misin de enviar todas las variables presentes en el documento a la pgina siguiente para su posterior insercin.

91

Figura 47: Formulario de insercin de casillas de texto parte1.

Los cdigos encargados de generar la creacin de las casillas son los siguientes: Cdigo 1 // El botn actualizar es el que se encarga de llamar a la funcin createform // cuyo parmetro es el responsable del numero de casillas a crear
Ingrese N de fondos <input type=text name=number size=5> <input name="button" type=button onClick="createForm(counter.number.value);" value="Actualizar">

92

Cdigo 2 // Funcin que crea las casillas de texto con la instruccin document.write y valida el numero de entradas
function createForm(number) { data = "<strong><font size='2' face='Verdana, Arial, serif'NOMBRE&nbsp;&nbsp;&nbsp; CANTIDAD</font></strong><br>"; inter = "'";

Helvetica,

sans-

if (number < 16 && number > -1) { for (i=1; i <= number; i++) { if (i < 10) spaces=" "; else spaces=" "; data = data + "<strong><font size='2' face='Verdana, Arial, Helvetica, serif';FONDO" + i + ":</font></strong>" + spaces + "<input type='text' size=10 name=" + inter + "nombre" + i + inter + "'>"+ "&nbsp;<input type='text' size=10 name=" + inter + "cantidad" + i + inter + "'><br>"; } if (document.layers) { document.layers.cust.document.write(data); document.layers.cust.document.close(); } Else { if (document.all) { cust.innerHTML = data; } } } Else { window.alert("Por favor selecciona no ms de 15 entradas."); }}

sans-

93

La pgina de salida para una entrada de tres fondos seria la siguiente:

Figura 48: Formulario de insercin de casillas de texto parte2.

94

4.2.5 Pgina Padre, actualizada por pgina hija.

El primer cdigo que se revisar ser la apertura de una ventana hija desde un select.
function lanzarSubmenu(lista) { if (lista.selectedIndex == 0) { alert("municipalidad de temuco") } if (lista.selectedIndex == 1) { window.open("busjv.asp","ventana1","width=700,height=500,scrollbars=YES") } if (lista.selectedIndex == 2) { window.open("busof.asp","ventana1","width=700,height=500,scrollbars=YES") } }

El parmetro lista que ocupa la funcin denominada lanzarSubmenu est dada por el nombre del select. Los valores del select estn determinados por ndices. Para poder direccionar las pginas hijas es necesario sacar los valores del select los cuales se obtienen con el valor del ndice, con el cual se realizan condicionantes if mediante la instruccin lista.selectedIndex.

La siguiente figura muestra en la parte inferior derecha la apertura de una ventana hija originada por la eleccin de una junta de vecinos.

95

Figura 49: Pantalla que muestra la aparicin de una pagina hija.

El siguiente cdigo permite a travs de una consulta mostrar todas las juntas de vecinos que empiecen con algn caracter en particular, alguna frase o trozo de texto, la figura 50 obtiene como frase la palabra amanecer. Mientras mayor detallado sea el texto ms acotada ser la respuesta.

Figura 50: Bsqueda por cadena de texto

96

<form name="form1" >


SE OCUPA EL EVENTO ONCLICK PARA GENERAR LA ACCION DE VINCULAR LA MISMA PGINA CON LA VARIABLE DEL CAMPO DE TEXTO MEDIANTE EL METODO LOCATION.HREF, CON EL OBJETIVO DE GENERAR EL RESULTADO DE LA CONSULTA EN EL MISMO DOCUMENTO..

<input name="textfield" type="text" class="textoman"> <input type="button" name="Submit" value="buscar" "location.href('busjv.asp?textfield=' + form1.textfield.value)">
SE PREGUNTA SI EL VALOR DE LA CAJA DE TEXTO ES DISTINTO DE VACIO, LUEGO SE OCUPA LA INSTRUCCIN LIKE DE SQL PARA BUSCAR EN LA BASE DE DATOS LA FRASE OBTENIDA EN EL TEXTFIELD CON LA VARIABLE SSEARCHSTRING.

onClick=

<% if request.querystring("textfield") <> "" then ssearchstring=request.querystring("textfield") sSQL="select * from juntas where juntavecinos like '%" & ssearchstring & "%' " set RS = conn.execute(sSQL) %>

LA FUNCION ACTUALIZAPADRE SE ENCARGARA DE ENVIAR EL NOMBRE DE LA JUNTA DE VECINOS OBTENIDA DEL VALOR DEL SELECT A LA PAGINA PADRE, LA FUNCION ACTUALIZA PADRE SERA DESGLOSADA DESPUES EN LA FIGURA XXXXX.

<input type="hidden" name="s" value="<%=RS("pj")%>"> <select name="s1" class="textoman" size="5" onClick=actualizaPadre();>

SE GENERA UN CICLO PARA CARGAR TODA LA LISTA EL EVENTO ONCLICK DEL BOTON GENERA LA ACCION DE CERRAR LA VENTANA

97

<% do while not RS.eof%> <option class="texto"> <%=RS("juntavecinos")%> <%RS.movenext loop %> <input type="button" onClick="window.close(); " value="validar"> <% end if %> </form>

El resultado del cdigo anterior que se muestra en la figura 51, da como resultado de la consulta todas las juntas de vecinos que en su composicin textual tienen la frase amanecer.

Figura 51: Resultado de la consulta por frase.

Funcion actualiza padre function actualizaPadre() { var indice = document.form1.s1.selectedIndex

98

window.opener.document.forms[0].nis.value = document.form1.s1.options[indice].text } La funcin actualiza padre se encarga de recoger el valor de la lista para luego otorgrsela a la ventana padre, especficamente a la casilla de texto denominada en su etiqueta Nombre.

En la Figura 52 se muestra la captura del valor

Figura 52: campo de texto que recibe un valor desde una ventana hija.

99

Hasta aqu se concluye la descripcin de los cdigos ms importantes presentes en el proyecto, se omitieron algunos por que se reiteraran algunas funciones y trucos. No es objetivo del documento redundar en cdigos. Por otra parte los cdigos bsicos relativos a la conexin con la base de datos, insercin, eliminacin y otros se adjuntan en el captulo 6, en la seccin de anexos.

100

CAPITULO 5: RESULTADOS OBTENIDOS

101

5 Resultados

El desarrollador del presente trabajo de ttulo obtiene como resultado final, una aplicacin que cumple con los requisitos especificados en el captulo dos y con los objetivos propuestos.

Tambin se logra por parte del alumno aprender una tecnologa Web, con la cual no haba trabajado formalmente en la carrera, generando al alumno un conocimiento extra.

Con respecto a las tecnologas usadas en especial javascript, se logro sacarle provecho al mximo, utilizando sus grandes potencialidades como lenguaje del lado del cliente y tambin poseer una poderosa integracin con el lenguaje servidor ASP, generando las denominadas paginas dinmicas.

Por otra parte, se incorpora al Departamento de Evaluacin de Proyectos de la Municipalidad de Temuco, una aplicacin con la cual se automatiza y organiza un sistema de administracin de proyectos, lo que conlleva resultados mas eficientes a la hora de reportar proyectos.

102

5.1 Sugerencias

El sistema ha sido implementado de acuerdo a requerimientos establecidos por el departamento de gestin y evaluacin de proyectos del Municipio de Temuco para cumplir funciones especficas, pero no deja de lado la posibilidad de que se le agreguen ms contenidos, como nuevos links en los mens que entreguen mayor informacin relacionada con datos estadsticos al usuario administrador y interactividad con los usuarios invitados.

Tambin existe la posibilidad de migrar el actual sistema a una tecnologa superior como lo es .NET, sin necesidad de agregar costos de implementacin ya que, la tecnologa .NET, trabaja sobre el mismo servidor Web y los mismos motores de base de datos, como los que ocupa ASP.

De acuerdo a los prrafos anteriores el desarrollador del sistema propone lo siguiente:

a) Mayor interactividad entre usuarios invitados, con el municipio.

Darle facultad a los usuarios invitados a dar su opinin, ya sea con un modulo de captura de sugerencias y observaciones, o con un foro. Permitir solicitar proyectos desde el sitio Web.

103

Todo esto se desarrollara mediante formularios, los cuales llegaran al municipio con formato de correo electrnico.

b) Manejar datos estadsticos.

Al manejar datos estadsticos el administrador tendra un control ms exhaustivo sobre el sistema. Un Ej. de dato estadstico podra surgir de la siguiente pregunta: Cuntos colegios cambian su

infraestructura, para trabajar con jornada escolar completa desde el ao 2003 al ao 2005 .

c) Optimizar el sistema migrndolo a asp.net

Para establecer la optimizacin del actual sistema desarrollado, se han establecidos las siguientes caractersticas que posee ASP.Net:

Rendimiento: la aplicacin descompila una sola vez al lenguaje nativo, y luego, en cada peticin tiene una compilacin Just In Time, es decir se compila desde el cdigo nativo, lo que permite mucho mejor rendimiento. Tambin permite el almacenamiento del cach en el servidor

104

Rapidez en programacin: mediante diversos controles, podemos con unas pocas lneas y en poco tiempo mostrar toda una base de datos y hacer rutinas complejas.

Servicios Web: trae herramientas para compartir datos e informacin entre distintos sitios.

Seguridad: tiene diversas herramientas que garantizan la seguridad de las aplicaciones.

105

CAPITULO 6: CONCLUSION

106

Conclusin

Se concluye del presente documento, que en estos tiempos estamos inmersos en el mundo de la informacin y telecomunicaciones, las aportes de las TIC influyen en casi todas las actividades que realizamos diariamente, hasta en nuestra forma de pensar.

En el documento se expresa que haciendo uso de las TIC con su aporte interactivo como son los sistemas WEB, se logr desarrollar un sistema online para la plataforma Internet que est al servicio de la Municipalidad de Temuco, el cual satisface las necesidades de almacenamiento de datos, automatizacin e interactividad en torno a los proyectos municipales.

Por otra parte concluyo que el desarrollo de este proyecto fue una experiencia enriquecedora tanto en el mbito profesional como Interpersonal.

107

BIBLIOGRAFIA

108

Bibliografa

1. - MAJ, Joan, MARQUS, La revolucin educativa en la era Internet. Barcelona: CissPraxis [En lnea] http//dewey.uab.es/pmarques/, (ltima revisin: 27/08/05) 2. - Comp.realtime: Frequently Asked Questions (FAQs) (version 3.6) http://www.faqs.org/faqs/realtime-computing/faq/

3. Microsoft SQL Server Home [En lnea] http://www.microsoft.com/SQL/defaul.mspx (2004-2005)

4. - JavaScript.com TM [En lnea] http://www.javascript.com/ agosto 2004)

(mayo-

5. - W3C (1994-2004) Hakon Wium Lie & Bert Bos, Cascading Style Sheets home page [en lnea] http://www.w3.org/Style/CSS/ (mayo-agosto 2004)

109

ANEXOS

110

ANEXO 1: Conceptos bsicos de la programacin en ASP. Inicio a la programacin en ASP Se da por entendido que, ASP es un lenguaje orientado a las aplicaciones en red creado por Microsoft que funciona del lado servidor. Es en efecto el servidor quien se ocupa de ejecutarlo, interpretarlo y enviarlo al cliente (navegador) en forma de cdigo HTML. Dado que el lenguaje ASP est muy frecuentemente embebido dentro del cdigo HTML, es importante poder marcar al servidor qu partes estn escritas en un lenguaje y cules en otro. Es por ello que todas las partes del archivo que estn escritas en ASP estarn siempre delimitadas por los smbolos: <% y %>.

De este modo, cuando se realicen los scripts, lo primero que se debe definir es el tipo de lenguaje utilizado, lo cual se hace del siguiente modo:

<% @ LANGUAGE="VBSCRIPT" %> Para el caso en el que se programe en Visual Basic Script

<% @ LANGUAGE="JSCRIPT" %> Si se ocupa Java Script en el servidor, para programar en ASP

111

Con lo conocido anteriormente se puede desarrollar nuestro primer EJ. En ASP, mostrado a continuacin.

<% @ LANGUAGE="VBSCRIPT" %> <HTML> <HEAD> <TITLE>Funcion IVA</TITLE> </HEAD> <BODY> <%Function IVA (precio_articulo) precio_final=precio_articulo+precio_articulo*19/100 Response.Write precio_final End Function%> Un libro de 3500 pesos. se quedar en un precio de <% IVA(3500) %> <br> Una camisa de 10000 pesos. tendr un precio final de <% IVA(6000) %> <br> Un CD de msica de 8000 pesos. costara <% IVA(2000) %> pesos. </BODY> </HTML>

112

Como puede verse, el script contiene dos partes fundamentales: Una primera en la que se define la funcin que llamamos IVA, que depende nicamente de la variable (precio_articulo). La funcin IVA permite aadir un 19% de impuesto al precio del artculo e imprimir el resultado en pantalla (Response.Write). En la segunda parte se dispone de la funcin para realizar los clculos necesarios y mostrarlos en pantalla acompaados de texto, A continuacin se mostrara una salida en pantalla del codigo asp.

Figura, Salida en pantalla de codigo ejemplo1.

Resulta muy interesante, una vez ejecutado el script, ver el cdigo fuente. Como puede verse, el cdigo HTML que muestra el browser no coincide con el que se ha escrito en el script. Algo que no debe sorprender, es que como se ha explicado, el servidor se encarga de procesarlo y hacerlo comprensible al navegador.

113

Los objetos ASP ASP es un lenguaje diseado para la creacin de aplicaciones en internet. Esto quiere decir que existen toda una serie de tareas bastante corrientes a las cuales debe dar un tratamiento fcil y eficaz. Se esta haciendo referencia por ejemplo al envo de e-mails, acceso a archivos, gestin de variables del cliente o servidor como pueden ser su IP o la lengua aceptada. Estos objetos realizan de una manera sencilla toda una serie de acciones de una complejidad relevante. A partir de una llamada al objeto este realizar la tarea requerida. En cierta forma, estos objetos nos ahorran el tener que hacer largos programas para operaciones sencillas y habituales.

Algunos de estos objetos estn incorporados dentro del lenguaje propio ASP, otros deben de ser incorporados como si se tratase de componentes accesorios. Por suerte, no se podra ejecutar correctamente un script en el cual se tuviese que llamar a un objeto que no estuviese integrado en el servidor. Este tipo de "plug-in" son generalmente comprados por el servidor a empresas que los desarrollan. Dado el nivel de este informe, la descripcin de la totalidad de objetos con sus mtodos y propiedades resulta ciertamente fuera de lugar. Se describir lo que ms frecuentemente se utiliza y se ejemplificara de la manera ms prctica dejando la enumeracin exhaustiva en forma de apndice.

114

Objeto Request I Bucles y condiciones son muy tiles para procesar los datos dentro de un mismo script. Sin embargo, en un sitio internet, las pginas vistas y los scripts utilizados son numerosos. Muy a menudo necesitamos que nuestros distintos scripts estn conectados unos con otros y que se sirvan de variables comunes. Por otro lado, el usuario interacciona por medio de formularios cuyos campos han de ser procesados para poder dar una resta. Todo este tipo de factores dinmicos han de ser eficazmente regulados por un lenguaje como ASP.

Se ver, que todo este tipo de aspectos interactivos pueden ser gestionados a partir del objeto Request. El objeto Request devuelve informaciones del usuario que han sido enviadas por medio de formularios, por URL o a partir de cookies (se ver de qu se tratan seguidamente). Tambin se informa sobre el estado de ciertas variables del sistema como pueden ser la lengua utilizada por el navegador, el nmero IP del cliente, etc. Transferir variables por URL Para pasar las variables de una pgina a otra se puede hacer introduciendo dicha variable en la direccin URL de la pgina destino dentro del enlace hipertexto. La sintaxis sera la siguiente: <a href="destino.asp?variable1=valor1&variable2=valor2&..."></a>

115

Para recoger la variable en la pgina destino se hace por medio del objeto Request con el mtodo Querystring: Request.querystring("variable1") Request.querystring("variable2")

Las dos pginas seran as:

<HTML> <HEAD> <TITLE>Pgina origen.asp</TITLE> </HEAD> <BODY> <a href="destino.asp?saludo=hola&texto=Esto es una variable texto">Paso variables saludo y texto a la pgina destino.asp</a> </BODY> </HTML>

<HTML> <HEAD> <TITLE>destino.asp</TITLE> </HEAD>

116

<BODY> Variable saludo: <%Response.Write Request.Querystring("saludo")%><br> Variable texto: <%Response.Write Request.Querystring("texto")%><br> </BODY> </HTML>

Objeto Request II

Transferir variables por formulario

El proceso es similar al explicado para las URLs. Primeramente, se presenta una primera pgina con el formulario a rellenar y las variables son recogidas en una segunda pgina que las procesa:

<HTML> <HEAD> <TITLE>formulario.asp</TITLE> </HEAD> <BODY> <FORM METHOD="POST" ACTION="destino2.asp"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br>

117

Apellidos<br> <INPUT TYPE="TEXT" NAME="apellidos"><br> <INPUT TYPE="SUBMIT"> </FORM> </BODY> </HTML>

<HTML> <HEAD> <TITLE>destino2.asp</TITLE> </HEAD> <BODY> Variable nombre: <%=Request.Form("nombre")%><br> Variable apellidos: <%=Request.Form("apellidos")%> </BODY> </HTML>

Objeto Response

Tal y como se ha visto, el objeto Request gestiona todo lo relativo a entrada de datos al script por parte del usuario (formularios), provenientes de otra URL, del propio servidor o del browser.

118

Queda por explicar cmo el script puede "responder" a estos estmulos, es decir, cmo, despus de procesar los debidamente los datos, se puede imprimir estos en pantalla, inscribirlos en las cookies o enviar al internauta a una u otra pagina. En definitiva, queda por definir la forma en la que ASP regula el contenido que es enviado al navegador.

Esta funcin es tomada en cargo por el objeto Response el cual ha sido ligeramente mencionado anteriormente, concretamente en asociacin al mtodo Write.

En efecto, sentencias del tipo:

<%Response.Write "Una cadena de texto"%>

o bien,

<%Response.Write variable%>

Tienen como cometido imprimir en el documento HTML generado un mensaje o valor de variable. Este mtodo es tan comnmente utilizado que existe una abreviacin del mismo de manera a facilitar su escritura:

<% = variable %> es anlogo a <%response.write variable%>

119

Es importante precisar el hecho que imprimir en el documento HTML no significa necesariamente visualizar en pantalla ya que se podra servir de estas etiquetas para crear determinadas etiquetas HTML. He aqu un ejemplo de lo que se pretende decir:

<% path="http://localhost/graficos/imagen.gif" %>

<img src="<% =path %>">

Este fragmento de script generara un cdigo HTML que sera recibido en el navegador del siguiente modo:

<img src="http://localhost/graficos/imagen.gif">

Las cookies

Sin duda este trmino resultara familiar para muchos. Algunos lo habrn ledo u odo pero no saben de qu se trata. Otros sin embargo sabrn que las cookies son unas informaciones almacenadas por un sitio web en el disco duro del usuario. Esta informacin es almacenada en un archivo tipo texto que se guarda cuando el navegador accede al sitio web.

Tambin es posible ver estos archivos. Para abrirlos hay que ir al directorio

120

C:\Windows\Cookies para los usuarios de IE 4+ o C:\...\Netscape\Users\defaultuser para usuarios de Netscape. Se podr comprobar, en la mayora de los casos la informacin que se puede obtener es indescifrable.

La utilidad principal de las cookies es la de poder identificar al navegador una vez ste visita el sitio por segunda vez y as, en funcin del perfil del cliente dado en su primera visita, el sitio puede adaptarse dinmicamente a sus preferencias (lengua utilizada, colores de pantalla, formularios rellenados total o parcialmente, redireccin a determinadas pginas...).

Para crear un archivo cookies, modificar o generar una nueva cookie lo podemos hacer a partir del objeto Response con una sintaxis como la siguiente:

Response.Cookies("nombre de la cookie") = valor de la cookie

El valor de la cookie puede ser una variable, un numero o una cadena delimitada por comillas.

Es importante saber que las cookies tienen una duracin igual a la sesin, es decir, a menos que lo especifiquemos, el archivo texto generado se borrar desde el momento en que el usuario haya abandonado el sitio por un tiempo prolongado (generalmente unos 20 minutos) o que el navegador haya sido

121

cerrado. Se puede arreglar este inconveniente mediante la propiedad Expires:

Response.Cookies("nombre de la cookie").expires = #01/01/2002#

Esto nos permite decidir cual es la fecha de caducidad de la cookie. Hay que tener en cuenta que esto no es ms que hipottico ya que el usuario es libre de borrar el archivo texto cuando le plazca.

Por otra parte, es interesante sealar que el hecho de que definir una cookie ya existente implica el borrado de la antigua. Del mismo modo, el crear una primera cookie conlleva la generacin automtica del archivo texto.

Para leer las cookies, nada ms fcil que usando el objeto Request de la siguiente forma:

variable = Request.Cookies("nombre de la cookie")

Si por ejemplo se quisiera recuperar del archivo txt la cookie correspondiente a la lengua del cliente y almacenarlo en un script para futuros usos, se podra escribir:

lengua=Request.Cookies("lengua")

Las cookies son una herramienta fantstica para personalizar pginas, pero hay

122

que ser cautos ya que, por una parte, no todos los navegadores las aceptan y por otra, se puede deliberadamente impedir al navegador la creacin de cookies. Es por ello que resultan un complemento y no una fuente de variables infalible para sitios web.

123

ANEXO 2: Cdigos ASP para utilizar con Bases de Datos SQL Server y Microsoft Access.

Conexin a Bases de datos 1 Cdigo fuente, de una conexin a base de datos utilizando Microsoft Access.

<% 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Con el siguiente codigo no configuramos manualmente, una configuracion ODBC Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("clientes.mdb")) %>

2 Cdigo fuente, de una conexin a base de datos utilizando Microsoft SQL Server 2000.
<% 'Instanciamos y abrimos nuestro objeto conexion StrConn = DSN=temukobase;UID=temukocliente;PWD=t3muk0b4s3cl13nt3;DATABASE=temuk obase" Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open StrConn %>

124

Cdigos para insertar registros en una base de datos:

1 Formulario de ingreso de datos insertar.html


<HTML> <HEAD> <TITLE>Insertar.html</TITLE> </HEAD> <BODY> <div align="center"> <h1>Insertar un registro</h1> <br> <FORM METHOD="POST" ACTION="insertar.asp"> Nombre<br> <INPUT TYPE="TEXT" NAME="nombre"><br> Telfono<br> <INPUT TYPE="TEXT" NAME="telefono"><br> <INPUT TYPE="SUBMIT" value="Insertar"> </FORM> </div> </BODY> </HTML>

2 Cdigo para la insercin de registros insertar.asp


<HTML> <HEAD> <TITLE>Insertar.asp</TITLE> </HEAD> <BODY> <% 'Recogemos los valores del formulario nombre=Request.Form("nombre") telefono= Request.Form("telefono") 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("clientes.mdb")) 'Ahora creamos la sentencia SQL sSQL="Insert Into Clientes (nombre,telefono) values ('" & nombre & "','" & telefono & "')" 'Ejecutamos la orden set RS = Conn.Execute(sSQL) %>

<% 'Cerramos el sistema de conexion

125 Conn.Close %> </BODY> </HTML>

Cdigo para la lectura de registros de una tabla lectura.asp


<HTML> <HEAD> <TITLE>Lectura de registros de una tabla</TITLE> </HEAD> <BODY> <h1><div align="center">Lectura de la tabla</div></h1> <br> <br> <% 'Antes de nada hay que instanciar el objeto Connection Set Conn = Server.CreateObject("ADODB.Connection") 'Una vez instanciado Connection lo podemos abrir y le asignamos la base de datos donde vamos a efectuar las operaciones Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("clientes.mdb")) 'Ahora creamos la sentencia SQL que nos servira para hablar a la BD sSQL="Select * From Clientes Order By nombre" 'Ejecutamos la orden set RS = Conn.Execute(sSQL) 'Mostramos los registros%> <table align="center"> <tr> <th>Nombre</th> <th>Telfono</th> </tr> <% Do While Not RS.Eof %> <tr> <td><%=RS("nombre")%></td> <td><%=RS("telefono")%></td> </tr> <% RS.MoveNext Loop 'Cerramos el sistema de conexion Conn.Close %> </table>

126 </BODY> </HTML>

Cdigos para la borrar registros de una tabla 1 Formulario que despliega en un combo box el registro a eliminar borrar1.asp
<HTML> <HEAD> <TITLE>Borrar1.asp</TITLE> </HEAD> <BODY> <div align="center"> <h1>Borrar un registro</h1> <br> <% 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("clientes.mdb")) %> <FORM METHOD="POST" ACTION="borrar2.asp"> Nombre<br> <% 'Creamos la sentencia SQL y la ejecutamos sSQL="Select nombre From clientes Order By nombre" set RS = conn.execute(sSQL) %> <select name="nombre"> <% 'Generamos el menu desplegable do while not RS.eof%> <option><%=RS("nombre")%> <%RS.movenext loop %> </select> <br> <INPUT TYPE="SUBMIT" value="Borrar"> </FORM> </div> </BODY> </HTML>

127

2 Cdigo para la eliminacin de registros borrar2.asp


<HTML> <HEAD> <TITLE>Borrar2.asp</TITLE> </HEAD> <BODY> <% 'Recogemos los valores del formulario nombre=Request.Form("nombre") 'Instanciamos y abrimos nuestro objeto conexion Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("clientes.mdb")) 'Ahora creamos la sentencia SQL sSQL="Delete From Clientes Where nombre='" & nombre & "'" 'Ejecutamos la orden set RS = Conn.Execute(sSQL) %>

</BODY> </HTML>

Anda mungkin juga menyukai