Entrega 1 Sistemas Distribuidos MD
Entrega 1 Sistemas Distribuidos MD
Entrega 1 Sistemas Distribuidos MD
Entrega 1 Semana 3
Grupo No. 12
En este documento como grupo describimos los pasos a seguir para la instalación y
configuración de un sistema operativo Linux dentro de una máquina virtual. Para esto
usaremos VirtualBox como herramienta de virtualización, y Windows como sistema
base que será dominado por host y CentOS como sistema operativo de máquinas
virtuales.
ENTREGA 1 SEMANA 3
Los sockets son mecanismos de comunicación entre procesos que permiten que un
proceso hable con otro proceso estando en distintas maquinas es necesario para
establecer una infraestructura del cliente servidor, desde el punto de vista de
programacion un socket no es más que un fichero que se abre de una manera especial
3. Tipos de sockets
4. Cliente-servidor
Ya definimos que los sockets son una piedra angular necesaria para la conexión a
través de una red de datos y así transmitir la información requerida, por lo tanto, en
estos casos para simplificar las conexiones se crearon drivers o conjuntos de utilizades
y /o herramientas que simplifican la tarea de creación de estos sockets.
Cuando se implementan con el protocolo TCP, los sockets tienen las siguientes
propiedades:
Orientado a conexión.
Se garantiza la transmisión de todos los octetos sin errores ni omisiones.
Se garantiza que todo octeto llegará a su destino en el mismo orden en que se
ha transmitido. Estas propiedades son muy importantes para garantizar la
corrección de los programas que tratan la información.
y en día teniendo en cuenta la globalización en los ámbitos sociales, culturales,
económicos,
tecnológicos, políticos y demás, se podrá corroborar que la transaccionalidad de
datos e
información es contante en todos estos campos, un gran ejemplo de todo esto lo vemos
a diario
con las millones de transferencias bancarias que se hacen a nivel mundial en donde
por una red
se controlan y manejan exorbitantes sumas de dinero producto de las
innumerables
negociaciones y/o transacciones monetarias que surgen día a día. Para esto es
necesario
comprender que “la transferencia de archivos en un entorno de red implica un
conjunto de
reglas y procedimientos para que se “entiendan” las partes implicadas en la
transferencia y se
pueda realizar el envío de manera satisfactoria.” (de Dios Murillo Morera, 2010).
Para el caso particular en donde debemos como grupo diseñar un sistema que permita
realizar
operaciones financieras como lo son una consulta de saldo, un retiro y una
consignación, es
necesario llevarlo a cabo teniendo en cuenta los requerimientos funcionales dentro de
este tipo
de operaciones; cuando hacemos alguna de estas operaciones lo más importante es la
seguridad
de la transacción, es por esto que todas las páginas que nos permiten realizarlas
cuentan con el
certificado SSL Secure Sockets Layer (capa de sockets seguros) que brinda al
usuario la
confianza y seguridad para la realización de transacciones, “El protocolo Security
Socket Layer
elimina las amenazas al crear un canal cifrado para comunicaciones privadas, aunque
se valga
de una red pública como Internet.” (Colombia, 2018)
Aquí es donde el tema de socket muestra su importante funcionamiento, dentro del
proceso de
recolección de información se encontraron diferentes tipos de sockets y cada
uno tiene su
respectiva especificación.
oy en día teniendo en cuenta la globalización en los ámbitos sociales, culturales,
económicos,
tecnológicos, políticos y demás, se podrá corroborar que la transaccionalidad de
datos e
información es contante en todos estos campos, un gran ejemplo de todo esto lo vemos
a diario
con las millones de transferencias bancarias que se hacen a nivel mundial en donde
por una red
se controlan y manejan exorbitantes sumas de dinero producto de las
innumerables
negociaciones y/o transacciones monetarias que surgen día a día. Para esto es
necesario
comprender que “la transferencia de archivos en un entorno de red implica un
conjunto de
reglas y procedimientos para que se “entiendan” las partes implicadas en la
transferencia y se
pueda realizar el envío de manera satisfactoria.” (de Dios Murillo Morera, 2010).
Para el caso particular en donde debemos como grupo diseñar un sistema que permita
realizar
operaciones financieras como lo son una consulta de saldo, un retiro y una
consignación, es
necesario llevarlo a cabo teniendo en cuenta los requerimientos funcionales dentro de
este tipo
de operaciones; cuando hacemos alguna de estas operaciones lo más importante es la
seguridad
de la transacción, es por esto que todas las páginas que nos permiten realizarlas
cuentan con el
certificado SSL Secure Sockets Layer (capa de sockets seguros) que brinda al
usuario la
confianza y seguridad para la realización de transacciones, “El protocolo Security
Socket Layer
elimina las amenazas al crear un canal cifrado para comunicaciones privadas, aunque
se valga
de una red pública como Internet.” (Colombia, 2018)
Aquí es donde el tema de socket muestra su importante funcionamiento, dentro del
proceso de
recolección de información se encontraron diferentes tipos de sockets y cada
uno tiene su
respectiva especificación
CLIENTE:
import java.io.*;
import java.util.Scanner;
public Cliente() throws IOException{super("cliente");} //Se usa el constructor para cliente de Conexion
try
DataInputStream entrada;
String mensajeRecibido;
if(accion.equals("i")) {
cuenta = teclado.nextLine();
valor = teclado.nextLine();
mensaje = accion+","+cuenta+","+valor;
if(accion.equals("c")) {
cuenta = teclado.nextLine();
mensaje = accion+","+cuenta;
salidaServidor.writeUTF(mensaje);//enviamos mensaje
System.out.println(mensajeRecibido);
cs.close();//Fin de la conexión
catch (Exception e)
System.out.println(e.getMessage());
Servidor
import java.io.*;
import java.util.*;
public class Servidor extends Conexion //Se hereda de conexión para hacer uso de los sockets y demás
public Servidor() throws IOException{super("servidor");} //Se usa el constructor para servidor de Conexion
try
//Esperando conexión
System.out.println("Esperando...");
cs = ss.accept();
System.out.println("Cliente en línea");
DataInputStream entrada;
String mensajeRecibido;
//Leemos respuesta
mensajeRecibido = entrada.readUTF();
if(accion.equals("i")) {
PrintWriter pw = null;
try
pw = new PrintWriter(fichero);
pw.println(salida);
salidaCliente.writeUTF("OK");
} catch (Exception e) {
salidaCliente.writeUTF("NO-OK");
e.printStackTrace();
} finally {
try {
if (null != fichero)
fichero.close();
e2.printStackTrace();
}
}
// Acción Consultar
if(accion.equals("c")) {
FileReader fr = null;
BufferedReader br = null;
br = new BufferedReader(fr);
String linea;
while((linea=br.readLine())!=null) {
if(cuenta.equals(cUsuario)){
//System.out.println(cuenta+" "+saldo);
//System.out.println(Arrays.toString(salida));
}
System.out.println("Fin de la conexión");
catch (Exception e)
System.out.println(e.getMessage());
Conexión
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
if(tipo.equalsIgnoreCase(“servidor”))
{
ss = new ServerSocket(PUERTO);//Se crea el socket para el servidor en puerto 1234
else
MAIN CLIENTE
import java.io.IOException;
System.out.println("Iniciando cliente\n");
MAIN SERVIDOR
import java.io.IOException;
System.out.println("Iniciando servidor\n");
7. Conclusiones
En esta actividad como grupo nos ha permitido conocer las partes esenciales de un
sistema operativo como son las máquinas virtuales y configuración de las mismas, para
esta implantación del modelo cliente-servidor fue necesario la instalación MV donde se
ejecutó el código en java utilizando el método socket.
8. BIBLIOGRAFÍA
Socket. Disponible en https://www.ecured.cu/Socket
Lenguajes y ciencias de la computación. Disponible en
http://www.lcc.uma.es/~eat/services/i_socket/i_socket.html#link2