Sistemas Distribuidos: Práctica 2
Aplicación Cliente-Servidor para gestión de cuentas corrientes utilizando
Sockets Java
El objetivo de esta práctica es consolidar los conocimientos adquiridos en
clases de teoría y prácticas acerca del mecanismo de comunicación entre procesos
a través de Internet mediante sockets.
Enunciado:
Se trata de crear un pequeño sistema cliente-servidor que soporte
operaciones sobre una cuenta corriente.
El SERVIDOR, que estará basado en
sockets y será concurrente, implementará el servicio CuentaCorriente,
soportando las siguientes operaciones:
- APERTURA-CUENTA <NIF> <saldo_inicial>, para realizar la
apertura de una cuenta corriente, cuyo titular estará identificado por el
NIF indicado (formato, 99999999-X), con el saldo inicial (>=0)
especificado y que devolverá un número de cuenta (identificada por un
código de la forma C999, es decir, el carácter C seguido de tres dígitos
). El servidor asignará secuencialmente los números de cuenta.
- CONSULTA-CUENTAS <NIF>, para consultar la(s) cuenta(s) abiertas por
el titular especificado por el <NIF>. Se devolverá una lista con las
cuentas del titular indicado
- OPERACION-CUENTA <cuenta> <importe>, para realizar una
operación de ingreso o de reintegro, según el <importe> indicado
(ingreso si es > 0, y reintegro si es <0), sobre la <cuenta>
especificada. Se devolverá el nuevo saldo de la cuenta. Si <importe>
= 0 se entenderá que se quiere consultar el saldo de la cuenta especificada
y se devolverá el último saldo de la cuenta.
- Para implementar el servidor, supondremos que la información de las
cuentas se
encuentran almacenadas en un fichero con el siguiente formato:
Numero-Cuenta#DNI-titular#Saldo-cuenta
- Nótese que el carácter # funciona como separador de campos (sugerencia: utilizar un objeto
StringTokenizer).
Por otro lado, se desarrollará un CLIENTE que presentará un menú con las opciones posibles a realizar
hasta que el usuario decida salir del programa.