T O M O I - UG

185
I UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES DE CORREO A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN Y LA CUENTA DE CORREO T O M O I TESIS DE GRADO Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES AUTOR: ALBERTO CARLOS ARREAGA CAMPOVERDE TUTOR: JOSÉ LUIS RODRÍGUEZ GUAYAQUIL – ECUADOR 2010

Transcript of T O M O I - UG

Page 1: T O M O I - UG

I

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

T O M O I

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: ALBERTO CARLOS ARREAGA CAMPOVERDE

TUTOR: JOSÉ LUIS RODRÍGUEZ

GUAYAQUIL – ECUADOR

2010

Page 2: T O M O I - UG

II

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: ALBERTO CARLOS ARREAGA CAMPOVERDE

TUTOR: JOSÉ LUIS RODRÍGUEZ

GUAYAQUIL – ECUADOR

2010

Page 3: T O M O I - UG

III

Guayaquil, 3 de Marzo del 2011.

APROBACIÓN DEL TUTOR

En mi calidad de Tutor del trabajo de investigación, “ADMINISTRACIÓN DE LOS

RESPALDOS DE BASE DE DATOS SQL SERVER 2005 MEDIANTE EL ENVÍO

DE MESAJES DE CORREO A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN

Y LA CUENTA DE CORREO ”, elaborado por el Sr. ALBERTO CARLOS

ARREAGA CAMPOVERDE, egresado de la Carrera de Ingeniería en Sistemas

Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad Estatal

de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas

Computacionales, me permito declarar que luego de haber orientado, estudiado y

revisado, la

Apruebo en todas sus partes.

Atentamente:

__________________________ Ing. JOSÉ LUIS RODRÍGUEZ

TUTOR

Page 4: T O M O I - UG

IV

DEDICATORIA

Dedico este proyecto de tesis a mi madre, que

ha sido un pilar fundamental en el recorrido de

esta vida, ya que sin ella jamás hubiese podido

conseguir lo que hasta ahora he logrado.

También dedico este proyecto a mi esposa, que

ha sido una compañera inseparable durante

cada jornada de estudio, ella representó un gran

apoyo en esos momentos de declive y

cansancio. A una pequeña mujer, mi hija, que

fue la inspiración para poder culminar con este

proyecto mi carrera universitaria que un día

inicie.

Page 5: T O M O I - UG

V

AGRADECIMIENTO

Agradezco en primer lugar a Dios, que me ha

permitido llegar hasta esta etapa de mi vida, y

así poder cumplir con la meta propuesta. En

segundo lugar a mi familia, mi madre, mi

esposa, mi hija, mis suegros, por haberme

apoyado de manera incondicional en las

diferentes etapas de estudio y poder haber

llegado a donde ahora estoy, a mi tutor de tesis,

que me brindo su ayuda y conocimientos a lo

largo de la etapa del Curso de Fin de Carrera. A

la Carrera por haberme acogido e iniciado en

los conocimientos que ahora tengo.

Page 6: T O M O I - UG

VI

TRIBUNAL DE GRADO

_______________________________

Dr. José Júpiter Wiles SECRETARIO

_______________________________

Ing. Héctor Lara MIEMBRO DEL TRIBUNAL

_______________________________

Ing. Barcia MIEMBRO DEL TRIBUNAL

_______________________________

Ing. Fernando Abad Montero DECANO DE LA FACULTAD

CIENCIAS MATEMATICAS Y FISICAS

_______________________________

Ing. Juan Chanabá Alcócer DIRECTOR

CARRERA DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

_______________________________

Ing. José Luis Rodríguez MIEMBRO DEL TRIBUNAL

TUTOR

Page 7: T O M O I - UG

VII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

Proyecto de trabajo de grado que se presenta como requisito para optar por el título de

INGENIERO EN SISTEMAS COMPUTACIONALES

Autor: Alberto Carlos Arreaga Campoverde

C.I.: 0918791914

Tutor : José Luis Rodríguez

Guayaquil, 3 de Marzo del 2011.

Page 8: T O M O I - UG

VIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DECLARACIÓN BAJO JURAMENTO

Yo, ALBERTO CARLOS ARREAGA CAMPOVERDE , de nacionalidad.

ECUATORIANO mayor de edad, con domicilio en: COOP. COLINAS DE

MAPASINGUE 3, MZ. 450 – SL. 12, de la ciudad de GUAYAQUIL , en

cumplimiento a lo dispuesto en el Reglamento de Graduación e Incorporación de la

Facultad, expreso: Que advertido de la pena de perjurio y de la responsabilidad penal,

JURO en honor a la verdad, no encontrarme en estado de insolvencia, ni haber sido

llamado a juicio plenario, ni que se hubiere dictado en mi contra auto motivado o

sentencia condenatoria; o haber perdido los derechos de ciudadanía, ni haber sido

declarado interdicto.

________________________________ ALBERTO CARLOS ARREAGA CAMPOVERDE

AUTOR

Page 9: T O M O I - UG

IX

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del Primer Curso de Fin de Carrera, nombrado por el

Departamento de Graduación y la Dirección de la Carrera de Ingeniería en Sistemas

Computacionales de la Universidad de Guayaquil,

CERTIFICO:

Que he analizado el Proyecto de Grado presentado por el egresado ALBERTO

CARLOS ARREAGA CAMPOVERDE, como requisito previo para optar por el título de

Ingeniero cuyo problema es: “ADMINISTRACION DE LOS RESAPLDOS DE

BASESE DE DATOS SQL SERVER 2005 MEDIANTE EL ENVIO DE MESAJES

DE CORREO A TRAVES DE UN PROTOTIPO DE APLICACIÓN Y LA

CUENTA DE CORREO”, considero aprobado el trabajo en su totalidad.

Presentado por:

Tutor: José Luis Rodriguez

Guayaquil, 3 de Marzo del 2011.

________________________

Alberto Carlos Arreaga Campoverde

________________________

Cédula de ciudadanía N°

Page 10: T O M O I - UG

X

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES DE CORREO

A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN

Y LA CUENTA DE CORREO

Autor: ALBERTO CARLOS ARREAGA CAMPOVERDE

Tutor: JOSÉ LUIS RODRÍGUEZ

RESUMEN

Este proyecto fue desarrollado basado en la necesidad de una nueva forma de conexión

remota entre el DBA o profesional de Sistemas, que necesita resolver problemas con

respecto a los respaldos y restauraciones de Bases de Datos, y poder resolver situaciones

que se llegasen a presentar sobre todo cuando él se encuentra fuera de su área de trabajo.

Mediante este prototipo de aplicación se podrá, a través de un formato de mensaje, enviar

un correo para realizar una tarea determinada como respaldo o restauración de una base

de datos que se necesite realizar.

Page 11: T O M O I - UG

XI

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASES DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MENSAJES DE CORREO

A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN

Y UNA CUENTA DE CORREO

ABSTRACT

This project was developed based on the need for a new form of remote connection

between the DBA or systems professional, you need to solve problems regarding the

backup and restore databases, and solve situations that tend to present mainly when he is

outside their area of work. Using this prototype application can be through a message

format, send an email to perform a particular task as a backup or restore a database that

needs to perform.

Page 12: T O M O I - UG

XII

ÍNDICE

CARÁTULA I

CARTA DE ACEPTACIÓN DEL TUTOR III

DEDICATORIA IV

AGRADECIMIENTO V

TRIBUNAL DE GRADO VI

DECLARACIÓN BAJO JURAMENTO VIII

CERTIFICADO DE ACEPTACIÓN DEL TUTOR IX

RESUMEN EN ESPAÑOL X

RESUMEN EN INGLÉS XI

ÍNDICE XII

ÍNDICE GENERAL XIII

ÍNDICE DE CUADROS XVII

ÍNDICE DE GRÁFICOS XVIII

INTRODUCCIÓN 1

Page 13: T O M O I - UG

XIII

ÍNDICE GENERAL

CAPÍTULO 1.- EL PROBLEMA 2

Planteamiento del problema 3

Ubicación del Problema en un contexto 3

Delimitación del Problema 4

Misión 4

Visión 4

Objetivo 5

Objetivos Generales 5

Objetivo Específicos 5

Justificación e Importancia 6

CAPÍTULO II.- MARCO TEÓRICO 8

Antecedentes 9

Respaldo de Base de Datos 10

Restauración de Base de Datos 10

Page 14: T O M O I - UG

XIV

Descripción de las Herramientas 12

MS Visual Studio 6.0 (Visual Basic) 12

MS SQL Server 2005 13

Cuenta de Correo 14

Sistema Operativo 14

Fundamentación Legal 15

Ley de Comercio Electrónico 15

CAPÍTULO III.- METODOLOGÍA 16

Diseño de la investigación 17

La Encuesta 17

Tamaño de la muestra 18

Análisis de la encuesta 18

Tipo de Empresa 19

Lenguajes de Programación 20

Motores de Bases de Datos 21

Page 15: T O M O I - UG

XV

CAPÍTULO IV.- MARCO ADMINISTRATIVO 23

Introducción 24

Cronograma 24

Cronograma de Trabajo 25

Recursos 28

Recurso Humano 28

Recurso Tecnológico 29

Presupuesto 30

Financiamiento 31

CAPÍTULO V.- CONCLUSIONES Y RECOMENDACIONES 35

Conclusiones 36

Recomendaciones 37

ANEXOS.- TOMO 1 38

Anexo 1 39

Ley de Comercio Electrónico, Firmas Electrónicas y

Page 16: T O M O I - UG

XVI

Mensajes de Datos 39

Anexo 2 45

Modelo de Encuesta realizada 46

BIBLIOGRÁFIA 47

Libros 48

Publicaciones 49

Direcciones Web 49

Page 17: T O M O I - UG

XVII

ÍNDICE DE CUADROS

Cuadro 1

Tipos de Empresa 17

Cuadro 2

Lenguaje de Programación 18

Cuadro 3

Motores de Base de Datos 19

Cuadro 4

Cronograma de Tareas 24

Cuadro 5

Gráfica de Tareas 25

Cuadro 6

Rubro de Egresos 28

Cuadro 7

Tabla de Financiamiento 30

Page 18: T O M O I - UG

XVIII

INDICE DE GRAFICOS

Gráfico 1

Formas de Respaldos 9

Gráfico 3

Fórmula para encontrar la muestra 21

Gráfico 4

Tipos de Empresa 22

Gráfico 5

Lenguajes de Programación 23

Gráfico 6

Motores de Bases de Datos 24

Gráfico 7

Cronograma de tareas 29

Page 19: T O M O I - UG

XIX

Gráfico 8

Gráfica de Tareas 30

Gráfico 9

Formato de Encuesta 47

Page 20: T O M O I - UG

1

Introducción

En la actualidad en las grandes empresas podemos encontrar un DBA (Administrador de

Bases de Datos) el cual cuenta con las herramientas y conocimientos para una correcta

administración del motor de base implementada en su respectiva organización y bajo la

cual se encuentran desarrolladas sus aplicaciones. Pero en las pequeñas y medianas

empresas no existe una persona especializada en Bases de Datos, sino que muchas veces

existen una o varias personas que realizan múltiples tareas dentro del Departamento de

Sistemas, y ello concurre a que no se pueda obtener un excelente rendimiento de la Dase

de Datos que se administre, realizándose simplemente tareas básicas y elementales

aprendidas en las aulas de la universidad o leídas en un libro al momento de cursar la

materia de Bases de Datos.

También se da que un DBA, siempre que ocurra algún problema con la Base de datos, ya

sea de respaldo o restauración, este deba acceder a través de herramientas de acceso

remoto como son: TeamViewer, LogMeIn, Real VNC y otros, para poder dar asistencia

en las eventualidades ocurridas cuando él no se encuentra en el lugar de los hechos,

siempre y cuando ambos equipos que existen en los extremos del acceso remoto cuenten

con la herramienta instalada localmente. Es allí que surge el inconveniente en caso de no

se cuente con los medios para el acceso remoto, que el DBA o profesional de Sistemas,

deba trasladarse personalmente al lugar de los hechos.

Page 21: T O M O I - UG

2

Capítulo I

EL PROBLEMA

Page 22: T O M O I - UG

3

Planteamiento del problema

Administración de Respaldos de la Base de Datos SQL Server 2005 mediante el envío de

mensajes de correo a través de un prototipo de aplicación y una cuenta de correo.

Ubicación del Problema

El Problema de las pequeñas y medianasempresas, actualmente, es el no poder contar con

un especialista en Bases de Datos, DBA, el cual se encarga de mantener la integridad de

la información de la empresa.

El elevado costo de un DBA, para mantenerlo en una empresa pequeña y mediana, es lo

que hace que las empresas no cuenten con un buen Departamento de Sistemas

estructurado en cada una de las áreas.

El entrenamiento sobre las herramientas existentes dentro de MS SQL SERVER 2005 y

otras, tienen un alto costo, ya que esta herramienta no es Open Source, aunque en

Internet existen muchas páginas en las que se habla de las herramientas.

Page 23: T O M O I - UG

4

Delimitación el Problema

El realizar este proyecto, poder facilitar una herramienta o conjunto de procedimientos

mediantes los cuales podrán administrar desde una cuenta de correo el estado de los

respaldos de las Bases de Datos.

Mediante una aplicación sencilla ejecutándose en el servidor de datos, este hará de

puente entre el envío y recepción de mensajesde correo electrónico.

Misión

Desarrollar una aplicación sencilla pero muy útil a la vez, para administrar los respaldos

de Bases de Datos de manera remota, sin la necesidad que la persona encargada de

Sistemas tenga que estar frente al Servidor de Datos, para poder ejecutar una tarea de

respaldo o restauración.

Visión

Administrar de la mejor forma los respaldos de Bases de Datos remotamente, y así se

minimizará el tiempo de respuesta ante cualquier eventualidad con respecto a los

Page 24: T O M O I - UG

5

respaldos y restauraciones, sin la necesidad de que programas remotos se encuentren

instalados entre los equipos de comunicación.

Objetivos

Objetivos Generales

Plantear un guía práctica para los estudiantes de la Carrera de Ingeniería en Sistemas

Computacionales, que se orientan por la administración de bases de datos, y puedan tener

los conocimientos necesarios para poder implementar este tipo de administración en

pequeñas y medianas empresas.

Desarrollar una aplicación la cual podrá realizar se manera automática lo presentado en

la guía, a través del envío de correo electrónico por parte de la persona a cargo del área

de sistemas, y será mediante la aplicaciónque se podrá realizar un respaldo o una

recuperación en cualquier momento.

Page 25: T O M O I - UG

6

Objetivos Específicos

Mantener informado al administrador de bases de datos sobre el estado de los respaldos

realizados a través de los procedimientos almacenados.

Realizar una mejor administración de la base de datos SQL Server 2005, y así obtener un

mayor rendimiento en la ejecución de respaldos y alertas sobre los estados de la base.

Mantener informado a la persona encargada del área de sistemas de los respaldos de la

base de datos, a través del envío de mensajes vía correo electrónico

Asegurar la disponibilidad de los respaldos de bases de datos en cualquier momento que

se los requiera.

Justificación e Importancia

Cuando una empresa decide utilizar un sistema asociado a una Base de Datos, esta se

vuelve dependiente del funcionamiento correcto del sistema. En el supuesto caso de que

sufra daño de cualquier porción de la base de datos, ya sea esta por causa de un error

humano, o una falla en el equipo o en el sistema que lo apoya, resulta esencial poder

reparar los datos implicados en un tiempo mínimo de retraso y afectando lo menos

posible el resto del sistema. En teoría, por ejemplo, la disponibilidad de los datos no

dañados no tendría que verse afectada. En estos casos se debe definir y poner en práctica

Page 26: T O M O I - UG

7

un plan de recuperación adecuado que incluya, por ejemplo una descarga o vaciado

periódico de la base de datos en un medio de almacenamiento de respaldo, y

procedimientos para cargar otra vez la base de datos a partir del vaciado más reciente

cuando sea necesario.

Una de las tareas más importante de un DBA, dentro de una organización, es la de

salvaguardar y garantizar la información, realizando respaldos de bases de datos y

recuperación de la misma en momentos críticos.

Toda estrategia sobre los respaldos de bases de datos siempre se orientan a garantizar que

un DBA pueda restaurar la información hasta el instante mismo de algún conflicto con el

motor, sin causar la pérdida de la misma.

La mayoría de las pequeñas empresas realizan una copia de seguridad completa, y para

ello destinan un horario que fluctúa entre las 08:00 (antes del inicio de las actividades) y

18:00-21:00 (una vez finalizada la jornada de trabajo), y es mas siempre la generan sobre

el mismo archivo.

Page 27: T O M O I - UG

8

Capítulo II

MARCO TEÓRICO

Page 28: T O M O I - UG

9

Antecedentes

El objetivo de toda organización es conseguir una estrategia para todas las bases datos

existentes.

Para establecer una estrategia de respaldo debe medirse la frecuencia de actualización de

la DATA, independientemente de que si las bases son pequeñas o grandes. Por ejemplo,

algunas empresas si sus bases son pequeñas y tienen una alta frecuencia de actualización,

ellas optan por una estrategia de respaldos en la cual mezclan: respaldos completos, mas

respaldos diferenciales y respaldos de los LOG.

Base de

Datos

Respaldos

Completos

Respaldos de

Archivos LOG

Respaldos

Diferenciales

Diario: 08:00

Cada: 4 hrs, desde las 09:00

Cada: 1 hr, desde las 10:00

GRAFICO No. 1

FORMAS DE RESPALDOS

ELABORACION: Alberto C. Arreaga C.

FUENTE: Página de Internet.

Page 29: T O M O I - UG

10

Respaldo de Bases de Datos

Los respaldos de bases de datos se dan con el fin de mantener una copia de la

información cada cierto tiempo definido por el DBA, y así salvar la información de la

que se dispone hasta el momento que se la realiza, y almacenarla en algún medio

tecnológico disponible, estos respaldos servirán en los posterior para poder recuperar

información cuando searequerida.

Las copias de seguridad de base de datos son una parte fundamental en la creación de

esta estrategia, sin una estrategia de copias de seguridad efectiva podríamos encontrarnos

en una situación en que tengamos una base de datos corrupta pero no las suficientes

copias de seguridad para restaurar.

Los tipos de fallas que podrían ocurrir, entre ellas:

• Datos inválidos del usuario.

• Fallo en disco duro.

• Falla en el servidor.

Para evitar perder la informacióndurante cualquier tipode falla, se sugiere al DBA seguir

las siguientes recomendaciones:

Page 30: T O M O I - UG

11

• Realizar copias de seguridad con frecuencia (esto depende del uso de la base de

datos).

• Mantener copias de seguridad completas fuera del sitio.

• Realizar comprobaciones de consistencia con cierta frecuencia.

• Administrar sus copias de seguridad con efectividad.

TIPOS DE COPIAS DE SEGURIDAD

Aunque, se puede especificar el modelo de recuperación deseado, también se puede

especificar que porciones de la base de datos incluir en las copias de seguridad:

• Base de datos completa:es copia incluye todos los objetos de la base de datos

(tables, views, storedprocedure)

• Base de datos diferencial:solo copia las modificaciones que se le hallan hecho a la

base de datos (DML, DDL) desde la última copia de seguridad completa.

• Registro de transacciones: Copia el registro de transacciones, todas las

transacciones de los usuarios (INSERT, UPDATE, DELETE), como se tienen

todas las transacciones se pueden rehacer todo el trabajo que los usuarios haya

hecho.

Page 31: T O M O I - UG

12

• Archivo y grupo de archivos:Nos permite realizar una copia de seguridad de una

porción de la base de datos a la vez. Esta se debe de usar cuando la base de datos

es muy extensa, también se deben realizar copia del registro de transacción para

poder recuperarse.

Restauración de Bases de Datos

Las restauraciones de bases de datos se dacuando queremos recuperar cierta información

hacia el pasado antes de haber sido afectados, o cuando se da errores en las bases en

curso. Estas restauraciones se dan a partir de una copia de respaldo completo, que puede

ir seguida de una restauración de una copia de respaldo diferencial.

Restaurar copias de seguridad realizadas con el comando BACKUP. Este comando le

permite:

• Restaurar una base de datos completa a partir de una copia de seguridad completa

de la base de datos (restauración completa).

• Restaurar parte de una base de datos (restauración parcial).

Page 32: T O M O I - UG

13

• Restaurar archivos, grupos de archivos o páginas específicos en una base de datos

(restauración de archivos o páginas).

• Restaurar un registro de transacciones en una base de datos (restauración del

registro de transacciones).

• Revertir una base de datos al punto temporal capturado por una instantánea de la

base de datos.

Administrador de Bases de Datos

El Administrador de Base de Datos, también conocido como DBA, es una

personaresponsable de los aspectos ambientales de la base de datos. Las tareas de un

Administrador de Bases de Datos, depende de las políticas de tecnología de información

dentro de la empresa. Por lo general un DBA, se encarga de:

• Recuperabilidad

• Integridad

• Seguridad

• Disponibilidad

• Desempeño

• Desarrollo y soporte

Page 33: T O M O I - UG

14

Motor de Bases de Datos

El motor de base de datos es un servicio que almacena, procesa y protege la información

de un sistema. Además proporciona un acceso controlado y un procesamiento de

transacciones para así cumplir con los requisitos necesarios de las aplicaciones

consumidoras de datos de una empresa. Un motor de base de datos la usamos para crear

bases de datos relacionales para un procesamiento de transacciones en línea

Descripción de las Herramientas

MS Visual Basic 6.0

Esta herramienta de programación que ofrece una plataforma gráfica para realizar

interfaces que utilicen las características del Sistema Operativo Windows, dando al

usuario una atractiva interface y que pueda relacionar con los otros programas del

sistema que este brinda.

Page 34: T O M O I - UG

15

Se escogió Visual Basic, como plataforma de trabajo para el desarrollo de la interface,

debido a la experiencia obtenida programando aplicaciones, además porque ofrece gran

facilidad en el manejo de sus herramientas, un uso mínimo de las líneas de código.

Entre las ventajas que presenta este lenguaje de programación esta su facilidad para

programar aplicaciones de cierta complejidad para Windows.

MS SQL Server 2005

Este motor de base de datos está diseñado para ayudar a las empresas a enfrentar desafíos

como la necesidad de tomar decisiones más rápidas y más orientadas a datos, la

necesidad de aumentar la productividad y flexibilidad del personal de desarrollo.

SQL Server es una solución de dato global, integraday de extremo a extremo que habilita

a los usuarios en toda su organización mediante una plataforma más segura, confiable y

productiva para datos empresariales y aplicaciones de BI. SQL Server 2005 provee

herramientas sólidas y conocidas a los profesionales de IT, así como también a

Page 35: T O M O I - UG

16

trabajadores de la información, reduciendo la complejidad de la creación, despliegue,

administración y uso de aplicaciones analíticas y de datos empresariales en plataformas

que van desde los dispositivos móviles hasta los sistemas de datos empresariales. A

través de un conjunto global de características, la interoperabilidad con sistemas

existentes y la automatización de tareas rutinarias, SQL Server 2005 ofrece una solución

completa de datos para empresas de todos los tamaños.

Cuenta de Correo

A través de una cuenta de correo el Administrador de Bases de Datos podrá enviar

peticiones a la aplicación la cual se encargará a su vez de ejecutar la instrucción

correspondiente en la petición, y recibir la confirmación de la ejecución de determinada

tarea.

Sistema Operativo

Un sistema operativo (S.O) es un software que actúa de interfaz entre los dispositivos de

hardware y los programas dedicados a usuarios para utilizar un computador. Es el

responsable de coordinar, gestionar y llevar a cabo el intercambio de los recursos de

hardware. Por ello es el programa más complejo e importante de una computadora.

Page 36: T O M O I - UG

17

Los sistemas operativos más conocidos son: AIX (IBM), GNU/ Linux, MacOS

(Macintosh) y Windows(Microsoft).

Windows

El Sistema operativo Windows, es el producto estrella de Microsoft, y es el más utilizado

en computadores personales, servidores pequeños y medianos.

Windows es el sistema operativo que se destaca por su facilidad de uso y entorno

amigable, acercandolo al público usuario.Se han desarrollado diferentes versiones de

Windows para hogares, empresas, servidores y dispositivos móviles.

Page 37: T O M O I - UG

18

Fundamentación Legal

Ley de Comercio Electrónico, Firmas Electrónicas yMensajes de Datos

Se considera que el uso de sistemas de información y redes electrónicas, han adquirido

importancia en el desarrollo del comercio y la producción, tal que permiten la realización

y concreción de múltiples negocios trascendentales para todos los sectores.

El objetivo de la ley es regular los mensajes de datos, la firma electrónica, los servicios

de certificación, la contratación electrónica y telemática, la prestación de servicios

electrónicos, a través de redes de información, incluido el comercio electrónico y la

protección a los usuarios de los sistemas.

De Los Mensajes de Datos

En la actualidad un correo electrónico ya es considerado como un documento legal, por

lo que esta ley le da un reconocimiento jurídico y que tiene el mismo valor legal que

cualquier documento escrito, y están sometidos a las leyes y reglamentos de la propiedad

intelectual,

En el Anexo 1, podemos encontrar los artículos de esta ley para mayor ilustración e

interpretación de la misma.

Page 38: T O M O I - UG

19

Capítulo III

METODOLOGÍA DE LA INVESTIGACIÓN

Page 39: T O M O I - UG

20

Diseño de investigación

La investigación del proyecto se basó en una encuesta y en la recopilación de

información a través de los diferentes medios, como el internet, en mayor parte, y la

revisión de bibliografía tanto en libros de relacionados con el tema planteado como en

tomos de tesis o proyectos de graduación, anteriormente realizados.

Para la realización de la encuesta se tomó la población de los alumnos egresados que

actualmente están cursando el tópico o línea de investigación sobre Bases de Datos

(aproximadamente 35 egresados), que serían, quien actualmente están involucrados con

el área en mención, y quienes se inclinan para en su futuro trabajar en el área. Dentro de

esta población también se consideró a profesionales especializados en el área

(aproximadamente 15 profesores) para conocer sus puntos de vista a cerca del problema

y solución del mismo.

La Encuesta

Como sabemos la encuesta es una colección de preguntas que son dirigidas hacia una

muestra representativa de una determinada población, con el objetivo de conocer los

estados de opinión o hechos.

El cuestionario que se realizó fue basado en lo referente al tópico de la realización del

proyecto de Tesis, de las cuales se describen los gráfico de las 5 más importantes.

Page 40: T O M O I - UG

21

Tamaño de la Muestra

El tamaño de la muestra se la determinó con la fórmula tomada de la documentación de

la guía para el desarrollo de la tesis, y demostrada por la Universidad Libertador de

Venezuela Cirterplan.

Análisis de la Encuesta

A continuación un breve análisis sobre los resultados de la encuesta realizada.

nm

e m=

− +2 1 1( )

m= Tamaño de la población.

E= error de estimación.

n = Tamaño de la muestra.

Grafico No. 3

Fórmula para encontrar la muestra

Elaboración: Alberto C. Arreaga C.

Fuente: Guía de Proyecto de Grado - CISC

Page 41: T O M O I - UG

Como se puede observar en el cuadro estadístico, sobre una de las preguntas de la

encuesta realizada, podemos observar el porcentaje de profesionales de sistemas de la

carrera de Ingeniería en Sistemas Computacionales

áreas del departamento de sistemas

las empresas de tipo Comercial y de Servicios.

44.74

Tipos de Empresas

Gráfico No. 4

Tipo de Empresa.

Elaborado: Alberto Arreaga C.

Fuente: Tabla No. 1.

Tipos de empresa

se puede observar en el cuadro estadístico, sobre una de las preguntas de la

ta realizada, podemos observar el porcentaje de profesionales de sistemas de la

carrera de Ingeniería en Sistemas Computacionales (CISC) que laboran en las diferentes

áreas del departamento de sistemas, mayormente podemos ver que se encuentran entre

presas de tipo Comercial y de Servicios.

36.84

10.53

7.89

Tipos de Empresas

Comercial

Industrial

Servicios

Otras

Elaborado: Alberto Arreaga C.

Comercial

Industrial

Servicios

Otras

Tabla No.

Tipo de

Elaborado: Alberto Arreaga C.

Fuente: Encuesta Anexo 2.

22

se puede observar en el cuadro estadístico, sobre una de las preguntas de la

ta realizada, podemos observar el porcentaje de profesionales de sistemas de la

que laboran en las diferentes

, mayormente podemos ver que se encuentran entre

Tipo de Empresa

Comercial 36.84 14

Industrial 10.53 4

Servicios 44.74 17

7.89 3

100.00 38

Tabla No. 1

Tipo de Empresa.

Elaborado: Alberto Arreaga C.

Fuente: Encuesta Anexo 2.

Page 42: T O M O I - UG

Aquí observamos, los lenguajes dominantes en cuanto a aplicaciones de escritorio, en los

que se encuentran desarrollando los profesionales de sistemas procedentes de nuestra

carrera CISC. Vemos Visual Studio 6 se mantiene a pesar del tiempo y de la aparición de

nuevas herramientas.

Visual Basic 6.0

MS Visual Studio 2005

ms Visual Studio 2008

Power Builder

Visual FoxPro

Oracle Form

Lenguajes de Programación

Gráfico No. 5

Lenguajes de Pogramación.

Elaborado: Alberto C. Arreaga C.

Fuente: Tabla No. 2.

Lenguajes de Programación

los lenguajes dominantes en cuanto a aplicaciones de escritorio, en los

que se encuentran desarrollando los profesionales de sistemas procedentes de nuestra

carrera CISC. Vemos Visual Studio 6 se mantiene a pesar del tiempo y de la aparición de

Lenguajes de Programación

Visual Basic 6.0

MS Visual Studio 2005

MS Visual Studio 2008

PowerBuilder

Visual FoxPro

Oracle Form - Report

PHP

Tabla No. 2

Lenguajes de Programación.

Elaborado: Alberto C. Arreaga C.

Fuente: Encuesta Anexo 2.

0 5

10

15

20

25

30

35

Visual Basic 6.0

MS Visual Studio 2005

ms Visual Studio 2008

Power Builder

Visual FoxPro

Oracle Form - Report

PHP

32.61

28.26

6.52

4.35

15.22

6.52

6.52

Lenguajes de Programación

Lenguajes de

Programación

Lenguajes de Pogramación.

Elaborado: Alberto C. Arreaga C.

Tabla No. 2.

23

los lenguajes dominantes en cuanto a aplicaciones de escritorio, en los

que se encuentran desarrollando los profesionales de sistemas procedentes de nuestra

carrera CISC. Vemos Visual Studio 6 se mantiene a pesar del tiempo y de la aparición de

Lenguajes de Programación

32.61 15

28.26 13

6.52 3

4.35 2

15.22 7

6.52 3

6.52 3

100.00 46

Lenguajes de Programación.

Elaborado: Alberto C. Arreaga C.

Programación

Page 43: T O M O I - UG

24

Motores de Bases de Datos

Como podemos ver, el uso de la Bases de datos en aplicaciones de escritorio para

Windows, sin lugar a dudas es mayoritario el motor SQL Server 2005, que ofrece varias

funcionalidades de administración para el profesional de bases de datos, DBA.

Motores de Bases de Datos

MS SQL Server 2005 53.85 21

MS SQL Server 2008 7.69 3

Oracle 9i 7.69 3

MySql 7.69 3

SyBase 5.13 2

PostgreSQL 0.00 0

Otras 17.95 7

100.00 39

Tabla No. 3.

Motores de Bases de Datos

Elaborado: Alberto C. Arreaga C.

Fuente: Encuesta Anexo 2.

53

.85

7.6

9

7.6

9

7.6

9

5.1

3

0.0

0

17

.95

0.00

10.00

20.00

30.00

40.00

50.00

60.00

Motores de Bases de Datos

Motores de

Bases de Datos

Grafico No. 6

Motores de Bases de Datos.

Elaborado: Alberto C. Arreaga C.

Fuente: Tabla No.3

Page 44: T O M O I - UG

25

Podemos ver el formato del contenido de la encuesta en el Anexo 2, que se utilizó para la

realización de la misma y que sirvió para la elección de las herramientas a utilizar para en

este prototipo de aplicación.

Page 45: T O M O I - UG

26

Capítulo IV

MARCO ADMINISTRATIVO

Page 46: T O M O I - UG

27

Introducción

Todo proyecto, en su diseño, además de indicar los aspectos técnicos ycientíficos del

tema y problema propuesto, el cual obedece a sus objetivos, debe contemplarademás los

aspectos logísticos del mismo, es decir, cómo se va a lograr la realización delproyecto,

para lo cual en la parte administrativa del mismo se indica el manejo de losrecursos, del

tiempo y de presupuesto, para el desarrollo de las diversas actividades delproyecto.

En este capítulo deben ser respondidas las siguientes preguntas:

¿Cómo se logrará la realización delproyecto?

¿Con qué recursos se organizará la investigación?

¿En qué tiempo se investigará?

Cronograma

Como es conocido por todos, el cronograma es un instrumento que debe ser planificado y

elaboradocuidadosamente, a fin de poder supervisar la ejecución del proyecto de

investigación.

En este cronograma se describe detalladamente por un lado la naturaleza y secuencia

delas actividades; y, por otra el tiempo disponible de duración de cada una de estas. Esto

Page 47: T O M O I - UG

28

implica que se ha determinado con precisión cuáles son esas actividades, a partir de los

aspectos técnicospresentados en el proyecto de tesis.

La unidad de tiempo que se ha utilizado es el día, y en función de estaunidad se ha

calculado la ejecución de cada etapa y la duración total del proyecto de tesis, con fines

deevaluación y determinación de recursos humanos (horas/hombre), materiales y

financieros.

Cronograma de Trabajo

En primera instancia se ha definido un tiempo para la realización de este proyecto de

investigación estimado en 120 días incluida la holgura, por los imprevistos, el cual podrá

llegar a tener un reajuste. Los tiempos arrancan una vez que se confirme el visto bueno.

Basado en las etapas del desarrollo de un sistema, será el siguiente:

1.- Análisis

2.- Diseño

3.- Desarrollo

4.- Pruebas

5.- Implementación

Page 48: T O M O I - UG

Tabla No. 5.

Cronograma de Tareas.

Elaborado: Alberto C. Arreaga C.

Fuente: Cronograma de Trabajo hecho en MS Project.

Elaborado: Alberto C. Arreaga C.

Trabajo hecho en MS Project.

29

Page 49: T O M O I - UG

30

Gráfico No. 8.

Gráfica sobre Tareas.

Elaborado: Alberto C. Arreaga C.

Fuente: Cronograma de Trabajo hecho en MS Project.

Page 50: T O M O I - UG

31

Para la presentación de este cronograma se utilizó diagramas de barras verticales, lo que

permite visualizar mejor el tiempo de cada actividad y, sobre todo, en aquellos casos en

que hay varias actividades en un mismo tiempo; ya que se estructuran a partir de

coordenadas cartesianas.

La Herramienta utilizada para la creación y generación del cronograma fue Microsoft

Office Project Proffesional 2003.

Recursos

Recurso Humano

Para el desarrollo de este Proyecto de Tesis de Grado, se utilizó el siguiente recurso

humano:

1 Analista Programador, con conocimientos en las herramientas de desarrollo: MS Visual

Basic 6.0, MS Sql Server 2005.

1 Guía de Proyecto, con conocimientos y experiencia como Guía o Director de

Desarrollo e Implementación de Proyectos.

Page 51: T O M O I - UG

32

Recurso Tecnológico

Computadora Intel Core Duo,2 GHz, RAM 3 GB DDR2, HD 500 GB.

Modem Inalámbrico USB, 54 Mbps, para pruebas de tutorías.

Disco Externo 500 GB, para respaldos de la documentación y fuentes de desarrollo.

MS Windows XP Proffesional + Service Pack 3.

MS Visual Basic 6.0 + SP 6, como herramienta de programación.

MS SQL Server 2005, como herramienta de almacenamiento de datos.

Cuenta de Correo activa, como medio de información y transporte, de un servidor POP3

y SMTP, en este caso YAHOO y GMAIL.

Doc-To-Help 2010, para la generación del archivo de ayuda del programa.

InstallShield 2009, para la generación del instalador de la aplicación.

Smart InstallMaker 5.02, para la generación del instalador de la aplicación.

Page 52: T O M O I - UG

33

Presupuesto

Sabemos que la elaboración de un presupuesto es clave para la administración de

cualquier proyecto y consiste en la estimación con fundamentos sobre las necesidades en

términos monetarios para poder realizar el proyecto.

El presupuesto incluye un aspecto relativo a los rubros de gastos de operación (costode

materiales, movilización, honorarios, etc.), fácilmente deducibles de análisis

delcronograma y de la magnitud del proyecto de investigación.

RUBRO DE EGRESOS DOLARES

Suministros de Oficina 100.00

Fotocopias 20.00

Libros y documentos 50.00

Computadores 450.00

Servicios de Internet 120.00

Transporte 70.00

Refrigerio 35.00

Empastado y anillado 50.00

Servicios Básicos 30.00

Tutoría 1000.00

Analista-Programador 1000.00

Gatos imprevistos 300.00

TOTAL 3225.00

Tabla No. 6

Rubros de Egresos o Gastos.

Elaborado: Albert C. Arreaga C.

Fuente: Gastos en la elaboración del Proyecto.

Page 53: T O M O I - UG

34

Además de puntualizarse las fuentes de financiamiento del proyecto, es

convenienteindicar el número y tipo de especialistas necesarios, materiales y equipos que

se van aemplear. Al final de la lista de gastos constan imprevistos, al que he asignado

un10% de la suma de los gastos anteriores.

Financiamiento

El financiamiento de un proyecto se distribuye a través del tiempo de duración del

mismo, para poder cubrir los costos de desarrollo, de implementación, de mantención y

actualización.

La forma de financiamiento para el análisis, desarrollo e implementación de una

aplicación siempre viene dada en función del tiempo de estimado que conlleva cada una

de las tareas del cronograma de trabajo. Para el caso de este prototipo de aplicación, el

tiempo estimado es 120 días por lo que se divide en 5 etapas distribuidas en los

porcentajes y tiempos, como se muestran a continuación en el cuadro.

Page 54: T O M O I - UG

35

Columna1 FECHAS DESCRIPCION VALOR DIAS

1 Fecha 1 A la firma del contrato 1690.00 0

2 Fecha 2 A 45 días de la firma 633.75 45

3 Fecha 3 A 90 días de la firma 633.75 45

4 Fecha 4 A 110 días de la firma 633.75 45

5 Fecha 5 A 120 días de la firma 633.75 45

TOTALES 4225.00 180

Tabla No.7.

Tabla de financiamiento.

ELABORACION: Alberto C. Arreaga C.

Fuente: Elaboración de financiamientos de Proyectos en PanaceaSoft S.A.

Page 55: T O M O I - UG

36

Capítulo V

CONCLUSIONES Y RECOMENDACIONES

Page 56: T O M O I - UG

37

Conclusiones

Con el avance tecnológico, vemos que los Administradores de bases de Datos necesitan

poder contar con múltiples y diversas maneras de poder acceder remotamente al Servidor

de Bases de Datos para mantener un comunicación constante sobre las tareas o proceso

que se desarrollan a través de las diferentes aplicaciones existentes dentro de la

organización.

Sin embargo, el mismo Administrador de Bases de Datos, a pesar de contar con esas

herramientas para poder brindar un mejor soporte a los usuarios y a la administración de

la información, no quiere depender de una misma herramienta, sino tener alternativas que

le ayuden a dar soluciones inmediatas.

Para ello se pensó en este prototipo de aplicación, la cual puede ser ampliamente

explotada, ya que el correo electrónico, hoy en día, representa uno de los mayores

medios de comunicación entre las personas a través de una computadora, laptop o

teléfono móvil, que tenga acceso a internet.

Page 57: T O M O I - UG

38

Recomendaciones

Para un mejor manejo de esta herramienta se debe configurar la cuenta de correo el

mismo Administrador de Sistemas de información, ya que es la persona que estará a

cargo de esta aplicación y será el responsable de las sentencias que se ejecuten a través

de la misma.

Esta aplicación debe iniciarse una vez que el equipo de servidor de Bases de Datos este

levantados sus servicios, ya que a través de esta habrá la comunicación entre la cuenta de

correo y las tareas a ejecutar en la respectiva base.

Se recomienda tener un espacio físico lo suficientemente amplio, destinado para las

copias de seguridad de las bases, y de los archivos de información de la aplicación. Los

cuales deberán ser de uso exclusivo para el administrador de la herramienta.

Page 58: T O M O I - UG

39

ANEXOS

Tomo I

Page 59: T O M O I - UG

40

Anexo 1

LEY DE COMERCIO ELECTRÓNICO, FIRMAS ELECTRÓNICAS

YMENSAJES DE DATOS

Título I

DE LOS MENSAJES DE DATOS

Capítulo I

PRINCIPIOS GENERALES

Art. 2.- Reconocimiento jurídico de los mensajes de datos.- Los mensajes de

datostendrán igual valor jurídico que los documentos escritos. Su eficacia, valoración

yefectos se someterá al cumplimiento de lo establecido en esta Ley y su reglamento.

Art. 3.- Incorporación por remisión.- Se reconoce validez jurídica a la información

nocontenida directamente en un mensaje de datos, siempre que figure en el mismo,

enforma de remisión o de anexo accesible mediante un enlace electrónico directo y

sucontenido sea conocido y aceptado expresamente por las partes.

Art. 4.- Propiedad Intelectual.- Los mensajes de datos estarán sometidos a las

leyes,reglamentos y acuerdos internacionales relativos a la propiedad intelectual.

Art. 5.- Confidencialidad y reserva.- Se establecen los principios de confidencialidady

reserva para los mensajes de datos, cualquiera sea su forma, medio o intención.

Todaviolación a estos principios, principalmente aquellas referidas a la intrusión

Page 60: T O M O I - UG

41

electrónica,transferencia ilegal de mensajes de datos o violación del secreto profesional,

serásancionada conforme a lo dispuesto en esta Ley y demás normas que rigen la

materia.

Art. 6.- Información escrita.- Cuando requiera u obligue que la información conste

porescrito, este requisito quedará cumplido con un mensaje de datos, siempre que

lainformación que éste contenga sea accesible para su posterior consulta.

Art. 7.- Información original.- Cuando requiera u obligue que la información

seapresentada o conservada en su forma original, este requisito quedará cumplido con

unmensaje de datos, si siendo requerido conforme a la Ley, puede comprobarse que

haconservado la integridad de la información, a partir del momento en que se generó

porprimera vez en su forma definitiva, como mensaje de datos.

Se considera que un mensaje de datos permanece íntegro, si se mantiene completo

einalterable su contenido, salvo algún cambio de forma, propio del proceso

decomunicación, archivo o presentación.

Por acuerdo de las partes y cumpliendo con todas las obligaciones previstas en esta

Ley,se podrán desmaterializar los documentos que por ley deban ser

instrumentadosfísicamente.

Los documentos desmaterializados deberán contener las firmas

electrónicascorrespondientes debidamente certificadas ante una de las entidades

Page 61: T O M O I - UG

42

autorizadas segúnlo dispuesto en el artículo 29 de la presente ley, y deberán ser

conservados conforme alo establecido en el artículo siguiente.

Art. 8.- Conservación de los mensajes de datos.- Toda información sometida a esta

Ley, podrá ser conservada; éste requisito quedará cumplido mediante el archivo

delmensaje de datos, siempre que se reúnan las siguientes condiciones:

a. Que la información que contenga sea accesible para su posterior consulta;

b. Que sea conservado con el formato en el que se haya generado, enviado orecibido, o

con algún formato que sea demostrable que reproduce con exactitudla información

generada, enviada o recibida;

c. Que se conserve todo dato que permita determinar el origen, el destino delmensaje, la

fecha y hora en que fue creado, generado, procesado, enviado,recibido y archivado; y,

d. Que se garantice su integridad por el tiempo que se establezca en el reglamento aesta

ley.

Toda persona podrá cumplir con la conservación de mensajes de datos, usando

losservicios de terceros, siempre que se cumplan las condiciones mencionadas en

esteartículo.

La información que tenga por única finalidad facilitar el envío o recepción del mensajede

datos, no será obligatorio el cumplimiento de lo establecido en los literalesanteriores.

Art. 9.- Protección de datos.- Para la elaboración, transferencia o utilización de basesde

datos, obtenidas directa o indirectamente del uso o transmisión de mensajes de datos,se

Page 62: T O M O I - UG

43

requerirá el consentimiento expreso del titular de éstos, quien podrá seleccionar

lainformación a compartirse con terceros.

La recopilación y uso de datos personales responderá a los derechos de

privacidad,intimidad y confidencialidad garantizados por la Constitución Política de la

República yesta ley, los cuales podrán ser utilizados o transferidos únicamente con

autorización deltitular u orden de autoridad competente.

No será preciso el consentimiento para recopilar datos personales de fuentes accesiblesal

público, cuando se recojan para el ejercicio de las funciones propias de laadministración

pública, en el ámbito de su competencia, y cuando se refieran a personasvinculadas por

una relación de negocios, laboral, administrativa o contractual y seannecesarios para el

mantenimiento de las relaciones o para el cumplimiento del contrato.

El consentimiento a que se refiere este artículo podrá ser revocado a criterio del titularde

los datos; la revocatoria no tendrá en ningún caso efecto retroactivo.

Art. 10.- Procedencia e identidad de un mensaje de datos.- Salvo prueba en

contrariose entenderá que un mensaje de datos proviene de quien lo envía y, autoriza a

quien lorecibe, para actuar conforme al contenido del mismo, cuando de su verificación

existaconcordancia entre la identificación del emisor y su firma electrónica, excepto en

lossiguientes casos:

a. Si se hubiere dado aviso que el mensaje de datos no proviene de quien constacomo

emisor; en este caso, el aviso se lo hará antes de que la persona que lorecibe actúe

Page 63: T O M O I - UG

44

conforme a dicho mensaje. En caso contrario, quien conste comoemisor deberá justificar

plenamente que el mensaje de datos no se inició pororden suya o que el mismo fue

alterado; y,

b. Si el destinatario no hubiere efectuado diligentemente las

verificacionescorrespondientes o hizo caso omiso de su resultado.

Art. 11.- Envío y recepción de los mensajes de datos.- Salvo pacto en contrario,

sepresumirá que el tiempo y lugar de emisión y recepción del mensaje de datos, son

lossiguientes:

a. Momento de emisión del mensaje de datos.- Cuando el mensaje de datos ingreseen un

sistema de información o red electrónica que no esté bajo control delemisor o de la

persona que envió el mensaje en nombre de éste o del dispositivoelectrónico autorizado

para el efecto;

b. Momento de recepción del mensaje de datos.- Cuando el mensaje de datosingrese al

sistema de información o red electrónica señalado por el destinatario.

Si el destinatario designa otro sistema de información o red electrónica, elmomento de

recepción se presumirá aquel en que se produzca la recuperacióndel mensaje de datos. De

no haberse señalado un lugar preciso de recepción, seentenderá que ésta ocurrecuando el

mensaje de datos ingresa a un sistema deinformación o red electrónica del destinatario,

independientemente de haberserecuperado o no el mensaje de datos; y,

Page 64: T O M O I - UG

45

c. Lugares de envío y recepción.- Los acordados por las partes, sus domicilioslegales o

los que consten en el certificado de firma electrónica, del emisor y deldestinatario. Si no

se los pudiere establecer por estos medios, se tendrán portales, el lugar de trabajo, o

donde desarrollen el giro principal de sus actividadeso la actividad relacionada con el

mensaje de datos.

Art. 12.- Duplicación del mensaje de datos.- Cada mensaje de datos será

consideradodiferente. En caso de duda, las partes pedirán la confirmación del nuevo

mensaje ytendrán la obligación de verificar técnicamente la autenticidad del mismo.

Page 65: T O M O I - UG

46

Anexo 2

Modelo de Encuesta realizada para el desarrollo de la aplicación Se anexa el formato de la encuesta que se realizó a la muestra, para conocimiento e

información sobre el desarrollo del prototipo de aplicación para la administración de los

respaldos de bases de datos MS Sql Server 2005, mediante envió de correos electrónicos

a través de una cuenta de correo.

Los resultados de la misma, se detalla en los gráficos de la unidad correspondiente, para

su análisis y posterior toma de decisiones.

Page 66: T O M O I - UG

47

UEG-CISC

Encuesta

Lee detenidamente las preguntas y responde con una X en el cuadro correspondiente

1.- ¿Cúal es el tipo de empresa en la que trabaja?

Comercial

industrial

Servicios

Otra

2.- ¿Dentro del Dpto de sistemas, en que área se desenvuelve usted?

Mantenimiento

Programación

Base de Datos

Administrador de la Red

Soporte a Usuario

3.- ¿Qué tareas realiza con herramientas de Acceso Remoto y cuáles utiliza?

4.- ¿Cómo beneficiaría en el desenvolvimiento de sus tareas de administración de respaldos, una aplicación que mediante

envío de mensajes, procese y realice el aviso de confirmación o advertencia por la misma vía, sobre los respaldos de

las Bases de Datos?

5.- ¿Bajo de que ambiente de desarrollo estan realizadas sus aplicaciones?

Ambiente Web

Ambiente Desktop

Otras

6.- ¿Enumere que Sistema Operativo emplean en su organización y en que versiones manejan?

7.- ¿Qué motor de Base de Datos emplea para guardar la imformacion de la empresa, indique la versión?

MS SQL Server

Oracle

MySql

SyBase

PostgreSQL

Otras

8.- ¿Enumere el lenguaje de programación de desarrolladas la/as aplicaciones empleadas en la empresa?

Gráfico No. 9.

Formato de encuesta

Elaborado: Alberto C. Arreaga C.

Fuente: Guia de Proyecto CISC.

Page 67: T O M O I - UG

48

BIBLIOGRAFÍA

Page 68: T O M O I - UG

49

Bibliografía

Libros

Fases para el desarrollo de un sistema, Ingeniería de Software, un enfoque práctico,

5ta. Edición, Roger S. Pressman.

Desarrollo de Diagramas de Caso de Uso, Tesis de Grado T-7, Portal Inteligente,

Febrero 18 del 2005, desarrollada por J. Rodríguez, A. Agana, D. Del Pino, F.

Fernández.

Desarrollo del Manual Técnico, Proyecto de Grado PG-116, Portal de Ventas de

Supermercado por Internet manejando Pedidos y Listas de Compras recurrentes

por Usuario, Febrero 7 del 2008, desarrollado por E. Avilés, E. Loaiza, B. Macías.

Page 69: T O M O I - UG

50

Desarrollo del Manual de Usuario, Proyecto de Grado PG-276, Desarrollo de un

Sistema de Votaciones Electrónicas, Mayo 17 del 2010, desarrollada por A. Vásquez,

A. Aroni, S. Rosales.

Publicaciones

Ley de Comercio Electrónico, Firmas Electrónicas y Mensajes de Datos, Congreso

Nacional del Ecuador, Ley 2002-67 (Registro Oficial 557-S, 17-IV-2002).

Direcciones Web

Componente OSPOP3.dll,.http://www.ostrosoft.com

Código Fuente sobre el manejo de entradas de registro, MS Visual Basic

6.0:http://www.recursosvisualbasic.com.ar

Page 70: T O M O I - UG

51

Código Fuente sobre el manejo de archivos inicio, MS Visual Basic 6.0:

http://www.foro.vb-mundo.com

Código Fuente sobre el manejo de las API de Windows, MS Visual Basic 6.0:

http://www.canalvisualbasic.net

Código Fuente sobre el manejo de Envío de correo SMTP, MS Visual Basic 6.0:

http://www.elguille.info/vb/default.aspx

Como desarrollar una tesis: http://www.monografias.com

Sentencias de Respaldo, ayuda cobre los comandos para lograr un respaldo:

http://msdn.microsoft.com/es-es/library/ms186865%28v=SQL.90%29.aspx

Sentencias de Restauración, ayuda sobre los comandos para lograr una restauración:

http://msdn.microsoft.com/es-es/library/ms186858%28v=SQL.90%29.aspx

Page 71: T O M O I - UG

I

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

T O M O II

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: ALBERTO CARLOS ARREAGA CAMPOVERDE

TUTOR: JOSÉ LUIS RODRÍGUEZ

GUAYAQUIL – ECUADOR

2010

Page 72: T O M O I - UG

II

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: ALBERTO CARLOS ARREAGA CAMPOVERDE

TUTOR: JOSÉ LUIS RODRÍGUEZ

GUAYAQUIL – ECUADOR

2010

Page 73: T O M O I - UG

III

Guayaquil, 3 de Marzo del 2011.

APROBACIÓN DEL TUTOR

En mi calidad de Tutor del trabajo de investigación, “ADMINISTRACIÓN DE LOS

RESPALDOS DE BASE DE DATOS SQL SERVER 2005 MEDIANTE EL ENVÍO

DE MESAJES DE CORREO A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN

Y LA CUENTA DE CORREO ”, elaborado por el Sr. ALBERTO CARLOS

ARREAGA CAMPOVERDE, egresado de la Carrera de Ingeniería en Sistemas

Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad Estatal

de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas

Computacionales, me permito declarar que luego de haber orientado, estudiado y

revisado, la

Apruebo en todas sus partes.

Atentamente:

__________________________

Ing. JOSÉ LUIS RODRÍGUEZ

TUTOR

Page 74: T O M O I - UG

IV

DEDICATORIA

Dedico este proyecto de tesis a mi madre, que

ha sido un pilar fundamental en el recorrido de

esta vida, ya que sin ella jamás hubiese podido

conseguir lo que hasta ahora he logrado.

También dedico este proyecto a mi esposa, que

ha sido una compañera inseparable durante

cada jornada de estudio, ella representó un gran

apoyo en esos momentos de declive y

cansancio. A una pequeña mujer, mi hija, que

fue la inspiración para poder culminar con este

proyecto mi carrera universitaria que un día

inicie.

Page 75: T O M O I - UG

V

AGRADECIMIENTO

Agradezco en primer lugar a Dios, que me ha

permitido llegar hasta esta etapa de mi vida, y

así poder cumplir con la meta propuesta. En

segundo lugar a mi familia, mi madre, mi

esposa, mi hija, mis suegros, por haberme

apoyado de manera incondicional en las

diferentes etapas de estudio y poder haber

llegado a donde ahora estoy, a mi tutor de tesis,

que me brindo su ayuda y conocimientos a lo

largo de la etapa del Curso de Fin de Carrera. A

la Carrera por haberme acogido e iniciado en

los conocimientos que ahora tengo.

Page 76: T O M O I - UG

VI

TRIBUNAL DE GRADO

_______________________________

Dr. José Júpiter Wiles SECRETARIO

_______________________________

Ing. Héctor Lara MIEMBRO DEL TRIBUNAL

_______________________________

Ing. Barcia MIEMBRO DEL TRIBUNAL

_______________________________

Ing. Fernando Abad Montero DECANO DE LA FACULTAD

CIENCIAS MATEMATICAS Y FISICAS

_______________________________

Ing. Juan Chanabá Alcócer DIRECTOR

CARRERA DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

_______________________________

Ing. José Luis Rodríguez MIEMBRO DEL TRIBUNAL

TUTOR

Page 77: T O M O I - UG

VII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS

SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO

DE APLICACIÓN Y LA CUENTA

DE CORREO

Proyecto de trabajo de grado que se presenta como requisito para optar por el título de

INGENIERO EN SISTEMAS COMPUTACIONALES

Autor : Alberto Carlos Arreaga Campoverde

C.I.: 0918791914

Tutor : José Luis Rodríguez

Guayaquil, 3 de Marzo del 2011.

Page 78: T O M O I - UG

VIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DECLARACIÓN BAJO JURAMENTO

Yo, ALBERTO CARLOS ARREAGA CAMPOVERDE , de nacionalidad.

ECUATORIANO mayor de edad, con domicilio en: COOP. COLINAS DE

MAPASINGUE 3, MZ. 450 – SL. 12, de la ciudad de GUAYAQUIL , en

cumplimiento a lo dispuesto en el Reglamento de Graduación e Incorporación de la

Facultad, expreso: Que advertido de la pena de perjurio y de la responsabilidad penal,

JURO en honor a la verdad, no encontrarme en estado de insolvencia, ni haber sido

llamado a juicio plenario, ni que se hubiere dictado en mi contra auto motivado o

sentencia condenatoria; o haber perdido los derechos de ciudadanía, ni haber sido

declarado interdicto.

________________________________

ALBERTO CARLOS ARREAGA CAMPOVERDE

AUTOR

Page 79: T O M O I - UG

IX

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del Primer Curso de Fin de Carrera, nombrado por el

Departamento de Graduación y la Dirección de la Carrera de Ingeniería en Sistemas

Computacionales de la Universidad de Guayaquil,

CERTIFICO:

Que he analizado el Proyecto de Grado presentado por el egresado ALBERTO

CARLOS ARREAGA CAMPOVERDE, como requisito previo para optar por el título de

Ingeniero cuyo problema es: “ADMINISTRACIÓN DE LOS RESPALDOS DE

BASESE DE DATOS SQL SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES

DE CORREO A TRAVÉS DE UN PROTOTIPO DE APLICACIÓN Y LA

CUENTA DE CORREO”, considero aprobado el trabajo en su totalidad.

Presentado por:

Tutor: José Luis Rodríguez

Guayaquil, 3 de Marzo del 2011.

________________________

Alberto Carlos Arreaga Campoverde

________________________

Cédula de ciudadanía N°

Page 80: T O M O I - UG

X

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASE DE DATOS SQL

SERVER 2005 MEDIANTE EL ENVÍO DE MESAJES DE CORREO A TRAVÉS

DE UN PROTOTIPO DE APLICACIÓN Y LA CUENTA DE CORREO

Autor: ALBERTO CARLOS ARREAGA CAMPOVERDE

Tutor: JOSÉ LUIS RODRÍGUEZ

RESUMEN

Este proyecto fue desarrollado basado en la necesidad de una nueva forma de conexión

remota entre el DBA o profesional de Sistemas, que necesita resolver problemas con

respecto a los respaldos y restauraciones de Bases de Datos, y poder resolver situaciones

que se llegasen a presentar sobre todo cuando él se encuentra fuera de su área de trabajo.

Mediante este prototipo de aplicación se podrá, a través de un formato de mensaje, enviar

un correo para realizar una tarea determinada como respaldo o restauración de una base

de datos que se necesite realizar.

Page 81: T O M O I - UG

XI

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

ADMINISTRACIÓN DE LOS RESPALDOS DE BASES DE DATOS SQL

SERVER 2005 MEDIANTE EL ENVÍO DE MENSAJES DE CORREO A

TRAVÉS DE UNPROTOTIPO DE APLICACIÓN Y UNA CUENTA DE CORREO

ABSTRACT

This project was developed based on the need for a new form of remote connection

between the DBA or systems professional, you need to solve problems regarding the

backup and restore databases, and solve situations that tend to present mainly when he is

outside their area of work. Using this prototype application can be through a message

format, send an email to perform a particular task as a backup or restore a database that

needs to perform.

Page 82: T O M O I - UG

XII

ÍNDICE

CARÁTULA I

CARTA DE ACEPTACIÓN DEL TUTOR III

DEDICATORIA IV

AGRADECIMIENTO V

TRIBUNAL DE GRADO VI

CERTIFICADO DE ACEPTACIÓN DEL TUTOR VII

DEDCLARACIÓN BAJO JURAMENTO VIII

RESUMEN EN ESPAÑOL IX

RESUMEN EN INGLÉS X

ÍNDICE XI

ÍNDICE GENERAL XII

ÍNDICE DE CUADROS XII

ÍNDICE DE GRÁFICOS XVIII

INTRODUCCIÓN 1

Page 83: T O M O I - UG

XIII

ÍNDICE GENERAL

CAPÍTULO 1.- MANUAL TÉCNICO 2

Introducción 3

Diagrama General de flujo del Sistema 4

Diagrama de Flujo de Datos 5

Diagramas de casos de Usos 6

Configuración 6

Envío de Correo 7

Recepción de Correo 8

Ejecución de Tarea 9

Descripción de Escenarios 10

Configuración de la aplicación 10

Configuración de la aplicación incorrecta 11

Envío de Correo 12

Recepción de Correo Válido 13

Page 84: T O M O I - UG

XIV

Lectura de Correo con mensaje inválido 14

Ejecución de tarea sin error 15

Ejecución de tarea con error 16

Diagrama de Objetos 17

Ejecutar la tarea de Respaldo o Restauración 17

Conexión con la Base de Datos 18

Lectura de mensajes de la cuenta de correo 19

Envío de confirmación o mensaje de Error 20

Diagrama de Clases 21

Clase para el registro de las variables 21

Clase para la conexión con la Base dee Datoas 22

Clase para la conexión con la cuenta de correo 23

Clases del Componente OSPOP3 24

Procedimientos y Funciones 28

Función Func_ConsultaValor 28

Page 85: T O M O I - UG

XV

Función Func_EstableceValor 29

Función Func_CrearNuevaClave 30

Función Func_ConexionServidorDB 31

Procedimiento Proc_AbrirConexionDB 32

Procedimiento Proc_CerrarConexion 33

Función Func_ConsultaParametros 34

Función Func_GrabarParametros 35

Función Func_extraeCadena 36

Función Func_Validar_Correo 37

Función Func_Ultimas_Clave 40

Procedimineto Proc_Registor_Historial_Clave 41

Función Func_AvisoCambioClave 43

Función Func_ENVÍOCorreo 45

Función Func_ProcesaCorreo 47

Función Func_ProcesaMensaje 50

Page 86: T O M O I - UG

XVI

Descripción de las Herramientas 65

MS Visual Studio 6.0 65

MS SQL Server 2005 66

Cuenta de Correo (Yahoo-Gmail) 67

Sistema Operativo 67

CAPÍTULO II.- MANUAL DE USUARIO 68

Introducción 69

Inicio de Sesión 69

Cambio de contraseña 70

Pantalla Principal 71

Configuración 72

Respaldos 74

Seguridades 75

Formato de Mensajes de correo 78

Formato de Tarea de respaldo completa 80

Page 87: T O M O I - UG

XVII

Formato de Tarea de respaldo diferencial 80

Formato de Tarea de restauración completa 81

Formato de Tarea de restauración completa y Diferencial 82

Formato de Creación de tareas programadas 83

ANEXOS 85

Componente OSPOP3 86

BIBLIOGRÁFIA 88

Libros 89

Publicaciones 90

Direcciones Web 90

Page 88: T O M O I - UG

XVIII

ÍNDICE DE CUADROS

Cuadro 1 Escenario de Configuración correcta . 10

Cuadro 2 Escenario de Configuración incorrecta . 11

Cuadro 3 Caso de Uso del envío de correo 12

Cuadro 4 Caso de uso de la recepción. 13

Cuadro 5 Caso de uso de lectura de correo 14

Cuadro 6 Caso de uso de Ejecución de tarea 15

Cuadro 7 Caso de uso de Ejecución de tarea con error 16

Cuadro 8 Clase Registro 21

Cuadro 9 Clase Conexión 22

Cuadro 10 Clase Session 24

Cuadro 11 Clase Email 25

Cuadro 12 Clase MessageListEntry 25

Cuadro 13 Clase Header 26

Cuadro 14 Clase Message 26

Page 89: T O M O I - UG

XIX

Cuadro 15 Clase Attachment 26

Cuadro 16 Diccionario de Datos 29

Cuadro 17 Licencias de componente OSPOP3 90

Page 90: T O M O I - UG

XX

ÍNDICE DE GRÁFICOS

Gráfico 1 Diagrama de flujo de sistema 4

Gráfico 2 Diagrama de flujo de datos 5

Gráfico 3 Caso de Uso de configuración 6

Gráfico 4 Caso de Uso de Envío de Correo 7

Gráfico 5 Caso de Uso de Recepción de correo 8

Gráfico 6 Caso de Uso de Ejecución de tarea 9

Gráfico 7 DIO de Ejecución de tarea 17

Gráfico 8 DIO de Conexión a la Base de Datos 18

Gráfico 9 DIO de Lectura de mensaje 19

Gráfico 10 DIO de Envío de mensaje 20

Gráfico 11 Diagrama de la clase OSPOP3 23

Gráfico 12 Pantalla de Inicio de Sesión 71

Gráfico 13 Pantalla de Inicio de Sesión, cambio de contraseña 72

Gráfico 14 Pantalla principal 73

Page 91: T O M O I - UG

XXI

Gráfico 15 Pantalla de registro de parámetros de correo 75

Gráfico 16 Pantalla de Configuración de respaldos 77

Gráfico 17 Pantalla de configuración de seguridad 78

Gráfico 18 Pantalla de Recepción de mensajes de correo 79

Gráfico 19 Pantalla de Ayuda de la aplicación 80

Gráfico 20 Pantalla de Envío de correo desde GMail 81

Gráfico 21 Tareas de la aplicación 82

Page 92: T O M O I - UG

1

Introducción

En la actualidad en las grandes empresas podemos encontrar un DBA (Administrador de

Bases de Datos) el cual cuenta con las herramientas y conocimientos para una correcta

administración del motor de base implementada en su respectiva organización y bajo la

cual se encuentran desarrolladas sus aplicaciones. Pero en las pequeñas y medianas

empresas no existe una persona especializada en Bases de Datos, sino que muchas de las

veces existen una o varias personas que realizan múltiples tareas dentro del

Departamento de Sistemas, y ello concurre a que no se pueda obtener un excelente

rendimiento de la Dase de Datos que se administre, realizándose simplemente tareas

básicas y elementales aprendidas en las aulas de la universidad o leídas en un libro al

momento de cursar la materia de Bases de Datos.

También se da que un DBA, siempre que ocurra algún problema con la Base de datos, ya

sea por respaldo o restauración de datos, este deba conectarse a través de alguna

herramientas de acceso remoto como son: Teamviewer, LogMeIn, Real VNC y otros,

para poder dar asistencia en las eventualidades ocurridas cuando él no se encuentra en el

lugar de los hechos, siempre y cuando ambos equipos que existen en los extremos del

acceso remoto cuenten con la herramienta instalada localmente. Es allí que surge el

inconveniente en caso de no se cuente con los medios para el acceso remoto, que el DBA

o profesional de Sistemas, deba trasladarse personalmente al lugar de los hechos.

Page 93: T O M O I - UG

2

Capítulo I

MANUAL TECNICO

Page 94: T O M O I - UG

3

Introducción

El propósito de todo manual técnico es proporcionar la información necesaria y

suficiente, para guiar al profesional del área de Sistemas, tanto el Analista como el

Programador, para su revisión y conocimientos de cómo fue analizado, diseñado y

programado este prototipo de aplicación y poder en cualquier momento poder realizar

una actualización a partir de la información contenida, y así adaptarla mas a los

requerimientos de la empresa que implemente esta aplicación.

Adicionalmente, se describe detalladamente las características físicas y técnicas de cada

elemento que se utiliza en esta aplicación.

Page 95: T O M O I - UG

4

Diagrama General del Flujo del Sistema

Aquí se representa de manera gráfica el flujo de datos a través del sistema de

información.

También se puede visualizar el procesamiento de datos de manera simplificada o

detallada.

Realizar este tipo de diagramas es muy común entre los diseñadores, ya que con ello

dibujan un contexto a nivel de diagramas, en el que primero muestra la interacción entre

el sistema y las entidades externas.

Base de

Datos 2

Cuenta

de

Correo

PC -

Celular

Aplicación

Base de

Datos 1

Gráfico No. 1. Diagrama de Flujo del Sistema.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Page 96: T O M O I - UG

5

Diagrama de Flujo de Datos

Gráfico No. 2. Diagrama de Flujo de Datos.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Envío de correo

¿Existe

cuenta

de correo?

Revisión Contenido

de correo

¿Existe

Palabra

Reservada?

Ejecuta la tarea

correspondiente

Confirmación del estado de

la ejecución de la tarea

