Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015. MÉTODO DE SIMULACIÓN DE REPLICADO DE INFORMACIÓN USANDO UNA BASE DE DATOS EN JODBC EN UN SISTEMA DISTRIBUIDO TRABAJANDO CON EL MODELO CLIENTE SERVIDOR. Resumen— Se construye un simulador en lenguaje Java para comprobar el replicado de datos en un sistema distribuido, manejando una base de datos en JODBC siendo esta una API la cual es independiente del sistema operativo donde se ejecute el programa, o de la base de datos a la cual se accede. Se hace un acuse de recibo a fin de comprobar que los datos son copiados fielmente del lado cliente al lado servidor, todo esto bajo la arquitectura clienteservidor usando el sistema de sockets con la técnica de paso de mensajes, y el protocolo tcp/ip. Palabras claves— Lenguaje Java, Simulador, sockets, Sistema Cliente-Servidor, replicados de datos, base de datos, ODBC, JODBC. 1. INTRODUCCIÓN Lo primero que se realiza es configurar el sistema de ODBC usando el programa de Administración de orígenes de datos de ODBC de Microsoft con la base de datos llamada Replicado y tres tablas para el manejo de los registros de la tabla llamada Persona de los cuales pretenden replicar en el servidor y luego regresar o sea replicar nuevamente la información y compararla con la original. Una vez que se han obtenido los datos de la base de datos del servidor se prepara el sistema o programa de comunicaciones para poder enviar los datos usando un protocolo de comunicaciones tcp/ip mediante el uso de sockets de comunicación siendo estos de tipo stream o sea son orientados a no conexión y son no fiables, el cual permite enviar y recibir información de un punto a otro sin tener que preocuparse si se recibe o no la información, por lo tanto la información fluye en este caso del lado cliente al servidor y luego lo más importante regresar esta información que se ve como una réplica y ya que la información se regresó viene la comparación de los datos replicados con el original y comprobar que no hay ninguna alteración de los datos que se siguen conservando como el original. Para que se pueda hacer la conexión se requiere que el lado cliente use la dirección ip del servidor junto con el número de puerto al cual se pretende accesar al propio servidor. 2. DESARROLLO DE CONTENIDOS Para trabajar con el sistema de base de datos en ODBC de Microsoft se usa la aplicación de Administrador de orígenes de datos del mismo, es aquí donde se da de alta una base de datos con la que se va a trabajar en este caso DUARTE HERNÁNDEZ EZEQUIEL ALEJANDRO Instituto Tecnológico de Tlalnepantla [email protected] ARMANDO DE JESUS RUIZ CALDERÓN [email protected] SOFÍA BARRÓN PÉREZ [email protected] ABEL GONZALEZ CAÑAS [email protected] se llama Replicado que está hecha en Access y el archivo se llama también REPLICADO.mdb, como se muestra en la Figura 1. Figura 1. Base de datos REPLICADO en Access. Fuente: Elaboración propia La base de datos Replicado contiene tres tablas que son Pasatiempo, Persona y Tabla1 de estas la que se va a usar es la de Persona la cual contiene cuatro atributos que son Rfc, Nombre, Dirección y Teléfono. El replicado se inicia desde el primer registro de la tabla Persona hasta el último registro no importa que tan pequeño o grande sea como se ve en la Figura 2. 18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 139 Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. Figura 2. La base de datos Replicado con La tabla Persona. Fuente: Elaboración propia. Ya que la base de datos esta lista para usarse se hace el programa para abrir la base de datos y leer todos los registros de la tabla Persona como se muestra a continuación en el fragmento de código. String driverSun = "sun.jdbc.odbc.JdbcOdbcDriver"; String driverMs = "com.ms.jdbc.odbc.JdbcOdbcDriver"; // UBICACION DE LA BASE DE DATOS, HACE REFERENCIA AL MANEJADOR DEL ODBC String ubicacion = "jdbc:odbc:replicado"; // CLAVE DE ACCESO A LA BASE DE DATOS String usuario = null; String contrasena = null; Como puede observarse se usa el manejador de java el jdbc y el nombre de la base de datos que se llama Replicado. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015. viceversa como se muestra en el fragmento de código que muestra a continuación. try { conexion = new Socket("10.3.40.118" ,7777); is = new DataInputStream(conexion.getInputStream()); os = new PrintStream(conexion.getOutputStream()); System.out.println("servidor contactado"); System.out.println(" LOS DATOS QUE ENVIA EL CLIENTE SON ++++++++ " + z); os.println(z); os.flush(); os.println("8"); os.flush(); String entra = is.readLine(); System.out.println(" LOS DATOS QUE RECIBE EL CLIENTE SON " + entra); conexion.close(); // System.exit(0); } catch(IOException e) {} } La conexión se hace con el protocolo ip que es igual en este caso al servidor “10.3.40.118” y con el número de puerto 7777. Como puede observarse en el fragmento del código anterior los datos son enviados en este caso son Replicados del lado cliente al lado servidor y luego son regresados del lado servidor al lado cliente para ser comprobados que no se fueran a modificar o sea que permanezcan íntegros. La parte final se da cuando los registros de la tabla Persona son enviados del lado cliente al lado servidor y viceversa como se muestra en la Fig. 3. Figura 3. Los datos enviados y recibidos lados Cliente. De esta manera ya está listo el programa para poder Leer de la tabla Persona, todos los registros como se ve en el fragmento del código siguiente. while( resultado.next() ) { String rfc = resultado.getString("Rfc"); String nombre = resultado.getString("Nombre"); String direccion = resultado.getString("Direccion"); String telefono = resultado.getString("Telefono"); z=rfc+" "+nombre+" "+" "+direccion+" "+" "+telefono+" "+z+" "; // DESPLEGA LOS DATOS LEIDOS System.out.println(rfc +" "+ nombre +" " + direccion + " " + telefono); } Luego viene otra parte donde se hace la conexión para poder enviar los datos del lado cliente al servidor y Fuente: Elaboración propia. 18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 140 Congreso Internacional de Investigación Tijuana. Revista Aristas: Investigación Básica y Aplicada. ISSN 2007-9478, Vol. 4, Núm. 7. Año 2015. Y en la parte del servidor también se muestran los datos mostrados en la Figura 4. Figura 4. Registros replicados en el lado servidor Fuente: Elaboración propia. Como puede observarse los datos si fueron replicados de un punto a otro sin ningún fallo lo que demuestra que para fines didácticos si funciona este trabajo. Y algo importante como puede observarse en las figuras 5 y 6. El campo 121 con el nombre Martha en los campos dirección y teléfono no tienen ningún valor esto se ve reflejado en la Réplica que estos campos que tienen el valor “null” o sea nulo, o sea que no tienen valor alguno. 3. CONCLUSIONES Fuente: Elaboración propia. De esta forma se puede concluir que los datos si fueron replicados con éxito sin sufrir ningún percance como se muestra en la Figura 5. Datos originales de la tabla Persona y Figura 6. Como puede observarse los datos si fueron replicados de un punto a otro sin ningún fallo lo que demuestra que para fines didácticos si funciona este trabajo. Y algo importante como puede observarse en las figuras 5 y 6. El campo 121 con el nombre Martha en los campos dirección y teléfono no tienen ningún valor esto se ve reflejado en la Réplica que estos campos que tienen el valor “null” o sea nulo, o sea que no tienen valor alguno. Si fueron replicados con su valor de verdad Nulo. Figura 5. Datos originales de la tabla Persona 4. REFERENCIAS [1]A. Silverschatz, Fundamentos de Sistemas Operativos,7nd ed., P. B. Galvin, G. Gagne, España: Mc GrawHill, 2006. [2] A. S. Tanenbaum, Sistemas Distribuidos, 2ed., M. V. Steen, Amsterdam, Holanda, Pearson Educación, 2008. [3] J. C. Pérez, Sistemas Operativos una Visión Aplicada, 2ed., F. G. Carballeira, P. de M. Anasagasti, España: Mc Graw Hill, 2007. Fuente: Elaboración propia. Figura 6. Datos Replicados tanto en el servidor como nuevamente en el cliente. 18 al 20 de febrero 2015. Facultad de Ciencias Químicas e Ingeniería. UABC. Copyright 2015. Tijuana, Baja California, México. 141