Universidad Regional Autónoma de los Andes

Anuncio
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
MAESTRÍA EN INFORMÁTICA
TESIS DE POSGRADO PREVIO A LA OBTENCIÓN DEL TÍTULO DE
MAGISTER EN INGENIERIA DE SISTEMAS DE COMPUTACIÓN
TEMA:
APLICACIÓN WEB PARA LA GESTION DE PÓLIZAS
EN LA ASEGURADORA ALLIANCE S.A.
AUTOR:
Ing. John Luis Toasa Espinoza, Esp.
ASESOR:
Ing. Carlos Martínez, Mgs.
AMBATO – ECUADOR
2012
1
II2
3
III
DEDICATORIA
A Dios por las bendiciones recibidas durante toda
mi vida y a la Santísima Virgen por su
generosidad demostrada con su infinito e
incansable amor.
A mi esposa e hijos quienes me han sabido
brindar todo su apoyo y paciencia durante todos
estos años de estudio que han sentido mi ausencia
para este logro, gracias al legado y sus sabias de
amor y felicidad que me han brindado para llegar
a culminar mi carrera.
A mis padres por haberme dado la vida y por su
apoyo en el inicio de esta larga jornada en mi
formación personal, por estar siempre a mi lado
guiándome
con
sus
acertados
consejos
y
apoyándome en forma incondicional en cada uno
de los proyectos emprendidos.
Ing. John Toasa Espinoza
IV
4
AGRADECIMIENTO
Al Ing. Carlos Martínez, Asesor de Tesis por ser
un verdadero mentor comprometido con la
educación, por la capacitación recibida que me ha
permitido consolidarme profesionalmente.
A las Autoridades de UNIANDES de la matriz
Ambato por su colaboración brindada para
culminar con éxito el desarrollo de la tesis.
A todos y cada uno de los Docentes de la
Maestría
de
Informática
en
Sistemas
e
Informática que compartieron gustosos sus
conocimientos en esta institución superior con un
alto nivel académico y una educación profesional
y especializada.
Ing. John Toasa Espinoza.
V5
ÍNDICE GENERAL
PÁG.
PORTADA…………………………………….……………………………………
I
CERTIFICACIÓN DEL ASESOR………………………………………………...
II
AUTORÍA………………………………………………………………………….
III
DEDICATORIA………………………………………….………………….……..
IV
AGRADECIMIENTO…………………………………….…………………….….
V
ÍNDICE GENERAL……………………………………….………………….……
VI
ÍNDICE DE TABLAS…………………………………….………………….…….
X
INDICE DE GRAFICOS……………………………….………………………….
XI
RESUMEN EJECUTIVO………………………………………..………….……..
XI
EXECUTIVE SUMMARY……………………….…………….…………………
XII
INTRODUCCIÓN………………………..………….……………………………..
XIV
CAPITULO I
EL PROBLEMA
1.1 Planteamiento del problema………………………………..…………………..
1
1.1.1 Formulación del problema…………………………………………………..
3
1.1.2 Delimitación………………………………………………………………....
4
1.1.3 Identificación de la línea de investigación…………………………………..
4
1.2. Objetivos………………………………………………………………..…….
4
1.2.1 Objetivo general………………………………………………………..……
4
1.2.2 Objetivos específicos…………………………………………………..……
4
1.3 Justificación……………………………………………………………..…….
5
VI
6
CAPITULO II
MARCO TEÓRICO
2.1
Antecedentes investigativos…………..…………………………….………
6
2.2
Fundamentación teórica……………..…………………………….………..
7
2.2.1
Teoría de los portales………..…………………………………...….........
7
2.2.2
Servidores Web……………..……………………………………..……...
9
2.2.3
Procesamiento de páginas dinámicas….…….……….…………………...
11
2.2.4
Introducción a las bases de datos………………..……………………..…
12
2.2.5
Oracle……………………………………………………………………....
13
2.2.6
Sql Plus………………………………………………………………….....
27
2.2.7
La familia Oracle………………………………………………………..…
32
2.2.8
PL/SQL Developer……………………………………………………..….
35
2.2.9
Lenguaje de consulta Sql……………………………………………..……
39
2.2.10 La gestión empresarial……………………………………………………..
40
2.2.11 Los seguros………………………………………………………………...
43
2.2.12 Pólizas de seguros………………………………………………………….
44
2.3
45
Idea a defender…………………………………………………………….
CAPITULO III
MARCO METODOLOGICO
3.1
Modalidad de la investigación……………………………………………...
46
3.2
Tipos de Investigación………………………………………………………
46
3.2.1 Investigación bibliográfica…………………………………………………
47
3.2.2 Investigación de Campo……………………………………………………
47
3.3
47
Población y muestra………………………………………………………...
VII7
3.4
Métodos, técnicas e instrumentos…………………………………………..
48
3.5
Interpretación de resultados…………………………….…………………..
50
3.6
Conclusiones teórico-metodológicas de la investigación de campo…………
62
CAPITULO IV
MARCO PROPOSITIVO
4.1
Tema………………………………………………………………………..
63
4.2
Fundamentación……………………………………………………………
63
4.3
Objetivos de la propuesta…………………………………………………..
63
4.3.1
Objetivo General………………………………………………………….
64
4.3.2
Objetivos Específicos…………………………………………………….
64
4.4
Descripción de la propuesta………………………………………………..
64
4.5
Metodología de desarrollo de software…………………………………….
64
4.6
Análisis……………………………………………………………………..
66
4.6.1
Análisis Previo……………………………………………………………
66
4.6.2
SRS (Especificación de Requerimientos Software)……………………….
67
4.6.2.1Perspectiva del producto………………………………………………….
71
4.6.2.2Funciones del producto……..…………………………………………….
72
4.6.2.3Características de los usuarios.…………………………………………….
73
4.6.2.4Limitaciones generales….………………………………………………….
73
4.6.2.5Supuestos y dependencia………………………………………………….
73
4.6.2.6Requisitos Funcionales…………………………………………………….
74
4.6.2.7Requisitos no funcionales………………………………………………….
75
4.6.2.8Requisitos de interfaz interna..…………………………………………….
77
4.6.2.9Requisitos de rendimiento………………………………………………….
78
4.7
79
Diseño………………………………………………………………………
VIII
8
4.7.1
Diseño de las opciones principales de la aplicación………………………
79
4.7.2
Diseño de la base de datos………………………………………………...
80
4.7.2.1Modelo relacional………………………………………………………….
81
4.7.2.2Diccionario de Datos………………………………………………….
82
4.8
Desarrollo…………………………………………………………………...
108
4.9
Pruebas..……………………………………………………………………..
121
4.10
Implementación……………………………………………………………..
122
4.11
Seguridades…………………………………………………………………
123
4.12
Impacto de la propuesta…………………………………………………….
124
Conclusiones y Recomendaciones…………………………………………..
124
BIBLIOGRAFIA………………………………………………………………….
126
ANEXO 1 …………………………………………………………………………
127
ANEXO 2 (Manual del Usuario).....……………………………………………….
129
ANEXO 3………………………………………………………………………….
137
IX9
ÍNDICE DE TABLAS
PÁG.
Tabla 1: Inserción de nuevos registros……………………………………………...
24
Tabla 2: Resultado de la tabla clientes……………………………………………..
26
Tabla 3: Resultado del uso del mandato DESCRIBE……………………………….…..
30
Tabla 4: Resultado del uso del mandato SQL>HELP DATA DICT……………….
31
Tabla 5: Población…………………………………………………………………..
48
Tabla 6: Muestra…………………………………………………………………….
48
Tabla No. 7: Pregunta No.1 Administrativo y Vendedores………………………..
50
Tabla No. 8: Pregunta No.2 - Administrativo y Vendedores………………………
51
Tabla No. 9: Pregunta No.3 - Administrativo y Vendedores………………………
52
Tabla No. 10: Pregunta No.4 - Administrativo y Vendedores……………………..
53
Tabla No. 11: Pregunta No.5 - Administrativo y Vendedores……………………..
54
Tabla No. 12: Pregunta No.6 - Administrativo y Vendedores……………………..
55
Tabla No. 13: Pregunta No. 1 - Clientes…………………………….……......
56
Tabla No. 14: Pregunta No. 2 - Clientes…………………………………………...
57
Tabla No. 15: Pregunta No. 3 -Clientes ………………………………………….
58
Tabla No. 16: Pregunta No. 4 - Clientes…………………………………………...
59
Tabla No. 17: Pregunta No. 5 - Clientes…………….…………………………..
60
Tabla No. 18: Pregunta No. 5 - Clientes………….………………………………..
61
Tabla No. 19: Características de los usuarios……………………………………...
73
Tabla No. 20: Estructura General del Portal………………………………….……
80
Tabla 21: Diccionario de Datos…………………………………………………….
83
X10
ÍNDICE DE FIGURAS
PÁG.
Figura No. 01: Servidor Web………………………………………………………
12
Figura No. 02: Oracle Modo de Conexión………………………………………...
15
Figura No. 03: Oracle Conexión…………………….……………………………..
16
Figura No. 04: Oracle SQL Plus………………………….………………………..
28
Figura No. 05: PL/SQL Developer……………………..………………………….
37
Figura No. 06: PL/SQL Developer– Entorno……………………………………..
38
Figura No. 07: Resultado pregunta No.1 - Administrativo y Vendedores…………..
50
Figura No. 08: Resultado pregunta No.2 - Administrativo y Vendedores………...
51
Figura No. 09: Resultado pregunta No. 3 - Administrativo y Vendedores………..
52
Figura No. 10: Resultado pregunta No.4 - Administrativo y Vendedores………...
53
Figura No. 11: Resultado pregunta No. 5 - Administrativo y Vendedores………..
54
Figura No. 12: Resultado pregunta No.6 - Administrativo y Vendedores………...
55
Figura No. 13: Resultado pregunta No. 1 - Clientes…………………………..…..
56
Figura No. 14: Resultado pregunta No. 2 - Clientes……………………………….
57
Figura No. 15: Resultado pregunta No. 3 - Clientes………...……………………..
58
Figura No. 16: Resultado pregunta No. 4 - Clientes……………..………………..
59
Figura No. 17: Resultado pregunta No. 5 - Cliente………………………………..
60
Figura No. 18: Resultado pregunta No. 6 - Clientes………………………………
61
Figura No. 19: Modelo lineal o cascada………………………….……………….
65
Figura No. 20: Flujo de Información…………………………….………………..
67
Figura No. 21: Generar pólizas de vehículos……………………………………
68
Figura No. 22: Funciones del Producto……………………………………………
72
Figura No. 23: Modelo Relacional………………………………………………...
81
Figura No. 23: Ingreso a la Aplicación…………………………………………….
108
Figura No. 24: Ingreso Datos Cotización………………………………………….
111
XI
11
RESUMEN EJECUTIVO
El avance tecnológico que ha caracterizado al siglo XXI viene claramente marcado por la
gran influencia que ejerce la informática y especialmente el Internet en todas las
actividades del ser humano. Esto significa que todas las áreas en las que trabaja el ser
humano son hoy en día influenciadas por estas dos ramas. Los negocios y las empresas no
podían escapar de esta influencia, es por ello que en todas las empresas es cada día mas
latente el grado de influencia de la tecnología en todas las operaciones que esta lleva a
cabo.
Las aplicaciones web son programas que permiten la manipulación de información a
grandes distancias, utilizando el Internet como medio de enlace, es por eso que
actualmente son las más utilizadas para colaborar con la gestión que lleva a cabo cualquier
empresa. La aseguradora Alliance ha comprendido este efecto tecnológico y ha sentido la
necesidad de incorporar una aplicación web que permita mejorar la gestión comercial que
ella lleva a cabo.
En el capítulo I se plantea la problemática de la empresa como su demora en las
cotizaciones, la poca comunicación con sus clientes y más, es por ello que aquí se plantea
como objetivos general ―Desarrollar una aplicación web para mejorar la gestión de
pólizas‖, esto denota la gran importancia del software en la gestión empresarial.
En el capítulo II se fundamenta científicamente las herramientas de desarrollo como son
las bases de datos, Oracle, los portales web, los servidores web y el lenguaje PL/SQL.
El capítulo III denominado marco metodológico permitió ratificar la problemática y
orientarnos a la solución, dicha ratificación se hizo en base a encuestas.
Finalmente en el Capítulo IV se desarrolla la propuesta de solución a la problemática
planteada, dicha solución consiste en el desarrollo de una aplicación web en base a una
metodología de elaboración de software denominada en cascada o lineal
XII
12
SUMMARY
The technological advance that has characterized the twenty-first century is clearly marked
by the great influence exerted by the computing and especially the Internet in all the
activities of the human being. This means that all the areas in which we work the human
being today are influenced by these two branches.
Web applications are programs that allow the manipulation of information over long
distances, using the Internet as a means of link, which is why they are currently the most
used to collaborate with the management that carries out any company. The insurer
Alliance has understood this technological effect and has felt the need to incorporate a web
application that makes it possible to improve the business management that she carries out.
In the chapter I it raises the problem of the company as its delay in the contributions, the
little communication with your customers and more, it is for this reason that arises here as
general objectives "Develop a web application to improve the management of policies,"
this denotes the great importance of the software in the business management.
In chapter II is scientifically based development tools such as databases, Oracle, web
portals, web servers, and the language PL/SQL.
Chapter III called methodological framework enabled the ratification of the problematic
and orient ourselves to the solution, the ratification was made based on surveys.
Finally in Chapter IV develops the proposal for a solution to the problem, the solution
consists of the development of a web application on the basis of a methodology for the
design of software called cascading or linear
XIII
13
INTRODUCCIÓN
Las empresas cada día utilizan mas el Internet como un medio de comunicación entre la
empresa y el cliente, el software que permite dicha comunicación se denomina
aplicaciones web ya que son programas que funcionan en el Internet.
En pleno siglo XXI la gestión que desarrolla toda empresa es apoyada por la informática y
por el Internet, esto quiere decir que muchos negocios se llevan a cabo bajo este medio.
Las empresas aseguradoras no han escapado a esta influencia tecnológica y es por ello que
también acuden a las aplicaciones web para optimizar las cotizaciones de seguros a sus
clientes y en definitiva para ampliar su segmento de mercado.
Las aplicaciones web utilizan diferentes programas como por ejemplo bases de datos,
servidores web y software editor de imágenes, todo esto se conjuga para crear una página
web o también un portal web
14
XIV
V
CAPITULO I
EL PROBLEMA
1.1 . PLANTEAMIENTO DEL PROBLEMA
Muchas de las actividades que se realizan frecuentemente están expuestas a diferentes
tipos de peligros o eventualidades que pueden tener una grave repercusión en el
normal desarrollo del diario vivir o hasta aquellas actividades que se consideran
normales y sin ningún tipo de riesgo que por lo incierto que puede ser el destino
también pueden estar expuestas a algunos sucesos graves, ya sean que se den de
manera fortuita, por actividad imprudente o por otras personas, por tanto se deben
buscar medios que sean útiles para poder atender las posibles eventualidades y así no
quedar en situaciones dificultosas luego de un hecho poco agradable, lo que traslada a
los seguros que por su contenido brindan una ayuda considerable para reparar algunas
cosas y de tal formar poder cubrir algunos costos y así la situación no sea del todo
mala.
Sin duda alguna el alcance de este tipo de contrato hace notar en gran medida la
importancia de los seguros, ya que tendrán gran acción dentro de los eventos
desafortunados al suplir las necesidades económicas para atender los diferentes gastos
de reparación, por lo cual la importancia de los seguros dentro de la sociedad cobra
cada vez más fuerza, además que la ampliación de los seguros a diferentes campos los
hace más útiles para diferentes tipos de personas y sus actividades. Lo anterior hace
notar la importancia de los seguros dentro de la sociedad y en el desarrollo de un sin
fin de situaciones y actividades de la vida, que pueden ser muy simples para algunos
1
pero pueden tener sus riesgos, por tanto la importancia de los seguros es de gran
evidencia al tener tantas características benéficas para aquellas personas amparadas
por algún tipo de seguros y que por una u otra cosa han tenido que vivir una situación
de alto riesgo como un choque o un accidente de carácter laboral al operar alguna
maquina peligrosa.
Uno de los campos en los que más se evidencia la importancia de los seguros, es en el
transporte por medio de vehículos automotor y motocicletas, ya que la velocidad
mezclada con otras eventualidades dan cabida a un gran número de accidentes, por lo
cual ante los daños físicos y materiales de los vehículos, las diferentes clases de
seguros ayudaran a suplir costos de reparación o de hospitales; otra aspecto que se le
agrega a la importancia de los seguros en lo referente al transporte, es la protección
que se puede brindar en caso de transporte de cargas, puesto que esto se puede
asegurar y así evitar mayores pérdidas económicas en caso de que la mercancía se
dañe o se extravié.
Otro de los campos en los cuales se evidencia la importancia de los seguros, es la
protección ante robo o destrucción de un gran número de objetos y estructuras, así por
medio de los seguros se puede brindar protección a los hogares, a las empresas o
negocios, protegiendo ciertas pérdidas materiales ante casos de incendios, accidentes o
robo y cualquier otro tipo de emergencias inesperadas.
En la ciudad de Quito esta la Compañía de seguros Alliance, la misma que se halla
ubicada en la calle 12 de Octubre número 1750 y Baquerizo Moreno, la empresa se
2
dedica esencialmente a la emisión de seguros especialmente de vehículos y domicilios.
En varias de las visitas realizadas a la compañía y luego de contar con la aprobación
de su gerente el Sr. Eduardo Barquet se han podido apreciar las siguientes dificultades
especialmente en la gestión de pólizas para vehículos y domicilios, así tenemos:

La empresa tiene una franquicia de la compañía ALLIANCE de España y por ende
tiene la posibilidad de utilizar sus sistemas, pero se tiene la problemática de que las
reglas de negocio son diferentes en España y Ecuador, esto significa que las leyes
de los seguros se aplican de manera diferente, por lo que se dificulta el uso del
software de esta empresa y para evitarse esas dificultades y las variaciones en los
cálculos, los agentes de seguros emiten las pólizas de manera manual, llenando y
calculando ítem por ítem.

El proceso de llenado generalmente es demorado y la póliza es frecuentemente
entregada varios días después de su contratación, esto muchas veces causa
preocupación en los clientes, ya que se sienten desprotegidos mientras no está
emitida la póliza.

Como la empresa tiene sucursales en Guayaquil, Santo Domingo, Puyo, Cuenca,
Ambato, etc., en varias ocasiones no se aplica el mismo criterio comercial para los
cálculos de las pólizas respectivas.

Los clientes no tienen la posibilidad de consultar las características de su póliza vía
Internet e incluso tienen que estar llamando a un agente de seguros para que él les
proforme pólizas de diferente tipo.
1.1.1
Formulación del problema
¿Cómo mejorar la gestión de pólizas en la aseguradora Alliance de la ciudad de Quito?
3
1.1.2
Delimitación del problema
Objeto de Estudio: Sistemas Informáticos
Campo de Acción: Nuestro campo de acción está definido en las aplicaciones web.
Se trabajará con la información generada por la empresa durante el año 2012.
1.1.3
Identificación de la Línea de Investigación.
Este trabajo investigativo se circunscribe a la siguiente línea de investigación:
Desarrollo de Software y Programación de Sistemas.
1.2 . OBJETIVOS
1.2.1
Objetivo general
Desarrollar una aplicación web mediante la cual se pueda mejorar la gestión de pólizas
de la aseguradora Alliance de la Ciudad de Quito
1.2.2