Envío de mensaje al correo

a la cuenta

Ignorar el

contenido del

No ejecuta

tarea alguna

¿Tarea

Realizada?

Envía mensaje de

error de la tarea

NO

SI

NO

NO

SI

SI

¿Esta correcto

Usuario y

Contraseña?

Emitir mensaje de usuario

y contraseña inválidas NO

SI

Page 97: T O M O I - UG

6

Diagrama de Casos de Usos

Configuración

Este proceso consiste en la configuración inicial de los parámetros o variables para el

desenvolvimiento de la aplicación.

Este es uno de los escenarios más importantes ya que si los parámetros no está

completamente correctos y registrados, el proceso de lectura de correo y ejecución de las

tareas de respaldo y/o restauración, no lograrán los objetivos esperados.

Configuración de parámetros iniciales

Elaboración: Alberto Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Gráfico No. 3. Caso de Uso de Configuración.

Page 98: T O M O I - UG

7

Envío de correo

Este proceso consiste en el envío del mensaje del correo en el formato establecido, desde

la cuenta de correo permitida para el procesamiento de la tarea.

Este escenario consiste en que el administrador envíe sus solicitudes a través de la cuenta

de correo, conforme el formato de la tarea a realizar que se definió.

Envió de correo a la

cuenta

Gráfico No. 4. Caso de Uso de Envío de Correo.

Elaboración: Alberto Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Page 99: T O M O I - UG

8

Recepción de correo

Este proceso consiste en la lectura de los correos desde la cuenta de la aplicación y que

procesará los mensajes recibidos de la cuenta permitida, revisar el contenido del mensaje

y el posterior procesamiento de la respectiva tarea.

Gráfico No. 5. Caso de Uso de Recepción de Correo.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Lectura de correo

desde la cuenta

Revisión del cuerpo del

mensaje

Envío de la tarea de

ejecución a la base de

datos

Page 100: T O M O I - UG

9

Ejecución de tareas

Este proceso se encarga de la ejecución de la tarea de respaldo o restauración, de la base,

una vez que ha cumplido todas las exigencias para su final procesamiento.

En este escenario empieza una vez que ha sido comprobado el formato de tarea, pasa a

realizar la correspondiente tarea solicitada, ya sea esta la de realizar un respaldo de la

base o restaurar una base de datos.

Gráfico No. 6. Casos de Uso de Ejecución de tareas.

Elaboración: Alberto Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Ejecución de tareas

de Respaldo

Page 101: T O M O I - UG

10

Descripción de los Escenarios

Configuración de la aplicación

Nombre 1.1.- Configuración de la aplicación

Objetivo Configurar parámetros de la aplicación

Descripción El administrador del sistema deberá parametrizar variables iniciales para la

ejecución de la aplicación.

Datos

específicos

• Configurar la cuenta de correo a la que se envía las respuestas.

• La misma cuenta servirá para leer las instrucciones a realizar.

• Configuración de las bases sobre las cuales se ejecutaran tareas de

respaldos.

Intervalo Sólo presente.

Estabilidad Alta

Comentario El desenvolvimiento de la aplicación depende de la correcta configuración

de los parámetros iniciales.

Tabla No. 1. Escenario de Configuración correcta.

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Page 102: T O M O I - UG

11

Configuración de la aplicación Incorrecta

Tabla No. 2. Escenario de Configuración Incorrecta.

Nombre 1.2.- Configuración de la aplicación Incorrecta.

Objetivo Configurar parámetros incorrectos de la aplicación.

Descripción

En el caso de que el administrador del sistema parametrice las variables

iniciales erroneamente, la ejecución de la aplicación no será confiable al

momento de realizar las tareas de respaldos.

Datos

específicos

• Configurar la cuenta de correo equivocada o mal descrita.

• Mala descripción del nombre del Servidor de Datos.

• Mala elección de las bases sobre las cuales se ejecutaran tareas de

respaldos.

• Mala asignación de usuario y clave para que pueda ejecutar las tareas

de respaldo vía correo electrónico.

Intervalo Sólo presente.

Estabilidad Alta

Comentario El desenvolvimiento de la aplicación depende de la correcta configuración

de los parámetros iniciales.

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Page 103: T O M O I - UG

12

Envío de Correo

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Tabla No. 3. Caso de uso del Envío de correo.

Nombre 2.1.- Envío de Correo

Objetivo Envío del correo con una determinada instrucción para la generación

de los respaldos de la base.

Descripción El envío del correo deberá incluir una palabra clave dentro del cuerpo

del mensaje, la cual será procesa para luego ser enviada la instrucción

de ejecución sobre los respaldos.

Datos

específicos

• Envío del correo por parte del DBA.

• Dentro del correo se enviará una palabra clave para la ejecución

de la tarea.

• Esperar la confirmación de la recepción y ejecución de la tarea.

Intervalo Sólo presente.

Estabilidad Alta

Comentario Se deberá tener en cuenta las palabras reservadas para el lenguaje

SQL, que son conocidas por un DBA.

Page 104: T O M O I - UG

13

Recepción de Correo Válido

Tabla No. 4. Caso de uso de la recepción.

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Nombre 3.1.- Recepción de Correo Válido

Objetivo Leer el correo desde una cuenta determinda en la configuración de los

parámetros iniciales.

Descripción Recibir el correo de una cuenta determinada, procesar el contenido del

mensaje para evaluar la palabra reservada que dará paso a la ejecución

de una tarea de respaldo.

Datos

específicos

• Lectura del mensaje desde la aplicación.

• Procesar el contenido del mensaje.

• Envío de la instrucción para la ejecución de la respectiva tarea de

respaldo.

Intervalo Sólo presente.

Estabilidad Alta

Comentario Una vez que se procesa el contenido del mensaje se dará paso a la

ejecución de la tarea de respaldo.

Page 105: T O M O I - UG

14

Lectura de Correo con mensaje invalido

Tabla No. 5. Caso de uso lectura de correo.

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Nombre 3.2- Lectura de Correo con mensaje invalido

Objetivo Leer el contenido del correo de la cuenta con un mensaje que no

va a realizar tarea alguna.

Descripción Al recibir el correo con el contenido del mensaje no válido para

la ejecución de alguna tarea de respaldo, se ignorará el mensaje.

Datos

específicos

• Revisar el contenido del mensaje.

• Comprobar la existencia de palabras reservadas.

• Ignorar el correo.

Intervalo Sólo presente.

Estabilidad Alta

Comentario No se enviará ninguna respuesta ya que al no existir las palabras

reservadas para la ejecución de tareas no se debe notificar.

Page 106: T O M O I - UG

15

Ejecución de Tareas sin error

Tabla No. 6. Caso de Uso de ejecución de tarea.

Elaboración: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Nombre 4.1.- Ejecución de Tareas sin error

Objetivo

Ejecutar la correspondiente tarea de respaldo, según el contenido

del mensaje leído.

Descripción Ejecutar la tarea de respaldo sobre el motor de la base de datos.

Datos

específicos

• Ejecución de los respaldos de datos como:

• Respaldos completos.

• Respaldos diferenciales.

• Respaldos del archivo log.

• Respaldos de los Archivos de datos y Grupos de datos

Intervalo Sólo presente.

Estabilidad Alta

Comentario

Una vez procesada la tarea de respaldo se enviará un correo de

confirmación de la tarea, caso contrario el estado de la ejecución

de la tarea.

Page 107: T O M O I - UG

16

Ejecución de Tareas con error

Tabla No. 7. Caso de uso al ejecutar una tarea con error

Elaborado: Alberto C. Arreaga C. Fuente: Etapa de diseño de la aplicación.

Nombre 4.2.- Ejecución de Tareas con error

Objetivo

Confirmar la no ejecución de la tarea por error en el proceso,

según sea el caso.

Descripción Se ejecuta un mensaje de error desde la Base de Datos.

Datos

específicos

• Ejecutar el servicio de mensaje desde SQL Server.

• Envío de mensaje descriptivo sobre el error producido al

ejecutar la tarea.

• Guardar una bitácora del error ocurrido.

Intervalo Sólo presente.

Estabilidad Alta

Comentario

Una vez procesada la ejecución de la tarea y esta no se pueda

realizar, se enviará un mensaje de correo sobre dicha tarea no

realizada.

Page 108: T O M O I - UG

17

Diagrama de Objetos

Ejecutar la Tarea de Respaldo o Restauración

Mail Conexión Respaldos

Comprobar

conexión

con la base Leer y

comprobar

la cuenta

Verificar y

ejecutar

tarea de

respaldo

Gráfico No. 7. DIO Ejecución de tarea.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Page 109: T O M O I - UG

18

Conexión con la Base de Datos

Mail Conexión Respaldos

Comprobar

conexión

con la base

No existe

comunicación

con Servidor

de Datos

Gráfico No. 8. DIO de conexión con la Base de Datos.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Page 110: T O M O I - UG

19

Lectura de Mensajes de la Cuenta de Correo

Mail Conexión Respaldos

Comprobar

conexión con

la base Leer y

comprobar

la cuenta

Ignorar

lectura de

mensaje

Gráfico No. 9. DIO de Lectura de mensaje.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Page 111: T O M O I - UG

20

Envío de confirmación o Mensaje de Error

Gráfico No. 10. DIO de Envío de mensaje.

Elaborado: Alberto C. Arreaga C. Fuente: Diseño del prototipo de la aplicación.

Mail Conexión Respaldos

Comprobar

conexión

con la base Leer y

comprobar

la cuenta

Verificar y

ejecutar

tarea de

respaldo

Envía mensaje

de error en la

ejecución de

la tarea

Page 112: T O M O I - UG

21

Diagrama de Clases

Clase para el Registro de las Variables

La clase Registro está desarrollada para el acceso a los variables de registros que se

necesitan tener guardadas para el buen desenvolvimiento de la aplicación. Esta clase no

ayudará a poder obtener los datos en cualquier instancia en que se requiera el contenido

del valor de cualquiera de las claves de la aplicación.

DclsRegistro

Tipo

Func_ConsultarValor Público

Func_CrearNuevaClave Público

Func_EliminarClave Público

Func_EliminarValor Público

Func_EstablecerValor Público

QueryValueEx Privado

SetValueEx Privado

GetRegErrorText Privado

Tabla No. 8. Clase Registro.

Elaborado: Alberto C. Arreaga C. Fuente: Clase DclsRegistro.

Page 113: T O M O I - UG

22

Clase para la Conexión con la Base de Datos

La clase Conexión está desarrollada para crear la conexión hacia el Servidor de Base de

Datos existente, así poder abrir y cerrar esta conexión en cualquier momento en que se

vaya a ejecutar las tareas por la aplicación.

DclsConexion

Tipo

Func_ConexionServidorDB Público

Proc_AbrirConexionDB Público

Proc_CerrarConexion Público

Errores Público

sCadConexion Público

adoConexion Público

sNomServidorDB Público

sNombreDB Público

sUsuarioDB Público

sContraseñaDB Público

sTipoConexionDB Público

Tabla No. 9. Clase Conexión.

Elaborado: Alberto C. Arreaga C. Fuente: Clase DclsConexion.

Page 114: T O M O I - UG

23

Clase para la Conexión con la Cuenta de Correo

La clase OsPop3 es componente desarrollado por la empresa OstroSoft, con el objetivo

de recuperar mensajes de correo electrónico mediante programación. Funciona para

cuentas de correos con servidores POP3. Soporta correo electrónico seguro (TLS / SSL),

correo electrónico (MIME) archivos adjuntos, correo HTML, cabeceras personalizadas,

objetos incrustados.

La versión utilizada es para Visual Basic 6.0. (Mas sobre este componente en el Anexo 1

de este Tomo II).

Attachmentt

Email

Header

Session

MessageListEntry

Message

OsPOP3

Gráfico No. 11. Diagrama de la Clase OSPOP3.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/.

Page 115: T O M O I - UG

24

Clases del OSPOP3

La clase Sesion es la de mayor jerarquía dentro del componente OSPOP3, con relación a

las demás clases sque conforman el componente, ya que mantiene la conexión directa

con el servidor de correo, a través de la cual se recupera las estadísticas del buzón de

entrada de la cuenta de correo, así como también la lista de mensajes que los recupera y/o

los elimina.

Session

Métodos Tipo

OpenPOP3 Público

ClosePOP3 Público

GetMessageList Público

DeleteMessage Público

GetMailboxSize Público

GetMessage Público

GetMessageCount Público

GetMessageHeaders Público

ResetSession Público

State Público

MailboxSize Público

MessageCount Público

DeleteMessage Público

Tabla No. 10. Clase Session.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

Page 116: T O M O I - UG

25

La clase Email se encarga del encabezado cada uno de los mensajes que llegan al buzón,

es decir del nombre y dirección del correo de quien remite el mensaje y los destinatarios.

La clase MessageListEntry contiene el tamaño del mensaje la posición del mensaje según

la llegada al buzón y el código del mensaje, que identifican los mensajes dependiendo de

su número ordinal del servidor de correo, es decir el UIDL.

Email

Métodos Tipo

Name Público

Address Público

Tabla No. 11. Clase Email.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

MessageListEntry

Métodos Tipo

UIDL Público

ID Público

Size Público

Tabla No. 12. Clase MessageListEntry.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

Page 117: T O M O I - UG

26

La clase Header se encarga del encabezado del mensaje, su contenido y valor.

La clase Message devuelve en sus 2 funciones el contenido una vez analizado el mensaje

de correo electrónico.

Header

Métodos Tipo

Name Público

Values Público

Tabla No. 13. Clase Header.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

Message

Métodos Tipo

Save Público

Sender.Name Público

Sender.Address Público

Recipients Público

RecipientsCC Público

UIDL Público

Headers Público

Body Público

Tabla No. 14. Clase Message.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

Page 118: T O M O I - UG

27

La clase Attachment se encarga de recoger los datos acerca de los archivos adjuntos,

nombre del archivo, el cuerpo, el tipo de archivo adjunto debido al intercambio de

información a través del internet, es decir el MIME, el tipo de codificación de los datos

adjuntos

Attachment

Métodos Tipo

Save Público

AttachmentName Público

Body Público

Filename Público

ContentType Público

ContentTransferEncoding Público

ContentDisposition Público

Tabla No. 15. Clase Attachment.

Elaborado: Alberto C. Arreaga C. Fuente: http://www.ostrosoft.com/POP3_component.asp

Page 119: T O M O I - UG

28

Diccionario de Datos

Un diccionario de datos es un conjunto de metadatos que contiene las características

lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa,

incluyendo nombre, descripción, alias, contenido y organización.

Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso

inmediato a la información, se desarrolla durante el análisis de flujo de datos y auxilia a

los analistas que participan en la determinación de los requerimientos del sistema, su

contenido también se emplea durante el diseño.

En un diccionario de datos se encuentra la lista de todos los elementos que forman parte

del flujo de datos de todo el sistema. Los elementos mas importantes son flujos de datos,

almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripción

de todos estos elementos.

Page 120: T O M O I - UG

29

Objeto Abrev. Module mod ClassModule cls Project pry Form frm MDIForm mdi

Objeto Abrev. SmartMenuXP smn Toolbar tlb XPButton cmd Label lbl StatusBar stb ListView lvw Frame fme Skin skn Timer tmr PictureBox pbx TextBox txt SSTab sst ComboBox cmb CheckBox chk Line lne CommandButton cmd

Objeto Abrev. Public g Private l Const const Function Func Sub Proc ClsRegistro oClsR

ClsConexion oClsC

String s Integer i Long l Control c Boolean b Error err Object obj

Tabla No. 16. Diccionario de Datos.

Elaborado: Alberto C. Arreaga C. Fuente:Herramienta Visual Basic 6.0.

Page 121: T O M O I - UG

30

Procedimientos y Funciones

Función Func_ConsultarValor

Se encuentra dentro de la clase DclsRegistro. Recibe 3 parámetros, el nombre de la

carpeta principal del Editor de Registro (HKEY_CURRENT_USER), el directorio o ruta

donde se encuentra el conjunto de valores de la clave

(Software\TesisGrado\Proyecto2010), dentro de esta clave se encuentran las subclaves

(Conexión, Correo, Parametro, Respaldo, Seguridad), y por último el nombre del valor.

Devuelve el contenido o información del valor de la clave que se solicita.

Public Function Func_ConsultarValor(lClave As Long, sNombre_Clave As _

String, sNombre_valor As String)

Dim lHandle_Clave As Long

Dim vValor As Variant

Dim lRet As Long

lRet = RegOpenKeyEx(lClave, sNombre_Clave, 0, KEY_ALL_ACCESS, lHandle_Clave)

lRet = QueryValueEx(lHandle_Clave, sNombre_valor, vValor)

ConsultarValor = Mid(Trim(vValor), 1, Len(vValor) - 1)

RegCloseKey (lHandle_Clave)

End Function

Page 122: T O M O I - UG

31

Función Func_ EstablecerValor

Se encuentra dentro de la clase DclsRegistro. Recibe 5 parámetros, el nombre de la

carpeta principal del Editor de Registro (HKEY_CURRENT_USER), el directorio o ruta

donde se encuentra el conjunto de valores de la clave

