Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERÍA DE SOFTWARE
BOGOTÁ
2020
PERSISTENCIA Y DATOS TRANSACCIONALES
Tutor:
ALEXIS ROJAS CORDERO
INGENIERÍA DE SOFTWARE
BOGOTÁ
2020
CONTENIDO
Pág.
1. INTRODUCCIÓN
2. OBJETIVOS
7. CONCLUSIONES
8. BIBLIOGRAFÍA
1. INTRODUCCIÓN
relación que permite ejecutar los requerimientos que se desean tener, en las
datos Oracle y se elaboraran los sockets cliente y sockets server para hacer los
mismos realizando
Objetivo general
Crear una base de datos con conexión por medio de de sockets que permitirá
Objetivos Específicos
práctica.
del trabajo.
2. DESCRIPCIÓN DEL PROBLEMA
académico).
por ejemplo.
las especificaciones de:
PAIS
SOCKETS EN JAVA
distintos niveles en que se divide la capa de red, las librerías necesarias para
información desde otra máquina, aportada por otra aplicación software. Por lo
tanto, de cierto modo se puede reducir al mero hecho de leer y escribir archivos,
llamada a Abrir (open) para indicar, y obtener los permisos del fichero o dispositivo
que se desea utilizar. Una vez que el fichero o dispositivo se encuentra abierto, el
proceso de usuario realiza una o varias llamadas a Leer (read) y Escribir (write),
para la lectura y escritura de los datos. El proceso de lectura toma los datos desde
servidor es el que espera las conexiones del cliente (en un lugar claramente
específico que atiende). Una vez establecida la conexión, ésta es tratada como un
las capas TCP y UDP, en su lugar se puede utilizar las clases del paquete
sistema.
A través de las clases del paquete java.net, los programas Java pueden utilizar
independiente del sistema utilizando TCP, cada una de las cuales implementa el
Así el paquete java.net proporciona, entre otras, las siguientes clases, que son las
utiliza UDP.
código nativo, los programas Java pueden comunicarse a través de la red de una
juego de canales de entrada y salida que los programas pueden utilizar para leer y
escribir datos. Las clases InputStream y OutputStream del paquete java.io son
Es el más simple, lo único que se hace es enviar los datos, mediante la creación
Se trata de un servicio de transporte sin conexión. Son más eficientes que TCP,
cuya entrega no está garantizada; los paquetes pueden ser duplicados, perdidos o
Como se puede ver, hay que enviar datos adicionales cada vez que se realice una
comunicación.
Constructores:
el socket.
Métodos:
protected void finalize() Asegura el cierre del socket si no existen más referencias
al mismo.
DatagramPacket del socket, y llena el búfer con los datos que recibe.
DATAGRAM PACKET
además debe tener la dirección IP y el puerto de destino, que puede coincidir con
un puerto TCP.
Métodos:
datagrama se recibió.
utilizando el protocolo TCP, hay que establecer en primer lugar una conexión entre
(servidor), el otro solicita una conexión (cliente). Una vez que los dos sockets
los clientes. Mientras que el cliente adoptará un papel (inicial) activo, solicitando
conexiones al servidor.
EN LA PARTE DEL SERVIDOR SE TIENE:
Constructores:
Hay que recordar, que es fundamental que el puerto escogido sea conocido por el
Métodos:
• public Socket accept () throws IOException
Sobre un ServerSocket se puede realizar una espera de conexión por parte del
cliente mediante el método accept(). Hay que decir, que este método es de
bloqueo, el proceso espera a que se realice una conexión por parte del cliente
para seguir su ejecución. Una vez que se ha establecido una conexión por el
cliente, este método devolverá un objeto tipo Socket, a través del cual se
retornará null .
IOException
aplicación. Debido a que cuando una aplicación crea un nuevo socket, se realiza
compañía.
Constructores:
especificados.
IOException
IOException
Crea un StreamSocket y lo conecta al número de puerto y al nombre de host
especificados. public Socket (String host , int port , boolean stream) throws
IOException
Métodos:
IOException
aplicación. Debido a que cuando una aplicación crea un nuevo socket, se realiza
LA CLASE
InetAddress
Constructores:
Para crear una nueva instancia de esta clase se debe de llamar a los métodos
Métodos:
Retorna la dirección raw IP del objeto InetAddress. Hay que tener en cuenta que el
especificado en el parámetro.
UnknownHostException
Retorna la dirección IP del nombre del host que se le pasa como parámetro,
dirección, una vez haga el accept para esperar llamadas, se quedará bloqueado a
la espera de las mismas. Una vez llegue una llamada el accept creará un Socket
para procesarla.
A su vez, cuando un cliente desee establecer una conexión, creará un socket y
Para poder leer y escribir datos, los sockets disponen de unos stream asociados,
• ObjetoDeTipoSocket.getInputStream ()
• InputStream. ObjetoDeTipoSocket.getOutputStream ()
que se quiera enviar un flujo de bytes sin búfer o también puede crearse un objeto
En Java, crear una conexión socket TCP/IP se realiza directamente con el paquete
Cuando el cliente solicite una conexión, el servidor abrirá la conexión socket con el
método accept().
El cliente establece una conexión con la máquina host a través del puerto que se
InputStream y OutputStream
puertos en el rango 0-1023 están reservados. Estos puertos son los que utilizan
los servicios estándar del sistema como email, ftp, http, etc. Por lo que, para
Socket miSocket;
try {
} catch(IOException e) {
System.out.println(e);
System.out.println(uhe);
Socket socketSrv;
try {
System.out.println(e);
ServerSocket, para que éste continúe ateniendo las conexiones que soliciten
potenciales nuevos clientes y poder servir al cliente, recién conectado, a través del
Socket creado:
try {
socketServicio= socketSrv.accept();
} catch(IOException e) {
System.out.println(e);
}
CREACIÓN DE STREAMS
crear un stream de entrada que esté listo a recibir todas las respuestas que el
servidor le envíe.
DataInputStream inSocket;
try {
} catch( IOException e ) {
System.out.println( e );
Deberá utilizarse la función que se crea necesaria dependiendo del tipo de dato
que se espera recibir del servidor. En el lado del servidor, también se usará
DataInputStream, pero en este caso para recibir las entradas que se produzcan de
try {
inSocket=new DataInputStream(socketServicio.getInputStream());
} catch(IOException e) {
System.out.println(e);
En el lado del cliente, puede crearse un stream de salida para enviar información
PrintStream outSocket;
try {
} catch(IOException e) {
System.out.println(e);
}
La clase PrintStream tiene métodos para la representación textual de todos los
datos primitivos de Java. Sus métodos write y println() tienen una especial
DataOutputStream outSocket;
try {
} catch(IOException e) {
System.out.println( e );
10 esos métodos, el más útil quizás sea writeBytes(). En el lado del servidor,
PrintStream outSocket;
try {
} catch(IOException e) {
System.out.println(e);
CIERRE DE SOCKETS
Siempre deben cerrarse los canales de entrada y salida que se hayan abierto
try {
} catch(IOException e) {
System.out.println(e);
try {
socketSrv.close();
} catch(IOException e) { System.out.println(e); }
6. CONCLUSIONES (Primera Entrega)
El estado del arte nos permite evaluar todas las consideraciones a tener en
cuenta sobre un tema, esto da pie para que empecemos con todas las
Extraído de : ‘https://www.infor.uva.es/~fdiaz/sd/doc/java.net.pdf’consultado
el 28 de Mayo de 2020.
Extraído de : https://www.youtube.com/watch?v=L0Y6hawPB-
E&list=PLU8oAlHdN5BktAXdEVCLUYzvDyqRQJ2lk&index=190 consultado
el 25 de Mayo de 2020.
Mayo de 2020.