Objetivos específicos
Realizar una investigación bibliográfica sobre aplicaciones web, sus herramientas
de desarrollo, base de datos y la gestión de pólizas en aseguradoras.

Diagnosticar la gestión de pólizas que lleva a cabo la empresa de seguros y
reaseguros Alliance y su necesidad de automatización.

Desarrollar cada uno de los módulos de la Aplicación Web.
4
1.3 . JUSTIFICACIÓN
De implementarse la aplicación web los funcionarios podrán primeramente realizar
cálculos de pólizas de manera rápida y segura para con ello proformar en diferentes
empresas y lograr coberturas de manera eficiente. Por otro, lado los clientes podrán
consultar sus pólizas y programar sus renovaciones.
Los agentes de seguros que se hallan en diversas ciudades podrán trabajar bajo el
mismo criterio, lo cual es muy favorable para la empresa, en definitiva la
implementación de una aplicación web permitirá mejorar los procesos relacionados
con las pólizas y con ello se mejorara incluso la imagen institucional, por lo tanto se
justifica plenamente el desarrollo de este software para la empresa.
La Aplicación Web se desarrolla en PL/SQL Developer el cual tiene un ambiente
integrado para el desarrollo, prueba, depuración de errores y optimización de PL/SQL
de Oracle, almacenado en unidades de programa como paquetes y triggers, entre otros.
PL/SQL Developer contiene ayuda sensitiva al contexto, descripciones de bases de
datos de objetos, sintaxis resaltada, edición y búsqueda de datos, browser gráfico y
muchas otras características que le hacen la vida más fácil al usuario a través de sus
interfaces.
5
CAPITULO II
MARCO TEÓRICO
2.1.ANTECEDENTES INVESTIGATIVOS
Se realizó una investigación preliminar entre los trabajos de postgrado realizados y
que se encuentran en la Biblioteca de la Universidad, realmente no se han encontrado
trabajos que tengan que ver directamente con las aplicaciones web.
Lo que se pudo encontrar en la investigación preliminar realizada entre las tesis de
posgrado pregrado que tienen que ver con aplicaciones web podemos mencionar:
Tema: ―Plan de seguridad para el área de sistemas de la Cooperativa de Ahorro y
Crédito ―9 de Octubre Ltda.‖
Autores: Ing. Edwin Fernando Cruz Vega e Ing. William Genaro Velástegui Grandes
De este trabajo se puede concluir que la seguridad de la información de la empresa
debe ser gestionada desde el departamento de sistemas de la Cooperativa, la gestión en
seguridad implica varios aspectos físicos y lógicos
Tema: Red MAN para el mejoramiento de la gestión administrativa de las ―Farmacias
Amazonas‖.
Autores: Ing. Hector Tapiay El Ing. César Gómez
En cambio en este trabajo de grado se puede apreciar como aspecto novedoso la
inclusión de una metodología para el diseño de las redes de datos que conectan a las
farmacias en mención.
6
2.2.FUNDAMENTACIÓN TEÓRICA
El presente trabajo de grado se fundamenta teóricamente en los siguientes aspectos:
2.2.1 Teoría de portales
Los portales nacen de la necesidad que se presenta en el nuevo modelo de la
economía, la cual nos enseña una guía de bienvenida con información detallada cada
día.
Portal es un término el cual hace referencia a un Sitio Web el cual pretende servir
como un sitio principal de partida para las personas las cuales se conectan a la World
Wide Web. Los portales tienen un gran reconocimiento en el Internet por el poder de
influencia que tienen sobre grandes comunidades a nivel mundial.
El objetivo principal de emplear un portal es el de localizar información, es un servicio
de valor añadido que ofrece al usuario la posibilidad de personalizar al máximo su
página Web, indicando qué quiere encontrar o los campos en los que esté interesado.
(Katalina Quero, 2009)
Entre las características principales que podemos encontrar en todos los portales de
acceso a Internet tenemos:

Páginas llenas de anuncios publicitarios.

Correo electrónico gratuito.

Información sobre la actualidad (noticias, etc.).

Sistema de búsqueda: por categorías (directorio); por palabra clave
(motor de búsqueda) o ambos.

Información sobre el tiempo (clima, etc.)
7

Selección de recursos de interés.

Varias opciones de personalización del acceso a Internet.
2.2.1.1 Tipos de Portales
Podemos distinguir fundamentalmente dos tipos de portales
Portales generales, horizontales o megaportales
Son aquellos cuyo contenido abarca casi todos los temas posibles de Internet. Están
encaminados a un usuario estándar de Internet, su contenido recoge información de
interés general como noticias de actualidad, información sobre el clima, servicios de
valor añadido, etc. Es habitual además, que estos portales estén dirigidos a una
comunidad específica de usuarios, generalmente de índole geográfica, un ejemplo de
estos portales es el de Terra.
Portales especializados o temáticos:Los portales especializados son fruto también de
la verticalización de la información en Internet. Son modelos de portales los cuales
tratan de proyectar los servicios genéricos de un portal horizontal en un ámbito más
específico,
con
un
criterio
temático,
como
por
ejemplo
la
cardiología
http://www.portalcardio.com/. Los portales especializados pretenden pues satisfacer
las necesidades de información de una comunidad de usuarios concreta.
Según esta última afirmación podemos destacar dos tipos de portales especializados:

Portales verticales: Un portal es un sitio Web que proporciona información y
servicios a una industria en particular. Es el equivalente industrial específico de los
8
portales generales de la WWW pero, además de ofrecer servicios típicos centran su
cobertura de contenidos en un tema o sector concreto.

Portales corporativos o institucionales:Es un sitio Web que proporciona
información de la empresa o institución a la que pertenece fundamentalmente a los
empleados de la misma. Normalmente este tipo de portales corporativos sonuna
prolongación natural de las intranets corporativas en las que se ha cuidado la
organización de la información a través de la WWW que suministran 1.
2.2.2 Servidores web
Un Servidor Web es un programa que implementa el protocoloHTTP (hypertext
transfer protocol). Este protocolo está diseñado para transferir lo que llamamos
hipertextos, páginas Web o páginas HTML (hypertextmarkuplanguage): textos
complejos con enlaces, figuras, formularios, botones y objetos incrustados como
animaciones o reproductores de sonidos.
Sin embargo, el hecho de que HTTP y HTML estén íntimamente ligados no debe dar
lugar a confundir ambos términos. HTML es un formato de archivo y HTTP es un
protocolo.
2.2.2.1 Servidor apache
El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto
para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que
implementa el protocolo HTTP/1.11 y la noción de sitio virtual. Cuando comenzó su
desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero
1
QUERO Katalina, ―Mantenimiento de portales de la información‖,EditorialAgapea, Madrid-España,
2009
9
más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf eligió ese
nombre porque quería que tuviese la connotación de algo que es firme y enérgico pero
no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en
gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen
las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de
internet. Además Apache consistía solamente en un conjunto de parches a aplicar al
servidor de NCSA. Era, en inglés, a patchy server (un servidor "parcheado").

El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la
Apache Software Foundation.
Apache presenta entre otras características
mensajes de error altamente configurables, bases de datos de autenticación y
negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que
ayude en su configuración.

Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor
HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el
servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha
sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas
históricas y de uso diario proporcionadas por Netcraft ).

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan
sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin
embargo, algunas se pueden accionar remotamente en ciertas situaciones, o
explotar por los usuarios locales malévolos en las disposiciones de recibimiento
compartidas que utilizan PHP como módulo de Apache 2.
2
PAVON Jacobo, ―Creación de portales web con Php y MySql‖, Editorial Agapea, Madrid-España,
2009
10
2.2.3 Procesamiento de páginas dinámicas
Cuando un servidor Web recibe una petición para mostrar una página Web estática, el
servidor la envía directamente al navegador que la solicita. Cuando el servidor Web
recibe una petición para mostrar una página dinámica, sin embargo, reacciona de
distinta forma: transfiere la página a un software especial encargado de finalizar la
página. Este software especial se denomina servidor de aplicaciones.
El servidor de aplicaciones lee el código de la página, finaliza la página en función de
las instrucciones del código y elimina el código de la página. El resultado es una
página estática que el servidor de aplicaciones devuelve al servidor Web, que a su vez
la envía al navegador solicitante.
Lo único que el navegador recibe cuando llega la
página es código HTML puro. A continuación se incluye una vista de este proceso:
2.2.3.1 Acceso a una base de datos
Un servidor de aplicaciones le permite trabajar con recursos del lado del servidor,
como una base de datos. Por ejemplo, una página dinámica puede indicar al servidor
de aplicaciones que extraiga datos de una base de datos y los inserte en el código
HTML de la página. La instrucción para extraer datos de una base de datos recibe el
nombre de consulta de base de datos. Una consulta consta de criterios de búsqueda
expresados
en
un
lenguaje
de
base
de
datos
denominado
SQL
(StructuredQueryLanguage, lenguaje de consulta estructurado). La consulta SQL se
escribe en los scripts o etiquetas del lado del servidor de la página.
11
Figura No. 01: Servidor Web
Fuente: http://angelo-gestionredesdatos.blogspot.com
1. El navegador Web solicita la página dinámica. 2. El servidor Web localiza la
página y la envía al servidor de aplicaciones. 3.
El servidor de aplicaciones
busca instrucciones en la página. 4. El servidor de aplicaciones envía la consulta
al controlador de la base de datos. 5. El controlador ejecuta la consulta en la
base de datos. 6.
El juego de registros se devuelve al controlador. 7.
El
controlador pasa el juego de registros al servidor de aplicaciones. 8. El servidor
de aplicaciones inserta los datos en una página y luego pasa la página al servidor
Web. 9. El servidor Web envía la página finalizada al navegador solicitante.
2.2.4 Introducción a las bases de datos
Una base de datos es un programa residente en memoria que se encarga de gestionar
todo el tratamiento de entrada, salida, seguridad y almacenamiento de la información
que él manipula3.
3
FERRER Juan, ―Aplicaciones web‖, Prentice-Hall, Barcelona-España, 2009
12
Aunque aparentemente podamos pensar que una base de datos son ficheros donde se
almacena la información, en realidad esto no es así. El corazón de una base de datos
es el motor que es el programa que debe estar ejecutándose en una maquina para
gestionar los datos. Además de este programa y los archivos con datos existen otras
utilidades auxiliares como programas para realizar copias de seguridad, interpretes
SQL, etc.
Las bases pueden clasificarse desde el punto de vista de organización lógica:

Jerárquica (Progress)