(Software\TesisGrado\Proyecto2010), dentro de esta clave se encuentran las subclaves

(Conexión, Correo, Parametro, Respaldo, Seguridad), el nombre del valor, el contenido o

información a guardar en el valor, y el tipo de valor (Alfanumérico, Binario, DWord,

Cadena múltiple). Establece un valor en el contenido o información del valor de la clave

que se envía.

Public Function EstablecerValor(lClave As Long, sNombre_Clave As String, _

sNombre_Valor As String, vEl_Valor As Variant, lTipo_Valor As Long)

Dim lRet As Long

Dim lHandle_Clave As Long

lRet = RegOpenKeyEx(lClave, sNombre_Clave, 0, KEY_ALL_ACCESS, lHandle_Clave)

lRet = SetValueEx(lHandle_Clave, sNombre_Valor, lTipo_Valor, vEl_Valor)

RegCloseKey (lHandle_Clave)

End Function

Page 123: T O M O I - UG

32

Función Func_ CrearNuevaClave

Se encuentra dentro de la clase DclsRegistro. Recibe 2 parámetros, el nombre de la

carpeta principal del Editor de Registro (HKEY_CURRENT_USER), el directorio o ruta

donde se grabará la clave (Software\TesisGrado\Proyecto2010), mas el nombre de la

subclave (Conexión, Correo, Parametro, Respaldo, Seguridad). Crea la subclave que se

envía.

Public Function CrearNuevaClave(lClave As Long, sNombre_Clave As String)

Dim sHandle_Clave As Long

Dim sRet As Long

sRet = RegCreateKeyEx(lClave, sNombre_Clave, 0&, vbNullString, _

REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0&, _

sHandle_Clave, sRet)

RegCloseKey (sHandle_Clave)

End Function

Page 124: T O M O I - UG

33

Función Func_ConexionServidorDB

Se encuentra dentro de la clase DclsConexion. En esta función se realiza el puente de

conexión hacia la base de datos dependiendo de la autenticación (Autenticación

Windows o Autenticación SQL) que se registro en la configuración de las variables.

Public Function Func_ConexionServidorDB() As Boolean

On Error GoTo fin

sCadConexion = ""

If sTipoConexionDB = "SQLS" Then

sCadConexion = sCadConexion & "Provider=SQLOLEDB.1;"

sCadConexion = sCadConexion & "Data Source=" & sNomServidorDB & ";"

sCadConexion = sCadConexion & "User ID =" & sUsuarioDB & ";"

sCadConexion = sCadConexion & "Password=" & sContraseñaDB & ";"

sCadConexion = sCadConexion & "DataBase=" & sNombreDB

ElseIf sTipoConexionDB = "WIND" Then

sCadConexion = sCadConexion & "Provider=SQLOLEDB.1;"

sCadConexion = sCadConexion & "Data Source=" & sNomServidorDB & ";"

sCadConexion = sCadConexion & "User ID =;"

sCadConexion = sCadConexion & "Password=;"

sCadConexion = sCadConexion & "DataBase=" & sNombreDB

End If

Page 125: T O M O I - UG

34

Procedimiento Proc_AbrirConexionDB

Se encuentra dentro de la clase DclsConexion. En esta función sirve para abrir la

conexión una vez que se armó la cadena de conexión.

sCadConexion = sCadConexion & "DataBase=" & sNombreDB

End If

Set adoConexion = New ADODB.Connection

adoConexion.ConnectionString = sCadConexion

adoConexion.ConnectionTimeout = 0

adoConexion.CommandTimeout = 0

adoConexion.Open

Func_ConexionServidorDB = True

Exit Function

fin:

msgERROR = msgERROR + " " + Err.Description

Func_ConexionServidorDB = False

End Function

Page 126: T O M O I - UG

35

Procedimiento Proc_CerrarConexion

Se encuentra dentro de la clase DclsConexion. En esta función sirve para cerrar la

conexión una vez que se haiga realizados las sentencias con la base de datos.

Public Sub Proc_AbrirConexionDB()

On Error GoTo fin

adoConexion.ConnectionString = sCadConexion

adoConexion.Open adoConexion.ConnectionString, "", ""

Exit Sub

fin:

msgERROR = msgERROR + " " + Err.Description

End Sub

Public Sub Proc_CerrarConexion()

On Error GoTo fin

adoConexion.Close

Exit Sub

fin:

msgERROR = msgERROR + " " + Err.Description

End Sub

Page 127: T O M O I - UG

36

Función Func_ConsultaParametros

Se encuentra dentro del Proyecto pryCorreo. Recibe 2 parámetros: el número de la

posición subclave, y el nombre del valor o entrada de registro a consulta. Devuelve el

contenido o información del valor a consulta.

Public Function fg_ConsultaParametros(sNumClave As Integer, _

sValor As String) As String

fg_ConsultaParametros = ""

Select Case sNumClave

Case 1: sClave = "": sClave = const_Clave1

Case 2: sClave = "": sClave = const_Clave2

Case 3: sClave = "": sClave = const_Clave3

Case 4: sClave = "": sClave = const_Clave4

Case 5: sClave = "": sClave = const_Clave5

End Select

fg_ConsultaParametros = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + sClave, sValor))

End Function

Page 128: T O M O I - UG

37

Función Func_ GrabarParametros

Se encuentra dentro del Proyecto pryCorreo. Recibe 3 parámetros: el número de la

posición subclave, el nombre del valor o entrada de registro a consulta y el contenido o

información del valor. Devuelve un valor verdadero sí la acción es registrada

correctamente.

Public Function fg_GrabarParametros(sNumClave As Integer, _

sValor As String, sDatoValor As String) As Boolean

Dim sClave As String

Select Case sNumClave

Case 1: sClave = "": sClave = const_Clave1

Case 2: sClave = "": sClave = const_Clave2

Case 3: sClave = "": sClave = const_Clave3

Case 4: sClave = "": sClave = const_Clave4

Case 5: sClave = "": sClave = const_Clave4

End Select

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + sClave)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + sClave, sValor, sDatoValor, REG_SZ)

End Function

Page 129: T O M O I - UG

38

Función Func_ ExtraeCadena

Se encuentra dentro del Proyecto pryCorreo. Recibe 3 parámetros: la cadena en que se

buscara un determinado valor o dato entre los símbolos, carácter o símbolo inicial que

hace de limite, carácter o símbolo final que hace de límite. Devuelve un valor verdadero

sí la acción es registrada correctamente.

Public Function fg_ExtraeCadena(sCadena As String, _

sCaracterIni As String, sCaracterFin As String)

Dim iPosicionIni As Integer

Dim iPosicionFin As Integer

fg_ExtraeCadena = ""

iPosicionIni = InStr(1, sCadena, sCaracterIni)

iPosicionFin = InStr(1, sCadena, sCaracterFin)

If iPosicionIni > 0 And iPosicionFin > 0 Then

fg_ExtraeCadena = Mid(sCadena, iPosicionIni + 1, _

iPosicionFin - iPosicionIni - 1)

End If

End Function

Page 130: T O M O I - UG

39

Función Func_Validar_Correo

Se encuentra dentro del Proyecto pryCorreo. Recibe 1 parámetros: la cuenta de correo

electrónico. Devuelve un valor verdadero sí el formato de la cuenta es correcta.

Public Function Func_Validar_Correo(ByVal Email As String) As Boolean

Dim strTmp As String

Dim n As Long

Dim sEXT As String

MensajeError = ""

Func_Validar_Correo = True

sEXT = Email

Do While InStr(1, sEXT, ".") <> 0

sEXT = Right(sEXT, Len(sEXT) - InStr(1, sEXT, "."))

Loop

If Email = "" Then

Func_Validar_Correo = False

MensajeError = MensajeError & "No se indicó ninguna dirección" _

& " de " & "mail para verificar!" & vbNewLine

ElseIf InStr(1, Email, "@") = 0 Then

Func_Validar_Correo = False

MensajeError = MensajeError & "La dirección de email con " _

& "contiene el signo @" & vbNewLine

Page 131: T O M O I - UG

40

ElseIf InStr(1, Email, "@") = 1 Then

Func_Validar_Correo = False

MensajeError = MensajeError & "El @ No puede estar al " _

& " principio" & vbNewLine

ElseIf InStr(1, Email, "@") = Len(Email) Then

Func_Validar_Correo = False

MensajeError = MensajeError & "El @ no puede estar al final" _

& " de la dirección" & vbNewLine

ElseIf Func_Valida_Extension(sEXT) = False Then

Func_Validar_Correo = False

MensajeError = MensajeError & "LA dirección no tiene un " _

& "dominio válido, "

MensajeError = MensajeError & "por ejemplo : " & vbNewLine

MensajeError = MensajeError & ".com, .net, .gov, .org, .edu, " _

& ".biz, .tv etc.. " & vbNewLine

ElseIf Len(Email) < 6 Then

Func_Validar_Correo = False

MensajeError = MensajeError & "La dirección no puede ser " _

& "menor a 6 caracteres." & vbNewLine

End If

strTmp = Email

Page 132: T O M O I - UG

41

Do While InStr(1, strTmp, "@") <> 0

n = 1

strTmp = Right(strTmp, Len(strTmp) - InStr(1, strTmp, "@"))

Loop

If n > 1 Then

Func_Validar_Correo = False

MensajeError = MensajeError & "Solo puede haber un @ en " _

& "la dirección de email" & vbNewLine

End If

Dim pos As Integer

pos = InStr(1, Email, "@")

If Mid(Email, pos + 1, 1) = "." Then

Func_Validar_Correo = False

MensajeError = MensajeError & "El punto no puede estar " _

& "seguido del @" & vbNewLine

End If

If MensajeError <> "" Then

MsgBox MensajeError, vbCritical

End If

End Function

Page 133: T O M O I - UG

42

Función Func_Ultimas_Claves

Se encuentra dentro del Proyecto pryCorreo. Esta función es llamada al momento de

realizar el cambio de contraseña, verifica si la nueva contraseña está entre las últimas 5

anteriores contraseñas utilizadas. Recibe 1 parámetro: la nueva contraseña que se va a

cambiar. Devuelve un valor verdadero en caso de existir la clave entre las últimas 5

anteriormente usadas.

Public Function Func_Ultimas_Claves(sClaveNueva As String) _

As Boolean

Dim iIndice As Integer

Dim sClaveAnte As String

Dim sVariable As String

Func_Ultimas_Claves = False

iIndice = 5

sClaveNueva = fg_CifrarCaracter(Trim(sClaveNueva), _

sCaracterClave, True)

For iIndice = 1 To iIndice

sVariable = "Contraseña0" & CStr(iIndice)

sClaveAnte = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, sVariable))

Page 134: T O M O I - UG

43

Procedimiento Proc_Registro_Hitorial_Clave

Se encuentra dentro del Proyecto pryCorreo. Este procedimiento es llamada al momento

de que se realiza el cambio de contraseña, guarda el historial moviendo de posición las

anteriores contraseñas. Recibe la nueva clave.

sClaveAnte = fg_CifrarCaracter(Trim(sClaveAnte), _

sCaracterClave, True)

If sClaveAnte = sClaveNueva And sClaveAnte <> "" Then

Func_Ultimas_Claves = True

Exit Function

End If

Next iIndice

End Function

Public Sub Proc_Registro_Hitorial_Clave(sClaveNueva As String)

Dim iIndice As Integer

Dim sVariableAnte As String

Dim sVariableDesp As String

Dim sClaveAnte As String

For iIndice = 4 To 1 Step -1

Page 135: T O M O I - UG

44

sVariableAnte = "Contraseña0" & CStr(iIndice)

sVariableDesp = "Contraseña0" & CStr(iIndice + 1)

sClaveAnte = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, sVariableAnte))

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, sVariableDesp, sClaveAnte, REG_SZ)

Next iIndice

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5)

sClaveNueva = modFuncionesVarias.fg_CifrarCaracter(sClaveNueva, _

sCaracterClave, False)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, "Contraseña01", sClaveNueva, _

REG_SZ)

End Sub

Page 136: T O M O I - UG

45

Función Func_AvisoCambioClave

Se encuentra dentro del Proyecto pryCorreo. Esta función es llamada cuando la clave del

usuario está por caducar, dando aviso los n días que tiene para que pueda cambiar la

clave.

Public Function Func_AvisoCambioClave()

Dim sFechaActual As String

Dim sFechaCambio As String

Dim sFechaAviso As String

Dim nDiasExpira As Integer

Dim nDiasVigencia As String

Dim nDiasPorcAviso As String

sFechaActual = Format(Date, "yyyy/mm/dd")

nDiasVigencia = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, "DiasVigencia"))

sFechaCambio = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, "FechaCambio"))

sFechaAviso = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, "FechaAviso"))

Page 137: T O M O I - UG

46

nDiasExpira = DateDiff("d", sFechaCambio, sFechaActual) + 1

nDiasPorcAviso = nDiasVigencia * 0.5

nDias = nDiasVigencia - nDiasExpira

If nDiasExpira > nDiasPorcAviso Then

If sFechaAviso <> sFechaActual Then

MsgBox "La Contraseña caduca dentro de " & CStr(nDias) _

& " Días", vbCritical, "SISTEMAS"

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave5, "FechaAviso", sFechaActual, _

REG_SZ)

End If

End If

End Function

Page 138: T O M O I - UG

47

Función Func_EnvioCorreo

Se encuentra dentro del Proyecto pryCorreo. Esta función es llamada cuando se envía la

respuesta a la cuenta de correo sobre la petición solicitada a realizar en la base de datos.

Recibe 2 parámetros: el mensaje que se enviará, y el nombre del archivo adjunto, este

parámetro es opcional.

Public Sub Func_EnvioCorreo(sMensaje As String, _

Optional sArchivoAdjunto As String = "")

Dim sFecha As String

Dim sHora As String

sFecha = Format(Date, "yyyymmdd")

sHora = Format(Time, "hhMM")

Screen.MousePointer = vbHourglass

With frmSession.sendmail1

.SMTPHostValidacion = VALIDATE_HOST_NONE

.ValidarEmail = VALIDATE_SYNTAX

.Delimitador = ";"

.FromDisplayName = "Aplicativo Respaldos " & sFecha & "-" & sHora

.Remitente = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave2, "CorreoAdm")) 'txtFrom.Text

.SMTPHost = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave2, "ServidorCCS")) 'txtServer.Text

Page 139: T O M O I - UG

48

.Destinatario = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "CuentaDBA")) 'txtTo.Text

.Asunto = "Respuesta a su Requerimiento" 'txtSubject.Text

.Mensaje = sMensaje 'txtMsg.Text

If sArchivoAdjunto <> "" Then

.Adjunto = sArchivoAdjunto

Else

.Adjunto = ""

End If

.Prioridad = Baja

.UsarLoginSMTP = True

.Usuario = "proyecto.mnas" 'txtUserName

Dim sCadena As String

sCadena = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave2, "ContraseñaAdm")) 'txtPassword

.Password = fg_CifrarCaracter(sCadena, sCaracterClave, True)

.Codificacion = MIME_ENCODE

.EnviarEmail

End With

Screen.MousePointer = vbDefault

End Sub

Page 140: T O M O I - UG

49

Función Func_ProcesaCorreo

Se encuentra dentro del Proyecto pryCorreo. Esta función es llamada cuando se va a

procesar todo el contenido mensaje desde la bandeja de entrada, se encarga de que el

mensaje tenga un mensaje.

Public Function Func_ProcesaCorreo()

Dim m As OSPOP3.Message

Dim h As OSPOP3.Header

Dim s

Dim nd As Node

Dim e As OSPOP3.Email

Dim a As OSPOP3.Attachment

Dim iCount As Integer

Dim i As Integer

Dim j As Integer

On Error GoTo err_handler

With frmSession

.tvw.Nodes.Clear

i = .lvwMessages.SelectedItem.Text

Page 141: T O M O I - UG

50

If .bHeadersOnly Then

Set m = frmSession.oSession.GetMessageHeaders(i)

Else

Set m = frmSession.oSession.GetMessage(i)

End If

.tvw.Nodes.Add , , "m" & i, "message " & i

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "from", "from"

.tvw.Nodes.Add "m" & i & "from", tvwChild, , "name: " _

& m.Sender.Name

.tvw.Nodes.Add "m" & i & "from", tvwChild, , "address: " _

& m.Sender.Address

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "to", "to"

For Each e In m.Recipients

Set nd = .tvw.Nodes.Add("m" & i & "to", tvwChild, , "recipient")

.tvw.Nodes.Add nd.Index, tvwChild, , "name: " & e.Name

.tvw.Nodes.Add nd.Index, tvwChild, , "address: " & e.Address

Next

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "cc", "cc"

For Each e In m.RecipientsCC

Set nd = tvw.Nodes.Add("m" & i & "cc", tvwChild, , "recipient")

.tvw.Nodes.Add nd.Index, tvwChild, , "name: " & e.Name

.tvw.Nodes.Add nd.Index, tvwChild, , "address: " & e.Address

Page 142: T O M O I - UG

51

Next

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "subject", "subject"

.tvw.Nodes.Add "m" & i & "subject", tvwChild, , m.Subject

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "date", "date"

.tvw.Nodes.Add "m" & i & "date", tvwChild, , m.DateSent

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "ContentType", _

"Content-Type"

.tvw.Nodes.Add "m" & i & "ContentType", tvwChild, , m.ContentType

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "ContentTransferEncoding", _

"Content-Transfer-Encoding"

.tvw.Nodes.Add "m" & i & "ContentTransferEncoding", tvwChild, _

, m.ContentTransferEncoding

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "char", "Charset"

.tvw.Nodes.Add "m" & i & "char", tvwChild, , m.Charset

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "UIDL", "UIDL"

.tvw.Nodes.Add "m" & i & "UIDL", tvwChild, , m.UIDL

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "h", "headers"

For Each h In m.Headers

.tvw.Nodes.Add "m" & i & "h", tvwChild, "m" & i & h.Name, h.Name

For Each s In h.Values

.tvw.Nodes.Add "m" & i & h.Name, tvwChild, , s

Next

Page 143: T O M O I - UG

52

Función Func_ProcesaMensaje

Se encuentra dentro del Proyecto pryCorreo. Esta función es llamada cuando se va a

procesar el mensaje del correo leído, se encarga de procesar la tarea contenida en el

cuerpo del mensaje. Es aquí donde dependiendo de la tarea y de la seguiradad de dicho

mensaje, se conecta a la base para ejecutar la correspondiente tarea enviada.

Next

If Not .bHeadersOnly Then

.tvw.Nodes.Add "m" & i, tvwChild, "m" & i & "body", "body"

tvw.Nodes.Add "m" & i & "body", tvwChild, , m.Body

If Func_ProcesaMensaje(m.Body) Then

MsgBox "mensaje correcto", vbInformation, "Mensaje Sistemas"

Else

MsgBox "mensaje incorrecto", vbInformation, "Mensaje Sistemas"

End If

End If

End With

err_handler:

If Err.Number <> 0 Then MsgBox "Error " & Err.Number & ": " & Err.Description

End Function

Page 144: T O M O I - UG

53

Public Function Func_ProcesaMensaje(sMensaje As String) As Boolean

Dim sCadena As String

Dim sCadenaPermiso As String

Dim sNombreRespaldo As String

Dim sCadenaBase As String

Dim sCadenaTarea As String

Dim sCadenaArchivo As String

Dim sCadenaArchivo2 As String

Dim sCadenaModo As String

Dim sCadenaFecha As String

Dim sTipoConsulta As String

Dim adoRcdset As New ADODB.Recordset

On Error GoTo eMensaje

Dim sqlQuery As String

Dim sMensajeErr As String

Dim sDirRespaldo As String

Dim sArchivo As String

Dim sPosCaracter As Integer

Dim sUsuarioPermiso As String

Dim sContraseñaPermiso As String

Dim sCadenaTipoFrecuncia As String

Dim sCadenaIntervaloFrecuencia As String

Page 145: T O M O I - UG

54

Dim sCadenaTipoSubFrecuencia As String

Dim sCadenaIntervaloSubFrecuencia As String

Dim sCadenaFechaDesde As String

Dim sCadenaFechaHasta As String

Dim sCadenaHoraDesde As String

Dim sCadenaHoraHasta As String

sTipoConsulta = ""

Func_ProcesaMensaje = False

If sMensaje = "" Then Exit Function

Func_ProcesaMensaje = False

sMensajeCorreo = Trim(UCase(sMensaje))

sMensajeCorreo = Trim(Replace(sMensajeCorreo, Chr(13), Chr(32), _

1, -1, vbTextCompare))

sMensajeCorreo = Trim(Replace(sMensajeCorreo, Chr(10), Chr(32), _

1, -1, vbTextCompare))

sCadenaPermiso = Func_ExtraeBloque("Usuario", ":", ".")

If sCadenaPermiso <> "" Then

sPosCaracter = InStr(1, sCadenaPermiso, sCaracterClave, _

vbTextCompare)

sUsuarioPermiso = Mid(sCadenaPermiso, 1, sPosCaracter - 1)

sContraseñaPermiso = Mid(sCadenaPermiso, sPosCaracter + 1, _

Len(sCadenaPermiso))

Page 146: T O M O I - UG

55

Else

sPosCaracter = 0

sUsuarioPermiso = ""

sContraseñaPermiso = ""

End If

Dim sUsuario As String

Dim sClave As String

sUsuario = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "UsuarioApl"))

sClave = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ContraseñaApl"))

sClave = fg_CifrarCaracter(sClave, sCaracterClave, True)

If sUsuarioPermiso = UCase(sUsuario) And _

sContraseñaPermiso = sClave Then

sCadenaBase = Func_ExtraeBloque("BASE", ":", ".")

If sCadenaBase = "" Then GoTo eMensaje

sCadenaTarea = Func_ExtraeBloque("TAREA", ":", ".")

If sCadenaTarea = "" Then GoTo eMensaje

sCadenaModo = Func_ExtraeBloque("MODO", ":", ".")

If sCadenaModo = "" And sCadenaTarea <> "LISTARESPALDO" _

Then GoTo eMensaje

sCadenaArchivo = Func_ExtraeBloque("Archivo", ":", ".")

Page 147: T O M O I - UG

56

sCadenaArchivo2 = Func_ExtraeBloque("Archivo", ":", ".")

If sCadenaArchivo = "" And sCadenaArchivo2 = "" And _

sCadenaModo = "RESTAURAR" Then GoTo eMensaje

sCadenaFecha = Func_ExtraeBloque("FECHA", ":", ".")

If sCadenaFecha = "" And sCadenaTarea = "LISTARESPALDO" _

Then GoTo eMensaje

sCadenaTipoFrecuncia = Func_ExtraeBloque("TipoFrecuencia", _

":", ".")

If sCadenaTipoFrecuncia = "" And sCadenaTarea <> _

"TAREAPROGRAMADA" Then GoTo eMensaje

sCadenaIntervaloFrecuencia = Func_ExtraeBloque _

("IntervaloFrecuencia", ":", ".")

If sCadenaIntervaloFrecuencia = "" And sCadenaTarea <> _

"TAREAPROGRAMADA" Then GoTo eMensaje

sCadenaTipoSubFrecuencia = Func_ExtraeBloque _

("TipoSubFrecuencia", ":", ".")

If sCadenaTipoSubFrecuencia = "" And sCadenaTarea <> _

"TAREAPROGRAMADA" Then GoTo eMensaje

sCadenaIntervaloSubFrecuencia = Func_ExtraeBloque _

("IntervaloSubFrecuencia", ":", ".")

If sCadenaIntervaloSubFrecuencia = "" And sCadenaTarea <> _

"TAREAPROGRAMADA" Then GoTo eMensaje

Page 148: T O M O I - UG

57

sCadenaFechaDesde = Func_ExtraeBloque("FechDesde", ":", ".")

If sCadenaFechaDesde = "" And sCadenaTarea <> "TAREAPROGRAMADA" _

Then GoTo eMensaje

sCadenaFechaHasta = Func_ExtraeBloque("FechHasta", ":", ".")

sCadenaHoraDesde = Func_ExtraeBloque("HoraDesde", ":", ".")

If sCadenaHoraDesde = "" And sCadenaTarea <> "TAREAPROGRAMADA" _

Then GoTo eMensaje

sCadenaHoraHasta = Func_ExtraeBloque("HoraHasta", ":", ".")

Dim sContraseña As String

oclsConexion.sNomServidorDB = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + const_Clave1, _

"ServidorDB"))

oclsConexion.sUsuarioDB = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + const_Clave1, "UsuarioDB"))

sContraseña = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + const_Clave1, _

"ContraseñaDB"))

oclsConexion.sContraseñaDB = fg_CifrarCaracter(sContraseña, _

sCaracterClave, True)

oclsConexion.sTipoConexionDB = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + const_Clave1, _

"TipoCuenta"))

Page 149: T O M O I - UG

58

Call oclsConexion.Func_ConexionServidorDB

Dim sAnio As String

Dim sMes As String

Dim sDia As String

Dim sHora As String

Dim sMinutos As String

Dim sFecha As String

Dim sTiempo As String

sFecha = Date

sTiempo = Time

sAnio = Format(Year(Date), "0000")

sMes = Format(Month(Date), "00")

sDia = Format(Day(Date), "00")

sHora = Format(Hour(sTiempo), "00")

sMinutos = Format(Minute(sTiempo), "00")

sDirRespaldo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave4, "RutaRespaldo"))

sqlQuery = ""

If sCadenaTarea = "LISTARESPALDO" Then

sTipoConsulta = "RETORNA"

sqlQuery = " sp_ReporteListadoRespaldos '" & sCadenaBase & _

"','" & sCadenaFecha & "' "

Page 150: T O M O I - UG

59

ElseIf sCadenaTarea = "RESPALDO" Then

If sCadenaModo = "COMPLETO" Then

sNombreRespaldo = sAnio + sMes + sDia

sqlQuery = " sp_RespaldoCompleto '" & sCadenaBase & "','" & _

sDirRespaldo & "','" & sNombreRespaldo & "' "

ElseIf sCadenaModo = "DIFERENCIAL" Then

sNombreRespaldo = sAnio + sMes + sDia + sHora + sMinutos

sqlQuery = " sp_RespaldoDiferencial '" & sCadenaBase & "','" _

& sDirRespaldo & "','" & sNombreRespaldo & "' "

End If

sTipoConsulta = "RETORNAD"

ElseIf sCadenaTarea = "RESTAURAR" Then

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave4, "RutaRespaldo"))

If sCadenaModo = "COMPLETO" Then

If Func_ValidaRespaldoExista(sArchivo, sCadenaArchivo + _

".bak") Then

sqlQuery = " sp_RestauracionCompleta '" & sCadenaBase & _

"','" & sDirRespaldo & "','" & sCadenaArchivo & "' "

Else

sCadena = "El archivo de respaldo no existe o no " _

& "se encuentra disponible en la ruta determinada"

Page 151: T O M O I - UG

60

sTipoConsulta = "ERRARCHIVO"

End If

ElseIf sCadenaModo = "COMPLETODIFERENCIAL" Then

If Func_ValidaRespaldoExista(sArchivo, sCadenaArchivo + _

".bak") And Func_ValidaRespaldoExista(sArchivo, _

sCadenaArchivo2 + ".bak") Then

sqlQuery = " sp_RestauracionConDiferencial '" & _

sCadenaBase & "','" & sDirRespaldo & "','" & _

sCadenaArchivo & "','" & sCadenaArchivo2 & "'"

Else

sCadena = "El archivo(s) de respaldo no existen o no " _

& "se encuentran disponibles en la ruta determinada"

sTipoConsulta = "ERRARCHIVO"

End If

End If

ElseIf sCadenaTarea = "TAREAPROGRAMADA" Then

If sCadenaFechaHasta = "" Then

sCadenaFechaHasta = "9999/12/31"

End If

If sCadenaHoraHasta = "" Then

sCadenaHoraHasta = "23-59-59"

End If

Page 152: T O M O I - UG

61

sqlQuery = ""

sqlQuery = " sp_CreacionTareaProgramada '" & sCadenaBase & _

"','" & sDirRespaldo & "','" & sNombreRespaldo & "'"

sqlQuery = sqlQuery & ",'" & sCadenaFechaDesde & "','" & _

sCadenaFechaHasta & "','" & sCadenaHoraDesde & "','" & _

sCadenaHoraHasta & "',"

sqlQuery = sqlQuery & CInt(sCadenaTipoFrecuncia) & "," & _

CInt(sCadenaIntervaloFrecuencia) & "," & CInt _

(sCadenaTipoSubFrecuencia) & "," & CInt _

(sCadenaIntervaloSubFrecuencia) & ""

sTipoConsulta = ""

ElseIf sCadenaTarea = "TAREAPROGDETENER" Then

sCadenaFechaHasta = Format(Now, "yyyy/mm/dd")

sCadenaHoraHasta = Format(Time, "HH:MM:SS")

sqlQuery = ""

sqlQuery = " sp_DetenerTareaProgramada '" & sCadenaModo & "','" _

& sCadenaFechaHasta & "','" & sCadenaHoraHasta & "'"

sTipoConsulta = ""

End If

If sTipoConsulta = "" Then

oclsConexion.adoConexion.Execute sqlQuery

sCadena = "Ejecucion realizada correctamente: " & sqlQuery

Page 153: T O M O I - UG

62

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoAuditoria"))

Call Proc_RegErroresArchivo(sCadena, sArchivo)

Call Func_EnvioCorreo(sCadena)

sCadena = ""

sTipoConsulta = ""

Func_ProcesaMensaje = True

ElseIf sTipoConsulta = "RETORNAD" Then

oclsConexion.adoConexion.Execute sqlQuery

sCadena = "Ejecucion realizada correctamente: " & sqlQuery

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoAuditoria"))

Call Proc_RegErroresArchivo(sCadena, sArchivo)

sCadena = ""

sCadena = sCadenaBase & " - " & sCadenaBase & sNombreRespaldo _

& " - " & sCadenaModo

Call Func_EnvioCorreo("Ejecucion realizada correctamente: " & _

Chr(13) & "Base-Nombre-Tipo" & Chr(13) & sCadena)

sTipoConsulta = ""

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoConsulta"))

Call Proc_RegErroresArchivo(sCadena, sAnio + sMes + "-" + _

Page 154: T O M O I - UG

63

sCadenaBase + sArchivo)

sCadena = ""

sTipoConsulta = ""

Func_ProcesaMensaje = True

ElseIf sTipoConsulta = "RETORNA" Then

Set adoRcdset = oclsConexion.adoConexion.Execute(sqlQuery)

sCadena = "Ejecucion realizada correctamente: " & sqlQuery

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoAuditoria"))

Call Proc_RegErroresArchivo(sCadena, sArchivo)

sCadena = ""

Dim sRutaArchivo As String

sRutaArchivo = Trim(oclsRegistro.ConsultarValor _

(HKEY_CURRENT_USER, const_Directorio + const_Clave3, _

"RutaArchError")) + "\" + sAnio + sMes + "-" + sCadenaBase _

+ Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoConsulta"))

Call Func_EnvioCorreo("Ejecucion realizada correctamente", _

sRutaArchivo)

sCadena = ""

sTipoConsulta = ""

Func_ProcesaMensaje = True

Page 155: T O M O I - UG

64

ElseIf sTipoConsulta = "ERRARCHIVO" Then

sCadena = "Ejecucion no realizada: " & sCadena

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoErrores"))

Call Proc_RegErroresArchivo(sCadena, sArchivo)

Call Func_EnvioCorreo(sCadena)

sCadena = ""

sTipoConsulta = ""

Func_ProcesaMensaje = True

End If

oclsConexion.adoConexion.Close

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "UltimoCorreoLeido", sMsmUidl, _

REG_SZ)

With frmSession

.oSession.DeleteMessage .lvwMessages.SelectedItem.Text

.lvwMessages.ListItems.Remove .lvwMessages.SelectedItem.Index

End With

Exit Function

Else

Page 156: T O M O I - UG

65

sMensajeErr = ""

sMensajeErr = sMensajeErr + ": No se puedo procesar mensaje: " + _

sMensaje

sMensajeErr = sMensajeErr + ": No supero la validación de " & _

"seguridad: "

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoErrores"))

Call Proc_RegErroresArchivo(sMensajeErr, sArchivo)

Call oclsRegistro.CrearNuevaClave(HKEY_CURRENT_USER, _

const_Directorio + const_Clave2)

Call oclsRegistro.EstablecerValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave2, "UltimoCorreoLeido", _

sMsmUidl, REG_SZ)

Exit Function

End If

sMensajeErr = ""

sMensajeErr = sMensaje + ": Error al Ejecutar: " + sqlQuery

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoErrores"))

Call Proc_RegErroresArchivo(sMensajeErr, sArchivo)

adoRcdset.Close

Func_ProcesaMensaje = True

Page 157: T O M O I - UG

66

Exit Function

eMensaje:

Call Func_EnvioCorreo("Ejecucion no se realizo correctamente: " & _

sqlQuery)

sMensajeErr = ""

sMensajeErr = sMensaje & ": Error al Ejecutar: " & sqlQuery & _

vbCrLf

sArchivo = Trim(oclsRegistro.ConsultarValor(HKEY_CURRENT_USER, _

const_Directorio + const_Clave3, "ArchivoErrores"))

Call Proc_RegErroresArchivo(sMensajeErr, sArchivo)

adoRcdset.Close

Func_ProcesaMensaje = False

End Function

Page 158: T O M O I - UG

67

Descripción de las Herramientas

MS Visual Basic 6.0

Esta herramienta de programación que ofrece una plataforma gráfica para realizar

interfaces que utilicen las características del Sistema Operativo Windows, dando al

usuario una atractiva interface y que pueda relacionar con los otros programas del

sistema que este brinda.

Se escogió Visual Basic, como plataforma de trabajo para el desarrollo de la interface,

debido a la experiencia obtenida programando aplicaciones, además porque ofrece gran

facilidad en el manejo de sus herramientas, un uso mínimo de las líneas de código.

Entre las ventajas que presenta este lenguaje de programación esta su facilidad para

programar aplicaciones de cierta complejidad para Windows.

Page 159: T O M O I - UG

68

MS SQL Server 2005

Este motor de base de datos está diseñado para ayudar a las empresas a enfrentar desafíos

como la necesidad de tomar decisiones más rápidas y más orientadas a datos, la

necesidad de aumentar la productividad y flexibilidad del personal de desarrollo.

SQL Server es una solución de datos global, integrada y de extremo a extremo que

habilita a los usuarios en toda su organización mediante una plataforma más segura,

confiable y productiva para datos empresariales y aplicaciones de BI. SQL Server 2005

provee herramientas sólidas y conocidas a los profesionales de IT, así como también a

trabajadores de la información, reduciendo la complejidad de la creación, despliegue,

administración y uso de aplicaciones analíticas y de datos empresariales en plataformas

que van desde los dispositivos móviles hasta los sistemas de datos empresariales. A

través de un conjunto global de características, la interoperabilidad con sistemas

existentes y la automatización de tareas rutinarias, SQL Server 2005 ofrece una solución

completa de datos para empresas de todos los tamaños.

Page 160: T O M O I - UG

69

Cuenta de Correo

A través de una cuenta de correo el Administrador de Bases de Datos podrá enviar

peticiones a la aplicación la cual se encargará a su vez de ejecutar la instrucción

correspondiente en la petición, y recibir la confirmación de la ejecución de determinada

tarea.

Sistema Operativo

Desde cualquier sistema operativo basado en Windows, ya sea este XP, Vista, 7, Server

2000/2003/2008.

Page 161: T O M O I - UG

70

Capítulo IV MANUAL DE USUARIO

Page 162: T O M O I - UG

71

Introducción

Este proyecto fue desarrollado basado en la necesidad de una nueva forma de conexión

remota entre el DBA o profesional de Sistemas, que necesita poder resolver problemas

con respecto a los respaldos y restauraciones de Bases de Datos, para poder resolver

situaciones que se llegasen a presentar sobre todo cuando él se encuentra fuera de su área

de trabajo. Mediante este prototipo de aplicación se podrá a través de un formato de

mensaje enviar un correo para realizar una tarea determinada como respaldo o

restauración de una base de datos que se necesite realizar.

Inicio de Sesión

Grafico No. 12. Pantalla de Inicio de Sesión

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 163: T O M O I - UG

72

Para ingresar al sistema se debe ingresar el usuario, que se configura inicialmente al

instalar la aplicación, seguido de la contraseña.

Una vez autenticado el usuario y la contraseña, se podrá tener acceso al sistema

prototipo.

Cambio de Contraseña

Podemos realizar el cambio de contraseña cada que se crea necesario, o cuando este

pronto a caducar el tiempo de vigencia de la clave vigente.

Para proceder al cambio de la contraseña se accede desde la pantalla de inicio de sesión,

en el botón Cambiar Contraseña la cual dará acceso al Cambio de

Contraseña. Para ello se requiere de digitar la contraseña actual o anterior, y digitar la

Grafico No. 13. Pantalla Inicio de Sesión, cambio de contraseña.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 164: T O M O I - UG

73

contraseña nueva. Por asuntos de seguridad se requiere la confirmación de la contraseña

nueva. Una vez que registrado los campos requeridos, se procede a grabar.

Para el cambio de la contraseña no se podrá utilizar las últimas 5 contraseñas utilizadas

anteriormente, esto se realiza por asuntos de seguridad.

Pantalla Principal

Grafico No. 14. Pantalla principal.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 165: T O M O I - UG

74

Esta es la pantalla principal o Menú principal del prototipo de la aplicación, contiene las

3 opciones Configuración, Proceso y Ayuda.

Podemos acceder mediante:

• El menú.

• Los botones de acceso.

• Las teclas de acceso.

Configuración

Dentro de esta opción tenemos 3 pestañas de ingreso de parámetros, para el correcto

desenvolvimiento de la aplicación.

La primera pestaña es la de configuración de correo, en la cual se ingresará:

La cuenta de correo, cuenta de la aplicación, donde se leerán los mensajes enviados por

el administrador del Departamento de Sistemas, debe ser de un Proveedor de correo con

servidor de correo POP3 y SMTP, como los es Yahoo.

La contraseña, la misma que se definió al crear la cuenta de correo, del proveedor

elegido.

Page 166: T O M O I - UG

75

Tipo de cuentas, en este caso el servidor de correo POP3.

Servidor Entrante, la dirección del servidor entrante, de acuerdo al proveedor de correo

elegido. Así también como el número de puerto del servidor entrante utilizado para la

comunicación.

Grafico No. 15. Pantalla de Registro de parámetros.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 167: T O M O I - UG

76

Servidor Saliente, la dirección del servidor saliente, de acuerdo al proveedor de correo

elegido. Así también como el número de puerto del servidor saliente utilizado para la

comunicación.

Cuenta de correo destino, la cuenta de correo desde la cual se enviarán los mensajes y la

de la cual solo se aceptará correos entrantes, para el procesamiento del mensaje.

Autenticación, el tipo de autenticación del servidor de datos de MS Sql Server 2005.

Servidor de datos, nombre del servidor de datos en el cual se encuentra la o el grupo de

bases y sobre la cual se hará las tareas de respaldo y restauración.

Usuario, en caso de que la autenticación sea mediante SQL, se deberá especificar el

usuario permitido para las tareas a realizar sobre el servidor.

Contraseña, la contraseña asignada al usuario del servidor de base.

Respaldos

En esta pantalla se configurará los directorios donde se tendra guardados los respaldos

generados desde la aplicción, así como también los directorios de los archivos de errores,

Page 168: T O M O I - UG

77

el cual grabará el tipo de error ya sea por conexion a la cuenta en la lectura y envío, como

error en la conexión con el servidor de base de datos y errores en el emnsaje de ejecución

de la tarea de respaldo o restauración. Los archivos de auditorias, contendrán las

sentencias que se ejecutan correctamente para poder saber en que tiempo se ejecuto la

tarea sobre la base. Los archivos de consulta, que contienen el listado de los respaldos

generados desde la aplicación por cada base existente, para ser enviada en el momento en

que se la solicite y basarse en ella para una restauración.

Grafico No. 16. Pantalla de Configuración de Respaldos.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 169: T O M O I - UG

78

Seguridades

En esta pestaña, se registrará variables de seguridad en cuanto a usuario ante la recepción

de una tarea, vigencia de la contraseña, y direcciones de respaldos de los archivos.

Usuario, el usuario permitido al que se le podrá realizar la ejecución o procesamiento de

las tareas recibidas por correo.

Contraseña, del usuario permitido.

Grafico No. 17. Panalla de Configuración de seguridades.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 170: T O M O I - UG

79

Vigencia de la Contraseña, días de vigencia que tendrá una clave, para proceder al

cambio de contraseña.

Proceso

El proceso consiste en la lectura de los mensajes de correo de la bandeja de entrada de la

cuenta de correo de la aplicación ([email protected]), y mostrarlos en la bandeja

de entrada de la aplicación, para poder procesar uno a uno según el orden de llegada.

Una vez que los correos se encuentran en la bandeja de entrada, serán procesados para

ejecutar la correspondiente tarea.

Grafico No. 18. Pantalla de Recepción de mensajes de correo.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 171: T O M O I - UG

80

Una vez procesado el mensaje según el estado de la resolución de la tarea esta se

guardará en un archivo de texto, ya sea para auditoría, error, o consulta de listado.

Ayuda

La aplicación consta de una ayuda rápida dentro de la cual se explica cada uno de los

procesos, así como también el significado de algunos términos y la bibliografía en la cual

se basó el desarrollo de la aplicación.

Grafico No. 19. Pantalla de Ayuda de la aplicación.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 172: T O M O I - UG

81

Formato de mensajes de correo

Para el envio de los mensajes de correo hacia la cuenta de correo de la aplicación, estos

deberán seguir un formato, según, la tarea a realizar deberan cumplir con los requisitos

de solicitud de datos enviados para poder ejecutar la tarea respectiva, caso contrario se

ignorará la tarea y se enviará un mensaje de error, debido a la falta de parámetros.

Estos formatos constarán en su primera línea con el nombre del usuario de la aplicación y

la contraseña, esto par poder autenticar la tarea a ejecutar, y comprobar que el usuario

Grafico No. 20. Pantalla de Envío de Correo desde Gmail.

Elaborado: Alberto C. Arreaga C.. Fuente: Programa.

Page 173: T O M O I - UG

82

que envía es el encargado de la aplicación, ya que la clave la actualizará cada cierto

tiempo y es el quien sabrá en ese momento la clave de ejecución de la tarea.

Completa

Diferencial

Tareas de Respaldo

Tarea de Restauración

Completa

Completa y Diferencial

Conaulta de Listado de Respaldos

Creación

Trabajos Programados Modificación

Eliminación

Gráfico No. 21. Tareas de la aplicación.

Elaborado: Alberto C. Arreaga C. Fuente: Codificación de la aplicación.

Page 174: T O M O I - UG

83

Formatos de Tarea Respaldo Completo

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

el nombre de la base de datos a la cual se le realizará el respaldo (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (Respaldo). Y finalmente en la etiqueta modo, la forma

como se realizará el respaldo (Completo).

Formatos de Tarea Respaldo Diferencial

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

Usuario: administra&456.

Base: AdmDemo.

Tarea: Resapldo.

Modo: Completo.

Usuario: administra&456.

Base: AdmDemo.

Tarea: Resapldo.

Modo: Diferencial.

Page 175: T O M O I - UG

84

el nombre de la base de datos a la cual se le realizará el respaldo (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (Respaldo). Y finalmente en la etiqueta modo, la forma

como se realizará el respaldo (Diferencial).

Formatos de Tarea Restauración Completa

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

el nombre de la base de datos dqe lq que se le realizará la restauración (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (Restaurar). En la etiqueta Modo, la forma como se

realizará la restauración (Completo), ya que se utilizará un solo archivo para resturar. Y

finalmente en la etiqueta Archivo, el nombre de archivo de respaldo que tomará como

referencia para resturar la base de datos a la fecha que se generó (AdmDemo20100721).

Usuario: administra&456.

Base: AdmDemo.

Tarea: Restaurar.

Modo: Completo.

Archivo: AdmDemo20100721.

Page 176: T O M O I - UG

85

Formatos de Tarea Restauración Completo y Diferencial

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

el nombre de la base de datos dqe lq que se le realizará la restauración (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (Restaurar). En la etiqueta Modo, la forma como se

realizará la restauración (CompletoDiferencial), esta vez se utilizará 2 archivo para

resturar. En la etiqueta Archivo, el nombre de archivo de respaldo completo que tomará

como referencia para resturar la base de datos a la fecha que se generó

(AdmDemo20100721). Y finalmente en la etiqueta Archivo2 el nombre de archivo de

respaldo diferencial hasta el cual se desea restaurar la base de datos. Esto suele darse

cuando solo queremos que se restauren los datos de la base hasta cierto tiempo.

Usuario: administra&456.

Base: AdmDemo.

Tarea: Restaurar.

Modo: CompletoDiferencial.

Archivo: AdmDemo20100721.

Archivo2: AdmDemo201007211914.

Page 177: T O M O I - UG

86

Formatos de Listado de Respaldo

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

el nombre de la base de datos a la cual se le realizará el respaldo (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (ListaRespaldo). Y finalmente en la etiqueta Fecha, la

fecha a la que se desea los respaldos (2010/07/21).

Formatos de Creación de Tareas Programadas

Este formato consta en la etiqueta Usuario con el nombre del usuario (administra)

seguido del símbolo & y aontinuación la clave del usuario (456). En la etiqueta Base, irá

el nombre de la base de datos a la cual se le realizará el respaldo (AdmDemo). En la

eiqueta Tarea, la tarea a realizar (TareaProg). En la etiqueta Modo irá completo en

referencia al respaldo a realizar en la tarea programada. En la etiqueta TipoFrecuencia, se

refiere a la frecuencia con la que se dará la tarea (4: Diaria).

Usuario: administra&456.

Base: AdmDemo.

Tarea: ListaRespaldo.

Fecha: 2010/07/21.

Page 178: T O M O I - UG

87

Usuario: administra&456.

Base: AdmDemo.

Tarea: TareaProg.

Modo: Completo.

TipoFrecuencia: 4.

IntervaloFrecuencia: 1.

TipoSubFrecuencia: 8.

IntervaloSubFrecuencia: 3.

FechDesde: 2010/09/01.

FechHasta: .

HoraDesde: 07-00-00.

HoraHasta: 19-00-00.

Page 179: T O M O I - UG

88

ANEXOS

Tomo II

Page 180: T O M O I - UG

89

OstroSoft - Componente POP3 (OSPOP3)

Descripción

Componente OstroSoft POP3 (OSPOP3) es un archivo para recuperar mensajes de correo

electrónico mediante programación. Funciona con cuentas POP3. Soporta correo

electrónico segura (TLS / SSL), correo electrónico (MIME) archivos adjuntos, correo

HTML, cabeceras personalizadas, objetos incrustados.

Componente permite recuperar y eliminar mensajes de correo electrónico de servidor de

correo POP3, estado del buzón de verificación, los mensajes de analizar recuperar

mediante programación y lenguajes de script de apoyo. NET y COM. La nueva versión

añade soporte para conexiones seguras (SSL / TLS).

La nueva versión soporta todos los métodos y las propiedades de una versión anterior,

pero no es compatible con versiones anteriores, ya que se basa en una tecnología

diferente (. NET frente componente COM).

Actualización de 3.0.1 incluye correcciones para la recuperación de archivos adjuntos

grandes, restablecer la sesión y la propiedad. Contraseña. Además, se añaden ejemplos de

código para VB.NET, Visual Basic 6 y C #.

Dentro de las próximas semanas vamos a proporcionar el código de ejemplo para los

lenguajes de programación más y entornos.

Page 181: T O M O I - UG

90

Biblioteca de COM para recuperar mensajes de correo electrónico del servidor de correo

POP3, comprobar el estado del buzón, el análisis de los mensajes recuperados desde

Visual Basic 6 y otros programas y lenguajes de scripting, soporte COM.

Licencias

Tipo Licencia Valor

1

Licencia no comercial free libre

El uso ilimitado para el desarrollo de aplicaciones no comerciales.

2

Desarrollador de licencia $19.00

Para un solo programador para desarrollar y distribuir una aplicación comercial único.

3

Licencia de servidor $59.00

Para su uso en una aplicación comercial, instalado en un único servidor.

4

Empresa de licencia $139.00

Para los programadores dentro de una empresa para desarrollar y distribuir un número ilimitado de aplicaciones comerciales.

Cuadro No. 17. Licencias de Componente OSPOP3

Elaborado: Alberto C. Arreaga C.. Fuente: http://www.ostrosoft.com/.

Page 182: T O M O I - UG

91

BIBLIOGRAFIA

Page 183: T O M O I - UG

92

Bibliografía

Libros

Revisión de las fases para el desarrollo de un sistema, Ingeniería de Software, un

enfoque práctico, 5ta. Edición, Roger S. Pressman.

Revisión del Desarrollo de Diagramas de Caso de Uso, Tesis de Grado T-7, Portal

Inteligente, Febrero 18 del 2005, desarrollada por J. Rodríguez, A. Agana, D. Del Pino,

F. Fernández.

Revisión del Desarrollo del Manual Técnico, Proyecto de Grado PG-116, Portal de

Ventas de Supermercado por Internet manejando Pedidos y Listas de Compras

recurrentes por Usuario, Febrero 7 del 2008, desarrollado por E. Avilés, E. Loaiza, B.

Macías.

Revisión del Desarrollo del Manual de Usuario, Proyecto de Grado PG-276, Desarrollo

de un Sistema de Votaciones Electrónicas, Mayo 17 del 2010, desarrollada por A.

Vásquez, A. Aroni, S. Rosales.

Page 184: T O M O I - UG

93

Publicaciones

Ley de Comercio Electrónico, Firmas Electrónicas y Mensajes de Datos, Congreso

Nacional del Ecuador, Ley 2002-67 (Registro Oficial 557-S, 17-IV-2002).

Direcciones Web

Componente OSPOP3.dll, que permite recuperar y eliminar mensajes de correo

electrónico de un servidor de correo POP3. http://www.ostrosoft.com

Ayuda sobre código de la herramienta utilizada, MS Visual Basic 6.0:

http://www.recursosvisualbasic.com.ar

Ayuda sobre código de la herramienta utilizada, MS Visual Basic 6.0:

http://www.foro.vb-mundo.com

Ayuda sobre código de la herramienta utilizada, MS Visual Basic 6.0:

http://www.canalvisualbasic.net

Page 185: T O M O I - UG

94

Ayuda sobre código de la herramienta utilizada, MS Visual Basic 6.0:

http://www.elguille.info/vb/default.aspx

Ayuda sobre desarrollo de una tesis: http://www.monografias.com

Sentencias de Respaldo, ayuda cobre los comandos para lograr un respaldo:

http://msdn.microsoft.com/es-es/library/ms186865%28v=SQL.90%29.aspx

Sentencias de Restauración, ayuda sobre los comandos para lograr una restauración:

http://msdn.microsoft.com/es-es/library/ms186858%28v=SQL.90%29.aspx