126
Sistema Administrador de números de guía de paquetería en forma distribuida Ing. Mario Eduardo Figueroa Verduzco

Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Embed Size (px)

Citation preview

Page 1: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Sistema Administrador denúmeros de guía de paquetería

en forma distribuida

Ing. Mario Eduardo Figueroa Verduzco

Page 2: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Agradecimientos

Agradezco a Dios, a mis padres y a mis hermanos porque de no ser por

ellos no seria hoy lo que soy

A mis maestros por sus enseñanzas

A mis compañeros por su amistad

A Carlos Ulibarri que de no ser por su apoyo no hubiera podido concluir

este trabajo

Page 3: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Resumen Con esta tesis se presenta un prototipo capaz de automatizar eficientemente los números de guía de la paquetería que se envía por medio de la empresa Estafeta, manejando el concepto de bases de datos distribuidas. En un sistema de Bases de Datos Distribuido, los datos se encuentran en diferentes máquinas, generalmente situados en localizaciones geográficas diferentes. Dichas máquinas pueden ser de distinto tipo atendiendo a su tamaño, prestaciones y Sistema Operativo. Con este prototipo se pretende: mejorar los procesos actuales de la empresa, en cuanto al manejo de la información que se genera con los diferentes registros de los números de guía en cada plaza del país, reducir tiempos de espera en la actualización de la información generada por cada plaza así como también de disponer de los registros de los números de guía de los paquetes enviados y recibidos en las diferentes plazas al momento que se generen.

En cada plaza existirán tres programas individuales los cuales serán:

- Programa para controlar los números de guía.

- Programa que recibirá las solicitudes de información de las demás plazas.

- Programa por medio del cual se podrá hacer consultas y/o modificaciones de las bases de datos que están almacenadas localmente o en forma distribuida.

La implementación de éste prototipo permitiría a los administradores y personas encargadas de atender a los clientes, saber en cualquier momento y en cualquier plaza, donde está un paquete en especial, lo cual dará lugar a que la información que soliciten los clientes sea la más precisa referente a la ubicación de su paquete. El prototipo reduciría tiempos de espera en la actualización de la información, los encargados de los departamentos de sistemas de las diferentes plazas ya no tendrían que esperar a que la central les envié la información actualizada de la ubicación de los paquetes.

Page 4: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Abstract

This thesis presents a prototype whose purpose is to automate the

assigning and tracking of reference numbers of packages that are sent by means

of a package express company, efficiently managing the concept of distributed

databases.

In a Distributed Database System, the data are generally located in different

machines in different geographical locations. These machines can be of different

types according to their specifications and operating systems.

The purpose of this prototype is to improve the current processes of the

company with respect to handling the information that is generated by the different

reference and tracking numbers that are assigned in each company office, in order

to reduce waiting times and facilitate the actualization of information generated by

each office..

Each office requires 3 programs that will work jointly that include:

- a program to control reference and tracking numbers

- a program to receive information requests from other offices

- a program to permit consultations and/or modifications of the databases that

may be stored either locally or in distributed form

The implementation of this prototype will allow to the administrators and

persons responsible for assisting clients to know at any time in any office where a

package is, particularly information the client request with respect to the specific

location of his package.

Page 5: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

This prototype will also reduce the time needed to update information. Persons

in charge of the computer systems at the different offices would no longer have to

wait for the main office to send them up-to-date information about the location of

packages.

Page 6: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CONTENIDO

PaginaResumenAbstractAgradecimientos

PresentaciónObjetivo General iObjetivos Particulares iJustificación iiPlanteamiento iiiMetodología v

1. Introducción1.1 Redes de comunicación de datos 2

1.2.1 LANs 31.2.2 WANs 31.2.3 Internet 41.2.4 Intranet 4

1.2 Bases de Datos1.1.1 ¿ Qué es un sistema de base de datos? 51.1.2 ¿ Por qué utilizar bases de datos? 6

1.3 Sistemas de Bases de Datos Distribuidas1.3.1 ¿Que es un sistema de Bases de Datos Distribuidas? 71.3.2 Ventajas de los sistemas de Bases de Datos Distribuidas 91.3.3 Desventajas de los sistemas de Bases de Datos Distribuidas 91.3.4 Objetivos de una Base de Datos Distribuida 101.3.5 Objetivos de los sistemas de Bases de Datos Distribuidas 111.3.6 Problemáticas en los sistemas administradores de Bases de

Datos Distribuidas 111.3.7 Arquitectura cliente/servidor 121.3.8 Sistema Distribuido 15

1.4 Visual Basic1.4.1 Tecnología de Acceso a datos

1.4.1.1 DAO 191.4.1.2 RDO 191.4.1.3 ADO 20

1.4.2 Winsock de Visual Basic 20

2. Conceptos de diseño enfocados al desarrollo de aplicaciones distribuidas2.1 Aspectos de diseño de programas

2.1.1 Transparencia 242.1.2 Confiabilidad 242.1.3 Escalabilidad 25

Page 7: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

2.1.4 Flexibilidad 262.2 El Diseño de la distribución 26

2.2.1 Tipos de Fragmentación 312.2.1.1 Reglas de corrección de la fragmentación 332.2.1.2 Alternativas de Asignación 342.2.1.3 Información Necesaria 36

2.3 El diseño de distribución Bottom-Up (Ascendente) 362.3.1 Problemas de diseño en la construcción de un sistema global 372.3.2 Trabajando con los datos inconsistentes durante la operación 38

3. Contexto de la Empresa (Estafeta S.A. de C.V.)3.1 Historia 413.2 Infraestructura 423.3 Logros 423.4 Estafeta en números 45

4. Análisis del funcionamiento de envíos y entregas de paquetes (situación antesde la implementación del sistema)4.1 Equipo con que se cuenta actualmente 474.2 Flujo de Información 484.3 Información que se obtiene por cada paquete que se envía o se entrega 524.4 Lista de plazas a cargo de Colima 544.5 Descripción de los números de guía 544.6 Tipos de movimientos de los paquetes 55

5. Implementación5.1 Aspectos de diseño a considerar en la implementación del sistema 575.2 Elementos que forman el prototipo 59

5.2.1 Control de Números de guía (en los servidores) 605.2.2 Servidor 635.2.3 Cliente 66

5.3 Seguridad 795.3.1 Algoritmo UU-Encoding 80

5.4 Otras características del sistema5.4.1 Replicas 845.4.2 Bloqueos 85

Conclusiones 87Anexo 1.- Seguridad y Cifrado de la información 90Anexo 2.- Diagramas del Flujo de Información por Usuario 105Bibliografía 108

Page 8: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Sistema administrador de números de guíade paquetería en forma distribuida

Objetivo General

Desarrollar un prototipo capaz de automatizar eficientemente los números

de guía de la paquetería que se envía por medio de la empresa Estafeta,

manejando el concepto de bases de datos distribuidas.

Objetivos Particulares

Mejorar los procesos actuales de la empresa, en cuanto al manejo de la

información que se genera con los diferentes registros de los números de guía en

cada plaza del país.

Reducir tiempos de espera en la actualización de la información generada

por cada plaza

Disponer de los registros de los números de guía de los paquetes enviados

y recibidos en las diferentes plazas al momento en que se generen.

Page 9: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Justificación La necesidad de tener la información disponible para el personal operativo de

la empresa Estafeta al momento en que se genera es de suma importancia

para una compañía con enlaces mundiales, particularmente si la información se

genera desde diferentes puntos del país.

Este prototipo evitará que se realicen procesos innecesarios (separación de

información, envió por parte de los encargados a la central, formateo de

información, etc.), lo cual reducirá tiempos en la disponibilidad de la misma

para una mejor atención hacia los clientes de la empresa, así como también

para una mejor administración por parte de los coordinadores de los diferentes

departamentos de sistemas en las diferentes regiones del país.

También permitirá que cada plaza sea la encargada de administrar la

información que se genera, evitando que se centralice el control y

administración de los procesos para el manejo de la misma.

Page 10: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Planteamiento

El sistema pretende tener toda la información de los números de guía

disponible al momento en que son capturados en las diferentes plazas para su

consulta. Para hacer esto, utiliza el concepto de bases de datos distribuidas.

También permite a los encargados de los diferentes departamentos de

sistemas hacer actualizaciones a la información si es necesario.

Características generales del sistema

- El prototipo trabaja bajo el concepto de bases de datos distribuidas.

- Existen al menos tres programas en cada plaza: un servidor, un programa

por medio del cual se van a capturar los números de guía de los paquetes,

y uno o varios clientes los cuales van a acceder a la información

almacenada y administrada por los servidores.

- La comunicación entre los clientes y los servidores es a través de sockets.

- Se trabaja bajo la plataforma de Windows, en cualquiera de sus versiones.

- Se utiliza Visual Basic 6 como herramienta de desarrollo, utilizando el

control winsock para la comunicación.

Page 11: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

- Se manejan dos tipos de usuarios, el administrador o supervisor, el cual

puede hacer actualizaciones sobre la información ya almacenada, y los

usuarios que solo pueden hacer consultas o rastreos de los números de

guía.

- Se maneja lo que se llama bloqueos de registros, esto evita la

inconsistencia de la información.

Page 12: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Metodología

I. Investigación bibliográfica y recopilación de información

disponible en Internet.

II. Descripción de la tecnología de software para el desarrollo de

sistemas de bases de datos distribuidas.

III. Seleccionar las herramientas de desarrollo de software para la

elaboración de los programas que conformaran el sistema de

bases de datos distribuidas.

IV. Descripción de los procesos actuales que realiza la empresa

Estafeta, y en base a ellos, diseñar la base de datos, identificar

los procesos que se modifican, seleccionar un método para el

diseño del sistema de base de datos distribuidas.

V. Elaboración del prototipo.

VI. Conclusión y presentación de resultados.

VII. Elaboración de material para presentación de los resultados de la

investigación.

Page 13: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CAPÍTULO 1

INTRODUCCIÓN

- Redes de Computadoras- Bases de Datos- Sistemas de Bases de Datos Distribuidas- Herramientas de Desarrollo de Aplicaciones

Page 14: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

En este capítulo se hace una revisión de los conceptos que

abarcan algunos conceptos fundamentales referentes con las

bases de datos distribuidas y con las tecnologías que se utilizan

para desarrollar el sistema que se pretende implementar.

Algunos conceptos abarcan redes de computadoras, bases

de datos, conceptos del Visual Basic como herramienta de

desarrollo seleccionada, así como también el tema principal de la

tesis que son las bases de datos distribuidas.

REDES DE COMPUTADORAS

Las redes en general, consisten en "compartir recursos", y uno de sus

objetivos es hacer que todos los programas, datos y equipo estén disponibles para

cualquiera de la red que así lo solicite, sin importar la localización física del

recurso y del usuario. En otras palabras, el hecho de que el usuario se encuentre

a 1000 kms de distancia de los datos, no debe evitar que este los pueda utilizar

como si fueran originados localmente.

Un segundo objetivo consiste en proporcionar una alta fiabilidad, al contar

con fuentes alternativas de suministro. Por ejemplo todos los archivos podrían

duplicarse en dos o tres máquinas, de tal manera que si una de ellas no se

encuentra disponible, podría utilizarse una de las otras copias. Además, la

presencia de múltiples CPU significa que si una de ellas deja de funcionar, las

otras pueden ser capaces de encargarse de su trabajo, aunque se tenga un

rendimiento global menor.

Otro objetivo es el ahorro económico. Los ordenadores pequeños tienen

una mejor relación costo / rendimiento, comparada con la ofrecida por las

máquinas grandes. Estas son, a grandes rasgos, diez veces más rápidas que el

más rápido de los microprocesadores, pero su costo es miles de veces mayor.

Page 15: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Este desequilibrio ha ocasionado que muchos diseñadores de sistemas

construyan sistemas constituidos por poderosos ordenadores personales, uno por

usuario, con los datos guardados una o mas máquinas que funcionan como

servidor de archivo compartido (Vela, 1999).

Local Area Networks (LANs)

Las redes de computadoras son conjuntos de maquinas independientes que

se comunican una con otra sobre un medio de red.

Redes de Area Local (Local Area Networks o LANs) son aquellas redes

usualmente confinadas a un área geográfica, tal como un edificio individual o el

Campus de una Universidad.

LANs, sin embargo, no son necesariamente simples en diseño, en la

medida que ellas pueden conectar muchos cientos de computadoras y ser

utilizadas por miles de usuarios.

El desarrollo de varios protocolos de interconexión estándar y medios de

transmisión han hecho posible la proliferación de LANs en organizaciones a nivel

mundial para aplicaciones de negocios y aplicaciones educacionales (Ender,

2001).

Wide Area Networks (WANs)

Las WANs son Redes Remotas, lo cual quiere decir que están lejos los

recursos a compartir, generalmente en otra ciudad, en otro estado o bien, en otro

país. Estas pueden ser de dos tipos. A través de una red pública como Internet,

Frame Relay o X.25 o bien a través de una red privada con enlaces telefónicos,

analógicos o digitales punto a punto. Dependiendo del ancho de banda de las

Page 16: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

conexiones a través de estas redes puede haber transmisión de datos, voz y hasta

video (Ulternet, 1997).

Internet

Es una red de computadoras interconectadas entre si que ofrecen acceso y

comparten información a través de un lenguaje común. En la actualidad es la red

de computadoras más grandes que existe en el mundo; se conecta por teléfono (a

través de un módem) o por fibra óptica y transmite toda clase de información.

La palabra Internet es el resultado de la unión de dos términos: Inter, que

hace referencia a enlace o conexión y Net (Network) que significa interconexión de

redes. Es decir, Internet no es otra cosa que una conexión integrada de redes de

computadores o redes interconectadas.

Por medio de todo este conjunto de componentes de hardware y software.

Se crearon y continúan desarrollándose numerosos servicios, aplicaciones y usos

de toda índole que son aprovechados para diferentes fines, los que conforman el

infinito mundo Internet (Poleo, 2000).

Intranet

Es una red privada de ordenadores desarrollada con tecnologías de Internet

tales como el navegador que le permite ahora consultar esta misma página Web o

el programa gestor de correo electrónico a la vez que utiliza los mismos protocolos

y estándares abiertos que permiten que ordenadores de diferentes tipos y

fabricantes se puedan comunicar entre ellos. Así como Internet es una gran plaza

pública donde todo el mundo participa en la Web a través de conferencias, grupos

de noticias o simplemente teniendo acceso a la información editada en formato

HTML (lenguaje que se utiliza para publicar páginas Web en Internet), la Internet

es un club privado al que acceden tan solo los miembros de la compañía. Más allá

Page 17: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

del concepto Intranet existe el concepto Extranet el cual permite extender los

privilegios de una Intranet a otras Intranets dispuestas en puntos geográficos

distintos aprovisionando a éstas de aquellos recursos que hasta el momento tan

solo se utilizaban en la propia red local creando de este modo una red privada de

trabajo dentro de la red de redes (Serrano, 2001).

BASES DE DATOS

¿Qué es un sistema de base de datos?

La tecnología de las bases de datos se ha descrito como “una de las áreas

