Icon - Tesis Institucionales - Instituto Politécnico Nacional

Anuncio
INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA
MECÁNICA Y ELÉCTRICA
“APLICACIÓN WEB PARA EL MANEJO DE
SUSTANCIAS Y RESIDUOS QUÍMICOS”
T E S I S
QUE PARA OBTENER EL TÍTULO DE:
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
P
R
E
S
E
N
T
A
N
Gallardo Martínez Erick
Silva Sohn Servando So Yong
ASESORES:
M. en C.Felipe Durán Federico
M. en C. Zavala Mejía Genaro
MÉXICO, D.F.
2011
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERIA MECANICA y ELECTRICA
UNIDAD PROFESIONAL" ADOLFO LOPEZ MATEOS"
REPORTE TECNICO
QUE PARA OBTENER EL TITULO DE INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
POR LA OPCION DE TITULACION
CURRICULAR
DEBERA(N) DESARROLLAR
C. ERICK GALLARDO MARTÍNEZ
C. SERVANDO SO YONG SILVA SOHN
"APLICACIÓN WEB PARA EL MANEJO I?E SUSTANCIAS Y RESIDUOS QUÍMICOS"
DISEÑAR E IMPLEMENTAR UNA APLICACIÓN WEB LA CUAL CONTENGA UNA BASE DE
DATOS DEL INSTITUTO POLITÉCNICO NACIONAL PARA APOYAR LOS MATERIALES
QUÍMICOS Y RESIDUOS
QUE NO SE UTILICEN EN CIERTOS LABORATORIOS
REASIGNÁNDOLOS A OTROS LABORATORIOS PARA SU APROVECHAMIENTO.
•
•
ANALIZAR Y ESTRUCTURAR EL DISEÑO DE LA APLICACIÓN WEB y BASE DE DATOS
DISEÑAR Y ELABORAR LA APLICACIÓN WEB Y LA BASE DE DATOS EN BASE A LOS
PLANTEADO EN LA RPOPUESTA DE SOLUCIÓN PARA FINES DE PRUEBA Y AFINACIÓN
MÉXICO D.F. A 16 DE NOVIEMBRE DE 2011
ASESORES
FELIPE DURAN
M. EN C.
ÁZQUEZ ÁLVAREZ
JEFE DEL D
RTAMENTO ACADÉMICO DE
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Objetivo
Diseñar e implementar una aplicación WEB la cual contenga una base de
datos del Instituto Politécnico Nacional para aprovechar los materiales químicos y
residuos que no se utilicen en ciertos laboratorios reasignándolos a otros
laboratorios para su aprovechamiento.
Objetivos Particulares

Analizar y estructurar el diseño de la aplicación WEB y base de datos.

Diseñar y elaborar la aplicación WEB y la base de datos en base a lo
planteado en la propuesta de solución para fines de prueba y afinación.

Instalar el servidor WEB donde se alojará la información y portal.

Lanzar la prueba o piloto del servicio en una unidad académica (UPIBI).

Verificar y/o corregir los errores de la aplicación para poder trabajar en la
versión final.
2
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Justificación
Actualmente con los múltiples problemas ambientales que han sido
provocados por el abuso de los recursos naturales por parte del hombre ha planteado la
necesidad de crear la llamada “conciencia ecológica” o “conciencia verde”.
Las acciones usualmente enfocadas a cuidar el medio ambiente es la
reutilización de los materiales, y esto es precisamente el enfoque que se le quiere dar a
nuestro proyecto, en lugar de tirar los residuos químicos por la cañería sería mejor
ponerlos a disposición de otros laboratorios que puedan darle algún uso útil.
Además, derramar sustancias químicas al drenaje ocasiona deterioro en las
tuberías teniendo que dar mayor mantenimiento preventivo y/o correctivo a las
instalaciones lo cual ocasiona gastos adicionales, sin tomar en cuenta la contaminación
que pueda ocasionar al sistema fluvial nacional.
La ingeniería de comunicaciones y electrónica ha desarrollado herramientas
que permiten la comunicación e interacción a distancia entre personas y
organizaciones. Entre estas herramientas se encuentran las bases de datos, redes de
computadoras e internet.
Los puntos anteriores están enfocados al medio ambiente pero existen
ventajas económicas al mismo tiempo. El sistema de cómputo que se propone para el
proyecto va a permitir el intercambio de sustancias y reactivos químicos entre las
distintas unidades académicas del Instituto Politécnico Nacional con lo cual se podrían
ahorrar grandes cantidades de dinero al no adquirir material químico nuevo y mejor
recibirlo por parte de otra unidad académica. Adicionalmente se evitaría tener llenos los
estantes y almacenes de sustancias que no son utilizadas o sustancias ya caducas.
3
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Resumen Ejecutivo
La evolución de la tecnología ha modificado drásticamente los sistemas de
información en los últimos años. Anteriormente, una base de datos tenía que estar
guardada en un medio de almacenamiento y para tener acceso a ella, había que tener
este último físicamente para poder leerlo con algún dispositivo y posteriormente agregar
más información. Con la revolución en la última década de los servicios de internet y la
alta difusión que los proveedores de este servicio han tenido, hoy en día es posible
acceder a bases de datos que se encuentran en servidores al otro lado del mundo,
desde la comodidad de nuestros hogares, o en general desde cualquier lugar donde
exista una conexión a internet.
El concepto de aplicación WEB es diferente al de una página WEB por el hecho
de que esta aplicación tiene la posibilidad de realizar operaciones avanzadas, y trabajar
en conjunto con bases de datos. Para esto, se requiere un servidor que mantenga el
sitio, y realice los procesos en la base de datos y los almacene para que posteriormente
puedan ser accedidos de manera remota desde una computadora por medio de
internet.
A medida que avanza la tecnología el internet se ha vuelto una herramienta
bastante importante dado que este tipo de aplicaciones pueden ser utilizadas de
manera remota, con tan solo acceder a una determinada IP. Con el paso de los años la
tendencia es más que clara; poco a poco todos los servicios y programas que
utilizamos hoy en día se verán trasladados a servidores WEB a los cuales podremos
acceder de manera remota sin siquiera tener la aplicación instalada. A este tipo de
computación a la que nos dirigimos se le denomina “Cloud Computing”, o computación
en nube, haciendo referencia a que siempre se pueden acceder a los datos que se
encuentran “arriba”, en la “nube” como una metáfora de internet.
Con este nuevo paradigma, grandes empresas como Google y Microsoft, han
decidido ofrecer nuevos servicios utilizando el cómputo en nube para satisfacer varias
necesidades. Uno de los servicios más prestados en la actualidad es el servicio de
almacenamiento de información mediante una base de datos que puede ser utilizada
para cientos de objetivos mediante una aplicación WEB. La mayoría de los sitios de
internet incluyen una base de datos de sus clientes, siendo esta la manera más básica
del uso de bases de datos.
Sin embargo, otras empresas han decidido ir un paso adelante con la aplicación
de base de datos, y le han dado distintos usos como el servicio de compra y ventas en
un sitio WEB, páginas de intercambios de distintos materiales, venta de archivos
digitales multimedia (videos, música, libros, etc.) y hasta las más recientes redes
sociales que han crecido de manera acelerada en la última década.
Bajo la gran necesidad de aprovechar las sustancias y residuos químicos en
instituciones públicas y privadas, es que se ha decidido realizar una aplicación WEB
que fomente y eduque a las personas a tener la cultura de aprovechar en la medida de
4
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
lo posible todo tipo de sustancias y residuos químicos que por alguna razón no son
útiles para otros.
Por medio de un sistema de datos, se pretende realizar poco a poco un gran
centro de información donde los profesores, investigadores, estudiantes y profesionistas
puedan acceder a ofertar y demandar toda aquella sustancia, materia, reactivo o
residuo químico que requiera de otro lugar, o que desee poner a disposición para ser
aprovechado por alguien más. De igual manera, se creará una base de datos de todas
aquellas personas que trabajan en este medio, con la información del lugar y laboratorio
donde trabajan, la institución a la que pertenecen, su área, y datos personales para
contactarse en caso de necesario.
Dentro de los servicios que cumplen con estas funciones, se destacan 2
lenguajes de programación orientados a diseño y creación de páginas WEB orientadas
a ser interpretadas del lado del servidor. Por un lado se encuentra el Pre-procesador de
hipertexto (PHP), creado en 1994 y categorizado como software libre. Por otro lado se
encuentran las Páginas de Servidor Activo (ASP), tecnología creada por Microsoft y que
requiere de Licencia.
Dado el conocimiento de lenguajes de programación como Visual C# y las
ventajas que ofrece, se ha elegido la tecnología ASP de Microsoft para realizar la
aplicación WEB en conjunto con Microsoft SQL Server 2008 para trabajar con bases de
datos. Para el servidor se utilizará el sistema operativo Windows Server 2003 o en su
defecto la versión más reciente 2008.
Una de las razones principales por las cuales se ha decidido realizar este
proyecto, es que además de ser un proyecto con un enfoque “ecológico”, existen un
sinfín de instituciones y personas que podrían participar. En un inicio, la aplicación
podría aplicarse a una institución en particular, pero posteriormente más empresas o
instituciones podrían irse añadiendo, y finalmente convertirse en un estándar de la
disposición de residuos, que si bien no parece ser un proceso difícil, en realidad es
laborioso, tardado, costoso y complicado por las amplias situaciones que se pueden
llegar a dar.
Para la realización de este proyecto, nos apoyamos en técnicas de diseño de
páginas WEB, así como el planteamiento y
generación de bases de datos.
Adicionalmente se utilizaron procesos de ingeniería de software enfocados a la creación
de aplicaciones WEB.
El proyecto consta en general de cuatro partes básicas:


Estudio de las necesidades de laboratorios químicos y la manipulación y
desecho de sustancias y residuos químicos
Diseño y creación de un sitio WEB de manera superficial aun sin manejar bases
de datos (y por lo tanto no ser una aplicación WEB)
5
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos



Creación y vinculación de bases de datos a la página WEB para formar la
aplicación
Instalación de servidor WEB y montaje del sitio en una IP con su respectivo
dominio
Parametrización y Optimización de operaciones y seguridad de acuerdo a las
necesidades que vayan surgiendo mediante el uso de la plataforma.
Para la correcta realización de este proyecto, se ha decidido que se forme un
equipo interdisciplinario, juntando así la Escuela Superior de Ingeniería Mecánica y
Eléctrica ESIME con un profesor y alumna de la Unidad Profesional Interdisciplinaria de
Biotecnología UPIBI, quienes nos apoyarán con los puntos de planteamiento de
necesidades y Parametrización y optimización de acuerdo a las necesidades obtenidas
en los estudios.
En relación de los puntos de diseño y programación del sitio WEB, existen varias
alterativas en el mercado para la correcta realización de los mismos. Los programas
seleccionados fueron: Adobe Dreamweaver CS5 y Microsoft Visual Studio 2010 en
conjunto con Microsoft SQL Server 2008.
La razón de utilizar Adobe Dreamweaver CS5 es que este programa es mucho
más completo y flexible en cuanto a diseño de páginas WEB, permitiéndonos crear
plantillas y diseños de manera dinámica y más fácil en comparación de tal manera que
se trabajare el resto del desarrollo en Visual Studio. Por otro lado, MS Visual Studio se
utilizó para realizar la programación en ASP y la conexión de bases de datos en SQL
Server 2008 con los formularios del sitio WEB. MS Visual Studio tiene la propiedad de
ser extremadamente amigable con el usuario al momento de trabajar con idiomas
como C# bajo la plataforma .NET de Microsoft.
Se ha decidido utilizar las últimas versiones del software para aprovechar las
últimas tecnologías pero a la vez teniendo en cuenta que sea posible la retrocompatibilidad con versiones más antiguas del mismo.
Por último, para montar la aplicación WEB al servidor, se utilizará IIS ya que
como se mencionó anteriormente, ASP funciona con este servicio de información de
internet.
6
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Introducción
Para desarrollar este proyecto se siguió la siguiente metodología:
Se realizó una investigación previa por parte de la unidad académica UPIBI la
cual identificó el problema del mal uso y desecho de sustancias y residuos químicos. De
aquí se planteó una propuesta general de solución la cual era realizar un sitio WEB
para poder realizar cierto intercambio de las sustancias y residuos que ya no se utilizan
dentro de todas las unidades académicas y centros de investigación del Instituto
Politécnico Nacional.
Una vez que nos fue planteada la solución, se decidió que lo más adecuado era
realizar una aplicación WEB, en vez de un simple sitio WEB. Esta aplicación trabajará
con bases de datos y se podrá acceder a él desde cualquier dispositivo con acceso a
Internet.
Con la información recopilada se procedió a elaborar un plan de trabajo y juntas
para realizar cambios y mejoras de los planes y posteriormente desarrollar la solución y
realizar la etapa de pruebas (piloto).
La presente Tesis está estructurada de la siguiente manera:
Antes del capítulo 1 se presentan todos los antecedentes de las aplicaciones
WEB y los sistemas de información. Posteriormente se realizó el Estado del Arte para
investigar acerca de aplicaciones que tuvieran propósitos similares, así como el lugar
donde radican y que alcance tienen.
En el capítulo 1 se presentan los puntos más básicos y relevantes de las bases
de datos. Se explican los modelos de datos, los lenguajes de bases de datos y la
estructura de un sistema de bases de datos. El capítulo 1 también menaje brevemente
la arquitectura de las aplicaciones y conceptos básicos acerca de Microsoft SQL y el
sistema Operativo Windows Server 2008.
En el capítulo 2 se estudian cuáles son los procesos de la ingeniería de software.
Se detallan los modelos del proceso de software y la iteración de procesos, así como se
elige el proceso a utilizar en nuestro proyecto en las conclusiones.
En el capítulo 3 se muestra la identificación del problema y la propuesta general
de solución. De igual manera se muestra un diseño previo de la aplicación WEB así
como se explican las facilidades y dificultades analizadas previas al desarrollo de la
aplicación WEB.
Por último, el capítulo 4, llamado “Desarrollo Técnico” plantea las diferencias
entre distintos lenguajes para el desarrollo de aplicaciones WEB y el porqué de la
elección de ASP.net. Posteriormente se derivan el planteamiento del diseño final del
sitio WEB y el análisis del diseño de bases de datos con sus respectivos esquemas y
7
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
diagramas. Finalmente se realiza el desarrollo de la aplicación y se plantean las
conclusiones así como las observaciones y las recomendaciones al momento de
realizar la Aplicación WEB. Dado que este es un sistema cuyo ciclo de vida apena
comienza, se dejan claros los siguientes objetivos y algunas optimizaciones que pueden
aplicar para el siguiente ciclo de vida del software.
8
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
ÍNDICE
Resumen ejecutivo
Introducción
Glosario técnico
Antecedentes
Estado del arte
CAPÍTULO
4
7
13
16
21
1: Marco Teórico
1.1
1.2
1.3
1.3.1
1.3.2
1.3.3
1.4
1.4.1
1.4.2
1.5
1.5.1
1.5.2
1.6
1.7
1.7.1
1.8
1.8.1
1.8.2
1.9
1.9.1
1.10
Bases de datos
Aplicaciones de los sistemas de bases de datos
Modelos de los datos
Modelo Entidad-Relación
Modelo Relacional
Otros modelos de datos
Lenguajes de bases de datos
Lenguaje de definición de datos
Lenguaje de manipulación de datos
Estructura de un sistema de bases de datos
Gestor de almacenamiento
Procesador de consultas
Arquitectura de aplicaciones
SQL
Estructura básica de SQL
Windows server 2008
Características
Ediciones
Internet Information Services (IIS)
Windows Server 2008 y IIS
Conclusiones del capitulo
23
23
24
24
25
26
26
26
27
27
28
28
29
31
31
32
32
32
33
33
35
2.1
2.2
2.2.1
2.2.2
2.2.3
2.3
2.3.1
2.3.2
2.4
CAPÍTULO
2: Marco Teórico
Procesos del software
Modelos del proceso del software
El modelo en cascada
Desarrollo evolutivo
Ingeniería del software basada en componentes
Iteración de procesos
Entrega incremental
Desarrollo en espiral
Conclusiones del capitulo
36
37
38
39
41
42
43
44
47
9
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
3.1
3.2
3.3
3.4
3.5
CAPÍTULO
3: Análisis de condiciones
actuales
Identificación del problema
Propuesta general de solución
Diseño preliminar a detalle
Facilidades y dificultades previas al desarrollo de la solución
Conclusiones del capitulo
CAPÍTULO
4.1
4.2
4.3
4.4
4.5
4.5.1
4.5.2
4.5.3
4.5.4
4.6
4.6.1
4.6.2
48
48
51
62
64
4: Desarrollo Técnico
Diferencias entre lenguajes/plataforma para el desarrollo de
aplicaciones WEB
Elección de lenguajes/plataformas para el desarrollo de aplicaciones
WEB
Análisis y diseño de modelos entidad-relación
Análisis y diseño de la estructura del sitio WEB (mapa del sitio)
Desarrollo
Diseño de la hoja de estilo (CSS) en adobe Dreamweaver CS5
Creación y diseño de la plantilla principal en Visual Studio 2010
Desarrollo de la aplicación WEB en ASP.NET con Visual Studio
2010
Creación de bases de datos y vinculación a la aplicación
Instalación y puesta en marcha
Instalación de Internet Information Services (IIS)
Montaje de una aplicación ASP.NET en un servidor WEB
Evaluación Económica
Conclusiones
Comentarios y Recomendaciones
Fuentes de información
65
66
67
69
70
71
72
74
82
86
89
99
103
104
105
10
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
INDICE DE FIGURAS
CAPÍTULO
1.1.
1.2.
1.3.
Ejemplo de Diagrama Entidad-Relación
Estructura del Sistema
Arquitectura de dos y tres capas
CAPÍTULO
2.1
2.2
2.3
2.4
2.5
4.1
4.2
38
40
42
43
45
3
Diseño preliminar de la página de inicio
Diseño preliminar de la sección de búsqueda
Diseño preliminar de los resultados de la búsqueda
Diseño preliminar de la sección oferta/demanda
Diseño preliminar del proceso de oferta/demanda
Diseño preliminar al no existir resultados encontrados
Diseño preliminar del inicio de sesion
Diseño preliminar de la etapa de registro de usuarios
Diseño preliminar del ingreso de una oferta/demanda
Diseño preliminar de la confirmación de nueva oferta/demanda
Diseño preliminar del cierre de sesión
Diseño preliminar de la actualización de datos
Diseño preliminar de la sección de eventos
Diseño preliminar de la sección de enlaces
Diseño preliminar de la sección de asesoria
Diseño preliminar de la sección de noticias
CAPÍTULO
25
29
30
2
El ciclo de vida del Software
Desarrollo Evolutivo
Ingeniería de Software basada en Componentes (CBSE)
Entrega Incremental
Modelo en Espiral de Boehm para el proceso de Software
CAPÍTULO
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
1
51
52
52
53
54
55
55
56
57
58
58
59
60
60
61
61
4
Modelo Entidad-Relación previo al desarrollo de la base de datos
Modelo Entidad-Relación una vez creada la base de datos en SQL
Server 2008
4.3
Diagrama de flujo del desarrollo de una aplicación WEB
4.4
Hoja de estilo cascada en Dreamweaver CS5
4.5
Hoja de estilo cascada en Dreamweaver CS5
4.6
Código aspx.cs de plantilla maestra “Site Master”
4.7
Vista Diseño de la plantilla “Site Master”
4.8
Página de Inicio “default.aspx”
67
68
70
71
72
73
73
74
11
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
4.32
4.33
Vista Diseño de la sección de Búsqueda de Residuos y Sustancias
Vista Diseño de la sección de Ofertas y Demandas
Vista Diseño de la Sección de Enlaces
Vista Diseño de la Sección “Conócenos”
Vista Diseño de la Sección Eventos y Noticias
Vista Diseño de la Sección Inicio de Sesión
Vista Diseño de la Sección Registro de Usuario
Definición de atributos y tipos de datos de la tabla Usuarios
Definición de atributos y tipos de datos de la tabla Formulario
Código aspx.cs para realizar la conexión con la base de datos
Exportación de los archivos para su posterior publicación
Carpeta con los archivos exportados desde VS 2010
Ventana de programas y características del panel de control
Ventana del Administrador del Servidor
Ventana del Asistente para agregar funciones
Proceso de selección de funciones del servidor
Ventana del administrador de Servicios de Administración de
Internet
Página principal de Default WEB site
Opciones de configuración al crear un sitio WEB
Página principal del sitio WEB “TesisIntercambio”
Vista contenido del Sitio WEB “TesisIntercambio”
Sitio WEB visto en un navegador
Grupos de aplicaciones
Configuración básica del grupo de aplicaciones
Sitio WEB visto correctamente en un navegador
75
76
77
78
79
80
81
82
83
83
85
85
86
87
88
89
90
91
92
93
94
95
96
97
98
12
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
GLOSARIO TÉCNICO
.NET
Framework
Adobe
Dreamweaver
ADP
ASLR
ASP
AWE
Back-up
Base de datos
C#
CAS
CASE
CBSE
Cintas
Magnéticas
Cluster
COTS
CPU
CPR
CSS
DDL
Disco Duro
DML
DNSSEC
FTP
GB
Hardware
HTML
HTTP
HTTPS
IBM
IIS
Internet
Explorer
iSCSI
Componente de software que provee un extenso conjunto de
soluciones
predefinidas
para
necesidades
generales
de
la programación de aplicaciones, y administra la ejecución de los
programas escritos específicamente con la plataforma.
Aplicación en forma de estudio enfocada a la construcción y edición
de sitios y aplicaciones WEB.
Access Data Project.
Address Space Load Randomization
Active Server Pages
Address Windowing Extensions
Copia de seguridad
Conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemáticamente para su posterior uso.
Es un lenguaje de programación orientado a objetos desarrollado y
estandarizado por Microsoft como parte de su plataforma .NET
Numero de identificador único para las sustancias químicas.
Computer Aided Software Engineering.
Component-based software Engineering.
Medio de almacenamiento de información que se graba en pistas
sobre una banda plástica con un material magnetizado.
Conjuntos de computadoras construidos mediante la utilización de
componentes de hardware comunes y que se comportan como si
fuesen una única computadora.
Commercial off-the-shelf
Central Processing Unit
Se refiere al Código de Peligrosidad de los Residuos.
Cascading Style Sheets
Data Definition Language
Dispositivo de almacenamiento de datos no volátil que emplea un
sistema de grabación magnética para almacenar datos digitales.
Data Manipulation Language
DNS Security Extensions
File Transfer Protocol
Gigabyte; Un GB igual a 1024MB.
Corresponde a todas las partes físicas y tangibles de
una computadora.
HyperText Markup Language
Hypertext Transfer Protocol
Hypertext Transfer Protocol Secure
International Business Machines
Internet Information Services
Es un navegador WEB desarrollado por Microsoft para el sistema
operativo Microsoft Windows desde 1995
Internet Small Computer System Interface
13
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Iteración
Se refiere a la acción de repetir una serie de pasos un cierto número
de veces.
JAVA
Lenguaje de programación orientado a objetos, desarrollado por Sun
Microsystems a principios de los años 90
Javascript
Lenguaje de scripting orientado a objetos, basado en prototipos,
liviano, utilizado para acceder a objetos en aplicaciones.
JDBC
Java Database Connectivity
LOB
Line of Business
Macromedia
Es una aplicación en forma de estudio que trabaja sobre
flash
"fotogramas", destinado a la producción y entrega de contenido
interactivo.
MB
Megabyte; un MB es igual a 1024KiloBytes.
Microsoft
Empresa multinacional dedicada al sector de la informática.
Microsoft SQL Un sistema para la gestión de bases de datos producido
Server
por Microsoft basado en el modelo relacional.
Microsoft
Un entorno
de
desarrollo
integrado (IDE)
para
sistemas
Visual Studio
operativos Windows.
Modelo
Modelo de datos basado en la lógica de predicados y en la teoría de
Relacional
conjuntos.
modem
Dispositivo
que
sirve
para
enviar
una
señal
llamada moduladora mediante otra señal llamada portadora.
Sistema de gestión de base de datos relacional, multiMySQL
hilo y multiusuario.
Netscape
Netscape fue el primer navegador comercial.
Navigator
NNTP
Network News Transport Protocol
NTFS
Sistema de archivos de Windows NT incluido en las versiones
de Windows 2000, Windows XP, Windows Server 2003, Windows
Server 2008, Windows Vista y Windows 7.
OBDC
Object Data Base Conector
Oracle
Sistema de gestión de base de datos relacional
Perl
Lenguaje de programación que toma características del lenguaje C,
del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado
inferior, de muchos otros lenguajes de programación.
PHP Hypertext Pre-processor.
Lenguaje
de
PHP
programación interpretado, diseñado originalmente para la creación
de páginas WEB dinámicas.
RAM
Random-access memory
RTM
Release to manufacturing
SGBD
Sistema de gestión de base de datos
SMB2
Server Message Block 2
SMTP
Simple Mail Transfer Protocol
software
Comprende el conjunto de los componentes lógicos necesarios que
hacen posible la realización de tareas específicas.
SQL
Lenguaje declarativo de acceso a bases de datos relacionales que
permite especificar diversos tipos de operaciones en éstas.
14
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Super-Clave
TB
Tupla
UDDI
VBA
Visual Basic
W3c
WEB
WHEA
Windows
server
www
XML
Conjunto de uno o más atributos que, tomados colectivamente,
permiten identificar de forma única una entidad en el conjunto de
entidades.
TeraByte.
Conjunto de elementos de distinto tipo que se guardan de forma
consecutiva en memoria.
Universal Description, Discovery and Integration
Visual Basic for Applications
El lenguaje de programación es un dialecto de BASIC, con
importantes agregados.
World Wide WEB Consortium
World Wide WEB
Windows Hardware Error Architecture
Windows Server es una marca que abarca una línea de
productos servidor de Microsoft Corporation.
World Wide WEB
Extensible Markup Language
15
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
ANTECEDENTES
El diseño WEB original fue evolucionando y ha pasado por distintas
generaciones, principalmente debido a mejoras en la tecnología, hardware y software.
Estos cambios han generado a día de hoy 4 generaciones del diseño WEB.
Primera generación de diseño WEB
El primer diseño WEB de una página se realizó en 1993, la página WEB tenía el
nombre Mosaic, y en menos de un año había recibido 2 millones de visitantes. El
navegador WEB era capaz de mostrar tanto imágenes como textos, aunque con una
limitación muy alta a la hora de diagramar la información de la página WEB. El diseño
WEB de estas páginas era lineal y estaba orientado para científicos que eran los
usuarios que compartían su información alrededor de todo el mundo mediante estas
páginas WEB. La tecnología de los navegadores WEB era limitada y no disponía de la
capacidad de transmitir información gráfica para la comunicación visual.
Las principales características de esta primera generación de diseño WEB eran
las velocidades de transmisión de datos, ya que era conexión vía MODEM, lo que
limitaba el peso de las páginas WEB. Otro detalle era el uso de monitores
monocromáticos. Respecto al diseño WEB en particular, la estructuración era bastante
desordenada con imágenes dispuestas horizontalmente y líneas de texto separadoras.
Debido a este caos en el diseño WEB, un año más tarde se estableció un
consorcio para establecer unas normas y pautas para el futuro desarrollo de la WEB, el
W3C. Se comenzaron entonces a desarrollar unos estándares de lenguaje HTML para
una unificación del diseño WEB que trajo consigo la aparición de una serie de
navegadores WEB con el constante desarrollo de nuevas funcionalidades y progresos
en este ámbito.
Segunda generación de diseño WEB
El diseño WEB de esta generación está basado en los conceptos de la primera
salvo por que empieza a utilizar iconos en lugar de algunas palabras, las páginas WEB
comienzan a poseer imágenes de fondo, aparece el diseño y uso de botones con
relieve para la navegabilidad, el uso de publicidad en lugar de cabeceras, la
estructuración de texto de forma jerárquica mediante menús o listados, propiedades del
código HTML Standard definido.
La aparición de estos elementos gráficos en el diseño WEB generó un deseo de
todos los diseñadores de añadir estos archivos en sus páginas WEB, pero sin control, lo
que generó una saturación en las páginas WEB, sin tener en cuenta la accesibilidad ni
la utilidad. Aun así seguían habiendo algunos diseñadores que utilizaban estos
elementos de manera adecuada para generar unos diseños innovadores y elegantes,
usando correctamente tanto etiquetas como el resto del código HTML. Se comenzaron
16
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
a usar tablas para la organización de los contenidos, posicionamiento de los elementos
y generación de diseño similar a libros o revistas.
En esta generación está la aparición de monitores y tarjetas gráficas con
mayores resoluciones y definición de color, lo cual generó la consecuente mejora en la
calidad del diseño WEB.
Pero apareció un problema, la diferencia en la adaptación de estándares de los 2
principales navegadores: Internet Explorer y Netscape Navigator.
Tercera Generación del diseño WEB
En la tercera generación, el diseño WEB sigue teniendo muchas restricciones
con el uso del lenguaje para los dos navegadores WEB. El diseño WEB se orienta en
esta generación a los diseñadores, los cuales tienen mucho más dinamismo al aparecer
el plug-in de Macromedia Flash, el cual revolucionaría la concepción de diseño WEB.
Es una era de enfocar las páginas WEB según el objetivo de las mismas: vender
productos o servicios, comunidades, información, noticias. Para esta especialización del
diseño WEB de acuerdo al objetivo de las páginas se necesita ayudar al usuario a
encontrar la información, generando una navegabilidad estructurada e intuitiva.
La gran mayoría de páginas WEB que aparecen en esta generación son de
publicidad y venta de productos y servicios, con lo que es este el diseño más utilizado.
Conseguir acercarles al producto, que deseen ver más páginas del sitio WEB.
Cuarta Generación de diseño WEB
En la cuarta generación, el diseño WEB ya está enfocado totalmente a la
multimedia, integrando en las páginas WEB los elementos multimedia de última
generación. Con usuarios de todos los tipos, cualquiera tiene una página WEB a día de
hoy y la variedad de diseño es enorme debido a todas las posibilidades que ofrecen las
últimas tecnologías para los programadores. A esto le podemos añadir que las últimas
versiones de los navegadores soportan muchas más prestaciones y elementos en las
páginas WEB.
Quinta Generación de diseño WEB
Se podría añadir una última generación de diseño WEB que representaría el
auge de las páginas de televisión IP o televisión online. La integración de televisión en
la WEB para empresas, ayuntamientos o asociaciones representa el movimiento más
notable del diseño WEB en la actualidad. Un ejemplo de empresas de diseño que ya
ofrecen la posibilidad de integración de televisión en WEB es Hooping.net mediante su
plataforma de televisión IP Hooping.tv.
17
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Concepto de bases de datos
Las bases de datos son una herramienta de vital importancia para el desarrollo
de la actividad profesional. Existen dos colectivos que a menudo son el mismo
especialmente beneficiados por las bases de datos. Por una parte, los investigadores y,
por otra, los profesionales. Se podría considerar como base de datos cualquier
recopilación organizada de información sobre la que haya habido análisis documental y
que disponga de un sistema de búsqueda específica. Partiendo de esta idea, se
podrían incluir los catálogos bibliotecarios. Sin embargo, en este trabajo se ha optado
por emplear como criterio el seleccionar sólo aquellas bases formadas principalmente
por descripciones de documentos impresos o electrónicos de libre acceso procedentes
de revistas y artículos en Ciencia de la Información.
Historia de los sistemas de bases de datos
El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la
necesidad de almacenar grandes cantidades de datos, para su posterior consulta,
producidas por las nuevas industrias que creaban gran cantidad de información.
Herman Hollerit (1860-1929) fue denominado el primer ingeniero estadístico de la
historia, ya que invento una computadora llamada “Máquina Automática Perforadora de
Tarjetas. Para hacer el censo de Estados Unidos en 1880 se tardaron 7 años para
obtener resultados, pero Herman Hollerit en 1884 creo la máquina perforadora, con la
cual, en el censo de 1890 dio resultados en 2 años y medio, donde se podía obtener
datos importantes como número de nacimientos, población infantil y número de familias.
La máquina uso sistemas mecánicos para procesar la información de las tarjetas y para
tabular los resultados.
A diferencia con la máquina de Babbage, que utilizaba unas tarjetas similares,
estas se centraban en dar instrucciones a la máquina. En el invento de Herman Hollerit,
cada perforación en las tarjetas representaba un número y cada dos perforaciones una
letra, cada tarjeta tenía capacidad para 80 variables. La máquina estaba compuesta por
una perforadora automática y una lectora, la cual por medio de un sistema eléctrico leía
los orificios de las tarjetas, esta tenía unas agujas que buscaban los orificios y al tocar
el plano inferior de mercurio enviaba por medio del contacto eléctrico los datos a la
unidad.
Este invento disparo el desarrollo de la tecnología, la industria de los
computadores, abriendo así nuevas perspectivas y posibilidades hacia el futuro.
Historia de los sistemas de bases de datos-Década de 1950
En este lapso de tiempo se da origen a las cintas magnéticas, las cuales
sirvieron para suplir las necesidades de información de las nuevas industrias. Por medio
de este mecanismo se empezó a automatizar la información de las nóminas, como por
18
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
ejemplo el aumento de salario. Consistía en leer una cinta o más y pasar los datos a
otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de
Back-up, que consiste en hacer una copia de seguridad o copia de respaldo, para
guardar en un medio extraíble la información importante. La nueva cinta a la que se
transfiere la información pasa a ser una cinta maestra. Estas cintas solo se podían leer
secuencial y de manera ordenada.
Historia de los sistemas de bases de datos-Década de 1960
El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por
medio de este soporte se podía consultar la información directamente, esto ayudo a
ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los
discos, ya que en milisegundos era recuperable la información. A diferencia de las
cintas magnéticas, ya no era necesaria una secuencia, y este tipo de soporte empiezo a
ser ambiguo.
Los discos dieron inicio a las Bases de Datos, de red y jerárquicas, pues los
programadores con su habilidad de manipulación de estructuras junto con las ventajas
de los discos era posible guardar estructuras de datos como listas y árboles.
Historia de los sistemas de bases de datos-Década de 1970
Edgar Frank Codd (23 de agosto de 1923 – 18 de abril de 2003), en un artículo
"Un modelo relacional de datos para grandes bancos de datos compartidos" ("A
Relational Model of Data for Large Shared Data Banks") en 1970, definió el modelo
relacional y publicó una serie de reglas para la evaluación de administradores de
sistemas de datos (DBSM) relacionales y así nacieron las bases de datos relacionales.
A partir de los aportes de Codd el multimillonario Larry Ellison desarrollo la base
de datos Oracle, el cual es un sistema de administración de base de datos, que se
destaca por sus transacciones, estabilidad, escalabilidad y multiplataforma.
Inicialmente no se usó el modelo relacional debido a que tenía inconvenientes
por el rendimiento, ya que no podían ser competitivas con las bases de datos
jerárquicas y de red. Ésta tendencia cambio por un proyecto de IBM el cual desarrolló
técnicas para la construcción de un sistema de bases de datos relacionales eficientes,
llamado System R.
Historia de los sistemas de bases de datos-Década de 1980
Las bases de datos relacionales con su sistema de tablas, filas y columnas,
pudieron competir con las bases de datos jerárquicas y de red, ya que su nivel de
programación era bajo y su uso muy sencillo.
En la década de 1980 a 1990 el modelo relacional ha conseguido posicionarse
del mercado de las bases de datos. Y también en este tiempo se iniciaron grandes
investigaciones paralelas y distribuidas, como las bases de datos orientadas a objetos.
19
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Historia de los sistemas de bases de datos-Principios década de los 90
Para el manejo de bases de datos se creó el lenguaje SQL, que es un lenguaje
programado para consultas. SQL es un lenguaje de alto nivel estructurado que analiza
grandes cantidades de información el cual permite especificar diversos tipos de
operaciones frente a la misma información, a diferencia de las bases de datos de los 80
que eran diseñadas para las aplicaciones de procesamiento de transacciones. Los
grandes distribuidores de bases de datos incursionaron con la venta de bases de datos
orientada a objetos.
Historia de los sistemas de bases de datos-Finales de la década de los 90
El boom de esta década fue la aparición de la WWW “Word Wide WEB‿ ya que
por éste medio se facilitaba la consulta a las bases de datos. Actualmente tienen una
amplia capacidad de almacenamiento de información, también una de las ventajas es el
servicio de siete días a la semana las veinticuatro horas del día, sin interrupciones a
menos que haya planificaciones de mantenimiento de las plataformas o el software.
Historia de los sistemas de bases de datos-Siglo XXI
En la actualidad existe gran cantidad de alternativas en línea que permiten hacer
búsquedas orientadas a necesidades específicas de los usuarios, una de las tendencias
más amplias son las bases de datos que cumplan con el protocolo Open Archives
Initiative – Protocol for Metadata Harvesting (OAI-PMH) los cuales permiten el
almacenamiento de gran cantidad de artículos que permiten un mayor acceso en el
ámbito científico y general.
En el capítulo 1 se explicará más a fondo acerca de los modelos de bases de
datos y su modo de funcionar.
20
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
ESTADO DEL ARTE
El manejo y desecho correcto de sustancias y residuos químicos es un tema
ampliamente debatido y concurrido entre organizaciones que se dedican a la industria
química o que tienen que ver en algún aspecto con ella como lo son las Instituciones
Educativas Públicas y Privadas que entre sus grandes laboratorios y la enorme
cantidad de estudiantes y docentes que las frecuentan.
El problema principal radica en que en muchos lugares se manejan grandes
cantidades de químicos los cuales en muchas ocasiones quedan guardados en
almacenes durante mucho tiempo y finalmente terminan siendo tirados a la basura. En
el mejor de los casos, este tipo de sustancias se utilizan para un proceso simple o para
un objeto educativo y finalmente terminan siendo descartadas de manera impropia y sin
categorizarse ni haber registro de ello.
En este caso, se podría pensar que existen métodos para aprovechar al máximo
el uso de estas sustancias, así como sistemas que se dedican de manera
independiente a ello, pero no es así. En los mejores casos, existen instituciones que se
dedican al correcto manejo correcto de las sustancias, pero todas estas terminan sin
ser utilizadas normalmente, y no existe una re-ubicación de estas para que sean
aprovechados en otros lugares. Por lo mismo, las Instituciones Educativas son una
excelente opción para iniciar este proceso.
En México no existe como tal un sistema que permita el intercambio de
sustancias y residuos químicos hasta la fecha. Por lo menos no que esté documentado
y que sea fácil acceder a él de manera pública. Algunas instituciones educativas
grandes como la UNAM, el ITESM, el IPN o la UAM contratan empresas que se
encargan de desechar los residuos de manera apropiada, pero intercambios incluso
entre sus propias unidades académicas son procesos espontáneos y que
probablemente no tienen algún registro oficial en un sistema dedicado.
Es raro pensar que en países desarrollados como Estados Unidos de América o
en algunas regiones de Europa no existan sistemas como el que se quiere aplicar hoy
en día, sin embargo, al realizar la investigación no logramos encontrar algún sistema o
aplicación WEB dedicado única y exclusivamente al intercambio de sustancias y
residuos químicos tanto de manera interna (en una misma institución) como de manera
abierta.
Sin embargo, en Latinoamérica existe la Bolsa de Residuos y Subproductos
Industriales (BORSI), la cual representa un sistema de intercambio similar al que se
quiere realizar, pero enfocado principalmente a residuos industriales. BORSI está
ubicado en Costa Rica, Colombia y Ecuador, ofreciendo distintos servicios de Bolsa y
Mercado de productos industriales en distintas ciudades de cada país.
21
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Por más raro que parezca, la BORSI tiene presencia en áreas donde son
necesarias y no en países primer-mundistas y realiza un trabajo bastante completo en
su área correspondiente ofreciendo una solución interesante para las industrias.
Por último, cabe recalcar que existe una empresa llamada Quiminet, la cual tiene
su oficina matriz en México D.F pero se extiende a países como Estados Unidos,
Canadá, España, regiones de Centroamérica, el Caribe y el Resto del mundo, así como
tiene oficinas en la región del Mercosur y la región Andina en Sur-América.
Quiminet ofrece la facilidad de realizar solicitudes y ofertas de un sinfín de
productos de origen químico, como lo son:










Empaques, envases y embalajes
Plásticos
Industria Alimenticia
Minería
Industria Farmacéutica
Pinturas
Transporte y Logística
Eléctrica
Textil
Naturista
Como puede observarse, Quiminet se encarga de ofrecer un sistema de
búsqueda en un rango mucho más amplio y no es dedicada a las sustancias y residuos
químicos, por lo que no existe competencia directa con la aplicación que se quiere
realizar. Se menciona finalmente porque es la opción más parecida a esta en la región
de Norte América y específicamente en México.
22
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
CAPÍTULO
1
1.1. Bases de datos
Un sistema gestor de bases de datos (SGBD) se conforma de una colección de
datos interrelacionados y un conjunto de programas para acceder a dichos datos. La
colección de datos, normalmente se les denomina base de datos, contienen información
relevante. El objetivo principal de un SGBD es proporcionar una forma de almacenar y
recuperar la información de una base de datos de manera que sea práctica como
eficiente.
Los sistemas de bases de datos se diseñan para gestionar grandes cantidades
de información. La administración de los datos significa la definición de estructuras para
almacenar la información como la provisión de herramientas para la manipulación de la
información. Además, los sistemas de bases de datos deben proporcionar fiabilidad en
la información almacenada, a pesar de las fallas del sistema o los intentos de acceso no
autorizados. Si los datos van a ser compartidos entre varios usuarios, el sistema debe
evitar posibles resultados anómalos.
Dado que la información es muy importante en la mayoría de las organizaciones,
los científicos informáticos han desarrollado un amplio conjunto de conceptos y técnicas
para la gestión de los datos.
1.2. Aplicaciones de los sistemas de bases de datos
Las bases de datos son ampliamente usadas en diferentes áreas. Las siguientes
son algunas de sus aplicaciones más representativas y comunes en la actualidad:
 Bancos. Para almacenar la información de los clientes, cuentas,
préstamos, y transacciones bancarias.
 Aéreo líneas. Para reservaciones e información de planificación. Las
líneas aéreas fueron de los primeros en usar las bases de datos de forma
distribuida geográficamente (los terminales situados en todo el mundo
accedían al sistema de bases de datos centralizado a través de las líneas
telefónicas y otras redes de datos).
 Universidades. Para la información de los estudiantes, calificaciones,
matriculas de las asignaturas y cursos.
 Tarjetas de crédito. Para compras con tarjeta de crédito y generación
mensual de estados de cuentas.
 Telecomunicaciones. Para guardar un registro de las llamadas realizadas,
generación mensual de facturas y para almacenar información sobre las
redes de comunicaciones.
 Finanzas. Para almacenar información sobre grandes empresas, ventas y
compras de documentos formales financieros, como bolsa y bonos.
23
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos



Ventas. Para información de clientes, productos y compras.
Producción. Para la gestión de la cadena de producción y para el
seguimiento de la producción de elementos en las factorías, inventario en
almacenes y pedidos de elementos.
Recursos humanos. Para información sobre los empleados, salarios,
impuestos, beneficios, y para la generación de las nóminas.
Las bases de datos forman una parte esencial de casi todas las empresas
actuales. A lo largo de las últimas cuatro décadas del siglo veinte, el uso de las bases
de datos se extendió en empresas de todo tipo de giros comerciales.
El acceso a internet para las masas a finales de la década de 1990 aumento
significativamente el acceso directo del usuario a las bases de datos. Las
organizaciones convirtieron muchas de sus interfaces telefónicas a las bases de datos
en interfaces WEB, y pusieron disponibles en línea muchos servicios.
Así, aunque las interfaces WEB ocultan el acceso a las bases de datos, y la
mayoría de la gente ni siquiera se da cuenta de que están interactuando con una base
de datos, el acceso a las bases de datos forma una parte esencial de las actividades de
casi todas las personas actualmente.
1.3. Modelos de los datos
Bajo la estructura de la base de datos se encuentra el modelo de datos: una
colección de herramientas conceptuales para describir los datos, las relaciones, la
semántica y restricciones de consistencia. Los diferentes modelos de datos que se han
propuesto se clasifican en tres grupos diferentes: modelos lógicos basados en objetos,
modelos lógicos basados en registros y modelos físicos.
1.3.1 Modelo entidad-relación
El modelo de datos de entidad-relación (E-R) está basado en una percepción del
mundo real que consta de una colección de objetos básicos, llamados entidades, y de
relaciones entre estos objetos. Una entidad es una “cosa” u “objeto” en el mundo real
que es distinguible de otros objetos.
Las entidades se describen en una base de datos mediante un conjunto de
atributos. Los atributos son cualidades o características de las entidades. Por ejemplo,
los atributos numero-cuenta y saldo describen una cuenta particular de un banco y
pueden ser atributos del conjunto de entidades cuenta.
Una relación es una asociación entre una o varias entidades. Por ejemplo, una
relación impositor asocia un cliente con cada cuenta que tiene.
La estructura lógica general de una base de datos se puede expresar
gráficamente mediante un diagrama E-R, que consta de los siguientes componentes:
24
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos




Rectángulos, que representan los conjuntos de entidades.
Elipses, que representan atributos.
Rombos, que representan relaciones entre conjuntos de entidades.
Líneas, que unen los atributos con los conjuntos de entidades y los
conjuntos de entidades con las relaciones.
Figura 1.1. Ejemplo de diagrama Entidad-Relación. Elaboración propia sobre la base
de Silberschatz, Korth y Sudarshan, Fundamentos de bases de datos.
1.3.2 Modelo relacional
En el modelo relacional se utiliza un grupo de tablas para representar los datos y
relaciones entre ellos. Cada tabla está compuesta por varias columnas, y cada columna
tiene un nombre único e irrepetible.
El modelo relacional es un modelo basado en registros. Los modelos basados en
registros se denominan así porque la base de datos se estructura en registros de
formato fijo de varios tipos. Cada tabla contiene registros que pueden ser de varios
tipos. Cada tipo de registro define un número fijo de campos, o atributos. Las columnas
de la tabla corresponden a los atributos del registro.
El modelo de datos relacional es el modelo de datos más usado, y una amplia
mayoría de sistemas de bases de datos actuales se basan en el modelo relacional.
Los diseños de bases de datos a menudo se realizan en el modelo E-R, y
después se traducen al modelo relacional por la facilidad que esto conlleva en el diseño
de las bases de datos.
25
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
1.3.3 Otros modelos de datos
El modelo de datos orientado a objetos es otro modelo de datos que está
recibiendo una atención creciente. El modelo orientado a objetos se puede observar
como una extensión del modelo E-R con las nociones de encapsulación, métodos
(funciones) e identidad de objeto, muy típico en la programación orientada a objetos.
El modelo de datos relacional orientado a objetos combina las características del
modelo de datos orientado a objetos y el modelo de datos relacional.
Los modelos de datos semi-estructurados permiten la especificación de datos
donde los elementos de datos individuales del mismo tipo pueden tener diferentes
conjuntos de atributos. A diferencia de los modelos de datos mencionados
anteriormente, en los que cada elemento de datos de un tipo particular debe tener el
mismo conjunto de atributos.
Históricamente, existen otros dos modelos de datos, el modelo de datos de red y
el modelo de datos jerárquico, ambos precedieron al modelo de datos relacional. Estos
modelos estuvieron ligados fuertemente a la implementación subyacente y complicaban
la tarea del modelado de datos. Como resultado se usan muy poco actualmente,
excepto en el código de bases de datos antiguo que aún está en servicio en algunos
lugares.
1.4. Lenguajes de bases de datos
Un sistema de bases de datos proporciona un lenguaje de definición de datos
para especificar el esquema de la base de datos y un lenguaje de manipulación de
datos para expresar las consultas a la base de datos y modificaciones. En la práctica,
los lenguajes de definición y manipulación de datos no son dos lenguajes separados; en
su lugar simplemente forman parte de un único lenguaje de bases de datos, tal como
SQL Server de Microsoft.
1.4.1 Lenguaje de definición de datos
Un esquema de base de datos se especifica mediante un conjunto de
definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición
de datos (LDD).
Se define el almacenamiento y los métodos de acceso usados por el sistema de
bases de datos por un conjunto de instrucciones en un tipo especial de LDD
denominado lenguaje de almacenamiento y definición de datos. Estas instrucciones
definen los detalles de implementación de los esquemas de base de datos, que se
ocultan usualmente a los usuarios.
Los valores de los datos almacenados en la base de datos deben satisfacer
ciertas restricciones de consistencias. El LDD proporciona facilidades para especificar
26
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
tales restricciones. Los sistemas de base de datos comprueban estas restricciones
cada vez que se actualiza la base de datos.
1.4.2
Lenguaje de manipulación de datos
La manipulación de datos cumple las siguientes tareas:





La recuperación de información almacenada en la base de datos.
La inserción de información nueva en la base de datos.
El borrado de información de la base de datos.
La modificación de información almacenada en la base de datos.
Reporte de parámetros y propiedades de la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los
usuarios acceder y/o manipular los datos organizados mediante el modelo de datos
apropiado. Hay dos tipos de LMD básicamente:


LMDs procedimentales. Requieren que el usuario especifique que datos se
necesitan y como obtener esos datos.
LMDs declarativos (también conocidos como LMDs no procedimentales).
Requieren que el usuario especifique que datos se necesitan sin especificar
como obtener esos datos.
Los LMDs declarativos son más fáciles de aprender y usar que los LMDs
procedimentales. Sin embargo, como el usuario no especifica cómo conseguir los
datos, el sistema de bases de datos tiene que determinar un medio eficiente de acceder
a los datos. El componente LMD del lenguaje SQL es no procedimental.
1.5. Estructura de un sistema de bases de datos
Un sistema de base de datos se divide en módulos que se encargan de cada una
de las funciones del sistema completo. Los componentes funcionales de un sistema de
base de datos se pueden dividir a grandes rasgos en los componentes de administrador
de almacenamiento y procesador de consultas.
El administrador de consultas es importante porque las bases de datos requieren
normalmente una gran cantidad de espacio de almacenamiento. Las bases de datos
corporativas tienen un tamaño de cientos de gigabytes y, para la mayores bases de
datos, terabytes. Debido a que la memoria RAM de las computadoras no puede
almacenar esta gran cantidad de información, esta se almacena en discos duros. Los
datos se trasladan entre los discos duros de almacenamiento y la memoria RAM
cuando es necesario. Como la transferencia de datos desde el disco duro es lenta
comparada con la velocidad de la unidad central de procesamiento, es fundamental que
el sistema de base de datos los datos para minimizar la necesidad de movimiento de
datos entre el disco duro y la memoria RAM.
27
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
El procesador de consultas es importante porque ayuda al sistema de base de
datos a simplificar y facilitar el acceso a los datos. Las vistas de alto nivel ayudan a
conseguir este objetivo. Es trabajo del sistema de base de datos el traducir las
actualizaciones y las consultas escritas en un lenguaje no procedimental, en el nivel
lógico, en una secuencia de operaciones en el nivel físico.
1.5.1 Gestor de almacenamiento
Un gestor de almacenamiento es un módulo de programa que proporciona la
interfaz entre los datos de bajo nivel en la base de datos, los programas de aplicación y
consultas emitidas al sistema. Es también responsable de la interacción con el gestor
de archivos. Los datos en bruto se almacenan en disco duro usando un sistema de
archivos, que está disponible habitualmente en un sistema operativo convencional. Los
componentes del gestor de almacenamiento incluyen los siguientes elementos
:
 Gestor de Autorización e integridad, comprueba que se satisfagan
las restricciones de integridad y la autorización de los usuarios para
acceder a los datos.
 Gestor de transacciones, asegura que la base de datos quede en un
estado consistente (correcto) a pesar de los fallos del sistema, y que
las ejecuciones de transacciones concurrentes ocurran sin conflictos.
 Gestor de Archivos, gestiona la reserva de espacio de
almacenamiento de disco y las estructuras de datos usadas para
representar la información almacenada en disco.
 Gestor de memoria intermedia, responsable de traer los datos del
disco duro a la memoria RAM y decidir qué datos almacenar en
memoria caché. El gestor de memoria intermedia es una parte crítica
del sistema de bases de datos, ya que permite que la base de datos
maneje tamaños de datos que son mucho mayores que el tamaño de
la memoria RAM instalada.
El Gestor de almacenamiento implementa varias estructuras de datos como parte
de la implementación física del sistema:



1.5.2
Archivos de Datos, almacena la base de datos en sí.
Diccionario de datos, almacena metadatos acerca de la estructura de
la base de datos, en particular, el esquema de la base de datos.
Índices, proporcionan acceso rápido a elementos de datos que tienen
valores particulares.
Procesador de consultas
Los componentes del procesador de consultas incluyen:

Intérprete del LDD, interpreta las instrucciones del LDD y registra las
definiciones en el diccionario de datos.
28
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos


Compilador del LMD, traduce las instrucciones del LMD en un
lenguaje de consultas a un plan de evaluación que consiste en
instrucciones de bajo nivel que entiende el motor de evaluación de
consultas.
Motor de evaluación de consultas, ejecuta las instrucciones de bajo
nivel generadas por el compilador LMD.
Figura 1.2. Estructura del sistema. (Silberschatz, Korth y Sudarshan, 2002)
1.6. Arquitectura de Aplicaciones
La mayoría de usuarios de un sistema de bases de datos no se encuentran
físicamente junto al sistema de bases de datos, sino que se conectan a él a través de
una red. Se puede definir entonces las máquinas cliente, en donde trabajan los usuarios
29
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
remotos de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema
de bases de datos.
Las aplicaciones de bases de datos se dividen usualmente en dos o tres partes,
como se ilustra en la figura 1.3. En una arquitectura de dos capas, la aplicación se
divide en un componente que reside en la máquina cliente, que llama a la función del
sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje
de consultas. Los estándares de interfaces de programas de aplicación como OBDC y
JDBC se usan para la interacción entre el cliente y el servidor.
Figura 1.3. Arquitectura de 2 y 3 capas. Elaboración propia sobre la base de
Silberschatz, Korth y Sudarshan, Fundamentos de bases de datos.
En cambio, en una arquitectura de tres capas, la máquina cliente actúa
simplemente como interfaz y no contiene ninguna llamada directa a la base de datos.
En su lugar, el cliente se comunica con un servidor de aplicaciones, usualmente
mediante una interfaz de formularios. El servidor de aplicaciones, a su vez, se comunica
con el sistema de bases de datos para acceder a los datos.
La lógica de negocio de la aplicación, que establece las acciones a realizar bajo
determinadas condiciones, se incorpora en el servidor de aplicaciones, en lugar de ser
distribuida a múltiples usuarios. Las aplicaciones de tres capas son más apropiadas
para grandes aplicaciones, y para las aplicaciones que se ejecutan en World Wide
WEB.
30
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
1.7. SQL
El lenguaje Sequel ha evolucionado desde los principios de la década de los 70s
y su nombre ha pasado a ser SQL (Structured Query Language; Lenguaje estructurado
de consultas).
El lenguaje SQL tiene varios componentes:







Lenguaje de definición de datos (LDD). El LDD de SQL proporciona órdenes
para la definición de esquemas de relación, borrado de relaciones, creación de
índices y modificación de esquemas de relación.
Lenguaje interactivo de manipulación de datos (LMD). El LMD de SQL
incluye un lenguaje de consultas, basado tanto en el álgebra relacional como en
el cálculo relacional de tuplas. Incluye también órdenes para insertar, borrar y
modificar tuplas de la base de datos.
Definición de vistas. El LDD de SQL incluye órdenes para la definición de
vistas.
Control de transacciones. SQL incluye órdenes para la especificación del
comienzo y final de transacciones.
SQL incorporado y SQL dinámico. SQL dinámico e incorporado define cómo
se pueden incorporar las instrucciones SQL en lenguajes de programación de
propósito general, tales como C, C++, Java.
Integridad. El LDD de SQL incluye órdenes para la especificación de las
restricciones de integridad que deben satisfacer los datos almacenados en la
base de datos. Las actualizaciones que violen las restricciones de integridad se
rechazan.
Autorización. El LDD de SQL incluye órdenes para especificar derechos de
acceso para las relaciones y vistas.
1.7.1 Estructura básica de SQL
Una base de datos relacional consiste en un conjunto de relaciones, a cada una
de las cuales se le asigna un nombre único. Cada relación tiene una estructura similar.
SQL permite el uso de valores nulos para indicar que el valor o bien es desconocido, o
no existe. Se fijan criterios que permiten al usuario especificar a qué atributos no se
puede asignar el valor nulo.
La estructura básica de una expresión SQL consiste en tres cláusulas: select,
from y where.


La cláusula select corresponde a la operación proyección del álgebra relacional.
Se usa para listar los atributos deseados del resultado de una consulta.
La cláusula from corresponde a la operación producto cartesiano del álgebra
relacional. Lista las relaciones que deben ser analizadas en la evaluación de la
expresión.
31
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos

La cláusula where corresponde al predicado selección del álgebra relacional. Es
un predicado que engloba a los atributos de las relaciones que aparecen en la
cláusula from.
1.8
Windows Server 2008
Windows Server 2008 es el nombre de un sistema operativo diseñado
para servidores de Microsoft. Es el sucesor de Windows Server 2003, distribuido al
público casi cinco años antes. Al igual que Windows Vista, Windows Server 2008 se
basa en el núcleo Windows NT 6.0. Posteriormente se lanzó una segunda versión,
denominada Windows Server 2008 R2.
1.8.1 Características
Hay algunas diferencias con respecto a la arquitectura del nuevo Windows
Server 2008, que pueden cambiar drásticamente la manera en que se usa este sistema
operativo. Estos cambios afectan a la manera en que se gestiona el sistema hasta el
punto de que se puede llegar a controlar el hardware de forma más efectiva, se puede
controlar mucho mejor de forma remota y cambiar de forma radical la política de
seguridad. Entre las mejoras que se incluyen, están:
 Nuevo proceso de reparación de sistemas NTFS: proceso en segundo
plano que repara los archivos dañados.
 Creación de sesiones de usuario en paralelo: reduce tiempos de espera
en los Terminal Services y en la creación de sesiones de usuario a gran
escala.
 Cierre adecuado de Servicios.
 Sistema de archivos SMB2: de 30 a 40 veces más rápido el acceso a los
servidores multimedia.
 Address Space Load Randomization (ASLR): protección
contra malware en la carga de controladores en memoria.
 Windows Hardware Error Architecture (WHEA): protocolo mejorado y
estandarizado de reporte de errores.
 Virtualización de Windows Server: mejoras en el rendimiento de la
virtualización.
 PowerShell: inclusión de una consola mejorada con soporte GUI para
administración.
 Server Core: el núcleo del sistema se ha renovado con muchas y nuevas
mejoras.
1.8.2 Ediciones
La mayoría de las ediciones de Windows Server 2008 están disponibles en 64
bits y x86 (32 bits). Windows Server 2008 para sistemas basados en Itanium soporta
procesadores IA-64. La versión IA-64 se ha optimizado para escenarios con altas
cargas de trabajo como servidores de bases de datos y aplicaciones de línea de
32
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
negocios (LOB). Por ende no está optimizado para su uso como servidor de
archivos o servidor de medios. Windows Server 2008 está disponible en distintas
ediciones, similar a Windows Server 2003.
Server Core está disponible en las ediciones WEB, Standard, Enterprise y
Datacenter, aunque no es posible usarla en la edición Itanium. Server Core es
simplemente una opción de instalación alterna soportada y en sí no es una edición
propiamente dicha.
1.9
Internet Information Services (IIS)
Internet Information Services o IIS es un servidor WEB y un conjunto de servicios
para el sistema operativo Microsoft Windows. Los servicios que ofrece
son: FTP, SMTP, NNTP y HTTP/HTTPS.
Este servicio convierte a una PC en un servidor WEB para Internet o
una intranet, es decir que en las computadoras que tienen este servicio instalado se
pueden publicar páginas WEB tanto local como remotamente. Los servicios de Internet
Information Services proporcionan las herramientas y funciones necesarias para
administrar de forma sencilla un servidor WEB seguro.
El servidor WEB se basa en varios módulos que le dan capacidad para procesar
distintos tipos de páginas. Por ejemplo, Microsoft incluye los de Active Server
Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como
PHP o Perl.
1.9.1 Windows Server 2008 y IIS
Windows Server 2008 proporciona los servicios de Internet Information Server
(IIS) 7.0 que permiten incorporar en una empresa las siguientes tecnologías de Internet:

Un servidor de aplicaciones WEB (no solo de documentos WEB) que
permite utilizar diferentes mecanismos de autenticación de usuarios
remotos, ejecutar CGI (Common Gateway Interface) y filtros ISAPI
(Internet Server Application Programming Interface), aplicaciones .NET,
etc.
Conjuntamente con ASP.NET, es una plataforma completa para ofrecer
servicios WEB basados en estándares como XML (Extensible Markup
Languaje) y SOAP (Simple Object Access Protocol). También es posible
instalar un servidor UDDI (Universal Description, Discovery and
Integration) para disponer de un servicio de directorio de servicios WEB.
Para crear dichas aplicaciones se ha de disponer de herramientas de
diseño, como Microsoft WEB Expression, o lenguajes como XHTML
33
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
(eXtensible HyperText Markup Language), Javascript, CSS (Cascading
Style Sheets), etc.

Un servidor FTP que permite la transferencia de archivos desde y hacia
cualquier ordenador conectado a la red.

Herramientas de administración que proporcionan la infraestructura
para administrar un servidor WEB que ejecuta ISS 7 (como la Consola de
Administración de IIS). Si desea administrar un servidor SMTP o un
servidor FTP, deberá instalar y usar la Consola de Administración de
ISS 6.
34
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
1.10 Conclusiones del capítulo
Debido a que el uso de las bases de datos está implícito en un sinfín de acciones
que realizamos en nuestras actividades diarias, incluso sin darnos cuenta de ello. Es
por eso que es de gran importancia saber las principales aplicaciones que se le pueden
dar a las bases de datos.
Las bases de datos pueden tener arquitecturas de 2 capas o 3 capas, en una
arquitectura de 2 capas la máquina del cliente tiene interacción directa con el sistema
de bases de datos. Mientras que en una arquitectura de 3 capas la máquina del cliente
se debe conectar con un servidor de aplicaciones y este a su vez con el sistema de
bases de datos. La arquitectura de 3 capas es la más usada en las aplicaciones.
Actualmente el modelo más utilizado por las bases de datos es el modelo
relacional debido a su simplicidad comparado con otros modelos que facilita la tarea a
los programadores. Una práctica común es hacer el diseño de la base de datos en el
modelo entidad-relación y posteriormente traducirlo al modelo relacional.
Por otro lado, el lenguaje SQL nos permite realizar operaciones en una base de
datos como búsquedas, borrado, inserción y actualización de los registros por medio de
una sintaxis sencilla.
En el área de los sistemas operativos (SO) orientados a servidores, se analizó
que estos contienen características y funciones que difícilmente se podrán encontrar en
sistemas operativos orientados a usuarios domésticos, entre estas funciones exclusivas
de los SO para servidores se encuentra el soporte a múltiples procesadores, soporte a
grandes cantidades de memoria RAM, servidores DNS, protocolo DHCP, servidores
WEB, servidores FTP, entre otras características.
Los sistemas operativos Windows tienen su versión para servidores, siendo la
más reciente el Windows Server 2008 R2. En los últimos sistemas operativos Windows
para servidores o para usuarios domésticos se integra la función “Servicios de
información de internet”, conocido como IIS, el cual nos permite convertir a una PC en
un servidor WEB para Internet o una intranet.
35
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
CAPÍTULO
2.1
2
Procesos del software
El proceso del software es un “conjunto de actividades que conducen a la
creación de un producto software. Estas actividades pueden consistir en el desarrollo
de software desde cero en un lenguaje de programación estándar como Java o C”
(Sommerville 2008). Sin embargo, cada vez más, se desarrolla nuevo software
ampliando y modificando los sistemas existentes y configurando e integrando software
comercial o componentes del sistema.
Los procesos de software son complejos, intelectuales y creativos, y por ende
dependen de las personas que toman juicios y decisiones. Debido a la necesidad de
juzgar y crear, los intentos para automatizar estos procesos han tenido un éxito
limitado. Las herramientas de ingeniería del software asistida por computadora (CASE)
pueden ayudar a algunas actividades del proceso, pero no existe posibilidad alguna de
una automatización mayor en el diseño creativo del software realizado con el proceso
del software.
La principal razón por la cual las herramientas CASE y su eficacia están limitadas
se haya en la inmensa diversidad de procesos del software ya que no existe un proceso
ideal, y muchas organizaciones han desarrollado su propio enfoque para el desarrollo
del software. Los procesos han evolucionado para explotar las capacidades de las
personas de una organización, así como las características específicas de los sistemas
que se están desarrollando. Para algunos sistemas, como los sistemas críticos, se
requiere un proceso de desarrollo muy estructurado. Para sistemas de negocio, con
requerimientos rápidamente cambiantes, un proceso flexible y ágil probablemente sea
más efectivo.
Aun existiendo muchos procesos del software, las siguientes actividades
fundamentales son comunes para todos ellos:
1. Especificación del software. Se debe definir la función del software y las
restricciones en su operación.
2. Diseño e implementación del software. Se debe producir software que cumpla
su especificación.
3. Validación del software. Se debe validar el software para asegurar que hace lo
que el cliente desea.
4. Evolución del software. El software debe evolucionar para cubrir las
necesidades cambiantes del cliente.
“Aunque no existe un proceso del software ideal, en las organizaciones existen
enfoques para mejorarlos. Los procesos pueden incluir técnicas anticuadas o no
aprovecharse de las mejores prácticas en la ingeniería del software industrial. De
36
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
hecho, muchas organizaciones aún no aprovechan los métodos de la ingeniería del
software en el desarrollo de su software” (Somerville 2008).
Cabe mencionar que los procesos del software se pueden mejorar por la
estandarización del proceso donde la diversidad de los procesos del software en una
organización sea reducida. Esto puede conducir a mejorar la comunicación, reducir el
tiempo de formación, y hace al proceso automatizado más económico. La
estandarización también es un primer paso importante para introducir nuevos métodos
y técnicas de ingeniería del software.
2.2 Modelos del proceso del software
Ian Somerville dice que: “Un modelo de procesos del software es una
representación abstracta de un proceso del software. Cada modelo de proceso
representa un proceso desde una perspectiva particular, y así proporciona sólo
información parcial sobre ese proceso”.
Los modelos del proceso del software no son descripciones definitivas de los
procesos del software. Más bien, son “abstracciones de los procesos que se pueden
utilizar para explicar diferentes enfoques para el desarrollo de software. Puede
pensarse en ellos como marcos de trabajo del proceso que pueden ser extendidos y
adaptados para crear procesos más específicos de ingeniería del software (Sommerville
2008).
Los modelos de procesos que se incluyen son:
1. El modelo/enfoque en cascada. Considera las actividades fundamentales del
proceso de especificación, desarrollo, validación y evolución, y los representa
como fases separadas del proceso, tales como la especificación de
requerimientos, el diseño del software, la implementación, las pruebas, etcétera.
2. Desarrollo evolutivo o iterativo. Este enfoque entrelaza las actividades de
especificación, desarrollo y validación. Un sistema inicial se desarrolla
rápidamente a partir de especificaciones abstractas. Este se refina basándose en
las peticiones del cliente para producir un sistema que satisfaga sus
necesidades.
3. Ingeniería del software basada en componentes (CBSE). Este enfoque se
basa en la existencia de un número significativo de componentes reutilizables. El
proceso de desarrollo del sistema se enfoca en integrar estos componentes en el
sistema más que en desarrollarlos desde cero.
Estos tres modelos de procesos del software se utilizan ampliamente en la
práctica de la ingeniería del software actual. A menudo se utilizan juntos, especialmente
para el desarrollo de sistemas grandes. Los subsistemas dentro de un sistema más
grande pueden ser desarrollados utilizando enfoques diferentes. Por lo tanto, aunque es
conveniente estudiar estos modelos separadamente, debe entenderse que en la
práctica a menudo se combinan.
37
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Durante los años se han propuesto todo tipo de variantes de estos procesos
genéricos. La variante más importante es probablemente el desarrollo formal de
sistemas, donde se crea un modelo formal matemático de un sistema. Este modelo se
transforma utilizando transformaciones matemáticas que preservan su consistencia, en
código ejecutable.
Sin embargo, fuera de ciertos ámbitos especializados, los procesos basados en
transformaciones formales no se utilizan en general ya que requieren una pericia
especializada y, para la mayoría de los sistemas este proceso no ofrece ventajas
importantes de coste o calidad sobre otros enfoques para el desarrollo de sistemas.
2.2.1 El modelo en cascada
El primer modelo de proceso de desarrollo de software que se publicó se derivó
de procesos de ingeniería de sistemas más generales (Royce, 1970). Este modelo se
muestra en la Figura 2.1. Debido a la cascada de una fase a otra, dicho modelo se
conoce como modelo en cascada o como ciclo de vida del software. Las principales
etapas de este modelo se transforman en actividades fundamentales de desarrollo:
1.
2.
3.
4.
5.
Análisis y definición de requerimientos.
Diseño del sistema y del software.
Implementación y prueba de unidades.
Integración y prueba del sistema.
Funcionamiento y mantenimiento.
Fig. 2.1. Ciclo de Vida del Software. Elaboración propia sobre la base de Ian
Sommerville, Ingeniería del Software, 7ª Edición.
38
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
En principio, el resultado de cada fase es uno o más documentos aprobados. La
siguiente fase no debe empezar hasta que la fase previa haya finalizado. En la práctica,
estas etapas se superponen y proporcionan información a las otras. Durante el diseño
se identifican los problemas con los requerimientos; durante el diseño del código se
encuentran problemas, y así sucesivamente.
Debido a los costos de producción y aprobación de documentos, las iteraciones
son costosas e implican rehacer el trabajo. Por lo tanto, después de un número
reducido de iteraciones, es normal congelar partes del desarrollo, como la
especificación, y continuar con las siguientes etapas de desarrollo. Los problemas se
posponen para su resolución, se pasan por alto o se programan. Este congelamiento
prematuro de requerimientos puede implicar que el sistema no haga lo que los usuarios
desean. También puede conducir a sistemas mal estructurados debido a que los
problemas de diseño se resuelven mediante trucos de implementación.
Por último, durante la fase final del ciclo de vida, el software se pone en
funcionamiento. De aquí se descubren errores y omisiones en los requerimientos
originales del software. Los errores de programación y de diseño emergen y se
identifica la necesidad de una nueva funcionalidad. Por lo tanto, el sistema debe
evolucionar para mantenerse útil. La desventaja es que hacer estos cambios puede
implicar repetir etapas previas del proceso.
Las ventajas del modelo en cascada son que la documentación se produce en
cada fase y que éste cuadra con otros modelos del proceso de ingeniería. Su principal
problema es su inflexibilidad al dividir el proyecto en distintas etapas. Se deben hacer
compromisos en las etapas iniciales, lo que hace difícil responder a los cambios en los
requerimientos del cliente.
Por lo tanto, el modelo en cascada sólo se debe utilizar cuando los
requerimientos se comprendan bien y sea improbable que cambien radicalmente
durante el desarrollo del sistema. Sin embargo, el modelo refleja el tipo de modelo de
proceso usado en otros proyectos de la ingeniería. Por consiguiente, los procesos del
software que se basan en este enfoque se siguen utilizando para el desarrollo de
software, particularmente cuando éste es parte de proyectos grandes de ingeniería de
sistemas (Sommerville 2008).
2.2.2 Desarrollo Evolutivo
El desarrollo evolutivo se basa en la “idea de desarrollar una implementación
inicial, exponiéndola a los comentarios del usuario y refinándola a través de las
diferentes versiones hasta que se desarrolla un sistema adecuado” (Sommerville 2008)
como se muestra en la Figura 2.2. Las actividades de especificación, desarrollo y
validación se entrelazan en vez de separarse, con una rápida retroalimentación entre
éstas.
39
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 2.2. Desarrollo Evolutivo. Elaboración propia sobre la base de Ian
Sommerville, Ingeniería de Software 7ª Edición.
Existen dos tipos de desarrollo evolutivo:
1. Desarrollo exploratorio, donde el objetivo del proceso es trabajar con el cliente
para explorar sus requerimientos y entregar un sistema final. El desarrollo
empieza con las partes del sistema que se comprenden mejor. El sistema
evoluciona agregando nuevos atributos propuestos por el cliente.
2. Prototipos desechables, donde el objetivo del proceso de desarrollo evolutivo
es comprender los requerimientos del cliente y entonces desarrollar una
definición mejorada de los requerimientos para el sistema. El prototipo se centra
en experimentar con los requerimientos del cliente que no se comprenden del
todo.
En la producción de sistemas, un enfoque evolutivo para el desarrollo de
software suele ser más efectivo que el enfoque en cascada, ya que satisface las
necesidades inmediatas de los clientes. La ventaja de este proceso del software es que
la especificación se puede desarrollar de forma creciente. Tan pronto como los usuarios
desarrollen un mejor entendimiento de su problema, éste se puede reflejar en el
sistema software. Sin embargo, desde una perspectiva de ingeniería y de gestión, el
enfoque evolutivo tiene dos problemas:
1. El proceso no es visible. Los administradores tienen que hacer entregas
regulares para medir el progreso. Si los sistemas se desarrollan rápidamente, no
es rentable producir documentos que reflejen cada versión del sistema.
2. A menudo los sistemas tienen una estructura deficiente. Los cambios
continuos tienden a corromper la estructura del software. Incorporar cambios en
él se convierte cada vez más en una tarea difícil y costosa.
40
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Para sistemas pequeños y de tamaño medio (hasta 500.000 líneas de código), el
enfoque evolutivo de desarrollo es el mejor. Los problemas del desarrollo evolutivo se
hacen particularmente agudos para sistemas grandes y complejos con un periodo de
vida largo, donde diferentes equipos desarrollan distintas partes del sistema.
2.2.3 Ingeniería del software basada en componentes
En la mayoría de los proyectos de software existe algo de reutilización de
software. Por lo general, esto sucede informalmente cuando las personas que trabajan
en el proyecto conocen diseños o código similares al requerido. Los buscan, los
modifican y los incorporan en el sistema. En el enfoque evolutivo, la reutilización es a
menudo indispensable para el desarrollo rápido de sistemas (Sommerville 2008).
La reutilización informal es independiente del proceso de desarrollo que se
utilice. Sin embargo, en los últimos años, ha surgido un enfoque de desarrollo de
software denominado ingeniería del software basada en componentes (CBSE) que se
basa en la reutilización, el cual se está utilizando de forma amplia.
De acuerdo a Ian Somerville, las etapas intermedias en el proceso orientado a la
reutilización son diferentes. Estas etapas son:
1. Análisis de componentes. Dada la especificación de requerimientos, se buscan
los componentes para implementar esta especificación. Por lo general, no existe
una concordancia exacta y los componentes que se utilizan sólo proporcionan
parte de la función requerida.
2. Modificación de requerimientos. En esta etapa, los requerimientos se analizan
utilizando información acerca de los componentes que se han descubierto.
Entonces, estos componentes se modifican para reflejar los componentes
disponibles. Si las modificaciones no son posibles, la actividad de análisis de
componentes se puede llevar a cabo nuevamente para buscar soluciones
alternativas.
3. Diseño del sistema con reutilización. En esta fase se diseña o se reutiliza un
marco de trabajo para el sistema. Los diseñadores tienen en cuenta los
componentes que se reutilizan y organizan el marco de trabajo para que los
satisfaga. Si los componentes reutilizables no están disponibles, se puede tener
que diseñar nuevo software.
4. Desarrollo e integración. Para crear el sistema, el software que no se puede
adquirir externamente se desarrolla, y los componentes y los sistemas COTS se
integran. En este modelo, la integración de sistemas es parte del proceso de
desarrollo, más que una actividad separada.
La ingeniería del software basada en componentes tiene la ventaja obvia de
reducir la cantidad de software a desarrollarse y así reduce los costos y los riesgos. Por
lo general, también permite una entrega más rápida del software. Sin embargo, los
41
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
compromisos en los requerimientos son inevitables, y esto puede dar lugar a un sistema
que no cumpla las necesidades reales de los usuarios. Más aún: si las nuevas
versiones de los componentes reutilizables no están bajo el control de la organización
que los utiliza, se pierde parte del control sobre la evolución del sistema.
La CBSE tiene mucho en común con un enfoque que está surgiendo para el
desarrollo de sistemas que se basa en la integración de servicios WEB de una serie de
proveedores.
Figura 2.3. Ingeniería de Software basada en componentes (CBSE). Elaboración propia
sobre la base de Ian Sommerville, Ingeniería de Software 7ª Edición.
2.3 Iteración de procesos
Los cambios son inevitables en todos los proyectos de software grandes. Los
requerimientos del sistema cambian cuando el negocio que procura el sistema
responde a las presiones externas. Cuando se dispone de nuevas tecnologías, cambian
los diseños y la implementación. Esto significa que el proceso del software no es un
proceso único; más bien, las actividades del proceso se repiten regularmente conforme
el sistema se rehace en respuesta a peticiones de cambios (Sommerville 2008).
El desarrollo iterativo es fundamental para el software. Se describen dos modelos de
procesos que han sido diseñados explícitamente para apoyar la iteración de procesos:
1. Entrega incremental. La especificación, el diseño y la implementación del
software se dividen en una serie de incrementos, los cuales se desarrollan por
turnos;
2. Desarrollo en espiral. El desarrollo del sistema gira en espiral hacia fuera,
empezando con un esbozo inicial y terminando con el desarrollo final del mismo.
La esencia de los procesos iterativos es que la especificación se desarrolla junto
con el software. Sin embargo, esto crea conflictos con el modelo de obtención de
muchas organizaciones donde la especificación completa del sistema es parte del
contrato de desarrollo del mismo.
42
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
2.3.1 Entrega Incremental
El modelo de desarrollo en cascada “requiere que los clientes de un sistema
cumplan un conjunto de requerimientos antes de que se inicie el diseño y que el
diseñador cumpla estrategias particulares de diseño antes de la implementación”
(Sommerville 2008). Los cambios de requerimientos implican rehacer el trabajo de
captura de éstos, de diseño e implementación. Sin embargo, la separación en el diseño
y la implementación deben dar lugar a sistemas bien documentados susceptibles de
cambio. En comparación con el enfoque de desarrollo evolutivo permite que los
requerimientos y las decisiones de diseño se retrasen, pero también origina un software
que puede estar débilmente estructurado y difícil de comprender y mantener.
La entrega incremental (figura 2.4) es un enfoque intermedio que combina las
ventajas de ambos modelos. En un proceso de desarrollo incremental. Los clientes
identifican, a grandes rasgos, los servicios que proporcionará el sistema. Identifican qué
servicios son más importantes y cuáles menos. Entonces, se definen varios
incrementos en donde cada uno proporciona un subconjunto de la funcionalidad del
sistema. La asignación de servicios a los incrementos depende de la prioridad del
servicio con los servicios de prioridad más alta entregados primero (Somerville 2008).
Figura 2.4. Entrega Incremental. Elaboración propia sobre la base de Ian Sommerville,
Ingeniería de Software 7ª Edición.
Cuando los incrementos del sistema han sido identificados, los requerimientos
para los servicios que se van a entregar en el primer incremento se definen, y éste se
desarrolla. Durante el desarrollo, se puede llevar a cabo un análisis adicional de
requerimientos para los requerimientos posteriores, pero no se aceptan cambios en los
requerimientos para el incremento actual.
Una vez que un incremento se completa y entrega, los clientes pueden ponerlo
en servicio. Pueden experimentar con el sistema, lo cual les ayuda a clarificar sus
requerimientos para los incrementos posteriores y para las últimas versiones del
incremento actual. Tan pronto como se completan los nuevos incrementos, se integran
en los existentes de tal forma que la funcionalidad del sistema mejora con cada
incremento. Los servicios comunes se pueden implementar al inicio del proceso o de
forma incremental tan pronto como sean requeridos (Sommerville 2008).
43
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Este proceso de desarrollo incremental tiene las siguientes ventajas:
1. Los clientes no tienen que esperar hasta que el sistema completo se entregue
para sacar provecho de él. El primer incremento satisface los requerimientos más
críticos de tal forma que pueden utilizar el software inmediatamente.
2. Los clientes pueden utilizar los incrementos iniciales como prototipos y obtener
experiencia sobre los requerimientos de los incrementos posteriores del sistema.
3. Existe un bajo riesgo de un fallo total del proyecto. Aunque se pueden encontrar
problemas en algunos incrementos, lo normal es que el sistema se entregue de
forma satisfactoria al cliente.
4. Puesto que los servicios de más alta prioridad se entregan primero, y los
incrementos posteriores se integran en ellos, es inevitable que los servicios más
importantes del sistema sean a los que se les hagan más pruebas. Esto significa
que es menos probable que los clientes encuentren fallos de funcionamiento del
software en las partes más importantes del sistema.
Existen algunos “problemas” en el desarrollo incremental. Los incrementos deben
ser relativamente pequeños (no más de 20.000 líneas de código) y cada uno debe
entregar alguna funcionalidad del sistema. Más aún, muchos de los sistemas requieren
un conjunto de recursos que se utilizan en diferentes partes del sistema. Dado que los
requerimientos no se definen en detalle hasta que un incremento se implementa, puede
ser difícil identificar los recursos comunes que requieren todos los incrementos.
Se ha desarrollado una variante de este enfoque incremental denominada
programación extrema (Beck, 2000). Ésta se basa en el desarrollo y la entrega de
incrementos de funcionalidad muy pequeños, en la participación del cliente en el
proceso, en la mejora constante del código y en la programación por parejas.
2.3.2. Desarrollo en espiral
El modelo en espiral del proceso del software (figura 2.5) fue originalmente
propuesto por Boehm (1988). En vez de representar el proceso del software como una
secuencia de actividades con retrospectiva de una actividad a otra, se representa como
una espiral y cada ciclo en la espiral representa una fase del proceso del software. Así
el ciclo más interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la
definición de requerimientos, el siguiente ciclo al diseño del sistema, y así
sucesivamente.
Ian Sommerville menciona que cada ciclo de la espiral se divide en cuatro sectores:
1. Definición de objetivos. Para esta fase del proyecto se definen los objetivos
específicos. Se identifican las restricciones del proceso y el producto, y se traza
un plan detallado de gestión. Se identifican los riesgos del proyecto.
Dependiendo de estos riesgos, se planean estrategias alternativas.
44
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
2. Evaluación y reducción de riesgos. Se lleva a cabo un análisis detallado para
cada uno de los riesgos del proyecto identificados. Se definen los pasos para
reducir dichos riesgo. Por ejemplo, si existe el riesgo de tener requerimientos
inapropiados, se puede desarrollar un prototipo del sistema.
3. Desarrollo y validación. Después de la evaluación de riesgos, se elige un
modelo para el desarrollo del sistema. Por ejemplo, si los riesgos en la interfaz
de usuario son dominantes, un modelo de desarrollo apropiado podría ser la
construcción de prototipos evolutivos. Si los riesgos de seguridad son la principal
consideración, un desarrollo basado en transformaciones formales podría ser el
más apropiado, y así sucesivamente. El modelo en cascada puede ser el más
apropiado para el desarrollo si el mayor riesgo identificado es la integración de
los subsistemas.
4. Planificación. El proyecto se revisa y se toma la decisión de si se debe
continuar con un ciclo posterior de la espiral. Si se decide continuar, se
desarrollan los planes para la siguiente fase del proyecto.
Figura 2.5. Modelo en espiral de Boehm para el proceso de Software (IEEE,
1988).
La diferencia principal entre el modelo en espiral y los otros modelos del proceso
del software es la consideración explícita del riesgo en el modelo en espiral.
Informalmente, el riesgo significa sencillamente algo que puede ir mal. Por ejemplo, si la
45
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
intención es utilizar un nuevo lenguaje de programación, un riesgo es que los
compiladores disponibles sean poco fiables o que no produzcan código objeto
suficientemente eficiente. Los riesgos originan problemas en el proyecto, como los de
confección de agendas y excesos en los costos; por lo tanto, la disminución de riesgos
es una actividad muy importante en la gestión del proyecto (Somerville 2008).
Un ciclo de la espiral empieza con la elaboración de objetivos, como el
rendimiento y la función. Entonces se enumeran formas alternativas de alcanzar estos
objetivos y las restricciones impuestas en cada una de ellas. Cada alternativa se evalúa
contra cada objetivo y se identifican las fuentes de riesgo del proyecto. El siguiente
paso es resolver estos riesgos mediante actividades de recopilación de información
como la de detallar más el análisis, la construcción de prototipos y la simulación. Una
vez que se han evaluado los riesgos, se lleva a cabo cierto desarrollo seguido de una
actividad de planificación para la siguiente fase del proceso (Sommerville 2008).
46
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
2.4
Conclusiones del capítulo
Los procesos de Ingeniería de Software nos guían hacia una mejor creación de
una aplicación o servicio. Los procesos del software consisten tanto en el desarrollo
desde cero de los lenguajes de programación, y posteriormente ampliando y
modificando los sistemas existentes. Todo proceso del software es completo y depende
completamente de las decisiones que tomen las personas que lo desarrollan, ya que no
existe una automatización general en el diseño del proceso del software.
Los modelos de software son representaciones abstractas de los procesos y los
representan particularmente desde distintas perspectivas. De igual forma, estos
modelos no son definitivos, sino que simplemente se pueden utilizar para explicar
distintos enfoques para el desarrollo del software, así como pueden ser flexibles y
adaptables para crear procesos específicos.
Todo software tiene cambios a lo largo de su ciclo de vida, y requieren
actualizarse para que su utilidad no se vea reducida rápidamente. Las iteraciones de
procesos cambian de acuerdo a la gestión, actividades y necesidades del usuario, por
lo que existen 2 tipos de iteraciones de procesos: entrega incremental y desarrollo en
espiral.
El Desarrollo en espiral representa el desarrollo del software en distintas fases
divididos en 4 sectores: Definición de Objetivos, Evaluación y Reducción de Riesgos,
Desarrollo y Validación y por último la planificación, y en forma de espiral se repiten las
fases para ir optimizando y actualizando el software para alargar su ciclo de vida, por lo
cual será el modelo de proceso a utilizar en el desarrollo de nuestra aplicación. Este
modelo además considera siempre el factor de riesgo para minimizar los problemas que
pueden aparecer durante el desarrollo del software, por lo cual se puede considerar
como una alternativa bastante segura.
Cabe recalcar que el modelo en espiral de Boehm simplemente será una base a
seguir, pero no estaremos limitados a ella, ya que como se ha explicado, no existe
proceso del software 100% confiable y elegible para una aplicación en específico. Por lo
cual siempre habrá cierta especificación y una modificación o combinación de distintos
modelos para el desarrollo del software de acuerdo a las necesidades de los
desarrolladores.
47
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
CAPÍTULO
3
Análisis de Condiciones Actuales
3.1
Identificación del Problema
Los laboratorios que realizan procesos químicos en todo el mundo requieren una
enorme cantidad de sustancias químicas. Por la naturaleza de los experimentos que
realizan con las sustancias químicas quedan remanentes de las mismas que ya no se
pueden utilizar para otros experimentos. Esta situación genera varios problemas, entre
estos el almacenamiento indefinido de substancias y gastos por manejo de materiales
peligrosos, entre otros tantos problemas.
El Instituto Politécnico Nacional cuenta con veinticinco unidades donde se
imparte educación superior y once unidades de estudios de investigación en donde se
imparten postgrados, en las cuales no existe una política de desecho de sustancias
químicas y de residuos, mucho menos existe un control sobre estas. En muchas
ocasiones se tienen sustancias químicas almacenadas en un laboratorio que podrían
ser utilizadas en otro laboratorio de las escuelas del Instituto Politécnico Nacional.
Esta problemática fue identificada por un docente y un grupo de alumnos de la
Unidad Profesional Interdisciplinaria de Biotecnología (UPIBI) del Instituto Politécnico
Nacional. Ellos han sido quienes han propuesto este proyecto interdisciplinario para dar
solución a un problema al cual no se le ha dado la importancia que merece.
3.2
Propuesta General de Solución
El docente y grupo de alumnos de la Unidad Profesional Interdisciplinaria de
Biotecnología (UPIBI) del Instituto Politécnico Nacional han propuesto el desarrollo de
un sitio WEB basándose en los sitios BORSI y Quiminet. Al momento de sernos
planteada esta idea, se propuso que fuese una aplicación WEB, ya que este podría
interactuar directamente con una base de datos (idea principal) y por las razones que
se explican a continuación.
Las ventajas que ofrece una aplicación WEB son las siguientes:
 Ahorro de tiempo: Se pueden realizar tareas sencillas sin necesidad de
descargar ni instalar ningún programa.
 No existen problemas de compatibilidad: Basta tener un navegador actualizado
para poder utilizarlas.
 No ocupan espacio en los discos duros.
48
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
 Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador,
cuando se conecta a la aplicación se está usando siempre la última versión que
se haya lanzado.
 Consumo bajo de recursos: Dado que toda (o gran parte) de la aplicación no se
encuentra en la PC del cliente, muchas de las tareas que realiza el software no
consumen recursos de la PC del cliente porque se realizan desde otro PC
remoto.
 Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo
es necesario tener un navegador WEB.
 Portable: Es independiente de la PC donde se utilice (un PC de sobremesa o un
portátil) porque se accede a través de una página WEB.
 La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples
localizaciones para asegurar la continuidad del mismo.
 Los virus no dañan los datos porque éstos están guardados en el servidor de la
aplicación.
 Colaboración: Gracias a que el acceso al servicio se realiza desde una única
ubicación es sencillo el acceso y compartición de datos por parte de varios
usuarios.
Las desventajas que tiene una aplicación WEB son las siguientes:
 Depende de una conexión a Internet permanente (generalmente) y una conexión
promedio para una óptima navegación.
 La seguridad de los datos, depende de la seguridad de la aplicación WEB y del
servidor donde se encuentre alojada la aplicación WEB.
 Se tiene limitado el espacio para guardar la información por cada usuario.
 Poco soporte para varios idiomas.
 Depende mucho de la configuración de la privacidad del navegador para trabajar
al 100% (Javascript, Cookies, Flash).
 La estabilidad de la aplicación está sujeta al número de visitas en un mismo
lapso de tiempo, puede existir sobre carga en el servidor.
49
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
En este caso, las ventajas representan una utilidad mayor y de más importancia
que las desventajas de una aplicación WEB. Debido a que sería muy complicado
instalar un programa en cada una de las máquinas desde donde se quiera acceder a
esta aplicación y mantener actualizados a los docentes, la aplicación WEB tiene una
mayor accesibilidad y una rápida penetración entre los usuarios a los que va dirigida.
Ya que se pretende utilizar la herramienta de intercambio de sustancias químicas
y residuos a nivel institucional, significa que habrá un gran número de usuarios y se
piensa que lo más conveniente es una aplicación WEB alojada en un servidor del
Instituto Politécnico Nacional para ser utilizada únicamente dentro de las instalaciones
del Instituto. Esto también aumentaría el grado de seguridad de la aplicación al no ser
expuesta al público en general, lo cual garantiza una mayor seguridad en los datos y
una conexión permanente para quienes la utilicen dentro del instituto.
50
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
3.3
Diseño Preliminar a Detalle
En base a las necesidades encontradas en la identificación del problema se nos
ha proporcionado el diseño preliminar de la aplicación WEB que estará basada en la
tecnología ASP.NET. Esta es la plantilla general de la aplicación de intercambio de
sustancias y residuos químicos.
Figura 3.1. Diseño preliminar de la página de inicio.
La página de Inicio muestra una presentación con una breve descripción del
proyecto y un menú para navegar.
En las siguientes imágenes se detalla cada una de las operaciones que se
pueden realizar en la aplicación WEB. A continuación se detalla la sección de búsqueda
de residuos y sustancias.
51
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.2. Diseño preliminar de la sección de búsqueda.
Al momento de realizar la búsqueda se mostrarían los resultados en enlistados
de la siguiente manera:
Figura 3.3. Diseño preliminar de los resultados de la búsqueda.
52
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Una vez dando clic en los detalles del residuo o sustancia debe aparecer la
información de la sustancia o residuo de la siguiente manera.
Figura 3.4. Diseño preliminar de la sección de Oferta/Demanda.
Si se desea ofertar o demandar un reactivo aparece el formulario de los datos
personales. Sin embargo, si el usuario está registrado y ha iniciado sesión los datos
aparecerían por default pero con la opción de modificarlos.
53
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.5. Diseño preliminar del proceso de oferta/demanda.
Una vez enviados los datos aparece un mensaje de notificación al usuario para
hacerle saber que los datos han sido enviados correctamente.
En caso de que no haya resultados obtenidos en la búsqueda aparece el
siguiente mensaje.
54
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.6. Diseño preliminar al no existir resultados encontrados.
El siguiente formulario corresponde al inicio de sesión de los usuarios.
Figura 3.7. Diseño preliminar del Inicio de sesión.
55
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Se pide que se ingresen los datos del usuario en caso de que sea la primera vez
que entra a la aplicación WEB. En caso de que ya se encuentre registrado solo se
pedirá el email y contraseña para iniciar sesión.
Figura 3.8. Diseño preliminar de la etapa de registro de usuarios.
56
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
El siguiente formulario aparece al momento de iniciar el proceso de demanda u
oferta.
Figura 3.9. Diseño preliminar del ingreso de una oferta/demanda.
Una vez llenados los campos del formulario se da una confirmación al usuario.
57
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.10. Diseño preliminar de la confirmación de nueva Oferta/demanda.
Al momento de cerrar sesión. Se debe regresar automáticamente a la página de
inicio después de unos segundos.
Figura 3.11. Diseño preliminar del Cierre de sesión.
58
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Si se desean actualizar los datos de usuario, se tendrá un formulario como el
mostrado en la imagen.
Figura 3.12. Diseño preliminar de la Actualización de datos.
Las demás secciones (eventos, enlaces, asesorías y noticias) de la aplicación
WEB son secciones que no realizaran operaciones en la base de datos. Simplemente
son secciones de carácter informativo para mostrar noticias, información o eventos las
cuales no requieren una base de datos.
59
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.13. Diseño preliminar de la sección de eventos.
Figura 3.14. Diseño preliminar de la sección de enlaces.
60
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 3.15. Diseño preliminar de la sección de Asesoría.
Figura 3.16. Diseño preliminar de la sección de noticias.
61
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
3.4 Facilidades y Dificultades previas al desarrollo de la Solución
Al realizar un sistema de información para realizar una aplicación WEB se deben
tomar varios puntos a considerar, muchos de los cuales generan bastantes
complicaciones a la hora de realizar el análisis para el diseño del sitio y las bases de
datos.
Una de las dificultades más grandes previas al desarrollo de sistema es la
correcta especificación de las entidades y sus propiedades. Debido a que se está
hablando de un sistema de sustancias y residuos químicos, existen varios puntos a
considerar. Las sustancias tienen que seguir una terminología que marcan los
estándares internacionales para ser denominadas. En conjunto con la Unidad
Académica UPIBI y el departamento de Comité Ambiental del IPN se definieron las
normas que seguir, así como se hizo una cierta definición de parámetros como el tipo
de manejo de sustancias, su grado de riesgo y su estado actual.
La siguiente dificultad era identificar bien las necesidades de los usuarios y la
interfaz con la cual se iba a trabajar por medio de la aplicación WEB. Se tuvieron varias
sesiones definiendo cada una de las páginas del sitio, así como sus descripciones y
elementos para que cualquier usuario por muy nuevo que sea (en el caso de los
docentes e investigadores, hay algunos que no tienen mucho acercamiento con la
tecnología) puedan utilizarlo de manera amigable.
Entre otros aspectos, se tiene pensado que el ciclo de vida de esta aplicación
sea de aproximadamente 5 años, pero el primer ciclo (prueba) será de 1-2 años. Para
que el intercambio de sustancias y residuos químicos se dé de manera exitosa, se debe
definir a nivel administrativo un sistema de jerarquías para realizar los procesos de
validación entre cada proceso de intercambio por parte del sistema de control escolar o
jefes de laboratorio de cada Unidad Académica, así como se debe definir los perfiles de
cada uno de los responsables de los laboratorios, pero esto por el momento queda
fuera de los alcances de este proyecto.
Cada sustancia química tiene una denominación química y un código de
identificación única (CAS). La lista de los CAS existentes para meterlos en una base de
datos es enorme, y asciende a varios miles, por lo cual el realizar una base de datos de
manera inicial no sería rentable tampoco. Un último problema es el correcto
nombramiento de las sustancias que se reporten para oferta y/o demanda. Ya que una
persona puede poner agua, en vez de óxido de hidrógeno, y algunas pueden diferenciar
entre mayúsculas y minúsculas, así como abreviaciones, sería complicado realizar
búsquedas confiables teniendo varios nombres definidos, por lo cual también se
buscará la manera de ir perfeccionando este tipo de detalles.
Pasando al apartado de facilidades, primero que nada hay que mencionar que no
se tienen limitantes a la hora de elegir una plataforma de trabajo y lenguaje de
programación como en muchas empresas. Es decir, que podemos elegir cualquier tipo
de software y plataformas, así como el administrador de base de datos (DBMS) sin
62
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
tener conflictos con el departamento de comité ambiental o con las demás unidades
académicas. Gracias a esto, podemos ahorrar tiempo utilizando las herramientas que
ya conocemos y no tener que aprender a utilizar otros lenguajes y sus respectivos
entornos de desarrollo (IDEs).
Otra facilidad es que contamos con contacto directo con las personas que se
encargaron de la identificación del problema y propuesta inicial de solución. Gracias a
esto, podemos organizar juntas cada 7 o 4 días para ir viendo las mejoras y
optimización del software, y a medida que se va desarrollando, se pueden ir viendo
algunas otras notas y necesidades, siempre conservando un tiempo límite de
optimización y no quedar perdidos en una mejora continua sin llegar a las pruebas e
instalación del sistema.
63
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
3.5
Conclusiones del capítulo
Una vez realizados los análisis de las condiciones actuales, así como una
obtención concreta del problema y el planteamiento general de solución, se pudieron
analizar las facilidades y dificultades que se tienen al realizar este proyecto.
A partir del diseño previo que nos fue facilitado inicialmente y posteriormente
optimizado en conjunto con el departamento de comité ambiental y nosotros, podemos
empezar a realizar el diseño de la página WEB aún sin funcionalidades, y empezar a
realizar la especificación y diseño de las entidades y propiedades de las bases de
datos para posteriormente darle funcionalidad y empezar a realizar las pruebas.
De igual manera podemos concluir que una vez instalada la aplicación WEB,
tendrá un tiempo de vida de 1-2 años en los cuales se deberá utilizar como prueba
piloto y se deberán mejorar y optimizar todos los aspectos que salgan en este periodo,
para finalmente poder hacerlo accesible a todas las unidades académicas del IPN.
64
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
CAPÍTULO
4
Desarrollo Técnico
4.1
Diferencias entre lenguajes para el desarrollo de Aplicaciones
WEB
ASP.NET
Estrictamente no es un lenguaje de programación sino una arquitectura de
desarrollo WEB en la que se pueden usar distintos lenguajes (por ejemplo VB.NET o C#
para ASP.NET o VBScript/JScript para ASP).
ASP es muy similar en sintaxis e interface a la programación en Visual Basic.
Esto es debido a que Visual Basic esta correlacionado con los productos Microsoft y
sus programas.
ASP necesita de un servidor con plataforma basada en Windows. Además, se
necesita tener instalado IIS (Internet Information Services) para que funcione el sitio
WEB. Se debe adquirir la licencia de estos dos componentes para que ASP funcione.
PHP
PHP significa Hyper-text Preprocessor, usa como base C/C++ y su sintaxis son
muy similares entre sí. Debido a que una gran cantidad de programadores aun utilizan
C++ es por ello que PHP es muy popular.
Al utilizar PHP la mayoría de las herramientas asociadas con el programa son de
código abierto así que no se necesita pagar por ellas. PHP requiere de un servidor
Linux o Unix, el cual se puede adquirir sin costo. También puede correr en Windows y
Solaris.
JSP
JSP (Java Server Pages) sigue la filosofía de la arquitectura JAVA de "escribe
una vez ejecuta donde quieras". Así, JSP se puede ejecutar en los sistemas operativos
y servidores WEB más populares, como por ejemplo Apache, Netscape o Microsoft IIS.
La tecnología JSP usa Java como lenguaje de Script. Java es un lenguaje más
potente y escalable que los lenguajes de Script. Las páginas JSP son compilados en
Servlets por lo que actúan como una puerta a todos los servicios Java de Servidor y
librerías Java para aplicaciones http.
Tanto JSP como la mayoría de las herramientas asociadas con el programa son
de código abierto así que no es necesario pagar por ellas. Debido a que la tecnología
JSP es abierta y multiplataforma, los servidores WEB, plataformas y otros componentes
65
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
pueden ser fácilmente actualizados o cambiados sin que afecte a las aplicaciones
basadas en la tecnología JSP.
PERL
Perl toma características del lenguaje C, del lenguaje interpretado shell (sh),
AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de bloques como los del C o
AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener
ninguna de las limitaciones de los otros lenguajes de script.
Python
Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié
en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multi paradigma ya que
soporta orientación
a
objetos, programación
imperativa y
en
menor
medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico,
es fuertemente tipado y es multiplataforma.
4.2
Elección de Lenguajes/Plataformas para el Desarrollo de
Aplicaciones WEB
Una vez teniendo conocimiento de los distintos lenguajes de programación para
aplicaciones WEB se debe escoger un lenguaje para desarrollar nuestra aplicación
WEB.
Hemos escogido usar ASP.NET con C#, esto es debido a que nos encontramos
muy familiarizados con el IDE Visual Studio 2010 y el lenguaje C#. Esto se debe al
constante uso que hemos hecho de ellos en materias de la especialidad de
computación de la ingeniería en comunicaciones y electrónica.
El usar un lenguaje en el cual se tiene experiencia previa, como lo es C#, y usar
un IDE ya conocido nos permite ahorrar tiempo tanto en investigaciones como en
aprendizaje y uso del mismo y así poder empezar a desarrollar la aplicación WEB de
manera casi inmediata.
Por otro lado al decidir usar ASP.NET nos vemos obligados a usar únicamente IIS
para alojar nuestra aplicación WEB y un sistema operativo Windows que soporte IIS. De
esto concluimos que el servidor tiene que ser estrictamente plataforma Windows con
soporte ASP.net en su framework.
66
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.3
Análisis y Diseño de modelos Entidad-Relación
Al momento de realizar las tablas para la base de datos se deben definir las
entidades y atributos de cada una de estas, así como su relación (en caso de existir)
con otras tablas en la base de datos.
Figura 4.1. Modelo Entidad-Relación previo al desarrollo de la Base de Datos.
67
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
En nuestro caso, las entidades primarias son: “aspnet_Users” y
“aspnet_Sustancias”. En la tabla “aspnet_users” se guarda los atributos de ID de
aplicación (que en este caso es el mismo siempre), así como el nombre de usuario,
alias y atributos de la última vez que se conectó a la base de datos. A partir de este
registro, se genera una ID codificada llamada “UserID” la cual es llave primaria y servirá
para relacionarse posteriormente con las demás entidades.
A partir de esa ID, se generan las tablas “aspnet_Membership” y “User_Data”. La
primera contiene el “UserID” (relacionado) y guarda la contraseña, el email en
mayúsculas y minúsculas, y la pregunta y respuesta secreta para recuperar la
contraseña en caso de haberla olvidado. La contraseña así como la respuesta de la
pregunta secreta están codificadas de tal manera que no se puede ver su valor
fácilmente con solo realizar una búsqueda.
La tabla “User_Data” contiene la información restante del usuario, como lo son su
ocupación, unidad académica, extensión, teléfono y demás. Esta de igual manera está
relacionada con el “UserId”. Del campo de Unidad Académica, se desprende otra tabla
llamada de igual manera, que contiene todos los nombres de los centros de
investigación y unidades académicas (ej. UPIBI, ESIME, ESCOM, UPIITA, etc.), las
cuales el usuario podrá escoger al momento de llenar su formulario para evitar distintos
nombres y formas de escribir cada una de estas.
La tabla “aspnet_sustancias” contiene los atributos de las sustancias y residuos
químicos como lo son el nombre, cantidad, tipo de residuo, estado, y observaciones.
Esta de igual manera está relacionada con el “UserId”. En esta tabla no existen campos
primarios ya que pueden existir varias ofertas del mismo residuo o sustancia química
con los mismos atributos en distintas unidades académicas o en distintos tiempos. Del
atributo CAS se deriva otra tabla que contiene los números de identificación única
(CAS) de las sustancias, los cuales no se pueden repetir, y el usuario podrá seleccionar
a la hora de realizar una acción de oferta y/o demanda.
Cabe resultar que se pide la unidad académica para que al momento de realizar
una búsqueda de ofertas y/o demandas, se pueda saber el origen de la acción y
posteriormente relacionarse con el usuario que realizó dicha acción.
68
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.4
Análisis y Diseño de la Estructura del Sitio WEB (Mapa del
Sitio)
Tomando como base el diseño preliminar que nos ha otorgado el docente y
grupos de alumnos de la UPIBI es que se ha creado el mapa del sitio. El cual puede ser
modificado durante la etapa de desarrollo de la aplicación WEB si fuese así requerido
para brindar una mejor funcionalidad a los usuarios de dicha aplicación.
Mapa de Sitio: Mercado de Residuos y Sustancias Químicas
o Inicio
o Inicio de sesión
o Registro
o Búsqueda de residuos y sustancias
o Ofertas/demandas
o Eventos y noticias
o Capacitan a generadores de residuos peligrosos
o Seis estados concentran residuos tóxicos
o Señala nuevas normas la SCT para traslado y manejo de envases
o En Armenia se llevará la cumbre mundial en manejo de rellenos sanitarios
o Enlaces
o Asesoría
o Conócenos
Más adelante, en caso de ser necesario pueden ser agregadas más páginas a la
aplicación, si es que el proyecto llegara a crecer dentro de unos años, ya que podría
manejar también una base de datos de inventarios de unidades académicas y centros
de investigación del IPN, o del manejo de otro tipo de materiales (electrónicos por
ejemplo) y no solo limitado a químicos.
69
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.5
Desarrollo
Después de la identificación del problema y planteamiento de solución, la
siguiente fase es el desarrollo de la aplicación WEB, el cual principalmente se divide en
3 partes:





Diseño de la Hoja de Estilo (CSS) en Adobe Dreamweaver CS5
Creación y Diseño de la plantilla principal (Maestra) en Visual Studio 2010
Desarrollo de la Aplicación WEB en Visual Studio 2010 con ASP.Net
Creación de Bases de Datos y ligamiento a la Aplicación
Instalación de Servidor WEB en Windows Server 2008 con IIS
Figura 4.3. Diagrama de Flujo del Desarrollo de una Aplicación WEB.
Dentro de este capítulo, se explicará de manera amplia pero sin entrar tanto en
detalles técnicos, los pasos que se utilizaron para el desarrollo de la aplicación WEB,
así como los inconvenientes y facilidades que se fueron encontrando dentro del
proceso.
70
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.5.1 Diseño de la Hoja de Estilo (CSS) en Adobe Dreamweaver CS5
El primer paso es realizar el diseño de la plantilla de la página WEB. Para esto,
utilizamos la aplicación Dreamweaver CS5 de la suite de Adobe, la cual por su amplia
extensión y optimización para desarrollo de sitios WEB, es la que más facilidades
ofrece al momento de realizar la programación. Se realizará una Hoja Estilo Cascada
(CSS) la cual servirá como plantilla principal para todo el sitio WEB. Esto es mucho más
eficiente que realizar y copiar el diseño principal en cada una de las páginas WEB que
se tengan que elaborar.
Primeramente, se plantean los formatos de tamaño de página, tipo y tamaño de
letra, los estilos de cabecera y pié de página, y los colores principales como el fondo y
la base del sitio. Posteriormente se empiezan a afinar detalles como el acomodo de
tablas, textos y colores de ciertos botones o imágenes en distintos casos: cuando no
están seleccionados, cuando el mouse se encuentra por encima de ellos, cuando se les
da clic, etc.). Poco a poco, el sitio WEB empieza a tomar forma, sin embargo, este es el
código principal.
Finalmente se tendrá que realizar una página de prueba, cuyo nuestro caso fue
la página principal, y ligarla con la hoja de estilo para finalmente poder empezar a ver
los cambios y el diseño, y en base a la vista, realizar optimizaciones, cambios y arreglos
que se deseen.
Figura 4.4. Hoja de Estilo Cascada en Dreamweaver CS5.
En la figura 4.4 se puede ver una parte del código del CSS, donde se muestra la
configuración principal del cuerpo de la página, configuraciones de cuando un link ya ha
71
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
sido visitado, configuraciones de cuando pasa el puntero encima de ciertos objetos y
demás. Se requiere definir cada tipo, tamaño, color, forma y demás parámetros de letra
para cada una de las partes del sitio WEB.
Figura 4.5. Hoja de Estilo Cascada en Dreamweaver CS5.
En la figura 4.5 se pueden observar configuraciones del encabezado y pie de
página.
4.5.2 Creación y Diseño de la Plantilla Principal (Maestra) en Visual Studio
2010
Una vez que se realizó el CSS del sitio, ahora se puede cargar en Microsoft
Visual Studio como la hoja de estilo que se utilizará para realizar la página Maestra del
Sitio.
72
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.6. Código aspx.cs de plantilla Maestra “Site Master”.
Una vez que abrimos el IDE y cargamos la hoja de estilo, empezamos a agregar
el menú principal y los objetos que se encontrarán en todas las páginas del sitio. En
este caso, se agregó el Título, el Menú de Navegación, un Logotipo del IPN y el Botón
de Inicio de Sesión. Esos son los componentes principales que aparecerán en todo el
sitio y por lo tanto se asignarán como elementos fijos en el Site Master.
Figura 4.7. Vista Diseño de la Plantilla “Site Master”.
Una vez realizado el Site Master, se le da clic derecho a cada una de las páginas
creadas y se le aplica la plantilla Maestra. De este modo ya todas las páginas estarán
referenciadas al Sitio Maestro y tendrán el Diseño General sin que se pueda modificar.
De este modo se vuelve más seguro el desarrollo de las siguientes páginas, ya que la
parte del diseño general queda bloqueado.
73
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.5.3 Desarrollo de la Aplicación WEB en ASP.Net con Visual Studio 2010
Una vez que se tiene la plantilla Maestra se procede a armar todas las páginas
del sitio WEB. Se inició con la página principal y posteriormente se realizaron todas las
demás páginas, dejando las que van referenciadas a una base de datos al final por ser
más complejas que las demás (donde normalmente solo se involucra HTML y no
funciones de ASP).
Figura 4.8. Página de Inicio “Default.aspx”.
En la página de Inicio se da una introducción al usuario a la Aplicación de
Intercambio de Residuos y Sustancias Químicas. De igual manera se le invita a
registrarse o a iniciar sesión para iniciar la búsqueda de sustancias y residuos, o
realizar una acción de oferta/demanda dentro del mismo.
Esta es la página principal que aparecerá al entrar a la página por medio de una
IP, por lo cual se ha decidido dejar la interfaz lo más amigable y sencilla (fácil de leer)
para el usuario. Información detallada se dará a conocer en otras secciones del sitio.
74
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.9. Vista Diseño de la sección de Búsqueda de Residuos y Sustancias.
En la sección de búsqueda se agregó un pequeño formulario con el nombre, tipo
y acción que se quiere buscar con el fin de ejecutar un comando y se extraiga
información de la base de datos. En esta sección se requiere ligar un botón a la base
para poder obtener información, código que se mostrará más adelante ya que por el
momento solo se realizará el diseño.
75
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.10. Vista Diseño de la sección de Ofertas y Demandas.
La sección de Ofertas y Demandas es la más compleja del sitio, ya que requiere
llenar un formulario bastante amplio donde se podrá ofertar y/o demandar alguna
sustancia o residuo químico, por lo cual se requiere que llene datos técnicos como el
CAS, el CPR, Tipo de Sustancia o Residuo, Estado y demás características de acuerdo
a las normas establecidas para el manejo de sustancias.
Debido a que inicialmente se lanzará una prueba piloto en la Unidad Profesional
Interdisciplinaria de Biotecnología (UPIBI) con un cierto grupo de alumnos y profesores,
se asignaron funciones de creación, borrado y actualización de datos en esta sección.
Posteriormente se tendría que mantener todo este tipo de actividades bajo un registro y
control para que no se haga mal uso de esta aplicación WEB, y con una persona
encargada de administrar y validar todos los procesos con previa autorización.
Adicionalmente, se agregaron procesos de validación en todos los campos ya
sea porque fuesen campos de datos obligatorios, o para validar que esté bien escrito un
76
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
nombre, dirección de correo electrónico y también evitar que se creen bases de datos
sin datos ya sea por equivocación o intencionalmente. Esta página solo puede ser vista
una vez que el usuarios es registrado y validado por un administrador.
Figura 4.11. Vista Diseño de la sección de Enlaces.
En la sección de Enlaces se agregaron los logotipos de todos los departamentos
e Instituciones a las cuales está ligada esta Aplicación con su respectivo enlace a su
página WEB.
77
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.12. Vista Diseño de la sección “Conócenos”.
En la sección “Acerca del Sitio” se explica de manera más detallada cual es el
propósito y función de la Aplicación de Sustancias y Residuos Químicos. De igual
manera, se explican las Normas y Leyes a las cuales está apegada esta aplicación y
que se deben tener en cuenta a la hora de hacer uso de la misma.
78
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.13. Vista Diseño de la sección de Eventos y Noticias.
La sección de Eventos y Noticias es una sección que será encargada a una
persona la cual deberá ser actualizada con Noticias y los últimos Eventos relacionados
a la industria química y especialmente al manejo de Sustancias y Reactivos, pero no
limitada a esto.
79
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.14. Vista Diseño de la sección de Inicio de Sesión.
Finalmente, se crearon 2 páginas para el usuario, donde podrá registrarse para
ser miembro de esta aplicación, o en caso de ser ya miembro, iniciar sesión con su
cuenta. Primeramente se trabajó en la sección de inicio de Sesión, donde se pide el
Nombre de Usuario y Contraseña para poder iniciar sesión. De igual manera se da la
opción de guardar la información de las “cookies” para no tener que iniciar sesión cada
que se entre al sitio desde una misma PC.
80
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.15. Vista Diseño de la sección de Registro de Usuario.
Posteriormente se creó la sección de registro, que lleva un formulario ligado a
una base de datos donde se guarda todo el registro de los miembros de esta aplicación,
con sus respectivos datos indispensables como lo son: nombre, unidad académica a la
que pertenece, correo electrónico y contraseñas.
También se incluye los respectivos validadores para que no existan registros
vacíos o llenados de manera incorrecta. Una vez que se ha creado un registro se podrá
iniciar sesión con su cuenta en la Sección anterior, que es accesible desde cualquier
página del sitio WEB incluyendo la página de Inicio.
81
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.5.4 Creación de Bases de Datos y Vinculación a la Aplicación
Posteriormente se creó la base de datos con sus respectivas tablas. Dentro de
este proceso, se definió que se requiere una tabla para las Sustancias y Residuos
Químicos, y otra base de Datos con una tabla de los usuarios. Adicionalmente, se
requieren tablas para las Unidades Académicas participantes, y posteriormente se
piensa realizar una tabla que contenga los números de CAS (que ascienden a miles de
registros).
Por el momento, se crearon las tablas principales; la de Sustancias y Residuos
Químicos para buscar, ofertar y/o demandar, y la de Usuarios para que se empiece a
realizar el registro de los mismos. En la figura 4.16 se muestra la tabla para el registro
de usuarios y sus respectivas variables y tipos de datos asignados a cada una.
Figura 4.16. Definición de atributos y tipos de Datos de la tabla Usuarios.
Estas tablas se realizaron directamente en SQL Server 2008 que viene integrado
en Visual Studio 2010, sin embargo, para las tablas de prueba que se querían generar
en UPIBI, se utilizó Microsoft Access 2007/2010 y posteriormente se convirtieron las
tablas a un archivo con extensión .mdf para trabajarse en SQL Server.
En la figura 4.17 se muestra la tabla de las Sustancias y Residuos Químicos con
sus respectivas variables y tipo de datos a guardar en la base de datos.
82
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.17. Definición de atributos y tipos de Datos de la tabla Formulario.
Finalmente, para ligar las Bases de Datos a la aplicación WEB se asignaron
distintos botones (Crear, Actualizar y Borrar) y se asignaron los comandos SQL
respectivos para cada acción en el código.
Figura 4.18. Código aspx.cs para realizar la conexión con la Base de Datos.
83
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
En el archivo aspx.cs se asignan las funciones para trabajar con la base de
datos. Se crea una cadena de conexión y se abre para realizar un proceso y
posteriormente se cierra. La función BEnvia_Click es el que se encarga de enviar una
oferta o demanda a la base de datos. La función BBorra sirve para eliminar alguna
oferta/demanda, y la función BActualiza nos permite actualizar la cantidad de material
que se está ofertando o demandando.
public partial class About : System.WEB.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BEnvia_Click(object sender, EventArgs e)
{
SqlConnection tabla = new
SqlConnection(SqlDataSource1.ConnectionString.ToString());
SqlCommand cmd;
tabla.Open();
cmd = new SqlCommand("INSERT into Formulario values ('" + DDLOD.SelectedItem.Value
+ "','" + TBNombre.Text + "','" + DDLTipo.SelectedItem.Value + "','" +
DDLEstado.SelectedItem.Value + "','" + TBCPR.Text + "','" + DDLCAS.SelectedItem.Value +
"','" + RBLCantidad.SelectedItem.Value + "'," + TBCantidad.Text + ",'" +
DDLPeriodo.SelectedItem.Value + "','" + TBObservaciones.Text + "','" +
DDLVigencia.SelectedItem.Value + "')", tabla);
cmd.ExecuteNonQuery();
tabla.Close();
}
protected void BBorra_Click(object sender, EventArgs e)
{
SqlConnection tabla = new
SqlConnection(SqlDataSource1.ConnectionString.ToString());
SqlCommand cmd;
tabla.Open();
cmd = new SqlCommand("DELETE from Formulario WHERE Nombre='"+TBNombre.Text+"' AND
TipoA='"+DDLOD.SelectedItem.Value+"'", tabla);
cmd.ExecuteNonQuery();
tabla.Close();
}
protected void BActualiza_Click(object sender, EventArgs e)
{
SqlConnection tabla = new
SqlConnection(SqlDataSource1.ConnectionString.ToString());
SqlCommand cmd;
tabla.Open();
cmd = new SqlCommand("UPDATE Formulario SET Cantidad="+TBCantidad.Text+" WHERE
Nombre='"+TBNombre.Text+"'", tabla);
cmd.ExecuteNonQuery();
tabla.Close();
}
}
84
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.19. Exportación de los archivos para su posterior publicación.
Una vez afinados todos los detalles del prototipo el cual se pondrá a prueba, se
da clic derecho en la aplicación que se encuentra en el Explorador de Soluciones y se
generan los archivos a utilizar presionando “Publicar Sitio WEB”. Este IDE también
permite publicar el Sitio WEB directamente con un FTP o incluso con Servicios de
Información de Internet (IIS), demostrando así que es una herramienta muy completa
para el desarrollo de software en todas sus etapas.
Figura 4.20. Carpeta con los archivos exportados desde VS 2010.
85
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
4.6
Instalación y Puesta en Marcha
4.6.1
Instalación de Internet Information Services (IIS)
Para publicar nuestro sitio WEB se necesita hacer uso del “Servicios de
Información de Internet” (IIS), el cual viene integrado en los últimos sistemas operativos
Windows. En esta ocasión se hará uso del Microsoft Windows Server 2008 el cual trae
integrada la última versión del IIS, la versión 7.0.
El servidor que nos fue asignado tiene las siguientes especificaciones:
Tabla 4.1. Especificaciones del Servidor WEB
CPU
Intel Pentium D 3.0GHz (Doble Núcleo)
Memoria RAM
1.46 GB
Disco Duro
80 GB
Sistema Operativo Windows Server 2003 Enterprise Edition Service Pack 2
De manera predeterminada IIS no se encuentra activado en cualquier sistema
operativo Windows. Para activarlo hay que entrar en Panel de control >> Programas y
características >> Activar o desactivar las características de Windows.
Figura 4.21. Ventana de Programas y características del panel de control.
Con lo cual aparecerá la ventana del “Administrador del servidor”. En la parte
inferior de esta ventana es donde se encuentra la opción de “Agregar funciones”, hay
que dar clic en esta.
86
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.22. Ventana del Administrador del servidor.
Enseguida aparecerá un asistente que nos guiara en el proceso para agregar
funciones en Windows Server 2008.
87
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.23. Ventana del Asistente para agregar funciones.
El asistente nos proporcionara la información necesaria para facilitar el proceso
de agregado de funciones. Basta dar clic en “Siguiente” para seleccionar las funciones
que deseamos agregar.
88
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.24. Proceso de selección de funciones del servidor.
Una vez seleccionadas aquella (s) función(es) deseadas solo resta dar clic en
“Instalar” y después de varios minutos se cerrara automáticamente el asistente lo cual
será indicio que la instalación de las funciones ha terminado.
4.6.2 Montaje de una aplicación ASP.net en un servidor WEB
Para entrar a IIS se sigue la siguiente ruta: Inicio >> Herramientas
Administrativas >> Administrador de Internet Information Services (IIS). Con lo cual
aparecerá la siguiente ventana.
89
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.25. Ventana del Administrador de servicios de información de internet.
En la parte lateral izquierda se encuentra el árbol de nuestro servidor, al
desplegar las ramas del árbol nos damos cuenta que existe un sitio WEB por Default.
90
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.26. Página principal de Default WEB Site.
Pero es mejor configurar un nuevo sitio WEB para nuestra aplicación. Para crear
un nuevo sitio se debe dar clic derecho sobre “Sitios” y seleccionar “Agregar Sitio
WEB…” con lo cual se abre una pequeña ventana en la cual tendremos que llenar
ciertos campos.
91
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.27. Opciones de configuración al crear un sitio WEB
El nombre del sitio preferentemente debe ser fácil de recordar y relacionado con
la función de nuestro sitio WEB. En “Ruta de acceso física” se debe colocar la ubicación
de los archivos que fueron generados por Visual Studio 2010 para la publicación del
sitio WEB.
En la “Dirección IP” se puede colocar la dirección IP del servidor o dejar
cualquiera no asignada. Si se desea poner un nombre de host es necesario tener un
servidor DNS. Las demás opciones pueden dejarse sin modificar y seguidamente dar
clic en “Aceptar” para finalizar el proceso de creación del sitio WEB.
Al volver a la ventana de IIS aparecerá en “Sitios” el sitio recién creado y las
carpetas que existan dentro de este.
92
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.28. Página principal del sitio WEB “TesisIntercambio”.
Para verificar que todos los archivos se encuentran correctamente asociados a
nuestro sitio WEB habrá que cambiar la vista del sitio en la parte inferior a la “Vista
Contenido”.
93
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.29. Vista Contenido del sitio WEB “TesisIntercambio”.
En la parte lateral derecha dando clic en “Examinar” se ejecuta el sitio WEB en el
navegador WEB predeterminado.
94
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.30. Sitio WEB visto en un navegador.
Al ejecutar la aplicación WEB resultara en un error en el archivo “WEB.config”.
Para corregir este problema se debe modificar el grupo de aplicación de nuestro sitio
WEB, el cual tiene el mismo nombre que el sitio WEB creado en IIS.
95
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.31. Grupos de aplicaciones.
Dando doble clic izquierdo sobre el grupo de aplicación con el mismo nombre de
nuestro sitio aparece una ventana en la cual se debe cambiar la versión del .NET
Framework, para nuestro sitio WEB la versión correcta es la 4.0.30319 y dar clic en
“Aceptar”.
96
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.32. Configuración básica del grupo de aplicaciones.
Para comprobar que nuestro sitio WEB funciona correctamente hay que dar clic
sobre nuestro sitio WEB y enseguida dar clic en “Examinar”.
97
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Figura 4.33. Sitio WEB visto correctamente en un navegador.
De esta manera la aplicación WEB ha sido exitosamente instalada en un servidor
y se puede acceder a ella por medio de la IP del servidor desde cualquier otra
computadora que se encuentre en la misma subred.
98
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Evaluación económica
Una vez terminada la etapa de desarrollo de la aplicación WEB se puede realizar
una evaluación económica de los costos de ingeniería, costo de las licencias del
software utilizado y costo del servidor para alojar la aplicación WEB.
Tabla 4.2. Costo del software
Software
Costo
Windows server 2008 standard $ 1029 dlls
Es necesario adquirir una licencia de Windows server 2008 como sistema
operativo del servidor, ya que la aplicación WEB fue desarrollada en ASP.NET (4.0) y
es requerimiento que el servidor tenga un sistema operativo basado en Windows.
Tabla 4.3. Costo del servidor WEB
Componente
Modelo
Precio
CPU
Intel Celeron Dual Core E3300
$675
RAM
Kingston DDR2 2 GB 800MHz
$318
Tarjeta madre
Gigabyte GA-G31M-ES2C
$685
Disco duro
Seagate 250 GB (st3250310/18as)
$511
Lector óptico
LG gh22ns50 / ns40
$285
Teclado y Raton
Microsoft Wired Desktop 500
$200
Gabinete
Acteck Orsus ATX con fuente de 500w $394
Monitor
Acer X163W 16” 1366x768 pixeles
$1129
Costo total
$4515
Para alojar la aplicación WEB de Intercambio de sustancias y residuos químicos
no se necesita de un servidor de alto rendimiento. Los componentes mostrados en la
tabla 4.3 son componentes sugeridos para armar un servidor WEB. El servidor WEB
que se nos ha sido asignado en las instalaciones del CFIE tiene menor rendimiento que
el servidor que ha sido propuesto en la tabla 4.3, y la razón por la cual se han elegido
dichos componentes con precios separados es dado que el costo es más económico
que comprar un servidor de marca, además de ser más personalizable de acuerdo a
nuestras necesidades. Para asegurar que nuestra recomendación sea la más adecuada
(a la fecha de Diciembre 2010), se realizó un estudio de costos de servidores con
características y especificaciones similares a las que se proponen en la tabla 4.3 con
marcas que tengan mayor disponibilidad en el país. Ya que no todas las marcas que se
dedican a venta de equipo de cómputo tienen especialización o una ramificación
dedicada a servidores, nuestro estudio se reduce a las siguientes: Acer, Dell, Hewlet
Packard.
99
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Tabla 4.4. Servidor Web Acer Altos G320
Componente
Modelo
Precio
CPU
Intel Pentium D 3.2GHz
RAM
4 GB 800MHz
Tarjeta madre
Desconocida
Disco duro
250 GB
Lector óptico
DVD-ROM
Teclado y Raton
No incluidos
Gabinete
Acer
Monitor
No incluido
Costo total
$9,599
Tabla 4.5. Servidor Web HP ProLiant ML110 G6
Componente
Modelo
CPU
Intel Pentium G9650
RAM
DDR2 2 GB 800MHz
Tarjeta madre
Desconocida
Disco duro
250 GB
Lector óptico
DVD-ROM
Teclado y Raton
No incluídos
Gabinete
Hewlet Packard
Monitor
No incluido
Costo total
Precio
$11,999
Tabla 4.6. Servidor Web Dell Poweredge T110
Componente
Modelo
CPU
Intel Xeon X3430
RAM
DDR3 2 GB 1333MHz
Tarjeta madre
Desconocida
Disco duro
250GB
Lector óptico
DVD-ROM
Teclado y Raton
Incluidos
Gabinete
Dell
Monitor
Dell 17”
Costo total
Precio
$13,960
Debido a que los servidores muchas veces se instalan y se manejan de manera
remota, nuestra propuesta de Hacer, así como la de HP no incluyen monitor, teclado ni
mouse. Dell es más amigable al momento de comprar una PC, y te ofrece incluirte los
periféricos, así como un monitor de 17 pulgadas por una cantidad de $2,700. Se deberá
tomar en cuenta que ninguna de estas opciones incluye una licencia y sistema
operativo integrados, y en caso de quererlos incluidos, se añadían $12,500 pesos a la
100
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
cuenta total (Windows Server 2008 R2 Standard). En todo caso, el uso que se les da a
estos equipos es para pequeñas y/o medianas empresas como mucho, lo cual es
adecuado y similar al uso que se le piensa dar a la aplicación web que se está
desarrollando. Si el cliente lo desea, se puede elegir alguno de estos equipos o en su
defecto, buscar uno similar, pero es recomendable comprar los componentes por
separado y armar un servidor web de manera personalizada por razones de costo, y
manejo (errores, posibles fallas, actualizaciones, etc.), además de que se puede
adecuar a las situaciones que se requieran posteriormente.
Tabla 4.7. Costo de ingeniería
Actividad Desarrollada
Análisis y Esquema de la Aplicación
WEB
Diseño CSS en Adobe Dreamweaver
Diseño general de plantilla (Master
Page) en Visual Studio
Diseño de todas las páginas de la
aplicación WEB y su contenido
Diseño y Análisis de Bases de Datos
Creación y Vinculación de Bases de
Datos con la aplicación WEB
Previas Optimizaciones y Cambios
antes de la fase de pruebas
Fase de Pruebas (Servidor Local)
Instalación del Servidor así como el
Sistema Operativo y Software que
requiere
Instalación de Aplicación WEB en
Servidor
Total de horas trabajadas
Costo de Ingeniería por hora
Costo Total de Ingeniería
Tiempo en Horas
10hr
6hr
6hr
10hr
4hr
6hr
4hr
4hr
8hr
2hr
60hr
$200 pesos
$12,000 pesos
En total, se puede estimar que si se requiere que se haga la aplicación WEB
para una empresa externa, donde se inicie desde cero y no se tenga ni el servidor
instalado ni las licencias del sistema operativo y software, el costo total sería de
aproximadamente $25,000 pesos. En caso de que ya se cuente con el servidor y las
licencias como es el caso de nuestro proyecto, el costo aproximado sería de $12,000
pesos.
Como dato adicional, en el servidor del IPN la seguridad que existe en esta
aplicación depende de la seguridad general de los servidores del IPN, pero si se
realizara este proyecto para una empresa que no contara con sistemas de seguridad y
servidores robustos, se requeriría comprar licencias adicionales para el manejo de
101
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
firewalls y antivirus, o en su defecto equipos electrónicos como ruteadores o switches
con firewall a nivel hardware para detener a los intrusos.
En cuanto al tiempo estimado, las horas totales de trabajo fueron
aproximadamente 60. Pero las pláticas continuas con el cliente para hacer cambios,
optimizaciones y agregar cosas que no se habían considerado pueden ser alrededor de
20 horas, por lo que sería un total de 80 horas. Si se trabaja 6hr-8hr al día, el tiempo
total sería de 10 días hábiles (2 semanas), pero considerando cualquier error o
problema que se presente, es posible que el tiempo tal de trabajo estimado sea de 3
semanas a 1 mes.
102
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Conclusiones
El objetivo general del trabajo fue alcanzado con éxito, ya que se ha logrado
crear una aplicación WEB con un sistema de base de datos el cual puede almacenar la
información de las sustancias y residuos químicos que no se aprovechan en los
laboratorios de las distintas unidades académicas del IPN a nivel superior.
El sitio WEB fue desarrollado utilizando las últimas versiones de IDEs, sistemas
operativos y software de diseño WEB ya que permiten un alto grado de compatibilidad
entre ellos mismos, facilitando el diseño, desarrollo e implementación de cualquier sitio
WEB. Al mismo tiempo al usar las versiones más recientes se extiende la longevidad de
la aplicación WEB por algunos años y se pueden utilizar características que estén a la
vanguardia.
El alojamiento de la aplicación WEB no requiere de un servidor con
características de hardware de altas prestaciones. Sin embargo, la aplicación WEB al
manejar información personal de los trabajadores del IPN, y por lo tanto confidencial,
necesita de herramientas de seguridad dentro del mismo código del sitio WEB y un
sistema operativo en el servidor que brinde mayor seguridad y confiabilidad para las
aplicaciones WEB alojadas en el mismo. Es por esto que se ha decidido utilizar un
sistema operativo diseñado para servidores como el Windows Server 2008.
Una vez terminado el primer prototipo, se logró conseguir un espacio en los
servidores del CFIE y por lo tanto se puede montar el sitio WEB para empezar a realizar
pruebas en la UPIBI. El desarrollo de esta aplicación está lejos de terminar aquí, ya que
una vez que se lance la prueba piloto se tendrán que empezar a realizar correcciones y
optimizaciones de acuerdo a las necesidades de los usuarios y así realizar otra
iteración en el desarrollo y el ciclo de vida del software.
Dentro de la sección de comentarios y recomendaciones se incluirá una lista de
optimizaciones y actualizaciones que son viables y en muchos casos necesarias para la
aplicación dependiendo del tiempo de vida del software y el manejo administrativo que
se le dé. De igual manera se requiere de un departamento que haga análisis de las
necesidades y servicios que requieran los usuarios para hacer crecer esta herramienta.
103
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Comentarios y Recomendaciones
Como se mencionó en las conclusiones finales, se ha terminado la primera fase
del desarrollo del software. En este momento inicia la fase de pruebas piloto con la
unidad académica UPIBI y el sitio WEB debería de tener varias recomendaciones y
sugerencias para inicios del siguiente ciclo escolar (Enero 2010). El software no es un
desarrollo único que no requiera de actualizaciones y evolución durante el paso del
tiempo, por lo que una vez hechas las correcciones y optimizaciones de la fase de
pruebas, se podría abrir el acceso a más unidades para que empiecen a participar. El
ciclo de software para lograr una aplicación totalmente funciona y que se podría
considerar como un estado final podría ascender a 2 años fácilmente.
Es importante saber que se deben establecer límites en la evolución y corrección
del software, ya que no se puede estar meses o años diseñando y programando sin
lanzar jamás la aplicación porque los clientes quieran siempre hacer cambios en uno u
otro lado. De todos modos se ha hecho un análisis en conjunto con el grupo (profesor y
alumnos) de la UPIBI para considerar varias recomendaciones y comentarios para
mejorar el software en su siguiente iteración, las cuales se reportan a continuación:









Se debe actualizar el sistema operativo del servidor asignado en el CFIE a
Windows Server 2008 R2 para total compatibilidad con la aplicación WEB.
Homogenizar los nombres que se utilizan para las sustancias y residuos
químicos, ya que se presta a confusión y dificulta el manejo de la base de datos.
Definir los atributos de las entidades de una manera fija, permanente y confiable
para asegurar que el catálogo del sistema funcione de la manera más adecuada.
Asignar personal que se encargue de revisar y validar los datos de registro de
nuevos usuarios.
Asignar personal que se encargue de revisar y validar todas y cada una de las
operaciones realizadas por los usuarios.
Si se desea conservar actualizada la sección de noticias y eventos, se deberá
asignar a una persona encargada.
En caso de que el punto anterior sea puesto en marcha, se deberá integrar un
editor de texto para la publicación amigable de contenido en la sección de
eventos y noticias.
En caso de que la aplicación llegue a ser utilizada por varias unidades
académicas del IPN, se requerirá una mayor capacidad de procesamiento y
almacenamiento en el servidor designado.
Para una mejor interpretación y obtención de estadísticas, se puede agregar
posteriormente una sección dedicada a dar estadísticas de los movimientos y
registros de usuarios, y de ser posible mostrar tablas y graficarlas.
Existen muchas posibles mejoras en el desarrollo del software, sin embargo
estos fueron los comentarios y sugerencias pensadas en un proyecto interdisciplinario
por el momento.
104
Aplicación WEB para el Intercambio de Sustancias y Residuos Químicos
Fuentes de Información
[1] Silberschatz, Korth, Sudarshan, “Fundamentos de bases de datos”, Mc Graw Hill,
España, 2002.
[2] Ian Sommerville, “Ingenieria del software”, Pearson, España, 2005.
[3] José Luis Raya Cabrera, Laura Raya González, Miguel Ángel Martínez Ruiz,
“Domine Microsoft Windows Server 2008”, Alfaomega Ra-Ma, Mexico, 2010.
[4] Windows Server 2008 R2 Operating System.
www.microsoft.com/windowsserver2008/en/us/default.aspx
[5] Microsoft Visual Studio 2010 – El sitio oficial de Visual Studio 2010.
www.microsoft.com/spain/visualstudio
[6] The Official Microsoft IIS Site. www.iis.net/
[7] MSDN Microsoft
www.msdn.microsoft.com/
Development,
Suscriptions,
Resources
and
more.
105
Descargar