PDF de programación - Un sistema flexible y extensible de entidades replicadas para aplicaciones cooperativas distribuidas

Imágen de pdf Un sistema flexible y extensible de entidades replicadas para aplicaciones cooperativas distribuidas

Un sistema flexible y extensible de entidades replicadas para aplicaciones cooperativas distribuidasgráfica de visualizaciones

Publicado el 14 de Junio del 2018
307 visualizaciones desde el 14 de Junio del 2018
4,8 MB
163 paginas
Creado hace 10a (17/03/2010)
CENTRO DE INVESTIGACIÓN Y DE ESTUDIOS AVANZADOS

DEL INSTITUTO POLITÉCNICO NACIONAL

UNIDAD ZACATENCO

DEPARTAMENTO DE COMPUTACIÓN

Un sistema flexible y extensible de entidades replicadas

para aplicaciones cooperativas distribuidas

Tesis que presenta:

Act. Maria Guadalupe Pérez Medina Montaño

Para obtener el grado de:

Maestra en Ciencias en Computación

Directores de Tesis:

Dr. José Guadalupe Rodríguez García /

Dr. Dominique Decouchant

México, D. F.

Marzo, 2010

ii

iii

Agradecimientos

Agredecezco al Consejo Nacional de Ciencia y Tecnología por el apoyo ecoómico que
me permitió realizar la maestría en ciencias de la computación.
También deseo agradecer al Cinvestav por brindarme la oportunidad de continuar con
mis estudios y a sus investigadores por compartir sus conocimientos conmigo durante
mi estancia en esta institución.
Especialmente, deseo agradecer a mi asesor, el Dr. Dominique Decouchant por sus con-
sejos y enseñanzas durante todo el periodo de estudio de la maestría, por ayudarme
cada vez que tenía problemas y guiarme cuando perdía el rumbo, siendo no sólo un
gran maestro sino un buen amigo.
Quiero agradecer a mi asesor, el Dr. Guadalupe Rodríguez García por sus comentarios
y ayuda, haciendo posible concluir mis estudios.
Agradezco a mis revisores, la Dra. Sonia Guadalupe Mendoza Chapa y la Dra. Lizbeth
Gallardo por sus cíticas tan asertivas, las cuales me permitieron mejorar considerable-
mente este trabajo de tesis.
Nunca debe faltar un agradecimiento a Sofia Reza por su apoyo y su trato siempre am-
able.

Dedico este trabajo de investigación a mis padres: Rafael Pérez Medina Ollivary y
Jovita Montaño Ceseña, no sólo por otorgarme el don de la vida, sino por impulsarme
a cumplir mis sueños y apoyarme de manera incondicional en su realización.
Con mucho amor dedico esta tesis a mis hijos: Alejandro y Ernesto, por hacer que valga
la pena el esfuerzo y darle sentido a mi vida. Por rodearme con sus brazos cuando es-
taba cansada y decirme: “tu puedes mamá”.
Quiero dedicar este trabajo a mis hermanos: Jovita, Adriana, Miriam y Rafael, por
compartir las experiencias de la vida. Quienes a pesar de todas las discusiones y de-
sacuerdos normales entre hermanos, no dejan de ser increibles.

No quiero dejar de aprovechar la oportunidad sin agradecer a mis amigos, con quienes
he pasado momentos maravillosos y algunos no tan agradables. Principalmente dedico
esta tesis a Leo, amiga de toda la vida. A Mario con quien he compartido tanto mo-
mentos agradables como difíciles. A Moni quien a pesar de la distancia se mantien
cerca de mí. A Pam por la confianza y amistad que me brinda. A Beto por hacer intere-
sante mi vida con sus locuras. A Pau y Johny por su agradable compañia. A Migue
por su cariño y buen humor. A Pepe, quien a pesar de todo, siempre está cuando se le
requiere.

Simplemente con mucho cariño,

Gracias.

Cinvestav

Departamento de Computación

iv

Cinvestav

Departamento de Computación

Contents

Índice de Figuras

Resumen

Abstract

1

Introducción

2 Antecedentes y motivación

partidos .

.

.

.

2.1 Definiciones y principios de la colaboración asistida por computadoras .
2.1.1 Definición de groupware o software de trabajo colaborativo . . . .
2.1.2 Control de concurrencia . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Distribución/notificación de las modificaciones de datos com-
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4 Protocolos de comunicación . . . . . . . . . . . . . . . . . . . . . .
2.2 Aplicaciones colaborativas y la colaboración en la Web . . . . . . . . . .
2.2.1
. . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Mensajería instantánea . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Agendas colaborativas . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Editores cooperativos
. . . . . . . . . . . . . . . . . . . . . . . . .
2.2.5 Aplicaciones cooperativas para la educación a distancia . . . . .
Síntesis de tipos de aplicaciones cooperativas . . . . . . . . . . . .
2.2.6
2.2.7
Soluciones utilizadas actualmente . . . . . . . . . . . . . . . . . .
2.3 Una arquitectura de trabajo cooperativo flexible y extensible . . . . . . .
2.3.1 Arquitectura general de la plataforma propuesta . . . . . . . . . .

Juegos cooperativos

3 Objetos flexibles y actualizaciones dinámicas de software

3.1 Técnicas que permiten hacer los objetos flexibles . . . . . . . . . . . . . .
3.1.1 La programación orientada a aspectos . . . . . . . . . . . . . . . .
3.1.2 Patrones de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Actualizaciones dinámicas de software . . . . . . . . . . . . . . . . . . . .
3.2.1 El problema de actualizar un sistema en tiempo de ejecución . . .
3.2.2 Actualizaciones dinámicas y objetos flexibles . . . . . . . . . . . .
3.2.3 Control de concurrencia de las instancias de las clases . . . . . . .

