Escolar Documentos
Profissional Documentos
Cultura Documentos
Proyecto No.: 3
1. Objetivos:
Modelar una base de datos que contenga datos bancarios de distintos usuarios.
2. Marco teórico:
Página 1 de 6
usan un middleware entre los que destacan (RPC) y SOAP para conseguir un
objetivo.
Los sistemas distribuidos deben ser muy confiables, ya que si un componente del
sistema se descompone otro componente debe ser capaz de reemplazarlo. Esto se
denomina tolerancia a fallos.
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de
hosts (red de área local), centenas de hosts (red de área metropolitana), o miles, o
millones de hosts (Internet); esto se denomina escalabilidad [1].
Cliente: rol que desempeña un equipo demandando servicios de los servidores, pero
también puede realizar procesamiento local, tales como
desplegar páginas web, mostrar ventanas y generar correo electrónico [3].
Nombre Características
1 SISTEMA OPERATIVO Ubuntu 16.04 LTS, Ubuntu Mate 10.2.5
2 HARDWARE Laptop Dell 3467 Core i5 2.5 Ghz 8 Gb ram
Laptop Alienware r4 17 Core i7 3.0 Ghz 16 Gb
ram
Raspberry pi 3 B quad-core 2 Ghz 1 Gb ram
3 SOFTWARE VirtualBox 10.2.16
No Machine
Visual Studio Code
Gedit
Python 3
Mysql Server Workbench
Página 2 de 6
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
CLIENTE
- El o los computadores clientes únicamente enviarán consultas al
servidor FrontEnd, de manera que el cliente pueda recibir el resultado
de la consulta realizada.
Dos servidores back end: Ubuntu 16.04 (3) y Ubuntu 16.04 (4)
Página 3 de 6
(1) CLIENTES
ALGORITMO CLIENTE
socket = socketCliente()
try:
socketCliente().connect(direccionFrontEnd, puertoFrontEnd)
exception:
print('No se puedo conectar cliente a front end')
while: true
socketCliente().send(tipoTransaccion)
socketCliente().recv(respuestaBackEnd)
socketCliente().close
colaConsultas
def fEndServer():
socket = socketFrontEndServidor()
Página 4 de 6
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
socketFrontEndServidor().bind(direccionFronEnd, puertoFrontEnd)
socketFrontEndServidor().listen(10)
socketFrontEndServidor().aceppt(direccionClientes)
while true:
socketFrontEndServidor().recibir(consulta)
colaConsultas.append(consulta)
conexion.close()
def fEndClient():
socket = socketFrontEndCliente()
try:
socketFronEndCliente().connect(direccionBackEnd, puertoBackEnd)
exception:
print('No se puedo conectar cliente a fback end')
while: true
socketFronEndCliente().send(getOut(colaConsultas))
socketFrontEndCliente().recv(respuestaBackEnd)
socketCliente().close
socket = socketBackEnd()
socketBackEnd().bind(direccionBackEnd, puertoBackEnd)
socketBackEnd().listen(1)
socketBackEnd().accept(direccionFrontEnd)
socketBackEnd().recv(consulta)
switch consulta:
case 'C':
print 'CONSULTA'
sendToDatabase.consulta
case 'D'
print 'DEPOSITO'
sendToDatabase.deposito
Página 5 de 6
case 'R'
print 'RETIRO'
sendToDatabase.retiro
case 'U'
print 'ACTUALIZACION'
sendToDatabase.update
socketBackEnd.send(respuesta)
scoektBackEnd.close
4. Conclusiones y recomendaciones:
5. Bibliografía:
[1]"Computación distribuida", Es.wikipedia.org, 2018. [Online]. Available:
https://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida. [Accessed: 19- Jul-
2018].
Página 6 de 6