Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Junio de 2019.
Tabla de contenidos
Introduccion ..................................................................................................................................... 4
Descripcion del problema................................................................................................................. 5
Modelo entidad relacion ................................................................................................................... 6
Base de datos en ORACLE .............................................................................................................. 7
Estado del arte .................................................................................................................................. 8
Bibliografia ...................................................................................................................................... 9
4
4. Introducción
Durante las semanas transcurridas hemos adquirido el conocimiento para realizar la primera de tres
entregas del desarrollo del módulo en cuestión la cual consta de lo siguiente:
Figura 1. Modelo entidad relación de persistencia de la base de datos para un cliente de un banco.
7
3. Es muy importante tener en cuenta la personalización de nuestra base de datos ya que de ello
depende el buen funcionamiento, algo para tener en cuenta es la selección del listener
previamente creado.
9
4. Para empezar a realizar el esquema planteado en el modelo entidad relación nos conectamos
a la base de datos creada desde nuestra herramienta ORACLE SQL Developer.
Creamos las tablas y posteriormente asignamos las llaves primarias que contendrá cada tabla y
posteriormente las llaves foráneas para relacionar las tablas.
10
SQL
Creación de la tabla Bancos
CREATE TABLE "SYSTEM"."BANCOS"
( "ID_BANCO" NUMBER NOT NULL ENABLE,
"NOMBRE" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"TELEFONO" NUMBER NOT NULL ENABLE,
CONSTRAINT "BANCOS_PK" PRIMARY KEY ("ID_BANCO")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ;
B) Métodos:
public void close() throws IOException: Se encarga de cerrar el socket.
public InetAddress getInetAddress (): Retorna la dirección IP remota a la que se conecta el socket.
public InputStream getInputStream () throws IOException: Retorna un input stream para la lectura
de bytes desde el socket.
public int getLocalPort(): Retorna el puerto local al que está conectado el socket.
public OutputStream getOutputStream () throws IOException: Retorna un output stream para la
escritura de bytes hacia el socket.
public int getPort (): Retorna el puerto remoto al que está conectado el socket.
public static void setSocketImplFactory (SocketImplFactory fac) throws IOException: Este método
establece la compañía de implementación del socket para la aplicación. Debido a que cuando una
aplicación crea un nuevo socket, se realiza una llamada al método createSocketImpl( ) de la compañía
que implementa al socket. Es por tanto en el parámetro fac , donde especificaremos la citada
compañía.
25
B) Métodos:
public void close(): Cierra el socket.
protected void finalize(): Asegura el cierre del socket si no existen más referencias al mismo.
public int getLocalPort(): Retorna el número de puerto en el host local al que está conectado el socket.
public void receive (DatagramPacket p) throws IOException: Recibe un DatagramPacket del socket,
y llena el búfer con los datos que recibe.
public void send (DatagramPacket p) throws IOException: Envía un DatagramPacket a través del
socket.
Datagram Packet
En (https://www.infor.uva.es/~fdiaz/sd/doc/java.net.pdf, 2019) indica que:
Un DatagramSocket envía y recibe los paquetes y un DatagramPacket contiene la información
relevante. Cuando se desea recibir un datagrama, éste deberá almacenarse bien en un búfer o un array
de bytes. Y cuando preparamos un datagrama para ser enviado, el DatagramPacket no sólo debe tener
la información, sino que además debe tener la dirección IP y el puerto de destino, que puede coincidir
con un puerto TCP.
pulic final class java.net.DatagramPacket extends java.lang.Object
A) Constructores:
public DatagramPacket(byte ibuf[], int ilength) Implementa un DatagramPacket para la recepción de
paquetes de longitud ilength, siendo el valor de este parámetro menor o igual que ibuf.length.
public DatagramPacket(byte ibuf[], int ilength, InetAddress iaddr, int iport): Implementa un
DatagramPacket para el envío de paquetes de longitud ilength al número de puerto especificado en el
parámetro iport, del host especificado en la dirección de destino que se le pasa por medio del
parámetro iaddr.
B) Métodos:
public InetAddress getAddress (): Retorna la dirección IP del host al cual se le envía el datagrama o
del que el datagrama se recibió.
public byte[] getData(): Retorna los datos a recibir o a enviar.
public int getLength(): Retorna la longitud de los datos a enviar o a recibir.
public int getPort(): Retorna el número de puerto de la máquina remota a la que se le va a enviar el
datagrama o del que se recibió.
27
9. Bibliografía
Belmonte Fernández, G. C., & Óscar, C. M. (s.f.). Desarrollo de Proyectos Informáticos con
Tecnología Java. Universitat Jaume.
https://www.infor.uva.es/~fdiaz/sd/doc/java.net.pdf. (25 de 05 de 2019). Obtenido de
https://www.infor.uva.es/~fdiaz/sd/doc/java.net.pdf
Martin Santana, M. S., & A. David, L. I. (25 de 05 de 2019). sopa.dis.ulpgc.es/ii-
dso/leclinux/ipc/sockets/sockets.pdf. Obtenido de http://sopa.dis.ulpgc.es/ii-
dso/leclinux/ipc/sockets/sockets.pdf
Murillo Morera, C. P., & Juan de Dios, S. (2010). Implementación de un servidor ftp utilizando el
modelo cliente/servidor mediante el uso de sockets en lenguaje C UNIX con el fin de mejorar los
tiempos de respuesta en la red. Uniciencia, 85.
Pereria, A. (25 de 05 de 2019). https://eslinux.com/articulos/8591/programacion-sockets-lenguaje-
c/.