de la ciencia de la computación y la informática de más rápido desarrollo”. Como

campo comercial, aun es relativamente nueva. Pese a su calidad de innovación,

sin embargo, el campo rápidamente ha cobrado importancia práctica y teórica. La

cantidad total de datos encomendados a las bases de datos se mide, sin exagerar,

en varios miles de millones de bytes; la inversión financiera al respecto alcanza

una cifra igualmente enorme; y no es exagerado afirmar que muchos miles de

organizaciones dependen de la operación continua y eficaz de un sistema de

bases de datos (Hernández, 1996).

¿Qué es exactamente un sistema de bases de datos? En esencia, no es

mas que un sistema de mantenimiento de registros basados en computadoras, es

decir, un sistema cuyo propósito general es registrar y mantener información. Tal

información puede estar relacionada con cualquier cosa que sea significativa para

la organización donde el sistema opera - en otras palabras, cualquier dato

necesario para los procesos de tomas de decisiones inherentes a la

administración de esa organización. Un sistema de bases de datos incluye cuatro

componentes principales: datos, hardware, software y usuarios.

Hay quienes conciben la base de datos como un enorme receptáculo en el

que un organismo guarda todos los datos procesables que reúne y al cual acuden

Page 18: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

muy diversos usuarios a “pescar”. Éste gran almacén puede estar concentrado en

una localidad determinada o distribuida en varias, todas ellas posiblemente

interconectadas mediante un sistema de telecomunicación. Tienen acceso a la

base de datos programas de la más diversa índole.

En la mayoría de los sistemas, la expresión base de datos no se refiere a

todos los tipos de registro, sino a una colección limitada y especifica de estos.

Dentro de un sistema, coexisten, por lo general varias bases de datos. No

obstante, se supone que los contenidos de estas bases son independientes y

disjuntos. Las colecciones de bases de datos de esta clase se denominan

sistemas de bases de datos (Hernández, 1996).

¿Por qué utilizar bases de datos?

La respuesta general a esta pregunta es que un sistema de bases de datos

proporciona a la empresa un control centralizado de sus datos de operación que

constituyen uno de sus activos más valiosos. Esto contrasta de manera aguda con

la situación que prevalece actualmente en muchas empresas, donde a menudo

cada aplicación tiene sus propios archivos - y muchas veces sus propias cintas o

paquetes de discos particulares -, de modo que los datos de operación se hallan

muy dispersos y, por tanto, es probable que sean difíciles de controlar

(Hernández, 1996).

SISTEMAS DE BASES DE DATOS DISTRIBUIDAS

¿Qué es un sistema de Base de Datos Distribuida?

En un sistema de Bases de Datos Distribuido, los datos se encuentran en

diferentes máquinas, generalmente situados en localizaciones geográficas

diferentes. Dichas máquinas pueden ser de distinto tipo atendiendo a su tamaño,

prestaciones y Sistema Operativo. A cada uno de los ordenadores que integran el

Page 19: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

sistema de Bases de Datos distribuido se le conoce como nodo o emplazamiento

del sistema y pueden ser administrados de forma diferente (De Miguel, 1999).

Una característica importante de las Bases de Datos Distribuidas es que

realizan dos tipos de transacciones bien diferenciados:

Transacciones Locales: cuando se accede a los datos del único

emplazamiento donde se inició la transacción.

Transacciones Globales: Cuando se accede a datos de emplazamientos

distintos al emplazamiento donde se inició la transacción.

Un sistema será distribuido si cumple con lo siguiente:

• Los distintos nodos están informados sobre los demás.

• Aunque algunas tablas estén almacenadas sólo algunos nodos, éstos

comparten un esquema global común.

• Cada nodo proporciona un entorno de ejecución de transacciones tanto

local como global.

• Generalmente, los nodos ejecutan el mismo software de gestión distribuida.

En caso contrario, aumenta en gran medida la dificultad de implementación

del sistema de Bases de Datos Distribuidas. En este caso se dice que el

sistema es heterogéneo.

Los sistemas de Bases de Datos Distribuidas son el resultado de la unión

de dos tecnologías, como se aprecia en la siguiente figura:

Page 20: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

* Tecnología de * Redes de Bases de Datos Computadoras

* Sistema de Bases deDatos Distribuidas

Un sistema administrador de Bases de Datos Distribuidas es el software

que administra la Base de Datos Distribuida y proporciona un mecanismo de

acceso que hace transparente esta distribución a los usuarios (De Miguel, 1999).

cenedic cenedic
cenedic cenedic
Page 21: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Ventajas de los sistemas de Bases de Datos Distribuidas

• Compartimiento de datos. Los usuarios de un nodo son capaces de acceder

a los datos de otro nodo. Por ejemplo, desde el Rectorado, se puede

consultar los datos de los alumnos de Informática.

• Autonomía. Cada nodo tiene cierto grado de control sobre sus datos, en un

sistema centralizado, hay un administrador del sistema responsable de los

datos a nivel global. Cada administrador local puede tener un nivel de

autonomía local diferente.

• Disponibilidad. Si en un sistema distribuido falla un nodo, los nodos

restantes pueden seguir funcionando. Si se duplican los datos en varios

nodos, la transacción que necesite un determinado dato puede encontrarlo

en cualquiera de los diferentes nodos (De Miguel, 1999).

Desventajas de los sistemas de Bases de Datos Distribuidas

• Coste de desarrollo del software. La complejidad añadida que es necesaria

para mantener la coordinación entre nodos hace que el desarrollo de

software sea más costoso.

• Mayor probabilidad de errores. Como los nodos que constituyen el sistema

funcionan en paralelo, es más difícil asegurar el funcionamiento correcto de

los algoritmos, así como de los procedimientos de recuperación de fallos

del sistema.

• Mayor sobrecarga de procesamiento. El intercambio de mensajes y

ejecución de algoritmos para el mantenimiento de la coordinación entre

Page 22: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

nodos supone una sobrecarga que no se da en los sistemas centralizados

(De Miguel, 1999).

Objetivos de una Base de Datos Distribuida

- Tener autonomía local.

- No depender de un sitio central.

- Ofrecer operación continua.

- Transparencia de localización.

- Transparencia de fragmentación.

- Transparencia de réplica.

- Procesamiento distribuido de consultas.

- Procesamiento de transacciones distribuidas.

- Transparencia de hardware.

- Transparencia de sistema operativo.

- Transparencia de red.

- Transparencia de sistema administrador de Bases de Datos (Hernández,

1996).

Objetivos de los sistemas de Bases de Datos Distribuidas

Page 23: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Elaborar informes corporativos que involucren el acceso a datos que se

encuentran repartidos en varias computadoras remotas (procesamiento global).

Procesar informes que solo involucren los datos que residen en la misma

computadora (procesamiento local).

Compartir los datos que residan en cada máquina con las otras

computadoras que están interconectadas en la red de acuerdo a las políticas de

la organización (Ibidem, Hernández).

Problemáticas en los sistemas administradores de Bases de

Datos Distribuidas

• Diseño de la Base de Datos.

- ¿Cómo distribuir la Base de Datos?

- Distribución de la Base de Datos replicada o no replicada.

- Problema relacionado con la administración del directorio (Ibidem,

Hernández).

Page 24: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

• Procesamiento de consultas.

- Problema de optimización.

- Convertir transacciones de usuario a instrucciones de manipulación de

datos.

- Minimizar costos (transmisión de datos + procesamiento local)

(Hernández, 1996).

El proceso de optimización de consultas necesita ser distribuido y consta de

dos fases:

- Optimización global. Medio de transmisión, distribución de subconsultas.

- Optimización local. Accesos a disco, manipulación de memoria, índices

(Ibidem, Hernández).

Arquitectura Cliente/Servidor

El modelo Cliente/Servidor divide la funcionalidad de la aplicación en torno

a dos roles muy bien definidos: “cliente” y “servidor”. De modo abstracto, el

servidor ofrece una serie de servicios que pueden ser utilizados por los clientes

para completar la funcionalidad de la aplicación.

Una interacción básica Cliente/Servidor implica a un cliente que inicie una

petición de algún servicio a un servidor, posiblemente incluyendo algunos

parámetros que modifiquen el comportamiento del servidor. El servidor entonces

Page 25: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

realiza la función especificada por el cliente, devolviendo los posibles resultados

que el servicio genera.

Esta abstracción permite desarrollar la aplicación en torno a las

abstracciones de descomposición modular que proporcionan los servicios.

En la práctica, los clientes y servidores se implementan como procesos que

se están ejecutando en maquinas conectadas a una red.

Tomando como base la manera en que la funcionalidad se divide entre

cliente y servidor, las aplicaciones Cliente/Servidor se dividen en dos grupos:

aplicaciones de dos niveles y aplicaciones de tres o n niveles.

Las aplicaciones de dos niveles fueron el primer paso en el desarrollo de

aplicaciones Cliente/Servidor. Típicamente, la lógica de presentación, la de

negocio y la de datos quedaban en la parte del cliente, dejando a los servidores

encargados de solo guardar los datos, es decir, como servidores de Bases de

Datos. Esta organización es sin duda un paso adelante con respecto a las

soluciones basadas en mainframes, ya que permite una cierta escalabilidad y que

varios clientes se puedan beneficiar de los datos residentes en los servidores. Sin

embargo, no esta libre de inconvenientes. Aunque es verdad que a lo largo del

ciclo de vida de una aplicación los datos son más estables que los procedimientos,

con esta configuración, un cambio en las bases de datos requerirá la

programación de una nueva aplicación cliente y la distribución a todos los

usuarios. Esta configuración se muestra en la siguiente figura:

Cliente

PresentaciónLógica del negocio

Acceso a datos

Servidor

Servidores BDSistemas Legacy

Etc.

Nivel 1 Nivel 2

Page 26: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Nivel 1 Nivel 2

Arquitectura de dos niveles Cliente/Servidor

Además, esta solución también presenta una baja escalabilidad, ya que a

medida que el número de clientes aumenta, el servidor de bases de datos se ve

cargado de forma proporcional al número de clientes. Las aplicaciones son

específicas para realizar cierta función y solo comparten los datos. No se pueden

reutilizar partes de aplicaciones ya creadas y se queda ligado al producto utilizado

como servidor de base de datos.

Un refinamiento de la arquitectura anterior es la arquitectura de 3 ó n

niveles. Aquí, el cliente se encarga de mantener interfaz gráfico de usuario,

mientras que existen una serie de componentes intermedios en el sistema que se

encargan de implementar la lógica de la aplicación. Por ultimo, hay un nivel que se

encarga de la lógica de datos, típicamente SGDBx o aplicaciones legacy. En el

momento en el que los componentes de este último nivel se conviertan en clientes

de otros componentes, se convierte en una estructura multinivel. De forma

esquemática, esta arquitectura se muestra a continuación.

Page 27: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Arquitectura de tres niveles Cliente/Servidor Esta configuración permite que los clientes se construyan en base a unos servicios encapsulados en los procesos que implementan la lógica de la aplicación, y por lo tanto son más inmunes a cambios tanto en la lógica como en los datos. Aun así, la funcionalidad que los clientes implementan es tan sencilla que los cambios son muy superficiales. Varios clientes pueden reutilizar servicios estándar definidos en el nivel intermedio. La aplicación, al estar dividida en partes pequeñas, hace que el proceso de distribución de funcionalidad en los procesadores mas adecuados sea mas flexible (Bohnhoff, 1994). Sistema Distribuido Los sistemas distribuidos representan el último paso en la computación Cliente/Servidor. En vez de diferenciar entre las distintas partes de la aplicación, los sistemas distribuidos ofrecen toda la funcionalidad en forma de "objetos", con un significado muy en la línea del termino " objeto" de la programación orientada a objetos. No existen los roles específicos de "cliente" y "servidor", sino que toda la funcionalidad están ahí para ser utilizada. Los procesos que componen la aplicación y que se están ejecutando en las distintas máquinas de la red con clientes y servidores y cooperan para seguir la funcionalidad total de la aplicación. Esto da máxima flexibilidad. Los sistemas distribuidos son un mundo de “entidades pares” (peer-to-peer), esto es, elementos de procesamiento o “nodos” con distintas disponibilidades de recursos, distinta capacidad de almacenamiento, distintos requerimientos, etc., que cooperan ofreciendo servicios en forma de objetos y requiriendo otros servicios de otros objetos implementados en otros nodos de la red. En general, un sistema distribuido es un sistema Cliente/Servidor multinivel con un número potencialmente grande de entidades que pueden desempeñar roles de clientes y servidores según sus necesidades. El hecho de ofrecer una serie de servicios en forma de objetos hace que el diseño y desarrollo se haga en base a interfaces bien definidos que facilitan y apoyan la modularidad y reutilización, a la vez que permiten un diseño mucho más flexible.

Cliente Lógica del negocio Servidor

Presentación Acceso a datos Servidores BDSistemas Legacy

etc .

Nivel 1 Nivel 2 Nivel 3

cenedic cenedic
cenedic cenedic
cenedic cenedic
cenedic cenedic
cenedic cenedic
Page 28: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

En comparación con un sistema centralizado existe:

• Mejor aprovechamiento de los recursos.

• Mayor poder de cómputo a más bajo costo (procesamiento paralelo).

• En teoría, mayor confiabilidad, si se maneja suficiente redundancia. (Si se

cae una máquina, no se cae todo el sistema).

• Crecimiento incremental.

• El software es mucho más complejo (de hecho, todavía no está muy claro

como hacerlo).

• Es complejo mantener un nivel de seguridad debido al múltiple acceso de

usuarios de diferentes localidades (Lewis, 1995).

HERRAMIENTAS DE DESARROLLO DE APLICACIONES

Page 29: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Existen una gran variedad de herramientas para el desarrollo de

aplicaciones, Visual Basic, Visual Fox Pro, Delphi, etc., a continuación se describe

la herramienta utilizada en el desarrollo de este prototipo.

Visual Basic

Visual-Basic (VB) es una herramienta de diseño de aplicaciones para

Windows, en la que estas se desarrollan en una gran parte a partir del diseño de

una interface gráfica. En una aplicación Visual - Basic, el programa está formado

por una parte de código puro, y otras partes asociadas a los objetos que forman la

interface gráfica.

Es por tanto un término medio entre la programación tradicional, formada

por una sucesión lineal de código estructurado, y la programación orientada a

objetos. Combina ambas tendencias. Ya que no podemos decir que VB

pertenezca por completo a uno de esos dos tipos de programación, debemos

inventar una palabra que la defina: PROGRAMACION VISUAL (Gurowich, 1999).

Page 30: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

La creación de un programa bajo Visual Basic lleva los siguientes pasos:

- Creación de una interface de usuario. Esta interface será la principal

vía de comunicación hombre máquina, tanto para salida de datos como

para entrada. Será necesario partir de una ventana - Formulario - a la

que se le añaden los controles necesarios.

- Definición de las propiedades de los controles - Objetos - que se

hayan colocado en ese formulario. Estas propiedades determinarán la

forma estática de los controles, es decir, como son los controles y para

qué sirven.

- Generación del código asociado a los eventos que ocurran a estos

objetos. A la respuesta a estos eventos (click, doble click, una tecla

pulsada, etc.) se le llama “procedimiento”, y deberá generarse de

acuerdo a las necesidades del programa.

- Generación del código del programa. Un programa puede hacerse

solamente con la programación de los distintos procedimientos que

acompañan a cada objeto. Sin embargo, VB ofrece la posibilidad de

establecer un código de programa separado de estos eventos. Este

código puede introducirse en unos bloques llamados Módulos, en otros

bloques llamados Funciones, y otros llamados Procedimientos. Estos

Procedimientos no responden a un evento acaecido a un objeto, sino

que responden a un evento producido durante la ejecución del

programa (Gurowich, 1999).

Page 31: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Tecnologías de acceso a datos

Data Access Object (DAO)

El modelo DAO ha sido programado en especial para acceder a

bases de datos tipo ISAM, muy propias de Access en redes de área local, Visual

Basic 6 incluye dos bibliotecas DAO para sus programas

- La biblioteca de objetos DAO 3.51 (la versión actual)

- La biblioteca de compatibilidad DAO 2.5/3.51, que permite el uso de los

objetos ya obsoletos de DAO 2.5 en sus programas de Visual Basic 6 (Gurowich,

1999).

Remote Data Object (RDO)

Una de las diferencias mas obvias entre DAO y RDO es el tamaño de

ambos modelos. El DAO tiene 21 objetos principales y el RDO tiene poco menos

de 15. Esto refleja las principales diferencias de ambos modelos. El modelo DAO

se ha diseñado para dar a los programadores un acceso completo tanto a los

datos como el manejo de su esquema (estructura de tablas), y el RDO se ha

diseñado tan solo para permitir el acceso a datos. Dado que la interfaz RDO se ha

diseñado para utilizarse al hacer una conexión con grandes sistemas de bases de

datos multiusuario (SQL Server, Oracle, etc.), los detalles para la creación y

modificación de tablas no son tareas estratégicas del RDO (Ibidem, Gurowich).

ActiveX Data Object (ADO)

Page 32: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El modelo de objetos ActiveX de acceso, podría interpretarse como el

eslabón perdido entre DAO y RDO, Aunque no se relacionan de alguna manera en

especial, todos estos modelos se enfocan en dar servicios de datos a las

aplicaciones sin la sobrecarga del modelo DAO y con algunas adiciones al RDO.

En sí, una de las mayores diferencias con DAO y RDO es que ADO se ha creado

para utilizar la interfaz OLEDB como el proveedor de datos subyacente en lugar de

ODBC. Con OLEDB "bajo cubierta", ADO también puede acceder a conjuntos de

datos que no provengan de bases de datos SQL, como correo electrónico, A/400,

hasta servicios de directorios en red (Gurowich. 1999).

Winsock de Visual Basic

El control WinSock permite conectarse a un equipo remoto e intercambiar datos

con el Protocolo de datagramas de usuario (UDP) o con el Protocolo de control de

transmisión (TCP). Ambos protocolos se pueden usar para crear aplicaciones

cliente-servidor.

Aplicaciones posibles

• Crear una aplicación cliente que recopile información del usuario antes de

enviarla a un servidor central.

• Crear una aplicación servidora que funcione como un punto central de

recopilación de datos procedentes de varios usuarios.

• Crear una aplicación de "conversación".

Seleccionar un protocolo

Page 33: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Cuando se utilice el control WinSock, primero se debe tener en cuenta si se va

a usar el protocolo TCP o el protocolo UDP. La principal diferencia entre los dos

radica en su estado de conexión:

• TCP es un protocolo basado en la conexión y es análogo a un teléfono: el

usuario debe establecer una conexión antes de continuar.

• UDP es un protocolo sin conexión y la transacción entre los dos equipos es

como pasar una nota: se envía un mensaje desde un equipo a otro, pero no

existe una conexión explícita entre ambos. Además, el tamaño máximo de

los datos en envíos individuales está determinado por la red.

La naturaleza de la aplicación que se esté creando determinará generalmente qué

protocolo se debe seleccionar. He aquí varias cuestiones que pueden ayudar a

seleccionar el protocolo adecuado:

1. ¿Necesitará la aplicación la confirmación por parte del cliente o el

servidor cuando se envíen o reciban datos? Si es así, el protocolo TCP

requiere una conexión explícita antes de enviar o recibir datos.

2. ¿Será muy grande el tamaño de los datos (como en el caso de los

archivos de imágenes o sonidos)? Una vez establecida la conexión, el

protocolo TCP mantiene la conexión y asegura la integridad de los datos.

3. ¿Se enviarán los datos de forma intermitente o en una sesión? Por

ejemplo, si está creando una aplicación que avisa a equipos específicos

cuando se han completado ciertas tareas, el protocolo UDP puede ser el

más apropiado. Este protocolo es también el más adecuado para enviar

pequeñas cantidades de datos (Gurowich, 1999).

Page 34: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CAPÍTULO 2

CONCEPTOS DE DISEÑOENFOCADOS AL DESARROLLO DE

APLICACIONES DISTRIBUIDAS

- Aspectos de Diseño de Programas

- El Diseño de la Distribución

- El Diseño de Distribución Bottom-Up (Ascendente)

Page 35: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ASPECTOS DE DISEÑO DE PROGRAMAS

Un sistema distribuido debe hacer que los usuarios (procesos) perciban el

sistema como un monoprocesador virtual. No es necesario que los usuarios estén

al tanto de la existencia de múltiples máquinas y múltiples procesadores en el

sistema. En la actualidad no hay ningún sistema que cumpla cabalmente con esta

definición, pero se están haciendo avances.

Los aspectos que hay tener en cuenta en el diseño de un sistema

distribuido se describen a continuación.

Transparencia

Los usuarios deben poder accesar los objetos remotos de la misma forma

que los locales. Es responsabilidad del sistema operativo distribuido localizar el

recurso y obtener la interacción adecuada.

La transparencia también tiene que ver con la forma de nombrar los objetos:

el nombre de un objeto no debe depender del lugar en que se almacena. Un

recurso debe poder migrar de un lugar a otro, sin que esto signifique que haya que

cambiar su nombre. Los usuarios, además, deben tener la misma vista del

sistema, independientemente del lugar en que el usuario haga login (Navarro,

1998).

Confiabilidad

Si tenemos un sistema con 5 máquinas, cada una con una probabilidad del

95% de estar funcionando normalmente en cualquier instante, el hecho de que

una máquina se caiga, hace que deje de funcionar todo el sistema, entonces la

probabilidad de que el sistema esté funcionando en un instante dado es del 77%.

Page 36: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Si en cambio el sistema está hecho de manera tal que cualquier máquina puede

asumir el trabajo de una máquina que se cae, entonces el sistema estará

funcionando un 99.9994% del tiempo. La primera opción es definitivamente mala

(mucho peor que en un sistema centralizado); la segunda, es poco realista (muy

difícil de implementar). Además, la tolerancia a fallas es un tema particularmente

complejo, debido a que, en general, no es posible diferenciar entre un enlace de

comunicaciones caído, una máquina caída, una máquina sobrecargada, y pérdida

de mensajes.

La confiabilidad tiene que ver con la consistencia de los datos. Si un archivo

importante se replica, hay que asegurarse que las réplicas se mantengan

consistentes; mientras más haya, más caro es mantenerlas, y más probable es

que haya inconsistencias.

La seguridad es también un aspecto fundamental de la confiabilidad

(Navarro, 1998).

Escalabilidad

La escalabilidad de un sistema es la capacidad para responder a cargas de

trabajo crecientes. En particular un sistema distribuido escalable debe diseñarse

de manera que opere correcta y eficientemente con diez o con millones de

máquinas (Ibidem, Navarro).

Page 37: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Flexibilidad

Los sistemas distribuidos son nuevos. Es importante, por ende, que

se puedan adaptar a nuevas tecnologías y a nuevos avances en el tema (Navarro,

1998).

EL DISEÑO DE LA DISTRIBUCION

El diseño de un sistema de base de datos distribuido implica la toma de

decisiones sobre la ubicación de los programas que accederán a la base de datos

y sobre los propios datos que constituyen esta última, a lo largo de los diferentes

puestos que configuren una red de ordenadores. La ubicación de los programas,

a priori, no debería suponer un excesivo problema dado que se puede tener una

copia de ellos en cada máquina de la red. Sin embargo, ¿cuál es la mejor opción

para colocar los datos? en una gran máquina que albergue a todos ellos,

encargada de responder a todas las peticiones del resto de las estaciones –

sistema de base de datos centralizado –, o se podría pensar en repartir las

relaciones, las tablas, por toda la red. En el supuesto de que se seleccionara esta

segunda opción, ¿qué criterios se deberían seguir para llevar a cabo tal

distribución? ¿Realmente este enfoque ofrecerá un mayor rendimiento que el

caso centralizado? ¿Podría optarse por alguna otra alternativa? (Rodríguez,

1999).

Tradicionalmente se ha clasificado la organización de los sistemas de

bases de datos distribuidos sobre tres dimensiones: el nivel de compartición, las

características de acceso a los datos y el nivel de conocimiento de esas

características de acceso (vea la figura 1). El nivel de compartición presenta tres

alternativas: inexistencia, es decir, cada aplicación y sus datos se ejecutan en un

Page 38: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ordenador con ausencia total de comunicación con otros programas u otros datos;

se comparten sólo los datos y no los programas, en tal caso existe una réplica de

las aplicaciones en cada máquina y los datos viajan por la red; y, se reparten

datos y programas, dado un programa ubicado en un determinado sitio, éste

puede solicitar un servicio a otro programa localizado en un segundo lugar, el cual

podrá acceder a los datos situados en un tercer emplazamiento.

Figura 1. Enfoque de la distribución (Rodríguez, 1999).

Existen dos alternativa respecto a las características de acceso a los datos:

el modo de acceso a los datos que solicitan los usuarios puede ser estático, es

decir, no cambiará a lo largo del tiempo, o bien, dinámico. Sin embargo, lo

realmente importante radica, estableciendo el dinamismo como base, que tan

dinámico es y cuántas variaciones sufre a lo largo del tiempo.

Esta dimensión establece la relación entre el diseño de bases de datos

distribuidas y el procesamiento de consultas.

La tercera clasificación es el nivel de conocimiento de las características de

acceso. Una posibilidad es, evidentemente, que los diseñadores carezcan de

Page 39: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

información alguna sobre cómo los usuarios acceden a la base de datos. Es una

posibilidad teórica, pero sería muy laborioso abordar el diseño de la base de datos

con tal ausencia de información. Lo más práctico sería conocer con detenimiento

la forma de acceso de los usuarios o, en el caso de su imposibilidad, conformarse

con una información parcial de ésta.

El problema del diseño de bases de datos distribuidas podría enfocarse a

través de esta trama de opciones. En todos los casos, excepto aquel en el que no

existe compartición, aparecerán una serie de nuevos problemas que son

irrelevantes en el caso centralizado (Rodríguez, 1999).

A la hora de abordar el diseño de una base de datos distribuida se puede

optar principalmente por dos tipos de estrategias: la estrategia ascendente y la

estrategia descendente. Ambos tipos no son excluyentes, y no resultaría extraño

a la hora de abordar un trabajo real de diseño de una base de datos que se

pudiesen emplear en diferentes etapas del proyecto una u otra estrategia. La

estrategia ascendente podría aplicarse en aquel caso donde haya que proceder a

un diseño a partir de un número de pequeñas bases de datos existentes, con el

fin de integrarlas en una sola.

En este caso se partiría de los esquemas conceptuales locales y se

trabajaría para llegar a conseguir el esquema conceptual global. Aunque este

caso se pueda presentar con facilidad en la vida real, se prefiere pensar en el

caso donde se parte de cero y se avanza en el desarrollo del trabajo siguiendo la

estrategia descendente (Ibidem, Rodríguez).

Page 40: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Existen diversas formas de afrontar el problema del diseño de la

distribución. Las más usuales se muestran en la figura 2. En el primer caso, caso

A, los dos procesos fundamentales, la fragmentación y la asignación, se abordan

de forma simultánea. Esta metodología se encuentra en desuso, sustituida por el

enfoque en dos fases, caso B: la realización primeramente de la partición para

luego asignar los fragmentos generados. El resto de los casos se comentan en la

sección referente a los distintos tipos de la fragmentación.

Figura 2. Enfoques para realizar el diseño distributivo (Rodríguez, 1999).

El principal problema de la fragmentación radica en encontrar la unidad

apropiada de distribución.

Una relación no es una buena unidad por muchas razones. Primero, las

vistas de la aplicación normalmente son subconjuntos de relaciones. Además, la

localidad de los accesos de las aplicaciones no está definida sobre relaciones

enteras pero sí sobre subconjuntos de las mismas.

Page 41: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Por ello, sería normal considerar como unidad de distribución a estos

subconjuntos de relaciones (Rodríguez, 1999).

Segundo, si las aplicaciones tienen vistas definidas sobre una determinada

relación (considerándola ahora una unidad de distribución) que reside en varios

sitios de la red, se puede optar por dos alternativas. Por un lado, la relación no

estará replicada y se almacena en un único sitio, o existe réplica en todos o

algunos de los sitios en los cuales reside la aplicación. Las consecuencias de esta

estrategia son la generación de un volumen de accesos remotos innecesario.

Además, se pueden realizar réplicas innecesarias que causen problemas en la

ejecución de las actualizaciones y puede no ser deseable si el espacio de

almacenamiento está limitado.

Tercero, la descomposición de una relación en fragmentos, tratados cada

uno de ellos como una unidad de distribución, permite el proceso concurrente de

las transacciones. También la relación de estas relaciones, normalmente,

provocará la ejecución paralela de una consulta al dividirla en una serie de

subconsultas que operará sobre los fragmentos (Ibidem, Rodríguez).

Pero la fragmentación también acarrea inconvenientes. Si las aplicaciones

tienen requisitos tales que prevengan la descomposición de la relación en

fragmentos mutuamente exclusivos, estas aplicaciones cuyas vistas estén

definidas sobre más de un fragmento pueden sufrir una degradación en el

rendimiento. Por tanto, puede ser necesario recuperar los datos de dos

fragmentos y llevar a cabo sobre ellos operación de unión y yunto , lo cual es

costoso.

Page 42: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Un segundo problema se refiere al control semántico. Como resultado de la

fragmentación los atributos implicados en una dependencia se descomponen en

diferentes fragmentos los cuales pueden destinarse a sitios diferentes. En este

caso, la sencilla tarea de verificar las dependencias puede resultar una tarea de

búsqueda de los datos implicados en un gran número de sitios (Rodríguez, 1999).

TIPOS DE FRAGMENTACION

Dado que una relación se corresponde esencialmente con una tabla y la

cuestión consiste en dividirla en fragmentos menores, inmediatamente surgen dos

alternativas lógicas para llevar a cabo el proceso: la división horizontal y la

división vertical. La división o fragmentación horizontal trabaja sobre las tuplas,

dividiendo la relación en subrelaciones que contienen un subconjunto de las

tuplas que alberga la primera. La fragmentación vertical, en cambio, se basa en

los atributos de la relación para efectuar la división. Estos dos tipos de partición

podrían considerarse los fundamentales y básicos. Sin embargo, existen otras

alternativas. Fundamentalmente, se habla de fragmentación mixta o híbrida

cuando el proceso de partición hace uso de los dos tipos anteriores.

La fragmentación mixta puede llevarse a cabo de tres formas diferentes:

desarrollando primero la fragmentación vertical y, posteriormente, aplicando la

partición horizontal sobre los fragmentos verticales (denominada partición VH), o

aplicando primero una división horizontal para luego, sobre los fragmentos

generados, desarrollar una fragmentación vertical (llamada partición HV), o bien,

de forma directa considerando la semántica de las transacciones. Otro enfoque

distinto y relativamente nuevo, consiste en aplicar sobre una relación, de forma

simultánea y no secuencial, la fragmentación horizontal y la fragmentación

vertical; en este caso, se generara una rejilla y los fragmentos formaran las celdas

Page 43: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

de esa rejilla, cada celda será exactamente un fragmento vertical y un fragmento

horizontal (nótese que en este caso el grado de fragmentación alcanzado es

máximo, y no por ello la descomposición resultará más eficiente).

Grado de fragmentación. Cuando se va a fragmentar una base de datos se debe

sopesar qué grado de fragmentación va a alcanzar, ya que éste será un factor

que influirá notablemente en el desarrollo de la ejecución de las consultas. El

grado de fragmentación puede variar desde una ausencia de la división,

considerando a las relaciones unidades de fragmentación; o bien, fragmentar a un

grado en el cada tupla o atributo forme un fragmento. Ante estos dos casos

extremos, evidentemente se ha de buscar un compromiso intermedio, el cual

debería establecerse sobre las características de las aplicaciones que hacen uso

de la base de datos. Dichas características se podrán formalizar en una serie de

parámetros. De acuerdo con sus valores, se podrá establecer el grado de

fragmentación del banco de datos (Rodríguez, 1999).

Figura 3. Distintos tipos de fragmentación (Rodríguez, 1999).

A continuación se enuncian las tres reglas que se han de cumplir durante el

proceso de fragmentación, las cuales asegurarán la ausencia de cambios

semánticos en la base de datos durante el proceso.

Reglas de correción de la fragmentación

Page 44: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

1. Compleción. Si una relación R se descompone en una serie de fragmentos

R1, R2, ..., Rn, cada elemento de datos que pueda encontrarse en R deberá

poder encontrarse en uno o varios fragmentos Ri. Esta propiedad

extremadamente importante asegura que los datos de la relación global se

proyectan sobre los fragmentos sin pérdida alguna. Tenga en cuenta que en

el caso horizontal el elemento de datos, normalmente, es una tupla, mientras

que en el caso vertical es un atributo.

2. Reconstrucción. Si una relación R se descompone en una serie de

fragmentos R1, R2, ..., Rn, puede definirse una operador relacional tal que

El operador será diferente dependiendo de las diferentes formas de

fragmentación. La reconstrucción de la relación a partir de sus fragmentos

asegura la preservación de las restricciones definidas sobre los datos en

forma de dependencias.

3. Disyunción. Si una relación R se descompone horizontalmente en una serie

de fragmentos R1, R2, ..., Rn, y un elemento de datos di se encuentra en

algún fragmento Rj, entonces no se encuentra en otro fragmento Rk (k j).

Esta regla asegura que los fragmentos horizontales sean disjuntos. Si una

relación R se descompone verticalmente, sus atributos primarios clave

normalmente se repiten en todos sus fragmentos (Rodríguez, 1999).

Alternativas de asignación

Partiendo del supuesto que el banco de datos se haya fragmentado

correctamente, habrá que decidir sobre la manera de asignar los fragmentos a los

Page 45: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

distintos sitios de la red. Cuando una serie de datos se asignan, éstos pueden

replicarse para mantener una copia. Las razones para la réplica giran en torno a

la seguridad y a la eficiencia de las consultas de lectura. Si existen muchas

reproducciones de un elemento de datos, en caso de fallo en el sistema se podría

acceder a esos datos ubicados en sitios distintos. Además, las consultas que

acceden a los mismos datos pueden ejecutarse en paralelo, ya que habrá copias

en diferentes sitios. Por otra parte, la ejecución de consultas de actualización, de

escritura, implicaría la actualización de todas las copias que existan en la red,

cuyo proceso puede resultar problemático y complicado. Por tanto, un buen

parámetro para afrontar el grado de réplica consistiría en sopesar la cantidad de

consultas de lectura que se efectuarán, así como el número de consultas de

escritura que se llevarán a cabo. En una red donde las consultas que se procesen

sean mayoritariamente de lectura, se podría alcanzar un alto grado de réplica, no

así en el caso contrario. Una base de datos fragmentada es aquella donde no

existe réplica alguna. Los fragmentos se alojan en sitios donde únicamente existe

una copia de cada uno de ellos a lo largo de toda la red. En caso de réplica, se

puede considerar una base de datos totalmente replicada, donde existe una copia

de todo el banco de datos en cada sitio, o considerar una base de datos

parcialmente replicada donde existan copias de los fragmentos ubicados en

diferentes sitios. El número de copias de un fragmento será una de las posibles

entradas a los algoritmos de asignación, o una variable de decisión cuyo valor lo

determine el algoritmo. La figura 4 compara las tres alternativas de réplica con

respecto a distintas funciones de un sistema de base de datos distribuido (Alberto,

1999).

Réplica total Réplicaparcial

Partición

Procesamiento deconsultas fácil dificultad Similar

Gestión del directorio fácil oinexistente dificultad Similar

Page 46: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Control deconcurrencia moderado difícil Fácil

Seguridad muy alta alta Baja

Realidad posibleaplicación realista posible

aplicación

Figura 4. Comparación de las alternativas de réplica

Page 47: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Información necesaria

Un aspecto importante en el diseño de la distribución es la cantidad de

factores que contribuyen a un diseño óptimo. La organización lógica de la base de

datos, la localización de las aplicaciones, las características de acceso de las

aplicaciones a la base de datos y las características del sistema en cada sitio,

tienen una decisiva influencia sobre la distribución. La información necesaria para

el diseño de la distribución puede dividirse en cuatro categorías: la información del

banco de datos, la información de la aplicación, la información sobre la red de

ordenadores y la información sobre los ordenadores en sí. Las dos últimas son de

carácter cuantitativo y servirán, principalmente, para desarrollar el proceso de

asignación (Alberto, 1999).

EL DISEÑO DE DISTRIBUCIÓN BOTTOM-UP

(ASCENDENTE)

En este enfoque, el esquema representando la porción de los datos

almacenados en cada sitio individual constituye el punto de partida en el diseño, y

la distribución del diseño consiste en la identificación de los datos que son

comunes a ellos, así como sus diferencias.

Durante la operación, los sistemas de bases múltiples proveen sólo

capacidad de consulta global y capacidad de actualización local (update), de modo

que cada sistema local puede estar actualizado por transacciones realizadas en

ese lugar. Si el diseñador no puede modificar las bases de datos locales de un

sistema de base de datos múltiple, entonces la resolución del conflicto tiene que

ser incorporada en el procesamiento de la capacidad del programa de consulta del

sistema.

Page 48: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El apoyo de la multi-base provee un señalamiento automático de las

consultas señaladas de acuerdo con el panorama global, aplicables al esquema

local y coordina la ejecución de las consultas y la recolección de los resultados

(Besso, 1999).

Problemas de diseño en la construcción de un sistema global

Los problemas en el diseño bottom-up de un sistema de bases múltiples se

debe a la necesidad de construcción de un esquema global (llamado Superview).

El proceso de integración reconoce entidades relacionadoras y sus atributos.

Para integrar las bases de datos necesitamos seleccionar un tipo adecuado

de modelos de datos para el esquema global. Una generalización jerárquica

permite la definición de una relación subtipo-tipo entre dos entidades; esto puede

ser útil cuando dos vistas dan una descripción que se superponen parcialmente de

la misma identidad. Entonces, la solución clásica del panorama de integración

consiste en la generación de tres entidades, una con los atributos comunes y otras

dos con atributos que no se interpongan entre sí.

La necesidad de las jerarquías de generalización indica que los modelos

conceptuales como el ER (extendido por la generalización), el modelo estructural,

o el modelo funcional son buenos candidatos para el proceso de integración.

Otra cuestión general es el orden de integración de los panoramas. Cuando

hay varias vistas presentes, la generalización típicamente se lleva a cabo al unir

una vista al mismo tiempo con el esquema global, lo que a su vez se construye

gradualmente. Así el problema general que consideramos es el de cómo construir

la super vista de dos panoramas. En general, es mejor integrar primero la más

grande o la más importante de las vistas, seguida de la más pequeña o la menos

importante (Alberto,1999).

Page 49: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Trabajando con los datos inconsistentes durante la operación

En la práctica, las bases de datos múltiples tienen errores. Esos pueden ser

debidos a la transcripción de las entradas, omisión o fallo en la sincronización de

las actualizaciones, y de la recuperación inadecuada desde los errores del

sistema. El diseñador de la base de datos debe decidir las políticas para

sobrellevar las inconsistencias que surgen durante la operación de la base de

datos global.

El diseñador de la base de datos tiene varias opciones sobre cómo manejar

las inconsistencias. Mientras que las inconsistencias serán detectadas en el

momento de la ejecución, la determinación de las políticas para resolver las

inconsistencias es un problema de diseño, estas políticas incluyen:

Presentar cualquiera de los valores inconsistentes sin notificárselo al

usuario: la solución más directa pero al mismo tiempo más peligrosa.

Presentar todos los valores inconsistentes y mostrar al usuario las fuentes

de la información. En este caso, el usuario debería ser capaz de evaluar los casos

de inconsistencias.

Evaluar alguna función agregada a los valores de inconsistencia y presentar

el resultado a la función del usuario. Las funciones agregadas posibles incluyen

promedio, máximo y minino. Esta técnica fue utilizada cuando se esperó que las

observaciones fueran diferentes ya que ocurrieron en tiempos diferentes.

Presentar el valor más reciente. Esta política requiere la misma elaboración

de las operaciones actualizaciones o updates (que son caras) basada en el

supuesto de que las inconsistencias se deban a las actualizaciones retrasadas, y

de este modo el último valor es el que más se necesita.

Page 50: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Presentar el valor desde el sistema más confiable. Esta política está basada

en la suposición que el diseñador es capaz de evaluar la confiabilidad de los sitios

en la base de datos distribuida (Alberto, 1999).

Page 51: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CAPÍTULO 3

CONTEXTO DE LA EMPRESAESTAFETA

- Historia- Infraestructura- Logros- Estafeta en Números

Page 52: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ESTAFETA S.A. DE C.V.

Estafeta ocupa el primer lugar nacional en número de clientes, ventas y

cantidad de envíos transportados. También ofrece a sus clientes los servicios de

mensajería y paquetería a 200 países del mundo.

En los últimos doce años, la empresa ha logrado un crecimiento significativo

al acercarse a 50 millones de recolecciones y entregas en 1997, cifra que

representó una participación superior al 35% del mercado doméstico.

El crecimiento constante que han experimentado desde sus inicios los llevó

en 1997 a una facturación por arriba de los 100 millones de dólares.

Estafeta garantiza la entrega puntual de sus envíos en los destinos donde

presta el servicio.

Las cifras avalan su entrega y compromiso: 50 millones de entregas y

recolecciones realizadas durante 1997.

Estafeta ofrece productos y servicios diseñados para responder a las

necesidades de comunicación y distribución, así como soluciones integrales de

logística.

Historia

Estafeta Mexicana, S.A. de C.V., surge en agosto de 1979 en el estado de

Querétaro como una empresa mexicana pionera en el servicio de mensajería

acelerada. La empresa fue fundada por sus socios actuales (2 socios alemanes y

2 socios mexicanos). La empresa comenzó a ofrecer sus servicios con una PC

286 y una camioneta Ford modelo 1974 para sus entregas. Después abren una

Page 53: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

oficina en el DF y a partir de eso empiezan a establecer sucursales en todo

México. Desde sus inicios ha venido ofreciendo servicios de mensajería y

paquetería con un nivel de calidad competitivo a nivel mundial (Estafeta, 2000).

Infraestructura

Actualmente Estafeta posee una flotilla de distribución de más de 1,500

vehículos de carga, incluyendo aviones propios, cuenta con 30 Centros

Operativos, además a lo largo y ancho del territorio nacional tiene 325 oficinas

propias totalmente automatizadas y conectadas a una red privada de

telecomunicaciones.

Logros

Apoyan a fabricantes y comercializadores con servicios adecuados de

distribución que les permiten colocar y resurtir sus productos en los mercados de

casi cualquier parte de la República Mexicana.

El servicio a sus clientes, les ha permitido atender las características

particulares del mercado nacional y así responder a la demanda de la población

con un servicio confiable, rápido y económico.

Su misión

Ofrecer el servicio líder en mensajería y Paquitería en el Mercado nacional (Ibidem, Estafeta).

Page 54: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El objetivo de la empresa es:

La satisfacción total del cliente (Estafeta, 2000).

Cobertura Amplia

Estafeta está presente en la gran mayoría de las ciudades de la República

Mexicana, al igual que en más de 180 países en los cinco continentes.

Servicios Electrónicos

Es posible saber en todo momento el lugar en el que se encuentran los

envíos, así como cualquier información detallada sobre los mismos, solo es

cuestión de realizar una llamada a Estafeta y por medio de un sistema de rastreo

electrónico es posible obtener la ubicación y en su caso, la confirmación de la

entrega. Además Estafeta cuenta con una dirección de internet

www.estafeta.com.mx en la cual ponen a disposición de los usuarios las

herramientas electrónicas para poder consultar en forma remota, la ubicación de

los envíos y demás información de la empresa.

Comando Estafeta

Estafeta cuenta con un software para la administración y gestión de envíos,

el cual pone a trabajar la información en beneficio de los clientes de manera

inteligente. Sistema Comando asegura el control sobre los envíos, permitiendo

Page 55: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

automatizar la mensajería y paquetería, mientras reduce los costos y aumenta las

ventas. Este software está disponible en versiones para Windows 3.X y Windows

95.

Page 56: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Comando Estafeta permite:

- Automatizar la impresión de las guías.

- Rastrear y confirmar los envíos en forma remota (vía modem o

disquete).

- Obtener reportes pormenorizados de todas las operaciones.

Page 57: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Descripción Empresa de mensajería y paquetería

Fundación Agosto de 1979

Numero de empleados 3,000

Clientes 50,000 regulares

Ventas Anuales 100 millones de dólares

Posición en el mercadodomestico

1er. Lugar

Participación del mercado 34% aproximadamente

Cobertura 100% del mercado nacional

Oficinas 325 propias

Centros operativos y deintercambio

40 a nivel nacional

Vehículos terrestres 1,500 unidades

Vehículos aéreos 11 jets de carga

Conexiones aéreas propias 59 a nivel nacional

Volumen diario de operaciones 200,000 entregas y recolecciones

Volumen diario de carga 1,200,000 kilos a nivel nacional

Kilómetros recorridosdiariamente

240,000 a nivel nacional

Estafeta en números (Estafeta, 2000).

Page 58: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CAPÍTULO 4

ANÁLISIS DEL FUNCIONAMIENTODE ENVIOS Y ENTREGAS DE

PAQUETES (Situación antes de laimplementación del sistema)

− Equipo con que se cuenta actualmente− Flujo de Información− Información que se obtiene por cada paquete que se envía o se

entrega− Lista de plazas a cargo de Colima− Descripción de los números de guía− Tipos de movimientos de los paquetes

Page 59: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

La empresa Estafeta en su sucursal Colima cuenta con un departamento de

sistemas el cual es el encargado de la zona occidente, la cual consta de tres

estados (Colima, Jalisco, Tepic), en el se lleva todo el control sobre los números

de guía de los paquetes que se envían y se reciben en las diferentes plazas de la

zona occidente. Toda la información se concentra en la plaza para después ser

enviada a la central para que sea procesada y separada por plazas.

Para poder llevar este control, Estafeta de México cuenta con una red

privada, la cual conecta las diferentes plazas en toda la república. Esta red consta

de líneas privadas DS0, servidores Uníx, Terminales con Windows 95-98 y

conexiones vía modem.

Equipo con que se cuenta actualmente

El departamento de sistemas cuenta con un servidor UNIX, en el cual se

conectan varias terminales tontas (solo monitor y teclado) y varias computadoras

con Windows 95 o 98. También es posible accesar al servidor UNIX por medio de

modem.

Colima es la primera plaza en la que se implementaron los lectores ópticos

portátiles para entregas y recolecciones de paquetes, lo cual significa que si se

trabaja mejor con estos lectores, después se implementarán en las demás plazas

de la república. Estos lectores permiten a los que entregan los paquetes llevar un

mejor control sobre estos.

También se cuenta con lectores de código de barra para obtener los

números de guía de los paquetes que entran y salen de Estafeta. Para los lectores

de código de barra se cuenta con una computadora, la cual es la que recaba la

información de los diferentes números de guía de los paquetes. Existe un

Page 60: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

programa por medio del cual se leen los códigos de barra y se procesan de

acuerdo a la acción que se está haciendo con el paquete.

Flujo de Información

Después de recabar la información por medio de los lectores de código de

barras y de los lectores ópticos portátiles, la información se lleva al servidor UNIX

en el cual la información se formatea para enviarla a la oficina central de Estafeta,

Cuando la información llega a la oficina central, esta se separa y se envía a cada

plaza para llevar un control sobre los paquetes que se enviaron o se recibirán.

También esta información se almacena en el servidor Web para que los clientes

puedan consultar por medio de un navegador la localización actual de su paquete

y poder darse una idea de cuando o a que hora aproximadamente llegará el

paquete a su destino.

Se realiza esta operación por lo menos tres veces al día.

Page 61: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Diagrama del Flujo de Información actual

Descripción del diagrama de flujo

Recopilación de información: Esta parte genera la información de los

números de guía de los paquetes, y la información se recopila mediante lectores

de código de barras portátiles y no portátiles. Además, se capturan los números de

guía de los paquetes en forma manual cuando los códigos de barra no pueden ser

leídos por el lector.

Traslado al servidor: Como la información es generada en un sistema que

trabaja bajo Windows y el servidor trabaja Bajo UNIX, es necesario que se haga

Recopilación de Información

Traslado al servidor

Formateo de Información

Envío de información

Separación de información

Actualización de la información en elservidor Web

Envío de la información a las diferentesplazas

Disponibilidad dela información

Page 62: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

una transformación de formatos de archivos, Esta transformación se realiza en

este punto.

Formateo de información: Aquí se verifica que toda la información tenga el

formato necesario para enviarla a la central en México.

Envío de información: Hasta este punto, la información se envía a la central.

El envío se hace mediante comandos de UNIX y a través de la red privada de la

empresa.

Separación de información: A cada plaza, se le envía la información

referente a los paquetes que han sido enviados por ellos, así como los números

de los paquetes que se van a recibir para entregarlos a los distintos destinos en el

estado.

Actualización de la información en el servidor Web: Se actualiza la

información del servidor Web para que esté disponible para las consultas por

medio de su sitio web.

Envío de la información a las diferentes plazas: La información que ha sido

separada se regresa a cada plaza que corresponde para que tengan actualizada

su información.

Disponibilidad de la información: Hasta este momento la información que

fue generada en cada plaza está disponible para consultas o, en ciertos casos,

para ser actualizada.

Page 63: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Diagrama del flujo de información que se obtendrá

Recopilación deinformación

Disponibilidad

ibilidad

Envío de la

Actualización del

ación

Disponibilidad

de la informacióninformación a lacentral

servidor web

de lainformación

Page 64: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Información que se obtiene por cada paquete que se envía o se

entrega

ENTREGAS

Al momento de que se va a entregar un paquete es necesario que se

genere la siguiente información para el control de Estafeta:

- Número de guía (cadena de 22 caracteres).

- Clave del lector óptico portátil o del lector de código de barras (cadena

de 4 caracteres).

- Destino (cadena de 3 caracteres).

- Origen (cadena de 3 caracteres).

- Nombre de la persona que recibe el paquete (cadena de 50 caracteres).

Esta información se obtiene al momento de entregar un paquete y es

almacenada en el lector óptico portátil para después descargar toda la información

en una computadora, la cual almacena toda la información del día referente a las

entregas de paquetes.

Para cuando se utilizan los lectores de código de barras, existe un software

especial para recabar la información del número de guía, Este software se ejecuta

bajo el entorno de Windows 95 0 98.

Para pasar los archivos generados bajo Windows al servidor UNIX primero

se copian los archivos al servidor por medio de comandos de UNIX. A

Page 65: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

continuación, por medio de otro software el cual se ejecuta en entorno UNIX, los

archivos generados en Windows se incorporan al sistema en UNIX para llenar los

datos que hicieron falta, cabe señalar que cuando se utilizan los lectores de código

de barras, estos solamente obtienen el número de guía y, en algunas ocasiones,

el origen del paquete. Por lo tanto los datos que hacen falta deben de capturarse

manualmente.

ENVIOS

Al momento de que se va a enviar un paquete es necesario que se genere

la siguiente información para el control de Estafeta:

- Número de guía.

- Destino.

- Origen.

- Nombre de la persona que envía el paquete.

Esta información es obtenida en los puntos de venta de Estafeta. También

esta información debe transmitirse al servidor para ser tratada y enviada a la

central de Estafeta.

Page 66: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Lista de plazas a cargo de Colima

Colima Tecomán Puerto Vallarta Arandas Ciudad

Guzmán

Tepatitlan San Miguel del

Alto

Manzanillo Tepic San Juan de

los Lagos

Autlan La Barca Ocotlan

Descripción de los números de guía

Cada número de guía consta de 22 dígitos, los cuales se dividen de la

siguiente forma:

No. de Dígitos Descripción

10 Número de cliente

3 Número de plaza

2 Tipo de servicio

7 Número consecutivo

El número de cliente es único, Cada vez que llega un cliente nuevo, se le

asigna un número o se le asigna los números ya establecidos, los cuales tienen la

terminación 9999 o 0000.

Cada plaza tiene asignada un número único, algunos de los cuales son:

Page 67: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Colima 012

Tecomán 177

Manzanillo 183

Puerto Vallarta 072

Ciudad Guzmán 105

Tipos de movimientos de los paquetes

Cada vez que llega un paquete a una plaza, éste se da de alta. Una vez

dado de alta, el paquete se entrega en la oficina de la plaza o a domicilio, Para

estas acciones, también se le hace un registro que indica de que forma se va a

entregar el paquete. Si el paquete solo está de paso, también se registra su salida.

En algunas ocasiones, los paquetes se detienen en los retenes instalados en las

carreteras, donde se quedarán unos días, Por lo tanto, también se registran

paquetes que se detienen en los retenes por un tiempo.

Page 68: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CAPÍTULO 5

IMPLEMENTACIÓN

− Aspectos de diseño a considerar en la implementación del sistema− Elementos que forman el prototipo

− Control de Números de guía (en los servidores)− Servidor− Cliente

− Seguridad− Otras Características del Sistema

Page 69: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Aspectos de diseño a considerar en la implementación del sistema

- Estructura de la Base de Datos

Cada plaza contará con una base de datos en donde se manejaran los

datos de los números de guía localmente. Esta base de datos será de la siguiente

forma:

Servidor

Tabla – Guías

Nombre Tipo Tamaño

NoGuia Texto 22Tipo Byte

Subtipo ByteFecha Fecha/HoraHora Fecha/Hora

Cliente

Tabla - DirIP

Nombre Tipo Tamaño

Plaza Texto 30IP Texto 15

Posición Autonumerico

Tabla - Usuarios

Nombre Tipo Tamaño

Usuario Texto 10

Password Texto 10Nombre Texto 50TipoU Byte

- Fragmentación de la Base de Datos

No será necesario fragmentar la base de datos que exista localmente en

cada plaza si no que se tendrá una ausencia de la división. Considerando a las

Page 70: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

relaciones unidas de fragmentación, esto significa que la base de datos de cada

plaza quedará intacta y no será fragmentada.

- Replicas

En cada plaza se tendrá una réplica de cada base de datos que está

almacenada localmente, por si en algunas ocasiones la computadora que tiene

almacenada la base de datos falla o sucede algún contratiempo con ella. La

réplica permitirá al menos hacer consultas de la información. La base de datos que

servirá de réplica tendrá la misma estructura que la base de datos original, la cual

se mostró anteriormente.

- Método de distribución de la Base de Datos

Como ya existen en cada plaza todas las bases de datos, se implementará

el método Bottom-Up (ascendente). Este método ya fue explicado en el capítulo

anterior.

- Comunicación entre clientes y servidores

La comunicación entre las diferentes plazas se realizará a través de

sockets. En particular, se utilizará el control Winsock de Visual Basic, utilizando el

protocolo TCP. Se enviarán entre los clientes y los servidores cadenas, las cuales

tendrán una estructura específica para indicar el tipo de función que hará el cliente

o el servidor, así como también se enviarán los argumentos necesarios para

realizar la función que se está solicitando o realizando.

Para identificar los servidores, se utilizarán direcciones IP las cuales ya se

tienen asignadas en cada plaza existente.

Page 71: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Réplica TCP/IP Réplica

Réplica Réplica

Esquema general del funcionamiento del sistema

Elementos que forman el Prototipo

En cada plaza existirán tres programas individuales los cuales serán:

- Programa para controlar los números de guía.

- Programa que recibirá las solicitudes de información de las demás

plazas.

- Programa por medio del cual se podrán hacer consultas y/o

modificaciones de las bases de datos que están almacenadas

localmente o en forma distribuida.

A continuación se describe el funcionamiento de los tres programas.

Control de números de guía (en los servidores)

SERVIDOSERVIDO

SERVIDOR

SERVIDO

CLIEN

CLIEN

Page 72: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Existen 2 programas los cuales permiten llevar el control de los números de

de guía de los servidores

Un programa permite capturar los números de guía de los paquetes y

registrarlos de acuerdo a la acción de que se le hará al paquete. Por ejemplo.

- Darle entrada a un paquete.

- Indicarle al sistema que determinado paquete está detenido en un retén.

- Registrar que un paquete será entregado en las oficinas de Estafeta.

- Indicar que el paquete se entregará a domicilio.

- Registrar la salida de un paquete.

Estas acciones se hacen por medio de la siguiente pantalla:

Page 73: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Consideraciones para registrar los números de guía.

"Registrar Entrada". Para registrar la entrada de un número de guía, éste no

debe de estar dado de alta con anterioridad.

"Detenido en reten". Para hacer este registro, no debe de estar registrado

de entrada el número de guía. Cuando un paquete ya salió de un reten y llega a

una plaza y está registrado que fue detenido en un reten, se presiona el botón

"Registrar Entrada" y este lo registrará de entrada y le quitará el registro de que

está en un retén.

"Entrega en oficina". Para poder registrar un número de guía de esta forma,

el número de guía debe de estar ya registrado de entrada.

"Entrega a domicilio". Para poder registrar un número de guía de esta

forma, el número de guía debe de estar ya registrado de entrada.

"Registrar Salida". Para poder registrar un número de guía de esta forma, el

número de guía debe de estar ya registrado de entrada.

A continuación se muestra un diagrama que explica el funcionamiento de

esta parte del sistema:

Page 74: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

YNo Si Si

Si

SI Si No No No

No

Si

Captura delnúmero de

Registrarentrada

Detenidoen reten

Entregaen oficina

Entrega adomicilio

Registrarsalida

Yaestaregistrado

Registrodeentra

Registrodeentra

Registrodeentra

Registrodeentra

Registra Registra Registra Registra

Salir

Salir

Salir

Salir

Detenidoen

Error Error Error Error

Error

Error

Page 75: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Diagrama general del funcionamiento de lacaptura de los números de guía

Cambiarregistro a

Salir

Page 76: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Servidor

El segundo programa realiza las

solicitudes de los clientes que se conecten al

sistema.

Este programa se queda residente en

memoria y se puede controlar por medio de

un icono en la barra del sistema.

Las opciones que se tienen para el

servidor son las siguientes, las cuales son

muy descriptivas de lo que hacen.

Principales funciones del servidor.

- Agregar Registros a la base de datos.

Page 77: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

- Modificar registros de la base de datos.

- Borrar registros de la base de datos.

- Buscar un determinado número de guía.

- Enviar los registros por una determinada fecha.

- Enviar los registros que se encuentran registrados en la fecha actual.

- Enviar todos los registros de la base de datos.

- Administrar la réplica de la base de datos.

- Controlar los bloqueos a los registros.

En el siguiente código se muestra como se realizan las funciones del

servidor dependiendo de las solicitudes de los clientes.

Private Sub Server_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim Cadena, cad As String Dim a, c As Integer Dim b, d, e, f As String

Server(Index).GetData cad Cadena = Decodificar(cad) a = InStr(1, Cadena, ";", vbTextCompare) If a Then Else Exit Sub End If b = Mid(Cadena, 1, a - 1)

If StrComp(b, "Agregar") Then 'Agregar nuevo registro Else c = InStr(a + 1, Cadena, ",", vbTextCompare)

Page 78: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

b = Mid(Cadena, (a + 1), (c - a - 1)) a = InStr(c + 1, Cadena, ",", vbTextCompare) d = Mid(Cadena, c + 1, a - c - 1) c = InStr(a + 1, Cadena, ",", vbTextCompare) f = Mid(Cadena, a + 1, c - a - 1) '''' Call Registro(Trim(b), Val(d), Val(f)) cad = Codificar("Agregado;") Server(Index).SendData cad Exit Sub End If

If StrComp(b, "Modificar") Then 'Modificar registro Else c = InStr(a + 1, Cadena, ",", vbTextCompare) b = Mid(Cadena, (a + 1), (c - a - 1)) a = InStr(c + 1, Cadena, ",", vbTextCompare) d = Mid(Cadena, c + 1, a - c - 1) c = InStr(a + 1, Cadena, ",", vbTextCompare) f = Mid(Cadena, a + 1, c - a - 1) '''' Call MRegistro(Trim(b), Val(d), Val(f)) cad = Codificar("Modificado;") Server(Index).SendData cad Exit Sub End If

If StrComp(b, "Borrar") Then 'Borrar Registro Else c = InStr(a + 1, Cadena, ",", vbTextCompare) b = Mid(Cadena, (a + 1), c - a - 1) ''' Call BRegistro(Trim(b)) cad = Codificar("Borrado;") Server(Index).SendData cad Exit Sub End If

If StrComp(b, "Busqueda") Then 'Busqueda de un numero de guía Else c = InStr(a + 1, Cadena, ",", vbTextCompare) b = Mid(Cadena, (a + 1), c - a - 1) ''''' Call Busqueda(Trim(b), Index) Exit Sub End If

If StrComp(b, "PorFecha") Then 'Regresa los registros que se encuentranen una fecha determinada

Else c = InStr(a + 1, Cadena, ",", vbTextCompare)

Page 79: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

b = Mid(Cadena, (a + 1), c - a - 1) Call RegistrosF(Trim(b), Index) Exit Sub End If

If StrComp(b, "Registros") Then 'Regresa los registros con fechaactual Else If Bloqueado = 1 Then Call Registros(Index) cad = Codificar("Bloqueado;") Server(Index).SendData cad Else Call Registros(Index) Bloqueado = 1 IndiceB = Index End If Exit Sub End If If StrComp(b, "Todos") Then 'Regresa todos los registros Else Call Todos(Index) Exit Sub End If

End Sub

Cliente

La primera acción que se hace al

momento de activar el cliente es introducir el

nombre de usuario, así como su contraseña

para saber que tipo de usuario está entrando

al sistema.

Page 80: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Existen dos tipos de usuario permitidos en el sistema:

- Supervisor. Este usuario puede hacer uso de todas las opciones del

sistema.

- Usuarios normales. Estos usuarios solo pueden hacer búsquedas de un

número de guía en específico.

Nota: En el anexo 2 se muestra por medio de un esquema las opciones

para cada usuario.

La verificación de los usuarios se hace mediante el siguiente código:

Adodc1.RecordSource = "select * from usuarios where usuario = '" &txtUserName & "'" Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox "La contraseña no es válida. Vuelva a intentarlo", , "Inicio desesión" txtPassword.SetFocus SendKeys "{Home}+{End}" Exit Sub Else If txtPassword = Adodc1.Recordset.Fields(1) Then Menu.TipoU.Caption = Trim(Adodc1.Recordset.Fields(3)) Menu.Show LoginSucceeded = True Me.Hide Else

Page 81: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

MsgBox "La contraseña no es válida. Vuelva a intentarlo", , "Iniciode sesión" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If

Al entrar al sistema se muestra la siguiente pantalla (para el usuario

“Supervisor”).

En caso de que fuera un usuario normal, no se mostraría el menú

“Administración” ni el icono de la barra de herramientas que permite ir a una plaza

en específico.

El menú “Buscar” cuenta con dos opciones como, se muestran en la siguente imagen.

Page 82: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

En todas las plazas: Esta opción permite buscar un número de guía en específico

por medio de la siguiente pantalla.

Ya que se introdujo el número de guía que se quiere encontrar, se presiona

botón “Buscar” para que realice la búsqueda.

El procedimiento de búsqueda es el siguiente:

1. El cliente busca en su base de datos de servidores los números IP de

estos para comunicarse con ellos.

Page 83: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El código que lo hace es el siguiente:

Menu.DirIPB.RecordSource = "select * from dirip where posicion = " &Posicion Menu.DirIPB.Refresh If Menu.DirIPB.Recordset.EOF Then Else NoGuia = Trim(Numero) Menu.Winsock1.Connect Menu.DirIPB.Recordset.Fields(1),Menu.DirIPB.1000 End If Menu.ListaB.ListItems.Clear

2. Toma el primer servidor y le pide que realice la búsqueda del numero de

guía.

cad = Codificar("Busqueda;" & NoGuia) Winsock1.SendData (cad)

3. Si el servidor tiene almacenado el número de guía le regresa al cliente la

información almacenada referente al numero de guía.

4. El cliente revisa la información y si está registrado que el paquete se va

a entregar en la oficina, se va a entregar a domicilio, el paquete está en

un retén o al paquete se le registro entrada pero no salida, se detiene la

búsqueda y se le indica al usuario cualquiera de estas opciones que

tiene el paquete.

5. En caso de que se le registró al paquete entrada y salida de la plaza el

cliente le hace la misma solicitud de búsqueda al siguiente servidor.

6. Si ya se realizó en todos los servidores la búsqueda y todos tienen

registrado entrada y salida se le muestra al usuario un historial del

recorrido que ha hecho el paquete por las diferentes plazas.

Page 84: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El código que realiza todas las verificaciones mencionadas en los últimos

puntos se muestra a continuación:

If StrComp(b, "Busqueda") Then Else a = InStr(c + 1, Cadena, ",", vbTextCompare) b = Mid(Cadena, (c + 1), (a - c - 1)) If StrComp(b, "NO") Then Set mItem = ListaB.ListItems.Add(, , Text:=Trim(NoGuia)) c = InStr(a + 1, Cadena, ",", vbTextCompare) d = Mid(Cadena, a + 1, c - a - 1) a = InStr(c + 1, Cadena, ",", vbTextCompare) b = Mid(Cadena, (c + 1), (a - c - 1)) If Val(d) = 2 Then Buscando.Hide MsgBox "El paquete esta en un reten cerca de " &DirIPB.Recordset.Fields(0) BusquedaN = 0 Winsock1.Close ListaB.Visible = False Exit Sub Else If Val(b) = 2 Or Val(b) = 3 Then Buscando.Hide MsgBox "El paquete se va a entregar en " &DirIPB.Recordset.Fields(0) BusquedaN = 0 Winsock1.Close ListaB.Visible = False Exit Sub ElseIf Val(b) = 0 Then Buscando.Hide MsgBox "El paquete se encuentra en " &DirIPB.Recordset.Fields(0) BusquedaN = 0 Winsock1.Close ListaB.Visible = False Exit Sub End If End If mItem.ListSubItems.Add , , Text:=DirIPB.Recordset.Fields(0) c = InStr(a + 1, Cadena, ",", vbTextCompare) d = Mid(Cadena, a + 1, c - a - 1) mItem.ListSubItems.Add , , Text:=d a = InStr(c + 1, Cadena, ",", vbTextCompare)

Page 85: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

b = Mid(Cadena, (c + 1), a - c - 1) '''' mItem.ListSubItems.Add , , Text:=b BusquedaN = 0 Else End If Menu.DirIPB.RecordSource = "select * from dirip" Menu.DirIPB.Refresh If Posicion = DirIPB.Recordset.RecordCount Then Buscando.Hide BusquedaN = 0 Winsock1.Close ListaB.SortKey = 2 ListaB.Sorted = True Exit Sub End If

Posicion = Posicion + 1 BusquedaN = 1 Menu.DirIPB.RecordSource = "select * from dirip where posicion = "& Posicion Menu.DirIPB.Refresh If Menu.DirIPB.Recordset.EOF Then Else Menu.Winsock1.Close Do While Menu.Winsock1.State <> sckClosed DoEvents

Loop Menu.Winsock1.Connect Menu.DirIPB.Recordset.Fields(1),Menu.DirIPB.Recordset.Fields(2) End If Exit Sub End If

Ir a una plaza en específico: Esta opción permite al usuario estar en una plaza en

específico para realizar actualizaciones en la base de datos de la plaza a la cual

se desplaza.

El sistema muestra un mapa con las diferentes zonas que existen en el

país.

Page 86: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

A través de este mapa se selecciona la zona en la cual está la plaza a la

cual el usuario se dirige. Para seleccionar la zona solo es cuestión de posicionar el

mouse sobre el nombre de la zona a la cual el usuario quiere ir y presionar el

botón izquierdo.

Después de seleccionar la zona, se muestran todas la plazas que existen

en la zona seleccionada.

Page 87: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Aquí se selecciona la plaza a la cual se quiere accesar. La plaza se selecciona de la misma forma que con las zonas. Ya que se selecciona la plaza, se muestra una lista con los registros de los números de guía que pertenecen a la fecha actual, y se activan las opciones restantes, las cuales permiten manipular la información de la plaza. Al entrar a una plaza en específico el programa cliente mantiene una conexión con el servidor por medio de sockets utilizando el protocolo TCP y utili zando el puerto 1000, Esta conexión termina cuando el cliente se cambia de plaza, cuando realiza una búsqueda en todas las plazas o cuando se sale del sistema. Las operaciones que se pueden hacer después de seleccionar la zona y la plaza son las siguientes:

Page 88: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

- Agregar un registro a la base de datos de la plaza seleccionada.

- Borrar un registro de la base da datos.

- Modificar un registro de la base da datos.

- Pedir todos los registros de la base da datos

- Pedir los registros que se encuentren en una determinada fecha.

El menú Comandos cuenta con las siguientes opciones Agregar Registro: Permite introducir en la base de datos de la plaza un nuevo registro. Esto se hacer por medio de la siguiente pantalla:

Page 89: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Borrar Registro: Borra el registro que esté seleccionado en la lista de registros. Al

entrar a esta opción el sistema pregunta al usuario si esta seguro de querer

borrarlo, solo borrará el registro si el usuario dice que si.

Modificar Registro: Permite hacerle cambios al registro que esté actualmente

seleccionado. Solo se pueden modificar los campos "Tipo" y "Subtipo", (no es

posible modificar el campo del número de guía).

NOTA: Los dos campos (Tipo, Subtipo) que aparecen en cada registro son los

que indican el estado actual del paquete en la plaza.

Page 90: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Tipo Subtipo Explicación

1 0 El paquete esta en la plaza

1 El paquete entró y salió de la plaza

2 El paquete se entrega en la oficina de Estafeta

3 El paquete se entrega a domicilio

2 0 El paquete está en un reten

Page 91: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El menú Buscar cuenta con dos nuevas opciones:

Información por Fecha: Permite visualizar los registros que pertenezcan a una

determinada fecha, Se selecciona la fecha por medio de la siguiente pantalla.

Ya que el usuario selecciona la fecha y presiona el botón “Aceptar”, solo se

mostrarán en pantalla los registros que hayan sido registrados en la fecha que se

selecciono.

Todos los Registros: Muestra todos los registros que tenga la base de datos de laplaza.

Page 92: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El menú administración cuenta con dos opciones:

Direcciones IP de las plazas: Aquí permite configurar los servidores que estarán

activos en el sistema.

Para Agregar un registro primero se presiona el botón "Agregar", después

de presionarlo debemos de llenar los campos y presionar el botón "Actualizar".

Para modificar un registro solo hacemos las modificaciones en los campos y

presionamos el botón "Actualizar".

Para borrar un registro nos posicionamos en el registro que queremos

borrar por medio de la barra de desplazamiento y presionamos el botón "Eliminar".

Usuarios: En este apartado se captura la información de los usuarios que tendrán

acceso al sistema.

Page 93: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Para Agregar un registro primero se presiona el botón "Agregar", después

de presionarlo debemos de llenar los campos y presionar el botón "Actualizar".

Para modificar un registro solo hacemos las modificaciones en los campos y

presionamos el botón "Actualizar".

Para borrar un registro nos posicionamos en el registro que queremos

borrar por medio de la barra de desplazamiento y presionamos el botón "Eliminar".

Para salir del sistema entramos al menú salir y seleccionamos la opción

"Abandonar el sistema".

Page 94: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Todas las solicitudes y respuestas por parte de los clientes y los servidores

se forman en una cadena que se envía por medio del socket. Esta cadena se

forma de la siguiente manera:

"operacion;argumento1,argumento2,argumento3,..."

Dependiendo de la operación, el cliente o el servidor sabrán cuantos

argumentos contiene la cadena.

SEGURIDAD

Cada usuario para entrar al sistema (en el cliente) debe de contar con un

nombre de usuario y un password, los cuales le indican al programa el tipo de

usuario que está entrando al sistema. Existen dos niveles de usuario: los que

pueden visualizar y hacer actualizaciones en las bases de datos de las plazas y

los usuarios que solo pueden hacer búsquedas de ciertos números de guía.

Por medio del siguiente código se verifica si el usuario esta registrado en el

sistema.

Adodc1.RecordSource = "select * from usuarios where usuario = '" &txtUserName & "'" Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox "La contraseña no es válida. Vuelva a intentarlo", , "Inicio de sesión" txtPassword.SetFocus SendKeys "{Home}+{End}" Exit Sub Else If txtPassword = Adodc1.Recordset.Fields(1) Then Menu.TipoU.Caption = Trim(Adodc1.Recordset.Fields(3)) Menu.Show LoginSucceeded = True Me.Hide Else

Page 95: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

MsgBox "La contraseña no es válida. Vuelva a intentarlo", , "Inicio desesión" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If

Y por medio del siguiente se verifica el tipo de usuario que entro

Private Sub Form_Activate() BusquedaN = 0 If Val(TipoU) = 2 Then MIrenEspecifico.Visible = False Madministracion.Visible = False Toolbar1.Buttons.Item(5).Visible = False End IfEnd Sub

Dentro del programa cliente existe un apartado para dar de alta los

diferentes usuarios que podrán accesar al sistema el cual ha sido explicado con

anterioridad.

Para la transferencia de información a través de los clientes y servidores se

implementa un algoritmo de codificación de información el cual es explicado a

continuación.

Algoritmo UU-encoding

- Permite la transformación de los datos binarios en una secuencia de caracteresimprimibles.

Page 96: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

- Toma los datos binarios y los separa en bloques de 3 bytes. Cada bloque

contiene 24(8*3) bits. De estos 24 bits se extraen 6 bits. Después de

esto a cada byte se le suma 32 (valor ASCII del espacio). El byte, el cual

consiste de solo 6 bits puede mostrar solo 64 valores al contrario de lo 128 que se puede

mostrar con 8 bits.

Page 97: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

A continuación se muestran las funciones que realizan el proceso de codificar y

decodificar la información:

Public Function Codificar(Cadena As String) As String

Dim intFile As Integer

Dim intTempFile As Integer

Dim lFileSize As Long

Dim strFileName As String

Dim strFileData As String

Dim lEncodedLines As Long

Dim strTempLine As String

Dim i As Long

Dim j As Integer

Dim strResult As String

strResult = "begin 664 " + vbLf

lFileSize = Len(Cadena)

Este algoritmo crece la infomación que se manda en un 33% (Chat,2002 Marks, 1992)

Ejemplo:

Page 98: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

lEncodedLines = lFileSize \ 45 + 1

strFileData = Space(45)

For i = 1 To lEncodedLines

If i = lEncodedLines Then

strFileData = Space(lFileSize Mod 45)

End If

strFileData = Mid(Cadena, (i - 1) * 45 + 1, 45)

strTempLine = Chr(Len(strFileData) + 32)

If i = lEncodedLines And (Len(strFileData) Mod 3) Then

strFileData = strFileData + Space(3 - (Len(strFileData) Mod 3))

End If

For j = 1 To Len(strFileData) Step 3

'1 byte

strTempLine = strTempLine + Chr(Asc(Mid(strFileData, j, 1)) \ 4 + 32)

'2 byte

strTempLine = strTempLine + Chr((Asc(Mid(strFileData, j, 1)) Mod 4) *

16 _

+ Asc(Mid(strFileData, j + 1, 1)) \ 16 + 32)

'3 byte

strTempLine = strTempLine + Chr((Asc(Mid(strFileData, j + 1, 1)) Mod

16) * 4 _

+ Asc(Mid(strFileData, j + 2, 1)) \ 64 + 32)

'4 byte

strTempLine = strTempLine + Chr(Asc(Mid(strFileData, j + 2, 1)) Mod 64

+ 32)

Next j

strTempLine = Replace(strTempLine, " ", "`")

strResult = strResult + strTempLine + vbLf

strTempLine = ""

Next i

Page 99: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

strResult = strResult & "`" & vbLf + "end" + vbLf

Codificar = strResult

End Function

Public Function Decodificar(strUUCodeData As String) As String

Dim i As Integer

Dim vDataLine As Variant

Dim vDataLines As Variant

Dim strDataLine As String

Dim intSymbols As Integer

Dim intFile As Integer

Dim strTemp As String

Dim CadDecod As String

CadDecod = ""

strTemp = ""

If Left$(strUUCodeData, 6) = "begin " Then

strUUCodeData = Mid$(strUUCodeData, InStr(1, strUUCodeData, vbLf) + 1)

End If

If Right$(strUUCodeData, 5) = vbLf + "end" + vbLf Then

strUUCodeData = Left$(strUUCodeData, Len(strUUCodeData) - 10)

End If

vDataLines = Split(strUUCodeData, vbLf)

For Each vDataLine In vDataLines

strDataLine = CStr(vDataLine)

intSymbols = Asc(Left$(strDataLine, 1)) - 32

strDataLine = Mid$(strDataLine, 2)

strDataLine = Replace(strDataLine, "`", " ")

For i = 1 To Len(strDataLine) - 1 Step 4

'1 byte

Page 100: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

strTemp = strTemp + Chr((Asc(Mid(strDataLine, i, 1)) - 32) * 4 + _

(Asc(Mid(strDataLine, i + 1, 1)) - 32) \ 16)

'2 byte

strTemp = strTemp + Chr((Asc(Mid(strDataLine, i + 1, 1)) Mod 16) * 16

+ _

(Asc(Mid(strDataLine, i + 2, 1)) - 32) \ 4)

'3 byte

strTemp = strTemp + Chr((Asc(Mid(strDataLine, i + 2, 1)) Mod 4) * 64

+ _

Asc(Mid(strDataLine, i + 3, 1)) - 32)

Next i

strTemp = Left(strTemp, intSymbols)

CadDecod = CadDecod + strTemp

strTemp = ""

Next

Decodificar = CadDecod

End Function

Otras Características del sistema

Réplicas

El sistema cuenta con un sistema de réplica el cual permite que exista la

disponibilidad del mismo.

Cada vez que se hacen actualizaciones en alguna base de datos tambiénse hacen en su réplica, esto permite que en caso de que algún servidor no esté

funcionando exista un respaldo de la información que permita al menos a losusuarios consultar la información de las bases de datos. Cuando el cliente intentaconectarse a un servidor y este no responde en un determinado tiempo, el clientese trata de conectar con el servidor que tiene la replica de la base de datos.

Page 101: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Bloqueos

Es necesario implementar bloqueos para evitar la inconsistencia de los

datos almacenados.

Cada vez que un usuario supervisor va a modificar un registro o a borrarlo

se bloquea el registro para que los demás usuarios no puedan hacerle

modificaciones al mismo registro, después de que se modificó el registro se les

manda a todos los usuario la información modificada.

Page 102: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ANEXO 1

Seguridad y Cifrado de la Información

Page 103: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Seguridad y Cifrado de la Información

Arquitectura de Redes

Estructura en niveles

El modelo OSI de ISO (International Standards Organization) surge, en el

año 1984, ante la necesidad imperante de interconectar sistemas de procedencia

diversa -diversos fabricantes-, cada uno de los cuales empleaba sus propios

protocolos para el intercambio de señales.

El modelo OSI está compuesto por una pila de 7 niveles o capas, cada uno

de ellos con una funcionalidad específica, para permitir la interconexión e

interoperatividad de sistemas heterogéneos. La utilidad radica en la separación

que en él se hace de las distintas tareas que son necesarias para comunicar datos

entre dos sistemas independientes.

Num. Nivel Función

7 Aplicación Datos normalizados

6 Presentación Interpretación de los datos

5 Sesión Diálogos de control

4 Transporte Integridad de los mensajes

3 Red Encaminamiento

2 Enlace Detección de errores

1 Físico Conexión de equipos

Tabla 1 Niveles OSI de ISO

Los tres niveles inferiores están orientados al acceso del usuario - comunicaciones

de datos-; el cuarto nivel al transporte extremo a extremo de la información, y los tres

superiores a la aplicación.

Page 104: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Nivel de Presentación

El nivel de presentación se ocupa de la sintaxis de los datos, es decir la

representación de los datos extremo a extremo.

Así pues es responsable de alcanzar un acuerdo en los códigos y formatos que se

usarán en el intercambio de datos de aplicación durante una sesión. El nivel de presentación

puede ser responsable del formateo de chorros de datos para su correcta salida a una

impresora o a una determinada pantalla. También puede realizar compresión de datos y

descompresión.

Por lo tanto incluye los aspectos de:

• Conversión

• Cifrado

• Compresión de datos

Cuando se establece comunicación entre dos entidades o capas de aplicación se

producen tres representaciones sintácticas de los datos transferidos entre dichas entidades

de aplicación:

• La sintaxis usada por la entidad que origina los datos, entidad emisora.

• La sintaxis usada por la entidad que los recibe los datos o entidad receptora

• La sintaxis usada por el proceso de transferencia, es decir como son

representados en el cable (mientras viajan de una aplicación a otra).

Representación de datos

Los diferentes ordenadores tienen diferentes representaciones internas para los

datos. Estas representaciones son establecidas por los fabricantes en su momento y que

Page 105: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ahora les es muy difícil de cambiar, dado que tienen que mantener la compatibilidad con

sus antiguos sistemas.

Las redes informáticas permiten establecer comunicaciones entre los

distintos ordenadores sin tener en cuenta su arquitectura interna. Por ello el

modelo de referencia OSI de ISO establece que en la capa de presentación se

realice la conversión entre las representaciones internas de los equipos

conectados.

Para resolver este problema se han propuesto varias alternativas:

• El extremo transmisor realiza la conversión.

• El extremo receptor realiza la conversión.

• Establecer un formato normalizado y que cada uno de los extremos realice

la conversión hacia y desde este formato normalizado de red.

Compresión de datos

El costo por utilizar una red depende, normalmente de la cantidad de datos

trasmitidos. Por lo tanto y a fin de rebajar la factura se utiliza la compresión de datos antes

de expedirlos al receptor para reducir la cantidad de datos a transmitir.

La compresión de datos está muy relacionada con la representación de los

datos, ya que, lo que intentamos es transmitir la misma información, con menor

número de bytes, representada mediante algún código especial pero con el mismo

significado.

Seguridad y Confidencialidad en las Redes

Con el desarrollo de las redes actuales las medidas de seguridad que se

tienen que aplicar, para evitar al máximo que los datos emitidos sean

Page 106: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

interceptados por personas no autorizadas, se han disparado. Existe pues la

necesidad de establecer algún tipo de mecanismo de cifrado para conseguir que

los datos sean ininteligibles para aquellos que lo intercepten sin autorización.

La seguridad de los datos en la red debe contemplar los siguientes

aspectos:

• Proteger los datos para que no puedan ser leídos por personas que no

tienen autorización para hacerlo.

• Impedir que las personas sin autorización inserten o borren mensajes.

• Verificar al emisor de cada uno de los mensajes.

• Hacer posible que los usuarios transmitan electrónicamente documentos

firmados.

El cifrado es un método que permite llevar a cabo los objetivos descritos.

El cifrado, no obstante, no es un elemento que pertenece en exclusiva a la

capa de presentación sino que podemos encontrarlo en otras capas.

Page 107: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Cifrado de enlace

En este caso el cifrado se realiza en la capa física. La ventaja del cifrado de enlace

es que tanto las cabeceras como los datos se cifran.

Cifrado en transporte

Si introducimos el cifrado en la capa de transporte ocasionamos que el cifrado

se realice en la sesión completa.

Cifrado en presentación

Es quizás una solución más elaborada ya que el cifrado es sufrido sólo por aquellas

partes de los datos que sean consideradas necesarias, consiguiendo de este modo que la

sobrecarga del proceso de cifrado sea menor.

Análisis de tráfico

Otro aspecto relacionado con la seguridad en las redes es el conocimiento de los

patrones de tráfico, es decir, se estudia la longitud y frecuencia de los mensajes. Con este

análisis se consigue determinar los lugares donde se está produciendo un intenso

movimiento de datos.

De todas maneras es fácil engañar a este análisis introduciendo en el mensaje

grandes cantidades de datos de relleno o incluso enviando mensajes inútiles.

Page 108: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Seguridad en las redes

Cada vez es mayor el número de personas dotadas de los suficientes

conocimientos como parar causar daño al sistema informático de una

organización. Debido a esta tendencia, cada vez se establecen mayores medidas

preventivas y se dedica más atención a la seguridad en las redes.

Tipos de violación de los sistemas de seguridad

Una de las formas más usuales y sencillas de quebrantar la seguridad es el

falseamiento, es decir, la modificación previa a la introducción de los datos en el

sistema informático o en una red.

Otra forma de violación de la seguridad es el ataque ínfimo "salami attack",

que consiste en la realización de acciones repetitivas pero muy pequeñas, cada

una de las cuales es casi indetectable.

Una de las formas más eficaces de violación de la seguridad en una red, es

la suplantación de personalidad, que aparece cuando un individuo accede a una

red mediante el empleo de contraseñas o de códigos no autorizados. La

contraseña suele obtenerse directamente del usuario autorizado de la red, muchas

veces sin que éste se dé cuenta. Hay incluso algunos sistemas de acceso a la red

que pueden burlarse utilizando un ordenador para calcular todas las posibles

combinaciones de contraseñas.

Una forma de combatir el empleo no autorizado de contraseñas consiste en

instalar un sistema de palabras de acceso entre el canal de comunicaciones y el

ordenador. Este dispositivo, un vez que recibe la contraseña, desconecta

automáticamente la línea, consulta en una tabla cuál es el número de teléfono

asociado a ella, y vuelve a marcar para conectar con el usuario que posee el

número de teléfono designado.

Page 109: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Con este mecanismo, el intruso ha de disponer de la palabra de acceso o contraseña,

y ha de encontrarse físicamente en el lugar en el que se supone que debe estar el usuario

autorizado. No es una solución muy buena ya que hace verdaderos estragos en funciones

como la redirección de llamadas hacia otros números o contestación automática.

Las redes también pueden ser violadas mediante lo que se conoce como

"puertas traseras". Este problema se producirá cuando los dispositivos o los

programas de seguridad sean inadecuados o incluyan errores de programación, lo

que permitirá que alguien pueda encontrar el punto vulnerable del sistema.

Las redes también se ven comprometidas como consecuencia de la

intercepción y monitorización de los canales. Así, por ejemplo, las señales de

microondas o de satélites pueden interceptarse, si el intruso encuentra la

frecuencia adecuada.

Métodos de protección

Para garantizar la confidencialidad de la información se utilizan las técnicas de

cifrado de claves.

Una clave es un algoritmo software o un dispositivo hardware que codifica y

bloquea el acceso a la información. Sólo la misma clave o una clave asociada

puede descifrar la información.

Consideremos, por ejemplo, el envío de datos confidenciales a través de un

enlace telefónico. Se pueden utilizar técnicas de cifrado para que los datos sean

confidenciales, pero si se usa una clave para cifrar los datos, ¿cómo hacer que la

clave llegue al receptor para que así pueda descifrarlos?.

Si se envía la clave a través de la línea, entonces estaría a disposición de

cualquiera que estuviese conectado. Se podría enviar la clave a través de una

Page 110: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

línea diferente o utilizar un servicio de distribución urgente, pero, ¿se puede estar

completamente seguro de que la clave llegó a su destino sin ser interceptada?.

Una solución consiste en intercambiar las claves antes de llevar a cabo las

transmisiones. Un banco podría hacerlo así para comunicarse con sus sucursales.

Pero ¿qué ocurre si lo que se quiere es enviar un mensaje confidencial aislado a

un receptor que no se conoce?. Las técnicas de cifrado de claves públicas

proporcionan una solución. Hay distintas técnicas que proporcionan seguridad en

entornos de informática distribuida, tales como:

• Servicios de Autentificación.

• Servicios de Autorización.

• Servicios de Confidencialidad.

• Servicios de Integridad.

• No Repudiación.

Cifrado con claves privadas

Una técnica muy usada para aumentar la seguridad de las redes

informáticas es el cifrado. Esta técnica convierte el texto normal en algo

ininteligible, por medio de algún esquema reversible de codificación desarrollado

en torno a una clave privada que sólo conocen el emisor y el receptor. El proceso

inverso es el descifrado , mediante el cual el texto en clave vuelve a convertirse en

texto legible. El cifrado suele tener lugar en el emisor, mientras que el descifrado

suele realizarse en el receptor. El cifrado se clasifica en dos tipos: cifrado por

sustitución y cifrado por transposición.

* Sustitución : Es la forma más sencilla de cifrado. Consiste en reemplazar una

letra o un grupo de letras del original por otra letra o grupo de letras. Uno de los

esquemas más sencillos es el CIFRADO DE CÉSAR, en este mecanismo cada

letra del alfabeto es sustituida por otra.

Page 111: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Texto legible: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Letras de sustitución: FGQRASEPTHUIBVJWKLXYZCONMD

Este tipo de cifrado se conoce como sustitución monoalfabética, ya que

cada una de las letras se sustituye por otra del mismo alfabeto.

El descifrado final del código se convierte en algo relativamente sencillo,

sobre todo si se utiliza un ordenador de alta velocidad. Hay otros métodos de

cifrado por sustitución más eficaces. Así, por ejemplo, algunos sistemas usan la

sustitución polialfabética, en la cual existen varios alfabetos de cifrado que se

emplean en rotación. Una variación del cifrado por sustitución consiste en utilizar

una clave más larga que el texto legible. Se usa como clave una secuencia

aleatoria de bits, que se cambia periódicamente.

La principal desventaja de todas las estructuras basadas en una clave

privada es que todos los nodos de la red han de conocer cuál es la clave común.

La distribución y confidencialidad de las claves acarrea algunos problemas

administrativos y logísticos.

