PDF de programación - Tesis: Graciela Esparza - COMPILADOR DEL PROTOCOLO RPC PARA LA PROGRAMACION DE APLICACIONES DISTRIBUIDAS

Imágen de pdf Tesis: Graciela Esparza - COMPILADOR DEL PROTOCOLO RPC PARA LA PROGRAMACION DE APLICACIONES DISTRIBUIDAS

Tesis: Graciela Esparza - COMPILADOR DEL PROTOCOLO RPC PARA LA PROGRAMACION DE APLICACIONES DISTRIBUIDASgráfica de visualizaciones

Actualizado el 12 de Septiembre del 2020 (Publicado el 14 de Enero del 2017)
1.130 visualizaciones desde el 14 de Enero del 2017
155,1 MB
157 paginas
Creado hace 11a (30/01/2013)
IS 1'-i'-1- {';i
n;s/S- ;99 8

ct..r"t tf IICY[STIIACitw f H
fSTUtMS AVANZAits Ill

I. P. N.

atBLIOTEOA
INGENIERIA ELECTitK:~

Cf.IHM ;:, ;_ II'IVt 'STII ACitl ttl 0

f.SP C! I!l S AV,O.NV.IIII IH

1. P. N.

a1 8L IO T E0A
1 ,.1 GEN I ERI~ ELECTftlC-.

CiNVESTAV

lPN

ADOUJSICION
DE LIB ROS

,,

Centro de lnvestigaci6n y de Estudios Avanzados

deii.P.N.

Departamento de Ingenieria Electrica

Secci6n de Computaci6n

COMPILADOR DEL PROTOCOLO RPC PARA LA

PROGRAMACION DE APLICACIONES DISTRIBUIDAS

Tesis que presenta Ia Lie. Graciela Judith Esparza Azcoitia para obtener
el grado de MAESTRO EN CIENCIAS dentro de Ia especialidad de
INGENIERiA ELECTRICA con opci6n en COMPUT A CION

Trabajo dirigido por el M. en C. Raul Garcia Ruiz

Mexico, D .F., Agosto de 1997

Becario de CONACYT

A mis padres, a mis hermanos y a Miguel porque hemos logrado estar unidos, a
pesar de las distancias.

A mis companeros de trabajo y amigos que siempre me han apoyado.

AI personal y a
las secciones de Computaci6n,
Comunicaciones asf como Ia Secretarfa de Planeaci6n porque me brindaron su
ayuda y colaboraron en mi formaci6n academica.

los profesores de

AI C/NVESTAV y a/ Consejo Nacional de Ciencia y Tecnologfa (Conacyt) por e/
apoyo econ6mico brindado.

Cf.NT!'O g ~ IMvtST! QAC itll T fl

ESTUl'!GS AV • ".Z • ~eS DEl

L P. N .

• IBL.IOTE OA
INGENIERiA ELE CTRIC~<

CONTENIDO

CU T!U' DE lllfrt:STiiACI . . 'f II

f3 TUI'lii'JS • v ~.NlA80 S tH

I. P. N.

arEi L I O TEO A
'"'r:;E NIERIA ELECTRIC~

l . INTRODUCCION ___________________________________________ 2

l.l. Objetivo de Ia tesis -------------------------------------------

1.2. An t e c ed en t e s - - - - - - - - - - - - - - - - - - - - - - - - -

1.3. Modelo RPC - - - - - - - - - - - - - - - - - - - - - - - - -
1.4. Resultados __ _ _ ___________ ___ ____ __ _

2. LLAMADAS A PROCEDIMIENTOS REMOTOS _____________________ 10

2.1. Modelos Cliente- Servidor - - - - - - - - - - - - - - - - - - - -1 0
2.2. Estructura General del Modelo RPC

2.2.1. Paso de parametres
2.2.2. Enlace
2.2.3. Protocolo de transporte
2. 2.4. Manejo de excepciones
2.2.5. Semantica de las llamadas
2.2.6. Representacion de los datos
2.2.7. Desempeiio y Seguridad

10
12
12
12
12
13
13
13

2.3. Representaci6n de los datos en productos RPC comerciales

2.4. Llamadas a procedimientos remotos en productos comerciales

2.4.l.SUNRPC
2.4.2. COURIER DE XEROX
2.4.3. RPC DE APOLLO

14

15
15
19
25

3. BIBLIOTECAS RPC, XDR, STUBS Y ENCABEZADOS --------------- 29
3.~ ~i~~~~';: ~~;~:~:sc~~ñg~~~;~~;:n~a:eac~:t:'eer de los datos -----------;~
3 I
31
33

3. I. 2 Rutinas XDR para el manejo de Ia cadena de caracteres
3.1.3 Rutinas XDR para el manejo de conversion de tipos simples (filtros)
3.1.4 Rutinas XDR para el manejo de conversion de tipos complejos (filtros)

3.2 Biblioteca de funciones RPC

3.2.1 Autenticacion del chente
3. 2. 2 Llarnada desde el !ado chente
3.2.3 Administracion del "handle" del chente
3 . 2.4 Registro de un servidor en el Portmap
3.2.5 Administracion del handle del servicio de transporte SVCXPTR
3.2.6 Manejo y reporte de errores en ellado servidor
3. 2. 7 Servidor E/S y utilerias
3.2.8 Acceso Directo XDR

3.3 Biblioteca de funciones generadas para el manejo del portmap

3.4 Generaci6n de stubs cliente-servidor, encabezados y rutinas xdr

3 .4. I Encabezados

35
35
3 5
37
3 8
38
39
40
40

41

43
4 3

3.4.2 Rutinas XDR
3.4.3 CLIENTE
3.4.4 SERVIDOR

4. INTERFAZ DE SOCKETS E JNTERFAZ DE COMUNICACION CRAD

4.1 Uso de Ia interfaz de sockets para clientes y servidores

4. 1. I Biblioteca de Sockets

4.2 Descripcion del modelo cliente-servidor generado por CRAD

4.3 Interfaz de comunicacion CRAD

4.3. I INTERF AZ DEL CLIENTE
4.3.2 INTERFAZ DEL SERVIDOR

5. COMPILADOR CRAD

5.1. Fases del Compilador

5.2. An:ilisis Lexico

5.3. An:ilisis Sintactico

5.4. An:ilisis Semantico , Tablas de simbolos y Manejo de Errores

5.5. Generacion de codigo

5.5. 1. Generador de encabezados
5.5.2. Generador de rutinas XDR
5.5.3. Generador de rutinas del cliente (stub del cliente)
5.5.4. Generador de rutinas del servidor (stub del servidor)

6. EJEMPLO DE GENERA CION DE COD/GO

6.1 Planteamiento del problema

6.2 Especificacion del problema en lenguaje RPC

6.3 Compilacion de Ia especificacion

6.4 Archivo de encabezados

6.5 Codigo del cliente

6.6 Stub del cliente

6.7 Filtros XDR

6.8 Stub del Servidor

6.9 Rutin as locales del servidor

Conclusiones

46
~7
52

58

58
59

62

66
66
70

76

76

80

83

88

90
90
93
94
95

99

99

99

100

100

101

104

105

106

I 08

111

ApendiceA. XDR: ESTANDAR PARA LA REPRESENTACION DE DATOS
EXTERN OS (EXTERNAL DATA REPRESENTATION STANDARD)

Introduccion:

Tamafio basico de bloque.

Especificacion dellenguaje xdr

Sintaxis .

Apendice B MODELO CLIENTE-SERVIDOR

Implantacion del modelo Cliente-Servidor

Interfaz de sockets

Consideraciones en el Diseilo de Clientes

Consideraciones en el Diseilo de Servidores

Servidores concurrentes:
Servidores iterativos:
Servidores orientados a conexi6n:
Servidores sin conexi6n

Tipos Basicos de Servidores

Servidores Multiprotocolo (TCP/UDP)

Servidores Multiservicio (TCP, UDP)

Servidores mulliservicio sin conexi6n
Servidores mu/tiservicio orientado a conexi6n
Un servidor mu/tiservicio, concurrente y orientado a conexi6n
Un servidor multiservicio con un proceso Unico

Servidores Multiservicio Multiprotocolo

Apendice C INTRODUCCION AL USO DEL LENGUAJE RPC

Protocolo de Mensajes RPC

Mensajes RPC

Protocolo de Autenticacion

Lenguaje RPC.

Protocolo del programa PORT MAPPER

BIBLJOGRAFfA

114

114

ll4

120
120

124

124

124

125

125
125
126
126
126

127

129

130
131
131
132
133

134

136

138

138

141

141

142

145

Compilador del Protocolo RPC Para Ia programaci6n de aplicaciones distribuidas

INTRODUCCION

Capitulo 1. lnfroducci6n

1.

1.

INTRODUCCION

1. 1. Objetivo de Ia tesis

En Ia actualidad,

las redes de computadoras son un media de comunicacion
elemental que nos permiten intercambiar informacion y compartir recursos, como discos,
cintas, archives, bases de datos , modems, impresoras, plotters y otros dispositivos. Las
redes permiten a los usuaries estructurar tales recursos de forma que se adapten a su
organizaci6n, promoviendo una mejor distribuci6n y Ia descentralizaci6n de los mismos.

En este contexte, es importante que los usuaries de los servicios tengan acceso a los
recursos distribuidos sin solicitar de manera explicita Ia transacci6n requerida para
usarlos, en otras palabras, tener acceso a los servicios remotes de forma transparente .
Los programas de aplicaci6n que soportan esta capacidad son conocidos como
aplicaciones o sistemas distribuidos y su objetivo es proporcionar un media ambiente que
oculte Ia localizacion geografica de las computadoras y servicios, de tal manera que
parezcan locales.

La programaci6n de aplicaciones distribuidas puede resultar muy compleja ya que
involucra el conocimiento de diferentes redes,
interfaces,
estandares para Ia representaci6n de datos, etc. Debido a esto, los programadores han
tenido Ia necesidad de una plataforma' de facil usa para escribir aplicaciones distribuidas.
Una de estas plataformas es "Open Network Computing" (ONC) desarrollada par SUN
MicroSystems. Esta plataforma consta de rutinas para llamadas a procedimientos
remotes (Remote Procedure Call -RPC-) y rutinas para Ia representaci6n de los datos
(eXternal Data Representation -XDR-).

familias de protocolos ,

Par otra parte, Ia plataforma ideal para las aplicaciones distribuidas no debe asociarse
con un Sistema Operative o una arquitectura especifica, par Ia que debe ser aceptada
par varies fabricantes, constituyendose en un estandar de industria como es el case de
ONC de SUN.

Con base en estes antecedentes se plante6 como el objetivo fundamental de esta
tesis el desarrollo de una herramienta que facilitara Ia programacion de aplicaciones
distribuidas, que funcionara bajo el entorno del sistema Operative MS-DOS y a Ia vez
fuera compatible con Ia plataforma ONC para establecer sesiones con las estaciones de
trabajo de SUN o cualquier otra estaci6n similar.

En las secciones 1.2 y 1.3 de este capitulo, se citan los antecedentes y conceptos
que enmarcan el desarrollo de las aplicaciones distribuidas y su entorno general, asi
como los motives que impulsaron a Ia elaboracion de esta tesis, para entonces explicar
el problema a nivel general y las consideraciones que se tomaron para el desarrollo de
una herramienta de este estilo. En Ia secci6n 1.4 se explican los resultados obtenidos,

1 Una plataforma para aplicaciones distribuidas Ia podemos definir como un conjunto de rut inas que proporcionan funciones
especificas para el desarrollo de aplicaciones que involucran el intercambio de informaciOn entre dos o mas entidades
distribuidas

2

Capitulo 1. lntroducci6n
los modules de programacion que comprende esta tesis y las herramientas que se
utilizaron para el desarrollo de Ia misma.

En el capitulo 2 se explican el modele RPG , productos comerciales que lo emplean y
el modele RPG de SUN . En el capitulo 3 se especifican las bibliotecas RPG y XDR
elaboradas para Ia creacion de aplicaciones distribuidas, posteriormente se definen Ia
generacion de stubs, encabezados y rutinas XDR. En el capi
  • Links de descarga
http://lwp-l.com/pdf1213

Comentarios de: Tesis: Graciela Esparza - COMPILADOR DEL PROTOCOLO RPC PARA LA PROGRAMACION DE APLICACIONES 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