Relacionales (Oracle, Access, Sybase)
Desde el punto de vista de la arquitectura y él numero de usuarios:
De escritorio (Dbase, Access, Paradox)
Cliente-Servidor (Oracle, Sybase).
2.2.5
Oracle
Oracle4 es básicamente una herramienta cliente/servidor para la gestión de Bases de
Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su
elevado precio hacen que sólo se vea en empresas muy grandes y multinacionales, por
norma general. En el desarrollo de páginas Web pasa lo mismo: como es un sistema
4
ABBEY Michael, (2002). ―Oracle 9i Guia de Aprendizaje‖, McGraw-Hill
13
muy caro no está tan extendido como otras bases de datos, por ejemplo, Access,
MySQL, SQL Server, etc.
Vamos ahora en centrarnos en que es Oracle exactamente y como funciona la
programación sobre éste. Oracle como antes he mencionado se basa en la tecnología
cliente/servidor, pues bien, para su utilización primero sería necesario la instalación de
la herramienta servidor (Oracle 8i) y posteriormente podríamos atacar a la base de
datos desde otros equipos con herramientas de desarrollo como Oracle Designer y
Oracle Developer, que son las herramientas básicas de programación sobre Oracle.
Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª generación, bastante
potente para tratar y gestionar la base de datos, también por norma general se suele
utilizar SQL al crear un formulario.
Es posible lógicamente atacar a la base de datos a través del SQL plus incorporado en
el paquete de programas Oracle para poder realizar consultas, utilizando el lenguaje
SQL.
El Developer es una herramienta que nos permite crear formularios en local, es decir,
mediante esta herramienta nosotros podemos crear formularios, compilarlos y
ejecutarlos, pero si queremos que los otros trabajen sobre este formulario deberemos
copiarlo regularmente en una carpeta compartida para todos, de modo que, cuando
quieran realizar un cambio, deberán copiarlo de dicha carpeta y luego volverlo a subir
a la carpetaLa principal ventaja de esta herramienta es que es bastante intuitiva y
dispone de un modo que nos permite componer el formulario, tal y como lo haríamos
en Visual Basic o en Visual C, esto es muy de agradecer.
14
Los problemas anteriores quedan totalmente resueltos con Designer que es una
herramienta que se conecta a la base de datos y por tanto creamos los formularios en
ella, de esta manera todo el mundo se conecta mediante Designer a la aplicación que
contiene todos los formularios y no hay problemas de diferentes versiones, esto es
muy útil y perfecto para evitar machacar el trabajo de otros.
Pero el principal y más notable problema es la falta de un entorno visual para diseñar
el formulario, es decir, nos aparece una estructura como de árbol en la cual insertamos
un formulario, a la vez dentro de éste insertamos bloques o módulos que son las
estructuras que contendrán los elementos del formularios, que pueden estar basados en
tablas o no.
2.2.5.1 Oracle Enterprise Manager
Oracle Enterprise Manager es un marco de gestión que puede utilizar para Administrar
todo el entorno de Oracle, incluidas bases de datos, servidores iAS, aplicaciones y
servicios. Diagnosticar, modificar y ajustar varias bases de datos. Planificar tareas en
varios sistemas a diferentes intervalos de tiempo. Controlar las condiciones de la base
de datos en la red.
Figura No. 02: Oracle Modo de Conexión
Fuente: http://www.oracle.com
15
Administrar varios nodos de red y servicios desde numerosas ubicaciones. Compartir
tareas con otros administradores. Agrupar los servicios relacionados para facilitar las
tareas de administración. Iniciar herramientas integradas de Oracle y terceros.
Oracle Enterprise Manager5 es un marco de gestión que consta de tres capas: La
Consola y sus herramientas integradas proporcionan una interfaz gráfica para que los
administradores gestionen todo el entorno de Oracle. Management Servers y un
repositorio de base de datos proporcionan una capa media escalable para tareas de
gestión del sistema operativo. IntelligentAgents instalados en cada nodo de la red para
controlar los servicios proporcionados por el nodo y para ejecutar tareas desde
Management Server. Nota: También puede iniciar la Consola en modo autónomo
cuando necesite administrar bases de datos sin controlar los eventos o trabajos
planificados.
Figura No. 03: Oracle Conexión
Fuente: http://www.oracle.com
5
ABBEY Michael, (2002). ―Oracle 9i Guia de Aprendizaje‖, McGraw-Hill
16
Antes de poder utilizar la Consola de Oracle Enterprise Manager, necesita iniciar los
procesos necesarios de Oracle Enterprise Manager y conectarse al repositorio de
Oracle
2.2.5.2 Creación y manipulación de tablas en Oracle
Como expusimos en nuestro artículo anterior, en Oracle cada estructura de información
se denomina TABLA las cuales, junto a los índices y al diccionario de datos del sistema,
componen la base de datos. Por lo tanto, la creación de las tablas en el proceso de
programación en Oracle juega un papel muy importante. En el momento de crear las
tablas se definen características a dos niveles: Tabla y Columna, como se muestran a
continuación:
A nivel de Tabla
Nombre:
Nombre de la tabla puede ser de 1 a 30 caracteres.
Propietario:
La tabla tiene como propietario al usuario que las crea En
nuestro caso somos el usuario EIDOS. Otro usuario que desee
usar nuestras tablas debe tener autorización para ello y hacer
referencia a la tabla como eidos.clientes (propietario.tabla)
Cantidad de Columnas:
Una tabla puede tener un máximo de 254 columnas.
A nivel de Columna
Nombre:
Puede tener de 1 a 30 caracteres.
17
Tipo de dato y su ancho
CHAR
Máximo de 255. Por defecto 1.
NUMBER
Máximo de 105 dígitos. Por defecto 44.
INTEGER
Numérico sin decimal. Por defecto 38.
DATE
Hasta el 31 de diciembre de 4712.
LONG
Tipo caracter con tamaño variable hasta 65535 bytes. Permite una
sola columna LONG por tabla. No se puede usar en subconsultas,
funciones o índices.
RAW
Dato en binario puro (imágenes y sonido) con un ancho máximo
de 255.
LONGRAW
Igual que LONG, pero para almacenar datos en binario puro.
Restricciones: Su función es definir reglas de validación de la columna.
Para facilitar la continuidad del análisis, usaremos como ejemplo las tablas definidas en
el artículo anterior: Clientes y VENTAS.
La definición de restricciones al crear las tablas permite establecer reglas de validación
de datos, así como los controles necesarios para mantener la integridad referencial entre
tablas a través de las columnas claves. Las restricciones que se pueden definir son:
Valor obligatorio: En Oracle existe el concepto de valor nulo (NULL), como un valor
indefinido o ausencia de valor y que es diferente al numero 0 o al
carácter espacio. Por lo tanto, para que una columna siempre tenga
valor (sea obligatoria) se define como NOT NULL.
18
Rango de valores: Sirven para chequear que el valor sea mayor a un valor determinado o
para que se encuentre entre dos valores.
Clave Primaria:
Columnas que identifican de forma única al registro, es un valor
único y no nulo (NOT NULL). Por ejemplo: el código del cliente es
una clave primaria que identifica de forma única e irrepetible a cada
cliente.
Clave Externa:
Columna de la tabla que hace referencia a un valor que tiene que estar
registrado en otra tabla. Por ejemplo: la columna código de la tabla
VENTAS es una clave externa que hace referencia a un valor de la
columna código (clave primaria) de la tabla Clientes.
En la versión 8 de Oracle (que dado lo reciente de la versión 9 aún se usa ampliamente)
la única restricción que estaba activa era la de valor obligatorio (NOT NULL), siendo las
otras restricciones sólo declarativas, o sea, que quedaban registradas en la definición de la
tabla, pero no se podían activar. En la versión 6, para garantizar la unicidad de la clave
primaria, era necesario crear índices con claves únicas, aspecto éste que retomaremos
más adelante. En la versión 7 de Oracle estas restricciones están implementadas,
garantizándose la verificación y corrección de datos en cualquier momento sin tener que
programar estos controles.
Destacadas estas cuestiones veamos, entonces cómo se procede para crear las tablas
Clientes y Ventas.
19
Tabla Clientes
Objetivo:
Ficha con datos para identificar al cliente. Consta del código del cliente
(número secuencial), fecha de alta al sistema, nombre, teléfono, dirección y
alguna anotación.
Requisitos: Se debe identificar a cada cliente con un código único (clave primaria),
registrando su nombre, teléfono y fecha de registro (estos datos son
obligatorios. La dirección y anotaciones son campos opcionales.
Creación de la tabla:
CREATE TABLE clientes
(
codigo integer
NOT NULL
PRIMARY KEY,
fecha date NOT NULL,
nombrechar(30) NOT NULL,
telefonochar(20) NOT NULL,
direccionchar(100),
anotacion LONG
);
Tabla Ventas
Objetivo:
Registrar las ventas con al siguiente información: Código del cliente, fecha
de la venta, artículo y valor de la venta.
Requisitos: El número del cliente es una clave externa que hace referencia a la columna
código en la tabla Clientes. En este caso, todos los datos son obligatorios. Se
controla que la columna valor sea mayor a cero.
Creación de la tabla:
CREATE TABLE ventas
(
codigo INTEGER NOT NULL
REFERENCES clientes(codigo),
fecha DATE
NOT NULL,
articulo CHAR(20) NOT NULL,
20
valor NUMBER(10,2) NOT NULL
CHECK (valor>0)
Las restricciones de Claves Primaria y Clave Externa se definieron a nivel de columna,
pero se pueden definir a nivel de tabla, al final de la misma, como se muestra en el fuente
3:
CREATE TABLE clientes
(codigo
INTEGER
NOT NULL,
nombre
CHAR(30)
NOT NULL,
direccion
CHAR(100),
anotacion
LONG,
PRIMARY KEY (codigo));
CREATE TABLE ventas
(codigo
INTEGER
NOT NULL,
fecha DATE NOT NULL,
articulo
CHAR(10),
valor NUMBER(6,2)
NOT NULL
CHECK (valor>0),
FOREIGN KEY (codigo) REFERENCES clientes(codigo));
La definición de la clave a nivel de tabla es necesaria cuando la misma está formada por
más de una columna.
2.2.5.3 Unicidad de la clave con índices
Para garantizar la unicidad de los valores de la clave primaria de la tabla Clientes (en la
versión 6 donde esta restricción sólo es declarativa y no está activa), se debe crear un
índice que garantice la unicidad de la clave principal. Un requisito importante para la
unicidad de la clave principal es que las columnas de la clave se definen como NOT
NULL.
21
A continuación mostraremos cómo crear el índice cliente_codigo para garantizar la
unicidad de la clave primaria:
CREATE UNIQUE INDEX cliente_codigo
ON clientes(código);
Secuencias: codificación numérica6
La codificación numérica del cliente se puede realizar con una secuencia que
automáticamente genera los números enteros en orden ascendente, no siendo necesario
recordar cuál fue el último número asignado ; esto evita la duplicidad de códigos.
La secuencia es un objeto que genera valores enteros únicos y se emplean para crear
claves primarias numéricas, con el uso del siguiente mandato:
CREATE SEQUENCE codigo_cliente
INCREMENT BY 1
START WITH 1;
Para registrar un nuevo código con la secuencia definida anteriormente se usa la pseudocolumna código,, cliente. NEXTVAL, la cual nos dará el siguiente valor que le
corresponde a la secuencia, la forma en que esto se realiza se explicará más adelante,
cuando analicemos el ingreso de datos.
Para conocer el valor actual de la secuencia, o sea, el último código asignado, se usa la
pseudo-columna codigo_cliente.CURRVAL, desde la tablaDUAL del sistema, cuyo fin es
poder consultar pseudo_columnas (como se muestra a continuación):
SELECT user,sysdate,codigo_cliente.currval
FROM DUAL
6
PEREZ Gabriel (2004). ―Estructuras de Oracle‖, www.cursopolis.com
22
donde:
1.- useres el nombre del usuario
2.- sysdate es la fecha del sistema
3.- codigo_cliente.currval es el último valor asignado a la secuencia.
Ingreso de datos. Una vez creadas las tablas, índices y secuencias, estamos en
condiciones de ingresar datos en la tabla.
El ingreso, modificación y eliminación de registros se realiza fundamentalmente con el
diseño de pantallas (formularios) desde el módulo SQLFORMS (que será tema de
análisis específico en otro artículo). No obstante, en este artículo veremos el uso de los
mandatos INSERTUPDATE y DELETE. Para ingresar un nuevo registro debemos
ensayar lo que se muestra en la tabla 1:
Nombre de la Tabla (acciones)
Columnas
INSERT INTO CLIENTES
VALUES(
codigo_cliente.NEXTVAL,
'PINTURERIAS PROPIOS',
'45 67 89'
TO_DATE('10/04/95','DD/MM/YY'),
'Uruguay 1234',
'LIBRERIA'
);
codigo= secuencia
Nombre
Teléfono
Fecha
dirección
anotación
Tabla 1: Inserción de nuevos registros
Fuente: www.oracle.com
Como se podrá observar, en este ejemplo no se especificó la lista de columnas a insertar,
lo que indica que se van a ingresar datos para todas las columnas. Por lo tanto, los
valores para cada columna se tienen que ingresar en el orden en que están definidos en
la tabla. Además, es de destacar que la palabra reservada VALUES indica la lista de
valores a ingresar; que los datos tipo carácter van entre comillas; que la fecha se registra
23
como una cadena de caracteres usando la función TO_DATE (encargada de transformar
la cadena de caracteres '10/04/95' en fecha, a partir de un formato de fecha especificado
-'DD/MM/YY'-).
También observamos que a la columna codigo se le asignó el siguiente valor de la
secuencia codigo_cliente (codigo_cliente.NEXTVAL).
En caso de que sólo se asignaran valores a algunas columnas se debe dar la lista de
columnas como se muestra a continuación correspondiente a la lista de columnas.
INSERT INTO CLIENTES (codigo,nombre,teléfono,fecha)
VALUES
(codigo_cliente.NEXTVAL,'CASA AUGE DEPORTES',
'598768',TO_DATE('15/04/95','DD/MM/YY'));
Las columnas a las que se les ingresa información se listan después del nombre de la
tabla, en el orden deseado. Las columnas no listadas tendrán valor NULL, por ello todas
las columnas definidas como obligatorias (NOT NULL) deben estar en la lista.
Los siguientes ejemplos muestran posibles errores y sus correspondientes mensajes en el
registro de datos:
1.- Falta dato del teléfono que es obligatorio:
INSERT INTO CLIENTES(codigo,nombre)
VALUES (codigo_cliente.NEXTVAL,
'EMPRESA D'
);
Mensaje de error:
ORA-01400: mandatory (NOT NULL) column is missing or NULL during
insert.
24
2.- Intento de registrar cliente con código ya existente:
INSERT INTO CLIENTES(codigo,nombre,teléfono)
VALUES (1,'EMPRESA TTT','341234');
Mensaje de error:
ORA-00001: duplicatekey in index
Obsérvese en el caso 2 que la secuencia codigo_clienteno fue usada al ingresar el valor
del código, y sí en el caso 1, provocando error de duplicidad de código. Esto ocurre
porque la creación de la secuencia no garantiza la unicidad del código, ya que podemos
registrar un código de cliente sin su uso. Sin embargo, la unicidad esta garantizada por
la definición del índice único visto anteriormente. Si siempre se usa la secuencia la
unicidad por supuesto que está garantizada, pero la simple definición de la secuencia no
es garantía de su uso.
Listados de registros. A continuación veremos cómo obtener listados para revisar la
información registrada, para lo cual seleccionaremos (select) registros desde (from) una
tabla. En realidad el mandato SELECT será tema de análisis más detallado en la próxima
entrega, por lo que ahora sólo lo trataremos con el objetivo de visualizar los datos
ingresados.
Para obtener un listado de todas las columnas y todos los registros de la tabla Clientes
debemos seguir este procedimiento:
Nombre de la tabla SELECT * FROM clientes;
Donde * = Todas las columnas
El resultado es el que se muestra en la siguiente tabla
25
Código
1
2
3
4
Fecha
10-Apr-95
15-Apr-95
20-Apr-95
30-Apr-95
Nombre
Pinturerías propios
Casa Auge deportes
Feria del libro
Club de tenis
Teléfono
45 67 89
598768
(0567)845677
905877
Dirección
Zambrano 12
Anotación
Ferretería
Tabla 2: Resultado de la tabla clientes
Fuente: El autor
Para listar sólo algunas columnas de la tabla clientes el procedimiento a seguir es:
SELECT codigo,nombre FROM clientes;
Modificación de registros.Para modificar valores de la tabla usaremos el mandato
UPDATE, con el objetivo de modificar el teléfono y la dirección del cliente Feria del
libro. Para ello, basta con definir:
UPDATE clientes
SET telefono='234567',
direccion='Andes 945'
WHERE nombre='Feria del libro';
donde:
Clientes es el nombre de la tabla
SET es para indicar el inicio de la lista de columnas y sus nuevos valores.
WHERE garantiza la selección de la fila del cliente.
Es importante destacar que si no se usa la cláusula WHERE, se modificará el valor de la
columna en todas las filas de la tabla.
Eliminación de registros.
La eliminación de registros se realiza con el mandato
DELETE. El siguiente ejemplo eliminará los clientes con el código cero:
DELETE FROM clientes
WHERE codigo=0;
26
En este caso, si se omite la cláusula WHERE serán eliminados todos los registros de la
tabla.
2.2.6
SQL Plus7
Todas las tareas anteriormente estudiadas se realizan con el módulo SQLPlus de Oracle,
que trabaja en forma interactiva. A continuación enunciaremos los pasos necesarios para
usar SQLPLUS y poder crear tablas, índices o secuencias, así como insertar datos y
obtener listados:
1.- Llamar al programa SQLPLUS
2.- Identificación del usuario
Enter user-name: EIDOS
Enter password:
Si la identificación es correcta se obtiene mensaje de:
Connectedto: ORACLE
Si, por el contrario, la identificación es incorrecta se recibe el siguiente mensaje:
ERROR: ORA-01017:
invalidusername/password;
logondenied
3.- Indicador en pantalla de que SQLPlus está a la espera de la orden:
7
PEREZ César, ―Oracle 11g, curso práctico‖, McGraw-Hill, Mexico-México, 2009
27
Figura No. 04: Oracle SQL Plus
Fuente: www.Oracle.com
4.- Escribir los mandatos de creación de tablas, índices y secuencia en un archivo
(TABLAS.SQL) con el uso del editor.
SQL>edit tablas
5.- Ejecutar los mandatos escritos en el archivo TABLAS.SQL
SQL>@tablas
6.- Para salir de SQLPlus
SQL>exit
Otras tareas.
A continuación examinaremos una serie de mandatos, a nivel de
definición de las tablas, gracias a los cuales se puede:

Listar estructuras de las tablas (DESCRIBE)

Modificar la estructura de las tablas (ALTER TABLE)

Renombrar las tablas (RENAME)

Eliminar una tabla (DROP TABLE)

Eliminar un indice (DROP INDEX)

Consultar las tablas del diccionario

Listado de tablas, Índices y secuencias propiedad del usuario.
28
Detengámonos en los detalles más significativos de cada una de dichas tareas:
1.- Listar estructura de las tablas (DESCRIBE)
Para obtener la estructura (descripción de una tabla) el mandato que se debe emplear
es:
SQL>DESCRIBE clientes;
Con lo que el resultado será el que se ofrece en la tabla 3.
Name
Null?
Type
NUMERO
NOT NULL
NUMBER(38)
FECHA
NOT NULL
DATE
NOMBRE
NOT NULL
CHAR(30)
TELEFONO
NOT NULL
CHAR(20)
DIRECCION
CHAR(100)
ANOTACION
LONG
Tabla 3: Resultado del uso del mandato DESCRIBE
Fuente: El autor
2.- Modificar la estructura de las tablas (ALTER TABLE)
La modificación de la estructura de las tablas con el uso de ALTER permite:
- Añadir nuevas columnas.
- Añadir restricciones a una columna, en este caso la tabla no debe contener datos.
- Modificar el ancho de la columna.
- Modificar el tipo de datos de la columna sólo si la columna no contiene datos o
está vacía.
29
- Modificar al tipo LONG sólo una columna sin restricciones.
El siguiente ejemplo muestra cómo añadir, en la tabla Ventas, las columnas Factura (para
registrar el número de factura) y Cobro (tipo carácter con 2 posibles valores, N=NO
cobrada, NULL=cobrada) y modificar la columna valor para ampliar su ancho.
ALTER TABLE ventas
ADD ( factura integer,cobro char)
MODIFY (valor number)
3.- Renombrar las tablas (RENAME)
Para cambiar el nombre de la tabla Clientes a EMPRESAS se usa el siguiente
mandato: SQL>RENAME clientes TO empresas;
4.- Eliminar una tabla (DROP TABLE)
Le eliminación de la tabla es como sigue:
SQL>DROP TABLE clientes;
En este caso se eliminan, también, todos los índices de la tabla.
5.- Eliminar un índice (DROP INDEX)
SQL>DROP INDEX cliente_codigo;
6.- Consultar las tablas del diccionario.
Toda la información de las tablas está registrada en el diccionario del sistema (Data
Dictionary), que son tablas especiales que se crean en la instalación de ORACLE
(que son administradas por el sistema).
Para consultar la lista de tablas que componen el diccionario se escribe:
SQL>HELP DATA DICT
Gracias a lo cual se muestra una lista con la información de la tabla 4:
30
Nombre de la tabla
Descripción
ACCESSIBLE_COLUMNS
columns of all tables, views, and clusters
ACCESSIBLE_TABLES
tables and views accessible to the user
AUDIT_ACTIONS
maps action type numbers to action type names
ALL_INDEXES
descriptions of indexes on accessible
ALL_SEQUENCES
descriptions of the user's own sequences
ALL_TABLES
description of tables accessible to the user
USER_TABLES
descriptions of the user's own tables
USER_TAB_COLUMNS
columns of the user's tables, views, and clusters
USER_TAB_GRANTS
grants on objects where the user is the owner, grantor, or
grantee
Tabla 4: Resultado del uso del mandato SQL>HELP DATA DICT
Fuente: http://www.infor.uva.es/~jvegas/cursos/bd/sqlplus/sqlplus.html#columnas
También podemos ver la estructura de una tabla del diccionario como se muestra
SQL>DESCRIBE ALL_TABLES;
SQL>DESCRIBE all_indexes;
SQL>DESCRIBE all_sequences;
7.- Listar las tablas, índices y secuencias definidas por un usuario. Para lastablas:
SQL>SELECT TABLE_NAME "TABLA"
FROM ALL_TABLES
WHERE OWNER='EIDOS';
Resultado: Clientes y Ventas
Para los índices:
SQL>SELECT table_name,index_name
FROM all_indexes
WHERE owner='EIDOS';
Resultado: Clientes (con índice Cliente_Nombre y Cliente_Numero) y Ventas (con
índice Venta_Numero)
Para las secuencias:
SQL>SELECT sequence_name
FROM all_sequences
WHERE sequence_owner='EIDOS';
Resultado: el nombre de la secuencia usada (SEQUENCE_NAME) Codigo_Cliente
31
Como hemos visto, la creación de las tablas constituye el fundamento del diseño de
cualquier sistema a desarrollar en Oracle. Una vez definida las tablas el paso lógico
siguiente es conocer las técnicas para realizar un adecuado uso de la información
contenida en el sistema.
2.2.7 La familia de Oracle8
Oracle Edición Estándar.
Esta versión fue conocida como Servidor de grupos de
trabajo (Workgroup). Este producto está considerado base de datos multiusuario pero
con un número limitado de usuarios. Actualmente existe para Windows, Unix y Linux.
Oracle Edición Enterprise. Está dirigido a implementaciones a gran escala y
funciona en más plataformas que la Estándar e incluye mejoras en el manejo de redes,
administración, características de Data Warehousing. También tiene otras opciones
para funciones especiales tales como integración con datos a sistemas de información
geográfica, Sonido y Vídeo.
Personal Oracle. Esta versión es para un solo usuario y es usada normalmente por
desarrolladores que trabajan individualmente en sus máquinas. Como "personal"
Oracle comparte las mismas características que el Enterprise, las aplicaciones pueden
ser transportadas al área de producción real sin ningún problema.
Algunas compañías lo utilizar para aplicaciones móviles o donde requieren un sólo
usuario aunque para ello es mejor y más económico utilizar el "Oracle Lite".
Oracle Lite. Fue conocido como el "Oracle Móvil" y esta diseñado para usuarios que
utilizan dispositivos móviles inalámbricos. Este producto difiere de los demás porque
8
COREY Michael, ―Puesta a punto de Oracle‖, Editorial Agapea, Madrid-Españá, 2009
32
no utiliza el mismo núcleo del resto de la familia. En lugar de ello Oracle desarrolló un
nuevo núcleo que requiere de muy poca memoria para hacerlo compatible con las
computadoras portátiles incluyendo las agendas electrónicas basadas en los sistemas
operativos Windows CE y Palm OS. (Requiere menos de un megabyte de memoria).
Obviamente es posible intercambiar datos (replicación) entre este producto con
cualquier otra base de datos de la familia. Además como Oracle Lite funciona con el
mismo SQL que sus hermanos mayores, los programas diseñados para los otros
miembros pueden funcionar también con este producto.
Oracle 9iAS (Application Server). La popularidad de Internet e Intranet ha estado
cambiando el concepto de cliente-servidor (Donde los clientes eran computadores con
suficiente capacidad para manejar parte de los programas) a un concepto de
arquitectura de tres capas (Donde el cliente solamente necesita de un navegador de
Internet para correr las aplicaciones y programas).
Oracle 9iAS, que remplaza al Oracle Application Server (OAS) y al Oracle Web
Application, permite colocar las aplicaciones tradicionales de cliente-servidor a un
ambiente completo de Internet e Intranet. También añade nuevas capacidades para
publicaciones de páginas HTML.
Oracle Internet Developer Suite. Oracle también ha elaborado
una familia de
productos para desarrollo de aplicaciones:
Oracle FormsDeveloper. Provee de una poderosa herramienta basada en formas para
el desarrollo de aplicaciones tradicionales cliente-servidor o para la arquitectura de tres
capas utilizando Oracle 9iAS. Es considerada de 4ta. Generación y permite construir
33
aplicaciones transaccionales muy robustas. La versión 6 de este producto tiene una
máquina virtual de Java para su presentación en internet.
Oracle ReportsDeveloper. Está diseñada para el desarrollo y producción de reportes
para ser publicados via internet (con Oracle 9iAS) o en el concepto tradicional clienteservidor.
Oracle JDeveloper. Fue introducido en 1998 para desarrollar aplicaciones en Java.
Tiene muchas ayudas para evitar que el programador tenga que escribir
mucho
código de bajo nivel. El código de Java es más flexible para el concepto de Internet
pero desafortunadamente, es menos productivo que el concepto tradicional de 4ta.
Generación como Formas. Actualmente se están haciendo esfuerzos para mejorarlo ya
que tiene la ventaja de programación orientada a objetos.
Oracle Designer. Provee un interfase gráfico para realizar aplicaciones muy rápidas
eliminando la programación tradicional. Esta herramienta recibe los requerimientos y
los convierte en programas de Forms, Reports, HTML y C++. Todo esto suena
fantástico pero tiene un requisito: Los requerimientos deben estar completamente
establecidos antes de usarlo, de lo contrario puede requerir más tiempo
implementación que con la programación tradicional.
Oracle Discoverer. Es una herramienta para el usuario final que desea generar su
propia información a partir de los datos existentes sin depender de un programador. Su
objetivo es realizar análisis de negocios: Ver tendencias, creación de escenarios etc.
Oracle 9iAS Portal.
Fue introducido como WebDB en 1999 y provee una
herramienta para desarrollar páginas HTML en Internet con capacidad de utilizar otros
productos de Oracle como Reporte.
34
La gran mejora de este producto respecto a su antecesor es que se puede usar "portlets"
que permite a una página de Internet dividirse entre diferentes áreas que pueden
independizar la información desplegada e interactuar con el usuario.
10gGrids: Lo Mejor para su Empresa.
Con Oracle Database 10g, la primera
diseñada para gridcomputing, usted puede reducir los costos de IT al automatizar los
servidores en cluster y la administración para asignar recursos en forma dinámica. Las
críticas editoriales elogian el valor, la escalabilidad y capacidad de administración de
Oracle, y los analistas colocan a Oracle como el líder en amplitud de visión y
capacidad de ejecución.
Los bajos precios convierten a Oracle Database 10g en la mejor opción para pequeñas,
medianas y grandes empresas. Y solamente Oracle ofrece los beneficios de clustering
alta disponibilidad y escalamiento horizontal a pedido—con Oracle Real
ApplicationClusters.
2.2.8 PL/SQL Developer
¿Qué es PL/SQL? Para responder a esta pregunta, es importante recordar que cada
sitio web que usted visita, cada aplicación que ejecuta se construye a partir de una pila
de tecnologías de software. En la parte superior de la pila está la capa de presentación,
que son las pantallas o los dispositivos interactivos con los que el usuario interactúa
directamente9.
En estos días los idiomas más populares para implementar las capas de presentación
son Java y .NET. En la parte inferior de la pila está el código de máquina que se
9
FUNDACIÖN Proydesa, ―PL/SQL Oracle database‖, www.slideshare.net/proydesa/presentacion-plsql,
2008
35
comunica con el hardware. En algún lugar en medio de la pila de la tecnología se
encuentra la base de datos, un software que nos permite almacenar y manipular
grandes volúmenes de datos complejos. La tecnología de base de datos relacional,
construida alrededor de SQL, es la tecnología de base de datos dominante en el mundo
hoy.
SQL es un muy poderoso lenguaje orientado a conjuntos, cuyo único propósito es
manipular el contenido de bases de datos relacionales. Si usted escribe aplicaciones
construidas sobre bases de datos Oracle, usted (o alguien que escribe código en un
nivel más bajo en la pila de la tecnología) debe estar ejecutando instrucciones SQL
para recuperar datos o cambiar los datos en esa base de datos. Sin embargo, SQL no se
puede utilizar para implementar toda la lógica de negocio y la funcionalidad que los
usuarios finales necesaria en nuestras aplicaciones. Esto nos lleva a PL/SQL.
2.2.8.1 Procedural Language/StructuredQueryLanguage
Es un lenguaje de programación incrustado en Oracle. PL/SQL soportará todas las
consultas, ya que la manipulación de datos que se usa es la misma que en SQL,
incluyendo nuevas características. Está incorporado en un entorno de base de datos
donde los programadores pueden construir bloques PL/SQL para utilizarlos como
procedimientos o funciones, o bien pueden escribir estos bloques como parte de scripts
SQL*Plus 3
36
Figura No. 05: PL/SQL Developer
Fuente: PL/SQL Developer
PL/SQL Combina el poder de manipular datos, con SQL, y la facilidad de procesar los
mismos, como en los modernos lenguajes de programación.
Ejemplo:
CREATE TABLE plana(nro NUMBER(3), mensaje VARCHAR2(20));DECLARE
cont NUMBER(4) := 0;BEGIN LOOP INSERT INTO plana VALUES(cont, No
debotirartizas); cont := cont + 1; EXIT WHEN cont = 1000; END LOOP;END;
Ejemplo:
CREATE TABLE plana(nro NUMBER(3), mensaje VARCHAR2(20));DECLARE
cont number(3) := 500;BEGIN WHILE cont> 0 LOOP INSERT INTO plana
VALUES (cont, Solicitudnro || cont); cont := cont - 1; END LOOP;END;
PL/SQL Es un lenguaje estructurado en bloques. Un bloque PL/SQL tiene tres partes
que son:



Una sección de Declaración
Una sección de Ejecución
Y otra de manejo de Excepciones.
37
Figura No. 06: PL/SQL Developer - Entorno
Fuente: PL/SQL Developer
Cursores.- Son áreas de trabajo que permiten ejecutar sentencias SQL y procesar la
información obtenida de ellos.
Subprogramas.-
En PL/SQL existen dos tipos de subprogramas, llamados
procedimientos y funciones, los que pueden manejar parámetros de entrada y de
salida.
Paquetes.-
Almacenan lógicamente un conjunto de tipos de datos relacionados,
variables, cursores e incluso subprogramas.
2.2.8.2 Ventajas en la utilización de PL/SQL
Ciertamente, es posible crear aplicaciones sobre SQL y base de datos Oracle sin usar
PL/SQL. La utilización de PL/SQL para realizar operaciones específicas de bases de
38
datos, en particular la ejecución de sentencias SQL, ofrece varias ventajas, sin
embargo, incluyendo una estrecha integración con SQL, un mejor desempeño debido a
la reducción del tráfico de red, y la portabilidad (los programas PL/SQL se pueden
ejecutar en cualquier instancia de una base de datos de Oracle). Así, el código de la
interfaz del usuario de muchas aplicaciones ejecuta tanto sentencias SQL y bloques
PL/SQL, para maximizar el rendimiento al tiempo que mejora la capacidad de
mantenimiento de esas aplicaciones.
2.2.9 Lenguaje de consultas Sql
El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos
normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza
para crear objetos QueryDef, como el argumento de origen del método
OpenRecordSet y como la propiedad RecordSource del control de datos. También se
puede utilizar con el método Execute para crear y manipular directamente las bases de
datos Jet y crear consultas SQL de paso a través para manipular bases de datos
remotas cliente - servidor.
Componentes del sql. El lenguaje SQL está compuesto por comandos, cláusulas,
operadores y funciones de agregado. Estos elementos se combinan en las instrucciones
para crear, actualizar y manipular las bases de datos.
Microsoft SQL Server es la mejor base de datos para Windows NT Server. Posee los
mejores registros de los benchmarks independientes (TCP) tanto en transacciones
totales como en coste por transacción.
39
Gestión: Con un completo interfaz gráfico que reduce la complejidad innecesaria de
las tareas de administración y gestión de la base de datos.
Diseñada desde su inicio para trabajar en entornos Internet e Intranet, Microsoft SQL
Server es capaz de integrar los nuevos desarrollos para estos entornos
específicos
con los desarrollos heredados de aplicaciones "tradicionales". Es más, cada aplicación
que desarrollemos para ser empleada en entornos de red local puede ser utilizada de
forma transparente -en parte o en su totalidad- desde entornos Internet, Intranet.
Diseñada para INTERNET: Es el único gestor de base de datos que contiene de forma
integrada la posibilidad de generar contenido HTML de forma automática.
La Base de Soluciones Integradas: La Integración total con BaclOffice permite
resolver toda las necesidades de infraestructura de la empresa con un sólo paquete.
Potente y Escalable: Microsoft SQL Server es la única base de datos cuyo rendimiento
sobre Internet está publicado, ofreciendo registros espectaculares.
Mínimo coste de Propiedad: La sencillez de la instalación, y la potencia de sus
herramientas de gestión y el menor coste de toda la industria para entornos Internet,
hacen de Microsoft SQL Server la mejor opción con el menor coste.
2.2.10 La gestión empresarial.
El concepto de gestión posee preliminares básicos correspondientes a la organización,
lo que implica que éste aplicado en una empresa o en un negocio examina algunos de
los objetivos principales correspondientes a la misma. Es importante tener en cuenta
en este concepto que ninguna empresa puede subsistir si no posee algún tipo de
beneficio, por lo que siempre se debe mantener un cierto nivel de competencia con las
40
otras empresas que se dedican a fabricar y elaborar los mismos productos que la
nuestra.
El concepto de gestión se mueve en un ambiente en el cual, por lo general, los recursos
disponibles escasean, y en base a esto, la persona encargada de la gestión debe aplicar
diferentes fórmulas para que se esta manera se logren persuadir y motivar
constantemente a todas las fuentes del capital empresarial, con el objetivo de lograr
que las mismas apoyen todos los proyectos que la empresa planea emprender10.
Si nos enfocamos en la aplicación del concepto de gestión para llevar a cabo las
actividades de una empresa, es importante destacar que por lo general, el mismo suele
tener mucha más aplicación en las empresas de propiedad privadas, que son más
conocidas como el sector privados empresarial. De todas formas debemos decir que
las empresas que le pertenecen al sector público, es decir, aquellas que son propiedad
del estado, también suelen tener buenos modelos de gestión, pero los mismos suelen
independizarse bastante de lo que es el concepto de gestion más técnico.
Y es aquí en donde radica la diferencia más grande, ya que el sector privado,
aplicando el concepto de gestión en el desarrollo de sus actividades obtiene muchas
más ganancias que una empresa correspondiente al sector público, es por ello que es
importante considerar la tecnicidad del concepto de gestión como parte de la gestión
empresarial. De todas formas es importante también que se haga mención del hecho
lógico que nos confirma que las empresas privadas cuentan con muchos más recursos
que aquellas del Estado, y uno de esos recursos esla tecnología, una herramienta que
ha ayudado ampliar el concepto de gestión en todas las aplicaciones correspondientes.
10
DOMINGUEZ Pedro, ―Introducción a la gestión empresarial‖,
/www.monografias.com/trabajos53/libro-gestion-empresarial/libro-gestion-empresarial.shtml, 2007
41
2.2.10.1 La gestión y sus cuatro funciones principales
Debemos decir que el concepto de gestión aplicado a la administración de empresas
obliga a que la misma cumpla con cuatro funciones fundamentales para el desempeño
de la empresa; la primera de esas funciones es la planificación, que se utiliza para
combinar los recursos con el fin de planear nuevos proyectos que puedan resultar
redituables para la empresa, en términos más específicos nos referimos a la
planificación como la visualización global de toda la empresa y su entorno
correspondiente, realizando la toma de decisiones concretas que pueden determinar el
camino más directo hacia los objetivos planificados. La segunda función que le
corresponde cumplir al concepto de gestion es la organizaciónen donde se agruparan
todos los recursos con los que la empresa cuenta, haciendo que trabajen en conjunto,
para así obtener un mayor aprovechamiento de los mismos y tener más posibilidades
de obtener resultados.
La dirección de la empresa en base al concepto de gestión implica un muy elevado
nivel se comunicación por parte de los administradores para con los empleados, y esto
nace a partir de tener el objetivo de crear un ambiente adecuado de trabajo y así
aumentar la eficacia del trabajo de los empleados aumentando las rentabilidades de la
empresa. El control es la función final que debe cumplir el concepto de gestion
aplicado a la administración, ya que de este modo se podrá cuantificar el progreso que
ha demostrado el personal empleado en cuanto a los objetivos que les habían sido
marcados desde un principio.
Teniendo todo esto que ha sido mencionado en cuenta, podemos notar la eficiencia
que posee el hecho de llevar a cabo la administración de empresas en base al concepto
de gestión. El mismo aporta un nivel mucho más alto de organización permitiendo así
42
que la empresa pueda desempeñarse muy bien en su área de trabajo. En el caso de que
emprenda un nuevo negocio o una empresa, con el objetivo de que la misma llegue a
grandes estatutos empresariales, le recomendamos entonces que la administración
correspondiente a su empresa se encuentre regida por el concepto de gestión, y de esta
manera se aumentaran los niveles de posible éxitos que se pueda tener en la empresa.
2.2.11Los seguros.
El seguro es un contrato por el cual una de las partes (el asegurador) se obliga,
mediante una prima que le abona la otra parte (el asegurado), a resarcir un daño o
cumplir la prestación convenida si ocurre el evento previsto, como puede ser un
accidente o un incendio, entre otras.
El contrato de seguro puede tener por objeto toda clase de riesgos si existe interés
asegurable, salvo prohibición expresa de la ley. Por ejemplo:





Los riesgos de los incendios.
Los riesgos de las cosechas.
La duración de la vida de uno o más individuos.
Los riesgos del mar.
Los riesgos de los transportes por aire o tierra.
El asegurador por lo general es una compañía de seguros organizada bajo la forma de
sociedad anónima; pero también existen cooperativas y mutualidades de seguros e
incluso un organismo oficial – La caja de Ahorro y Seguro – realiza operaciones de
este tipo. Asimismo, en algunas provincias funcionan entidades aseguradoras oficiales.
El contrato de seguro es consensual, bilateral y aleatorio. Es consensual porque se
perfecciona por el mero consentimiento de las partes y produce sus efectos desde que
43
se ha realizado la convención; es bilateral puesto que origina derechos y obligaciones
recíprocas entre asegurador y asegurado, y es aleatorio porque se refiere a la
indemnización de una pérdida o de un daño producido por un acontecimiento o un
hecho incierto, pues no se sabe si se va a producir y en el caso contrario – como ocurre
con la muerte no se sabe cuándo ello ha de acontecer11.
2.2.12. Polizas de Seguros.
Una póliza de seguro es un contrato entre el asegurado y una Compañía de Seguros,
donde se establecen los derechos y obligaciones de ambas partes, las Coberturas (son
los riesgos que asume el asegurador y que se describen en la póliza), en relación al
seguro contratado.
Existe una gama muy amplia de riesgos a asegurar, por lo que se recomienda que antes
de tomar un seguro, se informe detalladamente de las características del producto, para
determinar con precisión los riesgos cubiertos y las exclusiones existentes. Una vez
que acepte la propuesta, se procede con la Solicitud de la Póliza (Formulario impreso
con las coberturas y límites deseados), luego se hace la emisión de la póliza bajo las
condiciones pautadas.Es el Período por el cual se ha contratado una póliza,
generalmente es de 365 días, pero se puede contratar por el tiempo que desee el
solicitante y se especifica en el cuerpo de la Póliza.Cuando se cumple la vigencia de la
Póliza, ésta se renueva automáticamente. En el documento de renovación se expresa la
nueva vigencia y las modificaciones solicitadas por el asegurado, si las hay. De no
haber modificaciones solicitadas por el asegurado, mediante comunicación escrita
previo a la renovación; el seguro se renueva bajo las mismas condiciones pautadas en
el contrato original.Todo contrato puede cancelarse por voluntad del Asegurado o del
11
AGOSTINA, ―Segurois‖, http://www.monografias.com/trabajos5/segu/segu.shtml, 2008
44
Asegurador en los casos que se pueda; pero en los seguros de propiedades, seguros de
Vida y Fianzas el Asegurador no puede cancelar el contrato unilateralmente.Cuando
la cancelación es por voluntad del Asegurador, deberá dar aviso al Asegurado con diez
días de anticipación a la fecha de cancelación;
el Asegurado puede hacerlo en
cualquier momento, mediante comunicación escrita al Asegurador.
2.3. IDEA A DEFENDER Y VARIABLES
―Con la implementación de una aplicación web caracterizada por módulos como
consulta y emisión automática de pólizas se mejorará la gestión de las mismas en la
aseguradora Alliance de Quito‖
Variables:
Variable independiente:
Aplicación web
Variable Dependiente:
Gestión de pólizas
45
CAPITULO III
MARCO METODOLÓGICO
3.1. MODALIDAD DE LA INVESTIGACIÓN
El paradigma de investigación que se utilizó es el cuantitativo - cualitativo.
La
característica cualitativa del modelo permitirá averiguar sobre las cualidades del
problema es decir se investigara sobre todos los síntomas que presenta el problema
para orientarnos a la solución. En este caso la sintomatología hace referencia a la
gestión de las pólizas en la empresa, entendiéndose por esta gestión al proceso de
oferta, de consulta y de venta en general
La investigación cuantitativa es aquella en la que se recogen y analizan datos
cuantitativos o numéricos sobre las variables.
Los investigadores cualitativos hacen registros narrativos de los fenómenos que son
estudiados mediante técnicas como la observación participante y las entrevistas no
estructuradas.
La investigación cuantitativa trata de determinar la fuerza de
asociación o correlación entre variables, la generalización y objetivación de los
resultados a través de una muestra para hacer inferencia a una población de la cual
toda muestra procede.
3.2.TIPOS DE INVESTIGACIÓN
Se utilizaron algunos tipos de investigación como:
46
3.2.1 Investigación bibliográfica
Consiste en la búsqueda de información existente en libros, revistas e internet se la
aplico para la elaboración del marco teórico específicamente en la fundamentación
teórica de las herramientas informáticas que se utilizan para elaborar la propuesta, esto
quiere decir que se fundamento el manejo de Oracle, de pl/sql y de la gestión
empresarial en general. La investigación bibliográfica constituye un punto de partida
para la realización del proceso de investigación, ya que permite analizar y evaluar
aquello que se ha investigado y lo que falta por indagar del objeto o fenómeno de
estudio.
3.2.2 Investigación de campo
La investigación de campo trata de averiguar la manifestación sintomática del
problema en el mismo sitio donde este se genera esto se significa que se realizó
encuestas y entrevistas en la empresa a nivel nacional. Este tipo de investigación fué
muy útil para la elaboración del marco metodológico.
3.3. POBLACIÓN Y MUESTRA
La población está compuesta por todos los involucrados en el problema ya sea de
manera o indirecta. A continuación la cuantificamos en el siguiente cuadro.
47
FUNCIÓN
NUMERO
Directivos
2
Empleados administrativos y agentes de
seguros
Clientes
11
180
TOTAL
193
Tabla 5: Población
Fuente: El autor
La muestra es un porcentaje de la población y será calculada en base a la siguiente
formula
Población
Muestra = __________________________
(Población - 1 ). error 2 +1
Se asume un error del 5 % (0.05)
193
Muestra =_______________
(193-1)*(0.05)2+1
Muestra = 130
La muestra se estructuró de la siguiente forma:
FUNCIÓN
NUMERO
Directivos
2
Empleados administrativos y agentes d eseguros
11
Clientes
117
TOTAL
Tabla 6: Muestra
Fuente: El autor
48
130
3.4.MÉTODOS, TÉCNICAS E INSTRUMENTOS
Se aplicó el método inductivo deductivo para resolver un problema en particular y
extenderlo a lo general.
En cuanto a las técnicas utilizadas para recopilar información tenemos:

La encuesta realizada a los directivos, empleados administrativos, agentes de
seguros y clientes
El instrumento que se utilizó para la investigación es:

El cuestionario
49
3.5. INTERPRETACIÓN DE RESULTADOS
Encuesta a los clientes internos (Personal administrativo y vendedores).
Pregunta No 1. ¿Las reglas de seguros son las mismas en España y en el Ecuador?
Respuestas Frecuencia Porcentaje
Si
0
0%
No
13
100%
13
100%
Total
Tabla No. 7: Pregunta No.1 Administrativo y Vendedores
Fuente: El autor
Si
No
0%
100%
Figura No. 07: Resultado pregunta No.1 - Administrativo y Vendedores
Fuente: El autor
Se ratifica que las reglas del negocio de seguros son diferentes en España que en
Ecuador
50
Pregunta No 2. ¿El cálculo y emisión de las pólizas es?
Respuestas
Frecuencia Porcentaje
Manual
8
62%
Semi automático
4
31%
Automático
1
8%
13
100%
Total
Tabla No. 8: Pregunta No.2 - Administrativo y Vendedores
Fuente: El autor
Mnaual
Semi automático
Automático
8%
31%
61%
Figura No. 08: Resultado pregunta No.2 - Administrativo y Vendedores
Fuente: El autor
La gran mayoría considera que la emisión de pólizas es un proceso manual
51
Pregunta No 3 ¿Existen demoras y errores de cálculo durante la emisión de una
póliza?
Respuestas Frecuencia Porcentaje
Si
6
46%
No
4
31%
A veces
3
23%
13
100%
Total
Tabla No. 9: Pregunta No.3 - Administrativo y Vendedores
Fuente: El autor
Si
No
A veces
23%
46%
31%
Figura No. 09: Resultado pregunta No. 3 - Administrativo y Vendedores
Fuente: El autor
De los resultados se deduce que si se producen errores y demoras en la emisión de las
pólizas respectivas
52
Pregunta No 4 ¿Los clientes se sienten ya asegurados luego de contratar la póliza
aunque esta no ha sido emitida?
Respuestas
Frecuencia Porcentaje
Si
9
69%
No
4
31%
13
100%
Total
Tabla No. 10: Pregunta No.4 - Administrativo y Vendedores
Fuente: El autor
Si
No
31%
69%
Figura No. 10: Resultado pregunta No.4 - Administrativo y Vendedores
Fuente: El autor
Existe un 30% que considera que los clientes no se sienten asegurados luego de
adquirir la póliza ya que esta no es emitida todavía
53
Pregunta 5 ¿Cree usted que la Empresa necesita obligatoriamente un portal web
donde existan opciones para calculo y consulta de pólizas?
Respuestas
Frecuencia Porcentaje
Si
11
85%
No
2
15%
13
100%
Total
Tabla No. 11: Pregunta No.5 - Administrativo y Vendedores
Fuente: El autor
Si
No
15%
85%
Figura No. 11: Resultado pregunta No. 5 - Administrativo y Vendedores
Fuente: El autor
Un 85% de los encuestados considera que la empresa necesita de un portal web
54
Pregunta No 6. ¿Considera usted que con la implementación de un portal web se
podrá mejorar la gestión de pólizas en la empresa?
Respuestas
Frecuencia Porcentaje
Si
13
100%
No
0
0%
13
100%
Total
Tabla No. 12: Pregunta No.6 - Administrativo y Vendedores
Fuente: El autor
Si
No
0%
100%
Figura No. 12: Resultado pregunta No.6 - Administrativo y Vendedores
Fuente: El autor
El total de los encuestados cree que con la implementación de un portal web se
mejorará la gestión de pólizas en la empresa
55
Encuesta realizada a los clientes externos de la empresa
Pregunta No 1. ¿Cree usted que la emisión de pólizas es demorada?
Respuestas
Frecuencia Porcentaje
Si
85
73%
No
32
27%
117
100%
Total
Tabla No. 13: Pregunta No. 1 – Clientes
Fuente: El autor
27%
Si
73%
No
Figura No. 13: Resultado pregunta No.1 –Clientes
Fuente: El autor
Un elevado porcentaje de encuestados considera que la emisión de pólizas es
demorada
56
Pregunta No 2 ¿Considera usted que durante la emisión de pólizas se pueden producir
errores de cálculo muy frecuentemente?
Respuestas
Frecuencia Porcentaje
Si
68
58%
No
49
42%
117
100%
Total
Tabla No. 14: Pregunta No. 2 - Clientes
Fuente: El autor
42%
58%
Si
No
Figura No. 14: Resultado pregunta No. 2 –Clientes
Fuente: El autor
Un alto porcentaje cree que si se pueden producir errores de cálculo durante la emisión
de la póliza
57
Pregunta No 3. ¿La emisión posterior a la adquisición de la póliza le provoca en usted
cierta inseguridad?
Respuestas
Frecuencia Porcentaje
Si
48
41%
No
69
59%
117
100%
Total
Tabla No. 15: Pregunta No. 3 – Clientes
Fuente: El autor
41%
Si
59%
No
Figura No. 15: Resultado pregunta No. 3 –Clientes
Fuente: El autor
Muchos clientes manifiestan sentirse inseguros por la demora en la emisión de la
póliza luego de que esta ha sido adquirida
58
Pregunta No 4 ¿Le gustaría a usted poder consultar vía Internet su póliza y la
posibilidad de renovación anticipadamente?
Respuestas
Frecuencia Porcentaje
Si
95
81%
No
22
19%
117
100%
Total
Tabla No. 16: Pregunta No. 4 – Clientes
Fuente: El autor
19%
Si
No
81%
Figura No. 16: Resultado pregunta No. 4 –Clientes
Fuente: El autor
A un muy elevado porcentaje le gustaría poder consultar sus pólizas vía internet para
incluso decidir sobre la renovación de la misma
59
Pregunta No 5 ¿Considera usted necesario para la empresa la implementación de un
portal web donde haya la posibilidad de generar y consultar automáticamente las
pólizas de seguros que emite la empresa?
Respuestas
Frecuencia Porcentaje
Si
101
86%
No
16
14%
117
100%
Total
Tabla No. 17: Pregunta No. 5 – Clientes
Fuente: El autor
14%
Si
No
86%
Figura No. 17: Resultado pregunta No. 5 –Clientes
Fuente: El autor
Se cree necesaria la implementación de un portal web para la empresa
60
Pregunta 6. ¿Cree usted que con la implementación de un portal web se mejorará la
gestión de la empresa relacionada con las pólizas de seguros?
Respuestas Frecuencia Porcentaje
Si
No
Total
108
92%
9
8%
117
100%
Tabla No. 18: Pregunta No. 5 – Clientes
Fuente: El autor
8%
Si
No
92%
Figura No. 18: Resultado pregunta No. 6 – Clientes
Fuente: El autor
Se deduce de lo manifestado que la implementación de un portal web permitirá la
mejora de la gestión de pólizas
61
3.6
CONCLUSIONES
TEÓRICO-METODOLÓGICAS
DE
LA
INVESTIGACIÓN DE CAMPO.
De la investigación desarrollada se puede concluir lo siguiente:

Las reglas de negocio en cuanto a seguros defieren entre España y Ecuador, por
ello es que los programas con que cuenta la empresa no pueden ser utilizados en
nuestro país

Existen demoras y errores de cálculo durante la emisión de las pólizas de
seguros.

La posterior emisión de las pólizas a su contratación genera un cierto periodo de
inseguridad en los clientes de la empresa.

A muchos usuarios les gustaría poder consultar sobre los datos de su póliza vía
Internet para tener la posibilidad de análisis antes de su renovación.

Se hace necesario que la empresa disponga de un portal web donde se pueda
generar y consultar las pólizas rápidamente.

Con la implementación de un portal web se tendrá la posibilidad de mejorar la
gestión de pólizas que desarrolla la empresa.
Las recomendaciones de la invetigación son:

Debe existir una actualización continua sobre las reglas del negocio del Ecuador
en cuanto a las emisiones de pólizas de seguros para evitar contratraciones
equívocas.

La base de datos debe ser renovada continuamente en el ingreso de nuevos
modelos de vehículos para la emisión de pólizas de seguros.

La empresa debe promocionar el uso del portal web para la consulta y renovación
de pólizas.
62
CAPITULO IV
MARCO PROPOSITIVO
4.1 TEMA:
―Aplicación Web para la gestión de pólizas en la aseguradora Alliance S.A.”
4.2
FUNDAMENTACIÓN.
El presente trabajo investigativo está fundamentado en algunos temas de tipo
informático así como de tipo comercial.En el aspecto informático deberemos señalar
que se han utilizado algunas herramientas relacionadas con el diseño Web,
primeramente mencionaremos al Dreamweaver de Macromedia como el entorno de
elaboración de las páginas estáticas, en lo dinámico se ha utililzado PL/Sql de Oracle
11i express. La base de datos que contiene toda la información de la empresa, es el
motor conocido como ORACLE. Se debe mencionar también que en la elaboración de
la aplicación web han intervenido algunas herramientas adicionales tales como Flash
Macromedia, Java script y por supuesto editores gráficos como el Photoshop y Corel
Draw.
Para el funcionamiento de la aplicación en su fase de diseño debo mencionar que se
utilizo como servidor de páginas web al Apache
4.3
OBJETIVOS DE LA PROPUESTA
La presente propuesta tiene los siguientes objetivos.
63
4.3.1
Objetivo General
Desarrollar una aplicación web que permita mejorar la gestión de pólizas en la
aseguradora ALLIANCE S.A.
4.3.2

Objetivos Específicos.
Diseñar la base de datos para almacenar la información relativa a los clientes,
seguros y usuarios de la empresa.

Desarrollar cada uno de los componenetes de la aplicación Web.

Validar la propuesta mediante expertos
4.4 DESCRIPCIÓN DE LA PROPUESTA
La propuesta planteada como solución al problema descrito en el capítulo I consiste
en una Aplicación Web de tipo dinámica, la cual permitirá que los usuarios acceden
directamente a varias de los procesos de consulta y generación de pólizas de seguros,
los usuarios pueden ser tanto vendedores, personal administrativo y clientes.
4.5
METODOLOGÍA DE DESARROLLO DE SOFTWARE.
Muchas veces es necesario inclinarse por una metodología de desarrollo de software
cuando se trata de elaboras sistemas o aplicaciones de diferente tipo, pero ¿cual de las
estudiadas o conocidas se adapta mejor a este campo?, pues es muy difícil adoptar una
se adapta plenamente a los requerimientos que el usuario tiene. Por ello se ha utilizado
64
la metodología de tipo lineal o en cascada, la cual esencialmente consta de las
siguientes partes:
Figura No. 19: Modelo lineal o cascada
Fuente: http://metodologiaencascada.blogspot.com/
a. Analisis. En esta fase se analizan las necesidades de los usuarios finales del
software para determinar qué objetivos debe cubrir. De esta fase surge una
memoria llamada SRD (documento de especificación de requisitos), que contiene
la especificación completa de lo que debe hacer el sistema sin entrar en detalles
internos.Es importante señalar que en esta etapa se debe consensuar todo lo que se
requiere del sistema y será aquello lo que seguirá en las siguientes etapas, no
pudiéndose requerir nuevos resultados a mitad del proceso de elaboración del
software.
b. Diseño. Se descompone y organiza el sistema en elementos que puedan elaborarse
por separado.
Como resultado surge el SDD (Documento de Diseño del
Software), que contiene la descripción de la estructura relacional global del
sistema y la especificación de lo que debe hacer cada una de sus partes, así como
65
la manera en que se combinan unas con otras. Aquí se diseña las estructura de la
base de datos en todas sus instancias.
c. Desarrollo. Es la fase de programación. Aquí se implementa el código fuente,
haciendo uso de prototipos así como pruebas y ensayos para corregir
errores.Dependiendo del lenguaje de programación y su versión se crean las
bibliotecas y componentes reutilizables dentro del mismo proyecto para hacer que
la programación sea un proceso mucho más rápido.
d. Pruebas. Los elementos, ya programados, se ensamblan para componer el sistema
y se comprueba que funciona correctamente y que cumple con los requisitos,
antes de ser puesto
e. Mantenimiento. Una de las etapas mascriticas, ya que se destina un 75% de los
recursos, es el mantenimiento del Software ya que al utilizarlo como usuario final
puede ser que no cumpla con todas nuestras expectativas.
4.6ANALISIS
4.6.1Análisis previo.
Se procede a describir algunos de los procesos que se realizan en la empresa y que nos
servirán de base para el diseño de la aplicación web. Estos procesos tienen relación
directa con la gestión de las pólizas de seguros.
Una vez conocidos los procesos se detemina el
flujo de información que hace
referencia a una descripción general de los procesos que la empresa realiza para lograr
la captación de los seguros relacionados con los vehículos. La información fluirá de
la siguiente manera:
66
Consulta de Clientes
Consulta de pólizas
Vendedor
Cotización de seguros
Gerencia
Informes
Aplicación
Tipos de pólizas
Web
Usuario
Consulta de pólizas
Consulta pagos
Cajeros
Figura No. 20: Flujo de Información
Fuente: El autor
67
Generación de pólizas de seguros
Figura No. 21: Generar pólizas de vehículos
Fuente: El autor
68
4.6.2 ERS (ESPECIFICACIÓN DE REQUERIMIENTOS SOFTWARE)
La Especificación de Requerimientos de Software da a conocer
un conjunto de
información necesaria, que ayuda a los desarrolladores del software a analizar y
entender todos los requerimientos que los usuarios desean conocer. De esta forma
obtener un documento necesario cuya información se utilizará para el desarrollo
completo del software.
Se describe en forma detallada los requerimientos generales de la aplicación para la
generación de pñolizas de la aseguradors Alliance S.A. la misma que permiteemitir de
forma individual las proformas y contratos de seguro vehicular a través de una
cotización previa.
Se detalla interfaces de usuario, de software, del hardware y comunicaciones,
necesarios para el desarrollo del sistema.
El objetivo primordial es identificar y presentar los requerimientos en el desarrollo del
sistema como base para las posteriores fases.
a. Identificación del producto del software
Aplicación Web para gestión de polizas
69
b. Objetivos del sistema
Permitir la gestión de pólizas de la aseguradora Alliance S.A.
c. Beneficios y objetivos del Software
Beneficios Tangibles

Eliminar tareas redundantes.

Minimizar recursos(suministros y tiempo)

Aprovechar recurso humano.

Protección de la integridad de la información.

Simplificación en el proceso de gestión de pólizas
Beneficios Intangibles

Fácil manejo de interfaces.
Objetivos Específicos.

Autenticar usuarios.

Generar cotizaciones de seguros para vehiculos

Generar la informes de cotizaciones
70

Administrar valores correspondientes de acuerdo al tipo de
vehículos y accesorios adicionales para determinar el valor final del
seguro vehicular.

Generar advertencias en el manejo de los datos inexistentes.

Generar reportes en todas las instancias de los procesos.
4.6.2.1PERSPECTIVAS DEL PRODUCTO
La aplicación web esta diseñada en base a los requerimientos que exige el desarrollo
de aplicaciones web y de acuerdo a la infraestructura de la aseguradora, este sistema
consta de los siguientes módulos:

Módulo de Cotizaciones

Módulo de Solicitudes

Módulo de Producción

Módulo de Configuración
71
4.6.2.2 FUNCIONES DEL PRODUCTO
El Sistema de facturación esta desarrollado para soportar:
Figura No. 22: Funciones del Producto
Fuente: El autor
72
4.6.2.3 CARACTERÍSTICAS DE LOS USUARIOS
FUNCION
CONOCIMIENTOS
OBSERVACION
TECNICOS
Administrador
Herramientas
de Administra de la aplicación web
Desarrollo Web, Gestión
de Base de Datos Oracle,
PLSQL developer
Cotizador
Herramientas
Aplicación
Web, Procesos de gastión de pólizas para
Web
a vehículos
Implementarse
Tabla No. 19: Caracteristicas de los usuarios
Fuente: El autor
4.6.2.4 LIMITACIONES GENERALES

Limitaciones hardware.

Requisitos del lenguaje a utilizar

Requisitos del DBMS a ser utilizado.

Recursos económicos.
4.6.2.5 SUPUESTOS Y DEPENDENCIAS

Migración de datos a otro DBMS.

Cambio de plataforma no compatible con la aplicación.

Falla de infraestructura de la conexión web.
73
4.6.2.6 REQUISITOS FUNCIONALES
En este apartado se indican las exigencias funcionales que deberán ser cubiertas por la
aplicación web. Los requerimientos han sido extraídos y analizados de acuerdo a las
necesidades expuestas por el personal de que labora en la aseguradora Alliance.
a. Generales
Req 1: La aplicación debe permitir el trabajo via Internet
Req 2: Se inicia con la presentación de un Portal Web para acceder a la
información inicial y a la apliicación Web.
Req 3: La aplicación debe permitir la validación de usuarios (Administrador
y/o Cotizador) y la asignación de permisos de acuerdo a la validación del
usuario.
b. Administrador
Req 4: La aplicación debe permitir el ingreso de nuevos usuarios.
Req 5: La aplicación debe permitir agilitar la actualización de datos para la
generación de pólizas.
Req 6: La aplicación debe generar presupuestos de pólizas según el modelo,
marca, año de fabricación y accesorios del vehiculo.
Req 7:La aplicación debe permitir la configuración de usuarios y valores de las
pólizas.
74
Req 8: La aplicación debe generar reportes de solicitudes de pólizas, de
presupestos de polizas y listas de solicitudes aceptadas.
c. Cotizador
Req 9: La aplicación permitirá el ingreso de datos de los clientes para la
cotización de pólizas.
Req 10: La aplicación debe permitir la generación de reportes de solicitudes y
cotizaciones.
Req 11: La aplicación debe permitir almacenar las cotizaciones.
Req 12:La aplicación debe generar presupuestos de pólizas según el modelo,
marca, año de fabricación y accesorios del vehiculo.
4.6.2.7 REQUISITOS NO FUNCIONALES
Se muestran los requerimientos no funcionales, que a su vez son las características
principales de la aplicación a desarrollar:

Compatibilidad
La compatibilidad de la aplicación web se establece bajo la plataforma de
Windows y PLSQL Developer 8.0
75

Fácil de manejar
Una de las grandes ventajas de la aplicación a desarrollar es su facilidad de uso,
pues la cotización vehicular tendrá un GUI amigable y fácil de entender no tendrá
que realizar procedimientos complicados.

Fiabilidad
El sistema es muy fiable es decir se puede tener un alto grado de confianza en el
mismo ya que garantiza la óptima replicación de los datos pues Oracle
proporciona economía de escala en grids de bajo coste fáciles de gestionar, lo que
facilita la reducción de los costes por inactividad con una arquitectura de máxima
disponibilidad, la partición y la compresión de los datos para ejecutar consultas
más rápidas y la protección y la auditoría seguras de los datos, más la posibilidad
de recuperación total de los datos.

Estabilidad
El sistema es muy estable, pues Oracle Developer11g ofrece ventajas con respecto
a sus competidores como puede ser: Un standard de programación plenamente
adaptado a las normas de Sql Oracle; un entorno de programación mejorado para
facilitar el desarrollo y la posiblidad de desarrollar junto al servidor IAS(Internet
Aplication Server) una solución para internet; todo ello, siguiendo un standard, y
una normalización de la seguridad de acceso a datos.
76

Seguridad
Las seguridades que son implementadas en la base de datos y las que ofrecen
Oracle permitirá el aceso al administrador y encargado de las cotizaciones por
medio de un Usuario y Contraseña asignados al momento de la creación de los
mismos, haciendo a este más eficiente y seguro.

Flexibilidad
Es la capacidad que la aplicación a adptarse al lenguaje de programación de
PLSQL developer para realizar cambios tanto en la base de datos como en las
interfaces,

Fácil Instalación
La instalación de la aplicación no es complicada ya que los interfaces
estándiseñados para proporcionar a los usuarios un ambiente de trabajo amigable.
4.6.2.8 REQUISITOS DE INTERFACES EXTERNAS
a. Interfaz de usuario
La aplicación contará con una interfaz de usuario amigable, fácil de aprender y
manejar; para las cuales se utilizara las ventanas de presentación con el manejo del
teclado y el mouse.
77
b. Interfaz de software
Para que la aplicación funcione correctamente se utilizaráPL/SQL que es un ambiente
integrado del desarrollo para convertir, probar, eliminar errores, y las unidades storedprogram óptimas de Oracle PL/SQL tales como paquetes, y disparadores. De esta
forma se ofrece descripciones sensibles al contexto de la ayuda, base de datos-objeto
y donde se realizá las interfaces graficas de usuario.
4.6.2.9 REQUISITOS DE RENDIMIENTO
a. Obediencia a estándares
Se aplicará los estándares existentes en el área de desarrollo para el diseño del
software.
b. Limitaciones de hardware
El hardware limitará al software de las siguientes formas:

La capacidad y rendimiento que proporcione el equipo en el cual se utilizará la
aplicación cliente.

La capacidad que posee el servidor
78
4.7
DISEÑO.
4.7.1 Diseño de las opciones principales de la aplicación.
Del análisis previo realizado, se deduce que deberemos disponer de algunas opciones
informativas y que deberá también existir una parte dinámica que manejara todo lo
referente a clientes y pólizas
Según lo manifestado anteriormente se tendrán las siguientes opciones:
Inicio. Se constituirá en la página inicial de la aplicación.
Quiénes somos.- Describirá las características generales de la empresa como misión,
visión, y más
Servicios.- El usuario que accede a esta opción podrá conocer los diferentes tipo de
servicios que brinda la empresa, eso significa una descripción de los diferentes tipos
de seguros que pone a disposición del publico
Sedes.-
Opción que permite determinar rápidamente las sedes de las diferentes
sucursales de la empresa.
Aplicacion.- En esta opción el usuario tanto interno como externo puede hacer las
cotizaciones de los seguros para los autos, aquí se ingresa al cotizador y se genera la
proforma, si se está de acuerdo se registra los datos del cliente y se emite la póliza,
esta opción da ingreso a la parte más importante del portal
79
La estructura general del portal será:
ESTRUCTURA DEL PORTAL WEB
MENÚ
QUIENES SOMOS
SERVICIOS
SEDES
APLICACIÓN
ENCABEZADO ANIMADO
COMPLEMENTO 1
DESCRIPCIÓN 1
COMPLEMENTO 2
DESCRIPCIÓN 2
COMPLEMENTO 3
DESCRIPCIÓN 3
COMPLEMENTO 4
DESCRIPCIÓN 4
Tabla No. 20: Estructura General del Portal
Fuente: El autor
4.7.2 Diseño de la base de datos.
A continuación se expone el modelo de la base de datos, se debe mencionar que la
modelación se la ha realizado en PowerDesigner para web, luego se ha generado el
script de la base y se ha lo ha exportado al sql.
80
4.7.2.1 Modelo Relacional
El Modelo Relacional se esquematiza de la siguiente forma:
Figura No. 23: Modelo Relacional
Fuente: El autor
81
4.7.2.2 Diccionario de datos
Listado general de las tablas que pertenecen a la base ALLIANCE
TABLA
ATRIBUTO
TIPO DE DATO
DESCRIPCIÓN
Clave Principal, Cedula
COD_USER
VARCHAR2(200)
DESC_USER
VARCHAR2(100)
PASSWD
VARCHAR2(32)
de Identidad o RUC
Nombre del Usuario
Password o clave
Identificador de sesión
utilizado
U_ID
VARCHAR2(50)
para
identificador a un usuario
logado.
USUARIOS
M_ADMIN
VARCHAR2(10)
Perfil del usuario
Correo
DIR_EMAIL
VARCHAR2(200)
electrónico
del
usuario
Usado para asignar un rol
COD_ROL1
VARCHAR2(1000)
X al usuario
Usado para asignar un rol
COD_ROL2
VARCHAR2(1000)
X al usuario
Usado para asignar un rol
COD_ROL3
VARCHAR2(1000)
X al usuario
Usado para asignar un rol
COD_ROL4
VARCHAR2(1000)
X al usuario
Usado para asignar un rol
COD_ROL5
VARCHAR2(1000)
94
X al usuario
Fecha de último acceso al
LAST_LOGIN
DATE
sistema
Cantidad de accesos al
CANT_LOGINS
NUMBER(20)
sistema
Parámetro
WIN_COLORS
NUMBER(10)
de
configuración de colores
de ventanas
Campos
usado
para
tener
más
posibilitar
aplicaciones en la base de
VIRTUALPATH
VARCHAR2(50)
datos. Actualmente tiene
el valor ―/‖ porque solo
existe una aplicación.
Foreingkey
COD_PROVINCIA
VARCHAR2(5)
de
Provincias
CUIDADES
Identificador
COD_LOCALIDAD
VARCHAR2(5)
LOCALIDAD
VARCHAR2(30)
COT_ZONA
NUMBER
tabla
de
Localidad
Nombre de localidad
Zona de riesgo de la
VARCHAR2(1000)
NRO_PERSONA
S
DESC_PROVINCIA
O
VARCHAR2(5)
D
COD_PROVINCIA
A
R
U
F
SE
A
F_
PROVINCIAS
localidad
VARCHAR2(100)
95
Identificador de Provincia
Nombre de Provincia
Identificador
de
asegurado
NOMBRE
VARCHAR2(100)
CALLE
VARCHAR2(80)
NUMERO
VARCHAR2(22)
PISO
VARCHAR2(50)
DEPTO
VARCHAR2(10)
Nombre de asegurado
Información del domicilio
Información del domicilio
Información del domicilio
Información del domicilio
Código
COD_POSTAL
VARCHAR2(50)
COD_LOCALIDAD
VARCHAR2(50)
COD_PROV
VARCHAR2(50)
TXT_COMUNA
VARCHAR2(80)
TXT_LOCALIDAD
VARCHAR2(80)
TELEFONO_PART
VARCHAR2(60)
TELEFONO_LAB
VARCHAR2(60)
NRO_FAX
VARCHAR2(20)
CASILLA_MAIL
VARCHAR2(60)
postal
del
domicilio
Código de localidad
Código de provincia
Descripción de Provincia
Descripción de Localidad
Teléfono particular
Teléfono Laboral
Numero Fax
Cuenta del mail
Identificador del tipo de
TIPO_DOCUMENTO
VARCHAR2(30)
documento
de
identificación
Numero de documento de
NUMERO_DOCUMENTO
VARCHAR2(20)
identificación
TXT_SEXO
VARCHAR2(2)
NRO_POLIZA
OS
DATE
D
FEC_NACIMIENTO
A
VARCHAR2(30)
R
COD_COND_FISCAL
U
G
SE
_A
OS
T
U
Código
VARCHAR2(22)
96
de
condición
fiscal
Fecha de nacimiento
Sexo
Numero de póliza
MARCA
VARCHAR2(40)
MODELO
VARCHAR2(4000)
ANO_FAB
VARCHAR2(40)
TOTAL
VARCHAR2(40)
PATENTE
VARCHAR2(50)
CHASIS
VARCHAR2(50)
MOTOR
VARCHAR2(50)
TIPO_VEH
VARCHAR2(4000)
SUMA_LIMITE_RC
VARCHAR2(40)
CONDUCTOR_PROPIETA
RIO
VARCHAR2(4000)
CLASE
VARCHAR2(4000)
USO
VARCHAR2(4000)
Marca del vehículo
Modelo del vehículo
Año de fabricación
Precio del vehículo
Número de placa
Identificador de chasis
Identificador de motor
Tipo de vehículo
Importe limite que tiene
la póliza en caso de
siniestro
de
Responsabilidad Civil
Nombre del conductor
Clase de vehículo
Uso del vehículo
Números de cláusulas que
CLAUSULAS
VARCHAR2(4000)
cubre la póliza
Numero de auto dentro de
NRO_ITEM
VARCHAR2(20)
una misma póliza
Porcentaje de comisión
PJE_CA
VARCHAR2(50)
COD_ESTADO
VARCHAR2(10)
del asegurado
INF_POLIZAS
Identificador
COD_ASEGURADO
VARCHAR2(60)
NRO_POLIZA
VARCHAR2(17)
de
asegurado
Numero de pólizas
Numero de Endoso de
NRO_ENDOSO
VARCHAR2(60)
NRO_POL_RENOVO
VARCHAR2(60)
97
póliza
Nro. de póliza renovada
Identificador
COD_ASEGURADO
VARCHAR2(60)
DESC_ASEGURADO
VARCHAR2(400)
de
asegurado
Nombre del asegurado
Fecha de emisión de la
FECHA_EMISION
VARCHAR2(60)
póliza
Fecha
FECHA_VIG_DESDE
VARCHAR2(60)
de
inicio
de
vigencia de póliza
Fecha de fin de vigencia
FECHA_VIG_HASTA
VARCHAR2(60)
COD_MONEDA
VARCHAR2(60)
de póliza
Código de moneda
Importe prima neta de
IMP_PRIMA_NETA
VARCHAR2(60)
IMP_PREMIO
VARCHAR2(60)
póliza
Importe de premio
Cantidad
CANT_SINIESTROS
VARCHAR2(60)
IMP_IVA_TOTAL
VARCHAR2(60)
de
siniestros
que tiene la póliza
Importe de IVA
Cantidad de cuotas de
CANT_CUOTAS
VARCHAR2(60)
póliza
Número de tarjeta de
NRO_TARJETA
VARCHAR2(60)
crédito
Importe de derecho de
IMP_DERECHO_EMISION
VARCHAR2(60)
emisión de póliza
Importe
IMP_REC_FIN
VARCHAR2(60)
VARCHAR2(60)
98
recargo
de
recargo
financiero
Importe
IMP_REC_ADM
de
administrativo
Porcentaje de comisión
POR_COMISION_PROD
VARCHAR2(60)
del productor
Importe de comisión del
IMP_COMISION_PROD
VARCHAR2(60)
productor
Importe
IMP_PREMIO_PAGADO
VARCHAR2(60)
VARCHAR2(60)
VARCHAR2(60)
CUIT_PROD
VARCHAR2(60)
COD_PROD
VARCHAR2(60)
DESC_PROD
VARCHAR2(4000)
COD_RAMO
VARCHAR2(20)
ID_POLIZA
VARCHAR2(9)
IMP_SELLADOS
VARCHAR2(60)
VARCHAR2(60)
IMP_TOTAL
VARCHAR2(60)
VARCHAR2(60)
IMP_TASA_VIAL
VARCHAR2(60)
VARCHAR2(60)
IMP_INT
VARCHAR2(60)
IMP_DECRETO
VARCHAR2(60)
99
premio
Código de productor
Nombre del productor
Código del ramo
Identificador de la póliza
Importe de sellados
de
ingresos
brutos
Importe Total
de
servicios
sociales
Importe de Tasa vial
Importe
IMP_TASA_SUP
de
RUC de productor
Importe
IMP_SERV_SOC
premio
prendario
Importe
IMP_ING_BRUTOS
de
vencido
Importe
IMP_PREMIO_PRENDARI
O
premio
pagado
Importe
IMP_PREMIO_VENCIDO
de
de
suplementaria
Importes Internos
Importes por decreto
Tasa
ACCESORIOS
PRESUPUESTOS
PRESUPUESTO
NUMBER
DESC_ACCESORIO
VARCHAR2(3000)
Numero de presupuesto
Descripción de accesorio
Suma
SUMA
NUMBER(10,2)
asegurada
del
accesorio
Orden para mostrar al
ORDEN
NUMBER
PRESUPUESTO
NUMBER
TIPO_OPERACION
VARCHAR2(20)
FECHA
DATE
COD_PROD
VARCHAR2(10)
DESC_PROD
VARCHAR2(100)
COD_ASEGURADO
VARCHAR2(100)
DESC_ASEGURADO
VARCHAR2(100)
accesorio
Numero de presupuesto
Operación a realizar
Fecha de presupuesto
Código de productor
Descripción de productor
Código Asegurado
Descripción asegurado
PRESUPUESTO_AUTOS
Periodo por el cual se
PERIODO
VARCHAR2(15)
asegura el auto
Inicio de vigencia de
VIGENCIA_DESDE
DATE
presupuesto
Fin
VIGENCIA_HASTA
DATE
de
VARCHAR2(15)
de
presupuesto
Zona
ZONA_RIESGO
vigencia
de
(relacionado
riesgo
con
la
Localidad)
MARCA
VARCHAR2(50)
MODELO
VARCHAR2(50)
Marca de vehículo
Modelo de vehículo
Año de fabricación de
ANO_FAB
NUMBER(4)
ANTIGÜEDAD
NUMBER(2)
100
vehículo
Antigüedad del vehículo
ORIGEN_VEHICULO
VARCHAR2(15)
Origen del vehículo
Indica si el auto es Cero
CEROKM
VARCHAR2(2)
Kilómetros
Descripción de tipo de
DESC_TIPO_VEHICULO
VARCHAR2(15)
USO_VEHICULO
VARCHAR2(15)
MONEDA
VARCHAR2(15)
vehículo
Uso del vehículo
Descripción de moneda
Suma
SUMA_ASEG_VEH
NUMBER(10,2)
NUMBER(10,2)
NUMBER(10,2)
adicional
si
el
si
el
vehículo usa gas
Suma
SUMA_ASEG_AIRE
del
vehículo
Suma
SUMA_ASEG_GAS
asegurada
adicional
vehículo
tiene
aire
acondicionado
Suma
SUMA_ACCESORIOS
NUMBER(10,2)
TOTAL
NUMBER(10,2)
NUMBER(10,2)
de
accesorios
Suma asegurado total
Valor
VALOR_CLAU_AJUSTE
adicional
de
cláusula
de
ajuste por periodo
Descripción de cobertura
DESC_COBERTURA_SEL
VARCHAR2(30)
PRIMA_ANUAL
NUMBER(10,2)
IVA
NUMBER(10,2)
PREMIO_ANUAL
NUMBER(10,2)
CANT_CUOTAS
NUMBER(2)
MEDIO_PAGO
VARCHAR2(30)
IMPORTE_CUOTAS
NUMBER(10,2)
101
seleccionada
Valor de prima anual
Valor de IVA
Valor de premio anual
Cantidad de cuotas
Medio de pago
Importe por cada cuota
Porcentaje comisión de
PORC_PROD
NUMBER(10,2)
SUMA_ASEG_OTROS
NUMBER(10,2)
TARJETA
VARCHAR2(50)
productor
Suma otros accesorios
Nombre tarjeta de crédito
Número de tarjeta de
NUMERO_TARJETA
VARCHAR2(50)
PATENTE
VARCHAR2(50)
CHASIS
VARCHAR2(50)
MOTOR
VARCHAR2(50)
ESTADO
VARCHAR2(25)
NRO_SOLICITUD
NUMBER
INSPECCION
VARCHAR2(50)
ESTADO_INSPECCION
VARCHAR2(50)
ARCHIVO
VARCHAR2(200)
crédito
Número de placa
Chasis del vehículo
Motor del vehículo
Estado del presupuesto
Nro. de solicitud
Código de inspección
Estado de inspección
PDF de presupuesto
PDF de constancia de
ARCHIVO_CONST_COB
VARCHAR2(200)
cobertura
Importe
REC_ADMIN
NUMBER(10,2)
NUMBER(10,2)
Recargo
administrativo
Importe
REC_FINAN
de
de
Recargo
financiero
Importe de Derecho de
DER_EMISION
NUMBER(10,2)
SELLADOS
NUMBER(10,2)
emisión
Importe de Sellados
Importe
IMP_INTERNOS
NUMBER(10,2)
NUMBER(10,2)
102
Impuestos
de
Tasas
Internos
Importe
TASA_SSN
de
superintendencia
de
de
seguros
Importe
SERV_SOCIALES
NUMBER(10,2)
FECHA_SOLICITUD
DATE
COD_PROVINCIA
VARCHAR2(100)
REFACTURACION
NUMBER
de
Servicios
sociales
Fecha de solicitud
Provincia
Periodo de refacturación
Tipo de documento de
TIPO_DOCUMENTO
VARCHAR2(20)
identificación
Numero de documento de
NRO_DOCUMENTO
VARCHAR2(20)
DOMICILIO_SOLICITUD
VARCHAR2(1000)
CUIDAD_SOLICITUD
VARCHAR2(50)
PROVINCIA_SOLICITUD
VARCHAR2(50)
TELEFONO
NUMBER(30)
TELEFONO_MOVIL
NUMBER(30)
MAIL
VARCHAR2(40)
SEG_VIAL
NUMBER(10,2)
identificación
Domicilio de solicitud
Ciudad de solicitud
Provincia de solicitud
Teléfono
Teléfono celular
Correo electrónico
Importe seguro vial
Importe
PRIMA_RC
NUMBER(10,2)
TASA_CASCOS
NUMBER(10,2)
PLAN
VARCHAR2(200)
prima
Responsabilidad Civil
Importe tasa de cascos
Plan del productor
Importe
PRIMA_RC_NETA
NUMBER(10,2)
de
prima
Responsabilidad
Civil
neta
Importe
PRIMA_CASCO_NETA
NUMBER(10,2)
103
Neta
prima
Cascos
Describe si es persona
PERSONERIA_JURIDICA
VARCHAR2(4)
PRIMA_CASCO_AJUSTE
NUMBER(10,2)
ARCHIVO_SOLICITUD
VARCHAR2(200)
ZONA
NUMBER
COD_LOCALIDAD
VARCHAR2(100)
Tabla 21: Diccionario de Datos
Fuente: El Autor
Script de Base de Datos
- Createtable
createtable ALLIANCE.INFO_AUTOS_ASEGURADOS
(
NRO_POLIZA
MARCA
VARCHAR2(22) notnull,
VARCHAR2(40),
MODELO
VARCHAR2(4000),
ANO_FAB
VARCHAR2(40),
TOTAL
PATENTE
CHASIS
MOTOR
TIPO_VEH
VARCHAR2(40),
VARCHAR2(50),
VARCHAR2(50),
VARCHAR2(50),
VARCHAR2(4000),
SUMA_LIMITE_RC
VARCHAR2(40),
CONDUCTOR_PROPIETARIO VARCHAR2(4000),
CLASE
USO
CLAUSULAS
NRO_ITEM
PJE_CA
COD_ESTADO
VARCHAR2(4000),
VARCHAR2(4000),
VARCHAR2(4000),
VARCHAR2(20) not null,
VARCHAR2(50),
VARCHAR2(10),
104
jurídica
Importe prima Cascos
PDF de solicitud
Zona de riesgo
Localidad
COD_ASEGURADO
VARCHAR2(60)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table ALLIANCE.INFO_AUTOS_ASEGURADOS
add constraint PK_SEG_AUTOS primary key (NRO_POLIZA, NRO_ITEM)
using index
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
altertable ALLIANCE.INFO_AUTOS_ASEGURADOS
add constraint FK_ASEG foreign key (COD_ASEGURADO)
references ALLIANCE.INFO_ASEGURADOS (NRO_PERSONA);
-- Create table
create table ALLIANCE.INFO_POLIZAS
(
NRO_POLIZA
NRO_ENDOSO
VARCHAR2(17) notnull,
VARCHAR2(60),
105
NRO_POL_RENOVO
VARCHAR2(60),
COD_ASEGURADO
VARCHAR2(60),
DESC_ASEGURADO
VARCHAR2(400),
FECHA_EMISION
DATE,
FECHA_VIG_DESDE
DATE,
FECHA_VIG_HASTA
DATE,
COD_MONEDA
VARCHAR2(60),
IMP_PRIMA_NETA
IMP_PREMIO
VARCHAR2(60),
VARCHAR2(60),
CANT_SINIESTROS
VARCHAR2(60),
IMP_IVA_TOTAL
VARCHAR2(60),
CANT_CUOTAS
VARCHAR2(60),
NRO_TARJETA
VARCHAR2(60),
IMP_DERECHO_EMISION VARCHAR2(60),
IMP_REC_FIN
VARCHAR2(60),
IMP_REC_ADM
VARCHAR2(60),
POR_COMISION_PROD
VARCHAR2(60),
IMP_COMISION_PROD
VARCHAR2(60),
IMP_PREMIO_PAGADO
VARCHAR2(60),
IMP_PREMIO_VENCIDO VARCHAR2(60),
IMP_PREMIO_PRENDARIO VARCHAR2(60),
CUIT_PROD
VARCHAR2(60),
COD_PROD
VARCHAR2(60),
DESC_PROD
VARCHAR2(4000),
COD_RAMO
VARCHAR2(20),
ID_POLIZA
VARCHAR2(9),
IMP_SELLADOS
VARCHAR2(60),
IMP_ING_BRUTOS
IMP_TOTAL
VARCHAR2(60),
VARCHAR2(60),
IMP_SERV_SOC
VARCHAR2(60),
IMP_TASA_VIAL
VARCHAR2(60),
IMP_TASA_SUP
IMP_INT
VARCHAR2(60),
VARCHAR2(60),
IMP_DECRETO
VARCHAR2(60)
)
tablespace SYSTEM
pctfree 10
106
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table ALLIANCE.INFO_POLIZAS
add constraint PK_INFO_POLIZAS primary key (NRO_POLIZA)
using index
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
alter table ALLIANCE.INFO_POLIZAS
addconstraint FK_ASEGURADOS foreignkey (COD_ASEGURADO)
references ALLIANCE.INFO_ASEGURADOS (NRO_PERSONA)
-- Create table
create table ALLIANCE.TARIFA_CASCOS
(
ZONA
NUMBER,
TIPO_VEHICULO NUMBER,
COBERTURA
NUMBER,
ANTIGUEDAD
NUMBER,
107
PLAN
NUMBER,
PRIMA_RC_BRUTA NUMBER(10,2),
ORIGEN
VARCHAR2(40),
FECHA_VIG_DESDE DATE
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
-- Create table
create table ALLIANCE.PLANES_PAGO
(
COD_RUBRO
VARCHAR2(5) not null,
COD_PRODUCTO
COD_PLAN
DESC_PLAN
CANT_CUOTAS
VARCHAR2(5) not null,
VARCHAR2(5) not null,
VARCHAR2(40),
NUMBER(2),
PORC_PRIMERA_CUOTA
PORC_RECARGO
NUMBER(10,2),
NUMBER(10,2),
TIPO_VTO_PRIMERA_CUOTA VARCHAR2(1),
REFACTURACION
PLAN_PAGO
4.8
VARCHAR2(10),
VARCHAR2(100) default '_DEFAULT_'
DESARROLLO.
108
En esta sección exponemos parte de la programación de las páginas dinámicas que
contiene la aplicación:
Formulario de acceso a la aplicación.
Figura No. 23: Ingreso a la Aplicación
Fuente: El Autor
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Seguros Alliance</title>
<link href="login-box.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div style="padding: 100px 0 0 250px;">
<div id="login-box">
<H2>Seguros Alliance</H2>
Ingrese usuario y contraseña.
<br />
<br />
<div id="login-box-name" style="margin-top:20px;">
109
<form action="/alliance/ALLIANCE/inicio.usuario_conectado" method="post">
Usuario:</div><div id="login-box-field" style="margin-top:20px;"><input name="uname"
class="form-login" title="Username" value="" size="30" maxlength="2048" /></div>
<div id="login-box-name">Password:</div><div id="login-box-field"><input name="upass"
type="password" class="form-login" title="Password" value="" size="30" maxlength="2048"
/>
<br />
<br />
<br />
<br />
<input type="submit" value="Enviar" src="visual/img/login-btn.png" class="form-login" />
</form>
</div>
<br />
<br /><br /></div></div></body>
</html>
Formulario de error
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Seguros Alliance</title>
<link href="login-box.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div style="padding: 100px 0 0 250px;">
<div id="login-box">
<H2>Seguros Alliance</H2>
Usuario o contraseña incorrecta. <br />Intente de nuevo por favor.
<br />
<br />
<div id="login-box-name" style="margin-top:20px;">
<form action="/alliance/ALLIANCE/inicio.usuario_conectado" method="post">
110
Usuario:</div><div id="login-box-field" style="margin-top:20px;"><input name="uname"
class="form-login" title="Username" value="" size="30" maxlength="2048" /></div>
<div id="login-box-name">Password:</div><div id="login-box-field"><input name="upass"
type="password" class="form-login" title="Password" value="" size="30" maxlength="2048"
/>
<br />
<br />
<br />
<br />
<input type="submit" value="Enviar" src="visual/img/login-btn.png" class="form-login" />
</form>
</div>
<br />
<br />
<br />
</d-
Ingreso de datos de cotización
Figura No. 24: Ingreso Datos Cotización
111
Fuente: El Autor
CREATE OR REPLACE PACKAGE BODY INGRESO_DATOS IS
PROCEDURE VACIO_GLOBALES_USUARIOS IS
BEGIN
GLOBALES.SET_VALOR(P_NOMBRE => 'USUARIOS_NOMBRE',P_VALOR => '');
GLOBALES.SET_VALOR(P_NOMBRE => 'USUARIOS_COD_USUARIO',P_VALOR
=> '');
END;
PROCEDURE CAMBIAR_PANTALLA(P_MENSAJE VARCHAR2,
P_URL
VARCHAR2
DEFAULT
'INGRESO_DATOS.USUARIOS?P_NUEVO=SI') IS
BEGIN
INICIO.REFRESCAR;
DIBUJAR_FORMULARIOS.HEADER(PTITLE
=>
P_MENSAJE||'...',
JSCRIPT
=>
'Formulario');
HTP.TABLEOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_OPEN ||' cellpadding="0" cellspacing="0"');
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
DIBUJAR_FORMULARIOS.TABLEDATA('Espere unos instantes por favor...',
DIBUJAR_FORMULARIOS.TAB_GROUP_ALIGN,
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE || ' colspan="8"');
HTP.TABLEROWCLOSE;
HTP.TABLECLOSE;
DIBUJAR_FORMULARIOS.BOARDCLOSE;
HTP.P('<META HTTP-EQUIV="REFRESH" CONTENT="3; URL='||P_URL||'">');
END;
PROCEDURE VALIDACION_USUARIO(P_NOMBRE
P_USUARIO
P_CLAVE
PROCESAR
VARCHAR2 DEFAULT NULL,
VARCHAR2 DEFAULT NULL,
VARCHAR2 DEFAULT NULL,
VARCHAR2 DEFAULT NULL,
P_ROL
VARCHAR2 DEFAULT NULL) IS
V_FACULTADES VARCHAR2(4000);
V_FACULTADES_COD VARCHAR2(4000);
V_CARRERRAS VARCHAR2(4000);
112
V_CARRERRAS_COD VARCHAR2(4000);
V_MATERIAS VARCHAR2(4000);
V_MATERIAS_COD VARCHAR2(4000);
AUX
VARCHAR2(5);
BEGIN
GLOBALES.SET_VALOR(P_NOMBRE => 'USUARIOS_NOMBRE',P_VALOR
=>
P_NOMBRE);
GLOBALES.SET_VALOR(P_NOMBRE => 'USUARIOS_COD_USUARIO',P_VALOR
=> P_USUARIO);
IF (P_NOMBRE IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
campo
Nombre");
campo
Usuario");
location.href=''INGRESO_DATOS.USUARIOS''; </script>');
return;
END IF;
IF (P_USUARIO IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
location.href=''INGRESO_DATOS.USUARIOS''; </script>');
return;
END IF;
IF (P_CLAVE IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
campo
Clave");
location.href=''INGRESO_DATOS.USUARIOS''; </script>');
return;
END IF;
BEGIN
INSERT INTO USUARIOS
VALUES (UPPER(P_USUARIO), P_NOMBRE, uPPER(P_CLAVE),'','TECNICO','-',
DECODE(P_ROL,NULL,'','TECNICO'),'','','','',SYSDATE,'','1021','/');
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
HTP.P('<script>alert("El
Código
de
usuario
location.href=''INGRESO_DATOS.USUARIOS''; </script>');
return;
END;
113
Ya
Existe");
COMMIT;
CAMBIAR_PANTALLA('Guardando');
END;
PROCEDURE USUARIOS(P_NUEVO
HLINK
I
IN VARCHAR2 DEFAULT NULL) IS
OWA_UTIL.IDENT_ARR;
NUMBER := 0;
CODIGO
NUMBER:=0;
BEGIN
INICIO.REFRESCAR;
IF P_NUEVO IS NOT NULL THEN
VACIO_GLOBALES_USUARIOS;
END IF;
DIBUJAR_FORMULARIOS.HEADER(PTITLE => 'Creación de Usuarios', Base_Target =>
'INVISIBLE',
LINK => HLINK, JSCRIPT => 'Formulario', PSUBTITLE => ' ');
DIBUJAR_FORMULARIOS.DIV_SET('INGRESO_DATOS.VALIDACION_USUARIO',
onsubmit => 'SubmitForm();', target => '_self', METHOD => 'get');
DIBUJAR_FORMULARIOS.BOARDOPEN;
HTP.TABLEOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_OPEN ||' cellpadding="0" cellspacing="0"');
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
DIBUJAR_FORMULARIOS.TABLEDATA('Datos
de
Usuario',
DIBUJAR_FORMULARIOS.TAB_GROUP_ALIGN,
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE || ' colspan="6"');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="2">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_NOMBRE',
SOLO_FRM => FALSE,
114
'Nombre',
'VARCHAR2',
'25',
EN_NUEVA_ROW
=>
TRUE,
VALOR_DEFAULT
=>
GLOBALES.VALOR(P_NOMBRE => 'USUARIOS_NOMBRE'), VALIDACIONJS =>
'NOTNULL',
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS);
HTP.P('</TD>');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="2">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_USUARIO',
'Usuario',
'VARCHAR2',
'25',
SOLO_FRM => FALSE,
EN_NUEVA_ROW
=>
TRUE,
VALOR_DEFAULT
=>
GLOBALES.VALOR(P_NOMBRE => 'USUARIOS_COD_USUARIO'), VALIDACIONJS
=> 'NOTNULL',
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS);
HTP.P('</TD>');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="2">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_CLAVE',
'Clave',
'VARCHAR2',
'25',
SOLO_FRM => FALSE,
EN_NUEVA_ROW => TRUE, VALOR_DEFAULT => '', VALIDACIONJS =>
'NOTNULL',
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS);
HTP.P('</TD>');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
DIBUJAR_FORMULARIOS.TABLEDATA('Rol
de
Usuario',
DIBUJAR_FORMULARIOS.TAB_GROUP_ALIGN,
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE || ' colspan="6"');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="2">');
DIBUJAR_FORMULARIOS.DIV_CHK('P_ROL', DESCRIPCION => 'Administrador',
SOLO_FRM => FALSE, EN_NUEVA_ROW => FALSE);
HTP.P('</TD>');
115
HTP.TABLEROWCLOSE;
HTP.TABLECLOSE;
DIBUJAR_FORMULARIOS.DIV_BUT('procesar',
'Formulario',
'CONTINUAR',
SOLO_FRM => TRUE);
DIBUJAR_FORMULARIOS.BOARDCLOSE;
EXCEPTION
WHEN OTHERS THEN
HTP.P(SQLERRM);
END USUARIOS;
PROCEDURE VACIO_GLOBALES IS
BEGIN
GLOBALES.set_valor('SEDES_P_COD_PROVINCIA' , '');
GLOBALES.set_valor('SEDES_P_COD_LOCALIDAD' , '');
GLOBALES.set_valor('SEDES_P_DIRECCION' , '');
GLOBALES.set_valor('SEDES_P_TELEFONO' , '');
END;
PROCEDURE CARGO_GLOBALES(P_ROWID IN VARCHAR2 DEFAULT NULL) IS
W_PROVINCIA
W_CIUDAD
VARCHAR2(100);
VARCHAR2(100);
W_DIRECCION
VARCHAR2(100);
W_TELEFONO
VARCHAR2(100);
BEGIN
SELECT PROVINCIA, CIUDAD, DIRECCION, TELEFONO
INTO W_PROVINCIA, W_CIUDAD, W_DIRECCION, W_TELEFONO
FROM SEDES WHERE ROWID = P_ROWID;
GLOBALES.set_valor('SEDES_P_COD_PROVINCIA' , W_PROVINCIA);
GLOBALES.set_valor('SEDES_P_COD_LOCALIDAD' , W_CIUDAD);
GLOBALES.set_valor('SEDES_P_DIRECCION' , W_DIRECCION);
GLOBALES.set_valor('SEDES_P_TELEFONO' , W_TELEFONO);
END;
PROCEDURE VALIDACION_SEDE(P_USUARIO IN VARCHAR2 DEFAULT NULL,
P_FEC_PRESUP IN VARCHAR2 DEFAULT NULL,
P_COD_PROVINCIA IN VARCHAR2 DEFAULT NULL,
P_COD_LOCALIDAD IN VARCHAR2 DEFAULT NULL,
P_DIRECCION IN VARCHAR2 DEFAULT NULL,
116
P_TELEFONO IN VARCHAR2 DEFAULT NULL,
procesar IN VARCHAR2 DEFAULT NULL,
P_ROWID IN VARCHAR2 DEFAULT NULL) IS
V_COD VARCHAR2(5);
BEGIN
GLOBALES.SET_VALOR('SEDES_P_COD_PROVINCIA' , P_COD_PROVINCIA);
GLOBALES.SET_VALOR('SEDES_P_COD_LOCALIDAD' , P_COD_LOCALIDAD);
GLOBALES.SET_VALOR('SEDES_P_DIRECCION' , P_DIRECCION);
GLOBALES.SET_VALOR('SEDES_P_TELEFONO' , P_TELEFONO);
IF (P_COD_PROVINCIA IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
campo
Provincia");
location.href=''INGRESO_DATOS.SEDES''; </script>');
return;
END IF;
IF (P_COD_LOCALIDAD IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
campo
Ciudad");
location.href=''INGRESO_DATOS.SEDES''; </script>');
return;
END IF;
IF (P_DIRECCION IS NULL) THEN
HTP.P('<script>alert("No
se
ingresó
el
campo
Dirección");
location.href=''INGRESO_DATOS.SEDES''; </script>');
return;
END IF;
IF P_ROWID IS NULL THEN
SELECT NVL(MAX(CODIGO),1)
INTO V_COD
FROM SEDES;
INSERT INTO SEDES
VALUES
(V_COD+1,P_COD_PROVINCIA,P_COD_LOCALIDAD,P_DIRECCION,P_TELEFONO,I
NICIO.GET_CURR_USER_DESC,SYSDATE);
COMMIT;
CAMBIAR_PANTALLA('Guardando','LISTADOS.SEDES');
117
ELSE
UPDATE SEDES
SET PROVINCIA = P_COD_PROVINCIA,
CIUDAD = P_COD_LOCALIDAD,
DIRECCION = P_DIRECCION,
TELEFONO = P_TELEFONO
WHERE ROWID = P_ROWID;
COMMIT;
CAMBIAR_PANTALLA('Actualizando','LISTADOS.SEDES');
END IF;
END;
PROCEDURE SEDES(P_NUEVO
P_COD_PROVINCIA
P_COD_LOCALIDAD
P_DIRECCION
P_TELEFONO
P_ROWID
W_ROWID
CANTIDAD
IN VARCHAR2 DEFAULT NULL,
IN VARCHAR2 DEFAULT NULL,
IN VARCHAR2 DEFAULT NULL,
IN VARCHAR2 DEFAULT NULL,
IN VARCHAR2 DEFAULT NULL) IS
VARCHAR2(100);
W_NEXTVAL
HLINK
IN VARCHAR2 DEFAULT NULL,
PRESUPUESTOS_AUTOS.PRESUPUESTO%TYPE;
OWA_UTIL.IDENT_ARR;
NUMBER;
BEGIN
INICIO.REFRESCAR;
IF INICIO.GET_CURR_USER_ID IS NULL THEN
HTP.P('ERROR: Ud no está conectado al Sistema. <BR><BR>Por favor Desconectarse y
volver a conectarse');
return;
END IF;
IF P_ROWID IS NOT NULL THEN
W_ROWID := VALIDACION.hex2STRING(P_ROWID);
118
DIBUJAR_FORMULARIOS.HEADER(PTITLE => 'Modificación de Sedes ', jscript
=> 'Formulario',
BASE_TARGET => 'INVISIBLE', pSubTitle => ' ', LINK => HLINK);
CARGO_GLOBALES(P_ROWID => W_ROWID);
ELSE
IF P_NUEVO = 'SI' THEN
VACIO_GLOBALES;
GLOBALES.SET_VALOR(P_NOMBRE => 'COTIZADOR_P_CODIGO', P_VALOR
=>w_nextval);
END IF;
HLINK(1) := HTF.ANCHOR2('LISTADOS.SEDES',
'<IMG src="' || DIBUJAR_FORMULARIOS.TAB_IMGDIR ||'lg_genera_txt.gif" border="0"
align="absmiddle" title="Listado de Sedes">',
CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_LTIT
||'
onmouseover="self.status=''' ||
VALIDACION.JSENCODE('Listado de Sedes') ||''';returntrue;"',CTARGET
=> '_self');
DIBUJAR_FORMULARIOS.HEADER(PTITLE => 'NUEVA SEDE', Base_Target =>
'INVISIBLE',
LINK => HLINK, JSCRIPT => 'Formulario', PSUBTITLE => ' ');
END IF;
DIBUJAR_FORMULARIOS.DIV_SET('INGRESO_DATOS.VALIDACION_SEDE',
onsubmit => 'SubmitForm();',
target => '_self', METHOD => 'post');
DIBUJAR_FORMULARIOS.BOARDOPEN;
HTP.TABLEOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_OPEN ||' cellpadding="0" cellspacing="0"');
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
DIBUJAR_FORMULARIOS.TABLEDATA('Datos
del
Perfil',
DIBUJAR_FORMULARIOS.TAB_GROUP_ALIGN,
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE || ' colspan="6"');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
119
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="3">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_USUARIO',
'Usuario',
'VARCHAR2',
'30',
SOLO_FRM => FALSE,
EN_NUEVA_ROW => TRUE, VALOR_DEFAULT => INICIO.GET_CURR_USER_DESC,
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS || '
readonly ');
HTP.P('</TD>');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="3">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_FEC_PRESUP', 'Fecha', 'VARCHAR2', '15',
SOLO_FRM => FALSE,
EN_NUEVA_ROW => TRUE, VALOR_DEFAULT => TO_CHAR(SYSDATE,
'DD/MM/YYYY'),
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS || '
readonly ');
HTP.P('</TD>');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
DIBUJAR_FORMULARIOS.TABLEDATA('Ubicación',
DIBUJAR_FORMULARIOS.TAB_GROUP_ALIGN,
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE || ' colspan="6"');
HTP.TABLEROWCLOSE;
HTP.TABLEROWOPEN(CATTRIBUTES
=>
DIBUJAR_FORMULARIOS.TAB_GROUP_TITLE_ROW);
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="1">');
DIBUJAR_FORMULARIOS.DIV_WIN('*', 'P_COD_PROVINCIA', DESCRIPCION =>
'Provincia', TABLA => 'provincias',
CODIGO
=>
'DESC_PROVINCIA',
RCODIGO
=>
'DESC_PROVINCIA',
SOLO_FRM => FALSE,
EN_NUEVA_ROW
=>
TRUE,
VALOR_DEFAULT
GLOBALES.VALOR(P_NOMBRE => 'SEDES_P_COD_PROVINCIA'),
120
=>
DATASIZE
=>
'25',
ATRIBUTOS
DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
=>
VALIDACIONJS
=>
'NOTNULL',
ATRIBUTOS_CAMPO
=>
DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS|| ' readonly ');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="1">');
DIBUJAR_FORMULARIOS.DIV_win('*',
'P_COD_LOCALIDAD',
'Ciudad',
'V_LOC_PROV', 'LOCALIDAD', 'LOCALIDAD',
SOLO_FRM => FALSE, EN_NUEVA_ROW => TRUE, CONDICION =>
'upper(DESC_PROVINCIA) = upper(''*NCOD_PROVINCIA*'') ',
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS|| '
readonly ',
VALOR_DEFAULT
=>
GLOBALES.VALOR(P_NOMBRE
=>
'SEDES_P_COD_LOCALIDAD'), VALIDACIONJS => 'NOTNULL',
datasize => '25', order_by => ' 1 desc ');
HTP.P('</TD>');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="2">');
DIBUJAR_FORMULARIOS.DIV_FLD('P_DIRECCION', 'Dirección', 'VARCHAR2', '80',
SOLO_FRM => FALSE, VALIDACIONJS => 'NOTNULL',
EN_NUEVA_ROW
=>
TRUE,
VALOR_DEFAULT
=>
GLOBALES.VALOR(P_NOMBRE => 'SEDES_P_DIRECCION'),
ATRIBUTOS => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_TITULO,
ATRIBUTOS_CAMPO => DIBUJAR_FORMULARIOS.TAB_FORM_CAMPO_DATOS);
HTP.P('</TD>');
HTP.P('<TD ' || DIBUJAR_FORMULARIOS.TAB_GROUP_DATA || ' colspan="1">');
4.9
PRUEBAS.
Las pruebas realizadas en el desarrollo de software son las normalmente conocidas
como:
121
De caja negra:Esta prueba se aplicó a los requisitos funcionales de laaplicación,
permitiendo a obtener un conjunto de condiciones de entrada que ejercitaron a la
comprobación de los resultados. En esta prueba se ingresaron datos en cada uno de
los formularios que poseen los módulos de la aplicación y de los resultados obtenidos
se verifico que estén correctos, esto significa que no verificamos la forma de los
procesos sino solamente que estos arrojen resultados exactos.
De caja blanca: En cambio esta prueba se direccionó la comprobación de
las
funciones internas de la aplicación, esta forma de verificación permitió seguir la
secuencia de los procesos para verificar la forma óptima de aplicar las denominadas
reglas del negocio.
4.10. IMPLEMENTACION
La puesta en marcha
de la aplicación web es bastante sencilla, primeramente
señalaremos los requerimientos de hardware:

Equipo Servidor Mínimo: Intel Core I5, velocidad 3.2 Ghz. Ram de 4 gigas,
Disco Duro de 750 GB, Sistema operativo Windows Xp o 7

Equipo Cliente: IntelcoreDuo, 1.2 Ghz, 2 G de Ram, HD de 500GB, Sistema
operativo cualquiera.
Los requerimientos de software para su funcionamiento son:
122

Base de datos. Oracle 10 g Express Edition

Servidor web: Apache

PL/SqlDeveloper versión 11
Para el proceso de instalación se recomienda los siguientes pasos:

Instalación del Oracle (anexo 3)

Instalación del Pl/sqldeveloper

Instalación del servidor web Apache

Restauración de la base de datos Alliance

Subida a Internet puede hacerse mediante servicio FTP

Si se contratan unhosting se deberá ratificar que disponga del servicio de la
base de datos Oracle.
4.11. SEGURIDADES.
Las seguridades de la aplicación están dadas por diversos aspectos, primeramente
señalaremos que el acceso a la base de datos es uno de los mas seguros dadas las
características de Oracle. Es por demás conocida la seguridad que brinda este motor de
base de datos aunque sea en la modalidad express pero su seguridad en cuanto al
acceso tiene niveles elevados.
Por otro lado en los frontend respectivos existe un control en cuanto al tipo de datos
que se ingresa, también se ha evitado el ingreso de código sql malicioso. Existen
niveles de usuarios, lo que permite que existan ciertas restricciones para determinados
usuarios, con ello se aumenta los niveles de seguridad al interior de la aplicación.
123
Niveles y privilegios:Existen dos niveles de usuarios, tenemos el administrador y los
usuarios normales, estos últimos solo tienen acceso a ciertas opciones del sistemas,
esto significa que no tienen un acceso total al sistemas como es el caso del
administrador.
4.12.IMPACTO DE LA PROPUESTA
El impacto de la propuesta puede ser analizado desde dos puntos de vista diferente, así
tenemos:
En el ámbito comercial es muy positivo ya que se optimiza las cotizaciones y los
presupuestos, se aceleran dando la posibilidad de variar las opciones u ofertas de
aseguramiento según el caso de cada cliente.
En el aspecto organizacional permite una mayor flexibilidad a nivel interno para que
incluso el personal administrativo se convierta en un posible vendedor que trabaje a
nivel interno.
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
Las conclusiones de esta propuesta pueden resumirse en lo siguiente:

La utilización de las aplicaciones web han demostrado ser una opción variable y
con resultados tangibles, pues los beneficios y características que ofrece esta
124
herramienta se acoplan correctamente a las necesidades de las empresas y es este
caso en las pólizas de seguros de vehículos.

PL/Sql es un lenguaje versátil en el desarrollo de aplicaciones web de uso
profesional.

El apache es un servidor web de amplia difusión y que trabaja no solo con Mysql
sino también con Oracle.

La aplicación web se constituye en un aporte importante en la gestión de polizas
que lleva adelante la empresa de seguros Alliance S.A.

El uso del PL/SQL Developerha demostrado que es una herramienta bastante
poderosa para el desarrollo de aplicaciones web dinámicas, aunque no es muy
difundido en el campo eduacativo debido a la complejidad de su instalación y
utilización.
RECOMENDACIONES

Respaldar la base de datos continuamente para evitar la perdida de la información.

Capacitar al personal sobre el uso de la aplicación web diseñado para la generación
de pólizas de la aseguradora Alliance S.A.

Capacitar a los usuarios sobre las normativas que rigen a los seguros en el Ecuador
para facilirar el manejo de la aplicación web.
125
BIBLIOGRAFÍA
ABBEY Michael, (2002). ―Oracle 9i Guia de Aprendizaje‖, McGraw-Hill
AGOSTINA,
―Seguros‖,
http://www.monografias.com/trabajos5/segu/segu.shtml,
2008
COREY Michael, ―Puesta a punto de Oracle‖, Editorial Agapea, Madrid-Españá,
2009
DOMÍNGUEZ
Pedro,
―Introducción
a
la
gestión
empresarial‖,
/www.monografias.com/trabajos53/libro-gestion-empresarial/libro-gestionempresarial.html, 2007
FERRER Juan, ―Aplicaciones web‖, Prentice-Hall, Barcelona-España, 2009
FUNDACIÓN
Proydesa,
―PL/SQL
Oracle
database‖,
www.slideshare.net/proydesa/presentacion-plsql, 2008
HERTUEL Oliver, ―Oracle 11g
Administración‖, Editorial Agapea, Madrid-
España, 2009
PAVÓN Jacobo, ―Creación de portales web con Php y MySql‖, Editorial Agapea,
Madrid-España, 2009
PEREZ César, ―Oracle 11g, curso práctico‖, McGraw-Hill, Mexico-México, 2009
PÉREZ Gabriel (2004). ―Estructuras de Oracle‖, www.cursopolis.com
QUERO Katalina, ―Mantenimiento de portales de la información‖, Editorial
Agapea, Madrid-España, 2009
THOMPSON Lara, ―Desarrollo Web con PHP y MySql‖, Editorial Agapea, MadridEspaña, 2009.
126
ANEXO 1
Cuestionario para los clientes internos (Personal administrativo y vendedores).
Pregunta No 1. ¿Las reglas de seguros son las mismas en España y en el Ecuador?
Si…….
No……..
Pregunta No 2. ¿El cálculo y emisión de las pólizas es ?
Manual…….
Semi automático……..
Automático…..
Pregunta No 3 ¿Existen demoras y errores de cálculo durante la emisión de una
póliza?
Si…….
No……….
A veces………..
Pregunta No 4 ¿Los clientes se sienten ya asegurados luego de contratar la póliza
aunque esta no ha sido emitida?
Si…..
No……
Pregunta 5 ¿Cree usted que la Empresa necesita obligatoriamente un portal web donde
existan opciones para calculo y consulta de pólizas?
Si…..
No……
Pregunta No 6. ¿Considera usted que con la implementación de un portal web se podrá
mejorar la gestión de pólizas en la empresa?
Si…………..
No…………..
127
Cuestionario para los clientes externos de la empresa
Pregunta No 1. ¿Cree usted que la emisión de pólizas es demorada?
Si……….
No………
Pregunta No 2 ¿Considera usted que durante la emisión de pólizas se pueden producir
errores de cálculo muy frecuentemente?
Si………
No…..
Pregunta No 3. ¿La emisión posterior a la adquisición de la póliza le provoca en usted
cierta inseguridad?
Si………
No……..
Pregunta No 4 ¿Le gustaría a usted poder consultar vía Internet su póliza y la
posibilidad de renovación anticipadamente?
Si…….
No………
Pregunta No 5 ¿Considera usted necesario para la empresa la implementación de un
portal web donde haya la posibilidad de generar y consultar automáticamente las
pólizas de seguros que emite la empresa?
Si……..
No……..
Pregunta 6. ¿Cree usted que con la implementación de un portal web se mejorará la
gestión de la empresa relacionada con las pólizas de seguros?
Si……..
No……..
128
ANEXO 2
MANUAL DEL USUARIO.
La pantalla de carga inicial del portal
Aquí se encuentra información general de la empresa y las opciones principales del
sitio web.
129
La opción de servicios muestra información general sobre los servicios que brinda la
empresa en cuanto a seguros, hay que reconocer que la empresase especializa en el
aseguramiento de vehículos
130
Pantalla de ingreso a la aplicación que es el aspecto mas importante del portal
Se debe ingresar el nombre del usuario y la clave asignada para el ingreso, no se
admiten espacios en blanco ni caracteres especiales.
131
Este es el menú principal de la aplicación para las cotizaciones de los seguros
Descripción de algunas opciones del menú
132
Aquí tenemos la parte del cotizador para la valoración del seguro automotriz según el
tipo de carro y sus características técnicas
Se deben elegir las opciones según las características del automotor
133
La aplicación da la posibilidad de actualizar los datos de la cotización
También se puede emitir un listado general de las solicitudes de cotización, esto
también sirve como informe para el aspecto financiero
134
El manejo de los usuarios es un aspecto importante dentro de la aplicación, el
administrador es quién puede crear y administrar dichos usuarios, también se les puede
asignar los privilegios según el tipo de usuario que sea
135
136
ANEXO 3
Instalación Oracle 11g en Microsoft Windows 7
Pulsaremos con el botón derecho del ratón sobre "setup.exe" y seleccionaremos
"Ejecutar como administrador" en el menú emergente:
Si tenemos activo UAC (UserAccount Control) Windows 7 nos pedirá confirmación
para ejecutar el programa de instalación de Oracle Database, pulsaremos "Sí":
Existen dos métodos de instalación:

Instalación Básica: seleccionaremos este método de instalación si deseamos
instalar rápidamente Oracle Database 11g. Este método necesita una mínima
137
intervención del usuario. Seleccionando este método también se puede
especificar si se desea crear una base de datos de uso general con el esquema
SAMPLE y el tablespace EXAMPLE.

Instalación Avanzada: este método de instalación sirve para cualquiera de las
siguientes tareas:
o
Realizar una instalación personalizada del software o seleccionar una
configuración diferente de la base de datos.
o
Instalar o actualizar Oracle Real ApplicationClusters.
o
Actualizar una base de datos existente.
o
Seleccionar un juego de caracteres de la base de datos o idiomas de
producto diferentes.
o
Crear una base de datos en un sistema de archivos que sea distinto del
sistema en el que se copia el software.
o
Configurar Gestión Automática de Almacenamiento.
o
Especificar contraseñas diferentes para esquemas administrativos.
o
Configurar copias de seguridad automáticas o notificaciones de Oracle
Enterprise Manager.
En nuestro caso marcaremos la opción "Instalación Avanzada" y pulsaremos
"Siguiente":
138
Existen cuatro tipos de instalación de Oracle Database 11g Release 1:

Enterprise Edition: este tipo de instalación está diseñado para aplicaciones a
nivel de empresa. Está diseñado para el Procesamiento de Transacciones en
Línea (OLTP) de alta seguridad y de importancia crítica y para entornos de
almacenes de datos. Este tipo de instalación instala todas las opciones de
Enterprise Edition con licencias independientes.

Standard Edition: este tipo de instalación está diseñado para aplicaciones a
nivel de departamento o grupo de trabajo y para pequeñas y medianas
empresas. Está diseñado para proporcionar las opciones y servicios de gestión
de bases de datos relacionales esenciales.

Personal Edition: este tipo de instalación instala el mismo software que el tipo
de instalación EnteripriseEdition, con excepción de los paquetes de gestión.
Sin embargo, soporta un entorno de desarrollo y despliegue monousuario que
debe ser totalmente compatible con Enterprise Edition y Standard Edition.
Oracle Real ApplicationClusters (RAC) no se instala con Personal Edition.
139

Personalizada: este tipo de instalación permite seleccionar los componentes
que desea instalar de la lista de todos los componentes disponibles o instalar
opciones de producto adicionales en una instalación existente. Para instalar
determinados productos u opciones, como Oracle Label Security u Oracle
OLAP, debe seleccionar este tipo de instalación.
En nuestro caso seleccionaremos "Enterprise Edition (2.81GB)" y pulsaremos
"Siguiente":
A continuación especificaremos en "Directorio Base de Oracle" la ubicación en la
que deseemos almacenar todos los archivos de software de Oracle y relacionados con
la configuración. El directorio base de Oracle es el directorio de nivel superior que se
puede utilizar para instalar los distintos productos de software de Oracle, excepto para
Oracle Clusterware. Oracle Clusterware debe estar en una ruta de acceso
independiente. Se puede utilizar el mismo directorio base de Oracle para más de una
instalación. Si distintos usuarios del sistema operativo instalan el software de Oracle
en el mismo sistema, todos los usuarios deben crear un directorio base de Oracle
140
independiente. Si se ha definido la variable de entorno ORACLE_BASE, Oracle
Universal Installer muestra el valor de la variable ORACLE_BASE como valor por
defecto para el campo del directorio base de Oracle.
En nuestro caso seleccionaremos como Directorio Base de Oracle:
C:/app/ajpdsoft
En Ubicación del Software especificaremos el nombre y la ubicación del directorio
raíz de Oracle en el que deseemos instalar el producto.

Nombre: introduciremos un nombre de directorio raíz de Oracle o lo
seleccionaremos
de
la
lista.
En
nuestro
caso
introduciremos
"OraDb11g_home1".

Ruta de Acceso: introduciremos la ruta de acceso completa del directorio raíz
de Oracle o la selecionaremos de la lista de rutas existentes. En nuestro caso
"C:/app/ajpdsoft/product/11.1.0/db_1".
141
A continuación Oracle Universal Installer realizará la comprobación de requisitos
específicos del Producto, para verificar que el sistema operativo y el hardware
(equipo) cumplen con los requisitos mínimos. Para el caso de Windows 7 nos mostrará
un error en la comprobación de los requisitos del sistema operativo, indicando: La
base de datos Oracle 11g no está certificada en el sistema operativo actual.
Recomendación: Asegúrese de instalar el software en la plataforma correcta.
Aún así continuaremos la instalación, para ello marcaremos el check de
"Comprobando los requisitos del sistema operativo" y el de "Comprobando requisitos
de Service Pack" y pulsaremos "Siguiente" para continuar con la instalación:
A continuación Oracle Universal Installer nos permite elegir entre varias posibilidades
de configuración:

Crear Base de Datos: esta opción crea una base de datos con la configuración
de Uso General/Procesamiento de Transacciones, Almacén de Datos o
Avanzada.
142

Configurar Gestión Automática de Almacenamiento (ASM): esta opción
instala sólo Gestión Automática de Almacenamiento en un directorio raíz de
Oracle distinto. Si es necesario, también puede proporcionar una contraseña
SYS de ASM.

Instalar sólo Software: esta opción instala sólo el software de la base de datos
Oracle. Se podrá configurar la base de datos más tarde.
En nuestro caso seleccionaremos "Instalar sólo Software", puesto que crearemos la
base de datos en otro momento:
Si tenemos activo el Firewall (cortafuegos) de Windows, puede que nos pida "Permitir
acceso" a Java(TM) 2 PlattformStantardEditionbinary necesario para la instalación de
Oracle:
143
Antes de iniciar la instalación de Oracle Database 11g Release 1 en Windows 7,
Oracle Universal Installer nos mostrará un resumen de las opciones y productos que se
instalarán. Si son correctas pulsaremos "Instalar":
Oracle Universal Installer iniciará la instalación definitiva de Oracle Database 11g en
Microsoft Windows 7 (seven):
144
Tras la instalación, Oracle Universal Installer nos mostrará el resultado:
Indicando: "Los archivos de configuración de la base de datos se han instalado en
C:/app/ajpdsoft mientras que los demás componentes seleccionados se han instalado
en C:/app/ajpdsoft/product/11.1.0/db_1. Tenga cuidado de no suprimir por accidente
estos archivos de configuración".
145
Descargar