* Cifrado por transposición . Es un método criptográfico más sofisticado. En él las

claves de las letras se reordenan, pero no se disfrazan necesariamente.

La clave utilizada para el ejemplo es SEGURIDAD, que no es demasiado

buena para un sistema de seguridad. La clave se emplea para numerar las

columnas. La columna 1 se coloca bajo la letra de la clave más próxima al

comienzo del alfabeto, es decir, A, B, C,

Si la clave incluye alguna letra repetida, puede adoptarse el criterio de

numerar de izquierda a derecha.

Page 112: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

A continuación se escribe el texto legible como una serie de renglones que

se colocan debajo de la clave. Después se lee el texto cifrado por columnas,

empezando por aquella columna cuya letra clave sea la más próxima al principio

del alfabeto. Así, la frase "compra barato vende caro y hazlo hoy" quedará como

sigue:

S E G U R I D A D

8 4 5 9 7 6 2 1 3

C O M P R A B A R

A T O V E N D E C

A R O Y H A Z L O

H O Y A B C D E F

Y el texto cifrado será el siguiente:

AELEBDZDRCOFOTROMOOYANACREHBCAAHPVYA

Page 113: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

El Algoritmo DES

En 1977, el Departamento de Comercio y la Oficina Nacional de Estándares

de Estados Unidos publicaron la norma DES (estándar de cifrado de datos,

publicación 46 del FIPS ** ).

DES un esquema de cifrado de claves privadas. El algoritmo DES es un

sistema monoalfabético que fue desarrollado en colaboración con IBM y se

presentó al público con la intención de proporcionar un algoritmo de cifrado

normalizado para redes de ordenadores.

DES se basa en el desarrollo de un algoritmo de cifrado que modifica el

texto con tantas combinaciones que el criptoanalista no podría deducir el texto

original aunque dispusiese de numerosas copias.

La filosofía del algoritmo DES consiste en llevar a cabo varias etapas de

permutación y sustitución. DES utiliza una clave de 64 bits, de los cuales 56 son utilizados

directamente por el algoritmo DES y otros 8 se emplean para la detección de errores.

Existen unos setenta mil billones de claves posibles de 56 bits.

Evidentemente para romper una clave semejante sería necesaria una enorme

cantidad de potencia de cálculo. Sin embargo, no es una tarea imposible. Los ordenadores

de alta velocidad, mediante análisis estadísticos, no necesitan emplear todas las posibles

combinaciones para romper la clave. A pesar de ello, el objetivo de DES no es proporcionar

una seguridad absoluta, sino únicamente un nivel de seguridad razonable para las redes

orientadas a aplicaciones comerciales.

Este algoritmo ha sido motivo de gran controversia parte de ella se debe al

secreto que rodeó a su desarrollo. IBM trabajó en colaboración con la Agencia

Page 114: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Nacional de Seguridad de Estados Unidos y ambas guardaron el secreto de los

aspectos del diseño del algoritmo.

Cifrado con claves públicas

Muchos sistemas comerciales emplean métodos de cifrado / descifrado

basados en claves públicas. Este sistema está basado en el uso de claves

independientemente para el cifrado y para el descifrado de los datos. La

particularidad y enorme ventaja es que la clave y el algoritmo de cifrado pueden

ser de dominio público, siendo la clave de descifrado la que se mantiene en

secreto. Este método elimina los problemas logísticos y administrativos

relacionados con la distribución y gestión de las claves públicas.

Los sistemas basados en claves públicas no son tampoco infalibles ya que también

pueden romperse.

En cualquier caso, y para evitar que la clave pueda ser detectada, es

posible generar una clave distinta para cada transmisión, o de una forma más

realista, a intervalos periódicos o aleatorios. El cambio de clave frecuente aumenta

la seguridad de las transmisiones, ya que el posible intruso deberá intentar romper

la clave cada vez que ésta cambia.

Puede incluso añadirse otro nivel de seguridad, utilizando un sistema de claves

privadas para cifrar las claves públicas, es decir, pueden emplearse dos niveles de cifrado

para los datos más delicados.

Recomendaciones ISO relativas a la seguridad

El Organismo Internacional de Normalización (ISO) recomienda establecer

el cifrado en el nivel de presentación de la configuración según el modelo ISA.

Estas son las razones que aduce el ISO para ello:

Page 115: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

1. Es importante colocar los servicios de cifrado en un nivel superior de red, para

poder simplificar el cifrado de extremo a extremo, y como el nivel más bajo donde

se dan los servicios extremo a extremo es en el nivel de transporte , es por ello,

que el cifrado se ha de realizar en un nivel superior a él.

2. Los servicios de cifrado han de estar en un nivel superior al de transporte si se

quiere minimizar la cantidad de programas a los que ha de confiarse el texto

legible. O sea, cuantos menos programas manejen el texto vulnerable mejor, lo

que nos lleva a deducir que el cifrado se debe realizar en el nivel superior al de

transporte.

3. El cifrado ha de establecerse por debajo del nivel de aplicación, ya que de lo

contrario las transformaciones sintácticas, sobre los datos cifrados serían

bastantes difíciles. Además, si el nivel de presentación se llevan a cabo

transformaciones sintácticas, éstas han de tener lugar antes de que se realice el

cifrado.

4. También se ha tenido en cuenta que el cifrado de datos se puede hacer de

forma selectiva, el organismo de ISO cree que donde mejor puede hacerse esta

selección es en el nivel de presentación o en uno superior, ya que por debajo de

este nivel no existe constancia de la división en campos de la corriente de datos.

5. Aunque el cifrado se puede realizar en cualquier nivel, la protección adicional

que obtienen los datos de usuario puede no compensar la sobrecarga de trabajo

que supone el cifrado.

Limitaciones de la Criptografía

Los algoritmos criptográficos tienden a degradarse en el tiempo. A medida

que pasa el tiempo los algoritmos de encriptación se van haciendo más fáciles de

quebrar debido al avance en la velocidad y potencia de los equipos de

Page 116: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

computación. Todos los algoritmos criptográficos son vulnerables a los ataques de

fuerza bruta - tratar sistemáticamente con cada posible clave de encriptación,

buscando colisiones para funciones hash, factorizando grandes números, etc.- la

fuerza bruta se hace más fácil a medida que pasa el tiempo. En 1977 Martin

Gardner escribió que los números de 129 dígitos nunca serían factorizados, en

1994 se factorizó uno de esos números. Además de la fuerza bruta están los

avances en las matemáticas fundamentales que permiten nuevos métodos y

técnicas de criptoanálisis.

Page 117: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

ANEXO 2

Diagramas del Flujo deInformación por Usuario

Page 118: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-
Page 119: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-
Page 120: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

BIBLIOGRAFÍA

Page 121: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Aguirre Jorge Ramió (2000). Aplicaciones Criptográficas, Proyectos y SistemasInformáticos de la Universidad Politécnica de Madrid, España

Alberto C. (1999, 20 de Enero). Diseño Distribuido:http://members.tripod.com/aguamar/dbinternet/dbdd.html

Besso Javier Alberto; Borghello Cristian Fabian (1999). El estado actual de latecnología de las Bases de Datos Distribuidas:http://comunidad.ciudad.com.ar/argentina/entre_rios/dbinternet/sisdis5.htm

Besso Javier Alberto; Borghello Cristian Fabian (2000). Los SistemasDistribuidos: http://www.dbinternet.com.ar/sistdis.htm

Black Uyless (1998). Redes de Ordenadores. Protocolos, Normas e Interfases,Rama

Bohnhoff P.; Janssen R.; Martin R. (1994). Fundamentos Cliente/Servidor. IBM.

Borghello Cristian Fabian, Besso Javier Alberto (1999). Los enfoques Top-Downy Bottom-Up:http://comunidad.ciudad.com.ar/argentina/entre_rios/dbinternet/metodo1.htm

Chat Forum (2002). How to UU-Encode a Large File and Send it in Parts:http://email.about.com/library/weekly/aa112299-1.htm

De Miguel Tomas P. (1999, 18 de Enero). Bases de Datos Distribuidas:http://greco.dit.upm.es/~tomas/cursos/bd/18dist/index.htm

Eddon Guy; Eddon Henry (1997). Active X Visual Basic 5.0, Mc Graw Hill

Ender (5 de Febrero de 2001). Lan´s y Ethernet:http://www2.adi.uam.es/~ender/tecnico/tutorial.html

Estafeta (2000).http://www.estafeta.com.mx

GSC Grupo de Sistemas y Comunicaciones - Universidad Rey Juan Carlos (2001,11 de Septiembre). Correo Electrónico:http://gsyc.escet.urjc.es/docencia/cursos/fse-servidores/transpas/node7.html

Gurowich Nathan; Gurowich Orl (1999), Aprendiendo Visual Basic 5 en 21Dias, Prentice Hall

Harry P. (1999, 29 de Julio). Bases de datos Distribuidas:http://www.angelfire.com/ar/hary/bdistribuidas.html

Page 122: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Hernández Barbosa Oscar Daniel (1996). Apuntes de la materia, Bases deDatos Distribuidas, Instituto Tecnológico de Colima

Huidobro José M. (1999). Comunicaciones, Paraninfo

Jiménez Raúl (2000, 19 de Marzo). Mandar E-mails con el winsock:http://members.es.tripod.de/vbzone/docsmtp.htm

Lewis T. G. (1995) Where is client/server software headed? IEEE Computer,.

Marks Richard (1992). Documentation for UUEncode-Decode:http://membrane.com/synapse/library/uuenc.html

Mowbray T. J.; Zahavi R. (1995). The Essential CORBA. John Wiley & Sons, Inc.

Navarro Juan E. (1998, 1 de Julio). Sistemas Distribuidos:http://www2.ing.puc.cl/~jnavarro/iic2332/apuntes/apuntes_11.html

Orfali R.; Harkey D.; Edwards J. (1996). The Essential Distributed Objects

Survival Guide . John Wiley & Sons, Inc..

Poleo Carmelo (2000). Internet:http://www.monografias.com/trabajos6/intert/intert.shtm

Pujolle Guy (1999). Telemática, Paraninfo

Purser Michael (1997). Redes de TeleComunicación y Ordenadores,Díaz de Santos, S.A.

Ramos N. (1999). Comunicación y Redes:http://anakena.diinf.usach.cl/~bibinfo/ramos/com_y_redes/cyr.html

Rodríguez J. (1999, 23 de Mayo). Diseño de Bases de Datos Distribuidas:http://members.es.tripod.de/jrodr35/index.htm

Rossenberg J. (1997). Teach Yourself CORBA in 14 Days. Macmillan ComputerPublishing.

Rueda M (1999). Seminario de Bases de Datos Distribuidas:http://www.fie.us.es/~mrueda/articulos/seminario-2.html

Serrano Adriana (2001). Intranets:http://www.geocities.com/ahh_miedo/intranets.htm

Sheldom Tom (1995). Enciclopedia Lan Times De Redes (NetWorking),McGraw-Hill

Page 123: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Tanenbaum Andrew S. (1995). Redes de Ordenadores, Prentice Hall

Tomas Jesús García (1998). Sistemas Y Redes Teleinformáticas, Sepa

UAEM Universidad Autónoma del Estado de México (2001). Panorama de losSistemas de Bases de Datos Distribuidos:http://www.uaemex.mx/publica/informatica/boletin/panorama.htm

Ulternet (1997). Asesoria en Lan´s y Wan´s:http://www.ulter.net/acerca/aseso.htm

UPM Universidad Politécnica de Madrid (1999). Sistemas Distribuidos:http://jungla.dit.upm.es/~rdor/tema3/paq8.htm

UPM Universidad Politécnica de Madrid (2000). Bases de Datos Distribuidas:http://www-oei.eui.upm.es/Asignaturas/BD/Distribuidas.htm

Vela Jose Emiro (1999). Introducción a Redes:http://www.monografias.com/trabajos/introredes/introredes.shtml

Zaslavsky Arkady (2002, 22 de Febrero). Distributed Databases:http://www.ct.monash.edu.au/~azaslavs/cot5200_link/ddb-l-03s/index.htm

Page 124: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CONCLUSIONES

Page 125: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

CONCLUSIONES

El tema principal de esta tesis son los sistemas de bases de datos

distribuidas, y es satisfactorio mencionar que se lograron implementar los

siguientes objetivos de estos sistemas; tener autonomía local, no depender de un

sitio central, ofrecer operación continua, transparencia de localización,

transparencia de fragmentación, transparencia de replica, transparencia de red;

así como también se logra hacer un trabajo en un tema de interés personal.

Los objetivos de la tesis se cumplieron, ya que se logro desarrollar el

prototipo cumpliendo con los conceptos de los sistemas de bases de datos

distribuidas y se lograría mejorar los procesos de la empresa, dando así una mejor

respuesta en la actualización de la información y lo más importante, se lograría

tener la información disponible al momento en que está se genera, sin importar el

lugar en el que se esta generando.

Para que se llegara a instalar este sistema se tendría que proponer,

primero, al gerente general de la empresa en Colima para que éste lo propusiera

con sus superiores y después vendría una evaluación por parte del grupo de

desarrollo de la empresa, lo cual en mi particular punto de vista sería muy difícil

que se aprobara, por eso es que esta tesis propone el sistema como un prototipo,

aunque sería importante que lo tomaran en cuenta ya que les ofrece muchas

facilidades y muchas ventajas en comparación son su sistema actual.

Existe un pequeño inconveniente con este prototipo, trabaja bajo el sistema

operativo Windows, la empresa cuenta en cada plaza con servidores UNIX lo cual

tendría como consecuencia que se cambiara de sistema operativo, servidores

Windows NT y terminales con Windows 95, 98, 2000 o ME, aunque no sería

necesaria la adquisición de un servidor muy sofisticado ya que el equipo que

tienen, cuenta con la capacidad suficiente para que soporte este sistema.

Page 126: Sistema Administrador de números de guía de paquetería en ...digeset.ucol.mx/tesis_posgrado/Pdf/Mario Eduardo Figueroa Verduzco.pdf · 5.4.2 Bloqueos 85 Conclusiones 87 Anexo 1.-

Con este prototipo, se mejoraría el sistema actual y los procesos que están

implementados en la empresa Estafeta para el control de los números de guía de

paquetes. Así también se lograría optimizar su infraestructura ya establecida (red

privada), y no sería necesario implementar algún otro sistema de comunicación

entre las distintas plazas de la empresa.

La implementación de éste prototipo permitiría a los administradores y

personas encargadas de atender a los clientes, saber en cualquier momento y en

cualquier plaza, donde está un paquete en especial, lo cual dará lugar a que la

información que soliciten los clientes sea la más precisa referente a la ubicación

de su paquete.

El prototipo reduciría tiempos de espera en la actualización de la

información, los encargados de los departamentos de sistemas de las diferentes

plazas ya no tendrían que esperar a que la central les envié la información

actualizada de la ubicación de los paquetes.

El desarrollo de este prototipo dio lugar a que se aplicara un gran número

de los temas vistos en clase (redes, comunicaciones, programación, etc),

abarcando en un gran porcentaje el propósito de la maestría.