v

1

1

3

5

13
14
14
16

20
27
29
29
33
34
37
43
46
48
49
50

55
56
56
57
62
62
64
64

vi CONTENTS

3.2.4 Transformación del estado . . . . . . . . . . . . . . . . . . . . . . .
3.2.5 Actualizaciones dinámicas en sistemas distribuidos . . . . . . . .
3.2.6 Control de la actualización . . . . . . . . . . . . . . . . . . . . . .
3.2.7 Actualizaciones dinámicas como un aspecto . . . . . . . . . . . .
3.2.8 El patrones de diseño vs. la programación orientada a aspectos .

4 Diseño de la plataforma flexible y extensible

4.1 Diseño de las entidades replicadas distribuidas . . . . . . . . . . . . . . .
4.1.1 Requerimientos de la entidad . . . . . . . . . . . . . . . . . . . . .
4.1.2 Atributos de la entidad . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3 Métodos de la entidad . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.4 Proxies de las entidades . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Diseño de los módulos funcionales de la plataforma . . . . . . . . . . . .
Sistema de actualizaciones dinámicas de aplicaciones DAUS (Di-
namical Application Updating System) . . . . . . . . . . . . . . . . .
4.3 Actualizador de versiones de software . . . . . . . . . . . . . . . . . . . .
4.3.1 Características del actualizador
. . . . . . . . . . . . . . . . . . .
4.3.2 Diseño del actualizador . . . . . . . . . . . . . . . . . . . . . . . .
4.3.3 Proceso de actualización . . . . . . . . . . . . . . . . . . . . . . . .

4.2.1

66
66
66
67
67

69
73
73
74
77
80
82

86
90
91
92
92

5 Caso de estudio: diferentes aplicaciones colaborativas distribuidas

5.1 Las aplicaciones colaborativos de tipo chat

95
. . . . . . . . . . . . . . . . .
95
5.1.1 Entidades de control de acceso . . . . . . . . . . . . . . . . . . . .
95
5.1.2 Entidades de contactos de los usuarios
. . . . . . . . . . . . . . .
98
5.1.3 Entidades de colas de mensajes . . . . . . . . . . . . . . . . . . . . 100
5.1.4 Proceso en los chats
. . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2 Editores cooperativos asíncronos de documentos . . . . . . . . . . . . . . 106
5.2.1 Entidades de control de acceso . . . . . . . . . . . . . . . . . . . . 106
5.2.2 Entidades de documentos . . . . . . . . . . . . . . . . . . . . . . . 107
5.2.3 Operaciones de edición y procesos en la plataforma . . . . . . . . 108
5.3 Agendas colaborativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.1 Entidades de las Agendas . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.2 Entidades de control de acceso . . . . . . . . . . . . . . . . . . . . 116
5.3.3 Operaciones y procesos en las agendas
. . . . . . . . . . . . . . . 117

6

Implementación y pruebas del modelo
123
6.1 Beneficios de Ruby y su API de reflexión . . . . . . . . . . . . . . . . . . . 123
Implementación de la plataforma . . . . . . . . . . . . . . . . . . . . . . . 127
6.2
6.2.1 Plataforma mínima . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2.2 Control de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.2.3 Administrador de entidades
. . . . . . . . . . . . . . . . . . . . . 129
6.2.4 Proxy de entidades remotas . . . . . . . . . . . . . . . . . . . . . . 129
6.2.5 API (Application Program Interface)
. . . . . . . . . . . . . . . . . . 130

Cinvestav

Departamento de Computación

CONTENTS vii

.

.

6.2.6 DAUS (Dinamical Application Updating System) . . . . . . . . . . . 130
6.2.7 EUS (Entity Update System)
. . . . . . . . . . . . . . . . . . . . . . 131
6.3 Entidad genérica .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.4 Entidades y políticas implementadas . . . . . . . . . . . . . . . . . . . . . 132
6.4.1 Tipos de entidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.4.2 Políticas de control de acceso . . . . . . . . . . . . . . . . . . . . . 134
6.4.3 Políticas de control de concurrencia del EUS . . . . . . . . . . . . 135
6.5 Desarrollo de una aplicación colaborativa usando la plataforma . . . . . 136
6.5.1 Chat room .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
6.5.2 Pruebas de la entidad de tipo de “archivo” . . . . . . . . . . . . . 137
6.6
Implementación del actualizador de versiones de software . . . . . . . . 138
6.7 Pruebas de flexibilidad y actualizaciones dinámicas . . . . . . . . . . . . 140
6.7.1 Agregación de un nuevo tipo de entidad . . . . . . . . . . . . . . 140
6.7.2 Modificación de la política de control de acceso de una entidad . 141

.

.

.

7 Conclusiones y trabajo a futuro

7.1 Conclusiones .

.

.

7.2 Trabajo a futuro .

.

.

.

143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.1.1 Ventajas del modelo propuestos
. . . . . . . . . . . . . . . . . . . 145
7.1.2 Deficiencias y limitaciones de la solución propuesta . . . . . . . . 146
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
.
7.2.1 Plataforma .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.2.2 Entidades distribuidas y políticas de administración . . . . . . . 147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.2.3 Aplicaciones
7.2.4 Actualizaciones dinámicas
.
  • Links de descarga
http://lwp-l.com/pdf11850

Comentarios de: Un sistema flexible y extensible de entidades replicadas para aplicaciones cooperativas distribuidas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad