UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
INGENIERÍA EN SISTEMAS COMPUTACIONALES
PROGRAMACIÓN 5
Integrantes del
grupo: William Potosí, Alexander Orbes
ESTRUCTURA CLIENTE –
SERVIDOR
Es
una arquitectura de procesamientos cooperativo donde uno de los componentes
pide servicios a otro, el término cliente - servidor es originalmente aplicado
a la arquitectura de software que describe el procesamiento entre dos o más
programas: una aplicación y un servicio soportante y además es un modelo para
construir sistemas de información, que se sustenta en la idea de repartir el
tratamiento de la información y los datos por todo el sistema informático,
permitiendo mejorar el rendimiento del sistema global de información.
Para
tener esto en claro, podemos definir la estructura Cliente- Servidor con un
gráfico que detalla todos los elementos de la estructura:
Servidor de Base de
Datos: Podemos usar la herramienta de gestión de base de datos que deseemos
para montar nuestro servidor, en este caso usaremos MySQL, es recomendable que
el servidor de la base de datos sea de uso exclusivo de la gestión de base de
datos, usando así ordenadores diferentes a estos para hacer el papel de
clientes.
DAO (Data Acces
Object): En esta están los DML (Lenguaje de Manipulación de Datos), los
cuales son: INSERT, DELETE, UPDATE y SELECT.
MVC: Básicamente
este es el patrón de arquitectura que usaremos para esta estructura cliente-
servidor.
Vista: Es la
interfaz que el usuario usa para comunicarse mediante la aplicación hacia la
base de datos.
Lógica de Datos: Son
todas las instrucciones y métodos que usa la aplicación para llevar a cabo las
instrucciones requeridas para el funcionamiento de la aplicación.
NOTA: Las
entidades nos permiten representar la información, mientras que las DAO las
manipula.
Teniendo en cuenta todo lo anterior, vamos a aplicar esta
teoría en un ejercicio simple.
Para esto vamos a crear las siguientes tablas de base de
datos en el desarrollador de MySQL:
Usaremos estas líneas de código:
CREATE
DATABASE notas;
USE
notas;
/*
Table: TAB_ESTUDIANTES */
/*==============================================================*/
CREATE
TABLE TAB_ESTUDIANTES
( ID_ESTUDIANTE INTEGER NOT NULL AUTO_INCREMENT,
CEDULA VARCHAR(10),
NOMBRES VARCHAR(40),
APELLIDOS VARCHAR(40),
DIRECCION VARCHAR(40),
TELEFONO VARCHAR(40),
PRIMARY KEY (ID_ESTUDIANTE) );
/*
Table: TAB_MATERIAS */
/*==============================================================*/
CREATE
TABLE TAB_MATERIAS
( ID_MATERIA INTEGER NOT NULL AUTO_INCREMENT,
NOMBRE_MATERIA VARCHAR(40),
PRIMARY KEY (ID_MATERIA) );
/*
Table: TAB_NOTAS */
/*==============================================================*/
CREATE
TABLE TAB_NOTAS
( ID_NOTA INTEGER NOT NULL AUTO_INCREMENT,
ID_ESTUDIANTE INTEGER,
ID_MATERIA INTEGER,
NOTA1
NUMERIC(8,2),
NOTA2 NUMERIC(8,2),
PRIMARY KEY (ID_NOTA));
ALTER
TABLE TAB_NOTAS ADD CONSTRAINT FK_REFERENCE_1 FOREIGN KEY (ID_ESTUDIANTE)
REFERENCES TAB_ESTUDIANTES
(ID_ESTUDIANTE) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER
TABLE TAB_NOTAS ADD CONSTRAINT FK_REFERENCE_2 FOREIGN KEY (ID_MATERIA)
REFERENCES TAB_MATERIAS (ID_MATERIA) ON
DELETE RESTRICT ON UPDATE RESTRICT;
Habiendo ingresado en el código, guardamos este documento
con el nombre correspondiente, con el cual nos encargaremos e enlazar la base
de datos y la aplicación, en este caso: Netbeans.
Conociendo esto, vamos a abrir el desarrollador y crear un
nuevo proyecto, luego de esto vamos a añadir las librerías correspondientes,
para poder trabajar conjuntamente con nuestra base de datos:
Luego crearemos una nueva entidad de clases desde la base de
datos que deseamos.
Después de
este proceso, ya tendremos disponible nuestra base de datos, luego de esto
vamos a importar las tablas que contiene la base de datos, en este caso: la
base de datos notas tiene las tablas: tab_estudiantes, tab_materia y tab_notas.
Ahora podemos ver, las tablas de
nuestra base de datos que han sido importados satisfactoriamente en Netbeans.
El siguiente paso, es añadir los
JPAcontroller a Netbeans, por lo que debemos crear un nuevo controlador de
clases JPA desde las clases entidad.
Con esto, hemos terminado el
enlace de la base de datos de mysql y netbeans.
Ahora lo que resta, es poner en
aplicación las instrucciones básicas de mysql, las que son: INSERT, DELETE Y
UPDATE, para esto debemos crear una nueva clase y añadir el siguiente código:
package
Prueba;
import
java.util.List;
import
java.util.logging.Level;
import
java.util.logging.Logger;
import
javax.persistence.EntityManager;
import
javax.persistence.EntityManagerFactory;
import
javax.persistence.Persistence;
import
modelo.dao.MateriaJpaController;
import
modelo.dao.exceptions.NonexistentEntityException;
import
modelo.entidades.Materia;
/**
*
@author William
*/
public class
Prueba {
public static void main(String[] args) {
//Código para insertar información en
una tabla de BDD.
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("ControlNotasPU");
MateriaJpaController dao = new
MateriaJpaController(emf);
Materia nueva= new Materia();
nueva.setNombreMateria("PROGRAMACIÓN VISUAL");
dao.create(nueva); //Ejecuta la función INSERT en la tabla de
BDD: tab_MATERIAS
Materia nueva1= new Materia();
nueva1.setNombreMateria("ALGEBRA");
dao.create(nueva1);
Materia nueva2= new
Materia();
nueva2.setNombreMateria("MATEMATICA APLICADA");
dao.create(nueva2);
Materia nueva3= new
Materia();
nueva3.setNombreMateria("ELECTRONICA");
dao.create(nueva3);
//Método eliminar
List<Materia> lista
=dao.findMateriaEntities();
for (Materia mat: lista) {
System.out.println(mat.getIdMateria()+"\t"+
mat.getNombreMateria());
}
dao.destroy(5);
} catch (NonexistentEntityException ex)
{
Logger.getLogger(Prueba.class.getName()).log(Level.SEVERE, null, ex);
}
// INSTRUCCIÓN
UPDATE
Materia mat= dao.findMateria(4);
//Buscar
System.out.println(mat.getNombreMateria());
mat.setNombreMateria("REDES
LAN");
try {
dao.edit(mat);
} catch (Exception ex) {
Logger.getLogger(Prueba.class.getName()).log(Level.SEVERE,
null, ex);
}
} }
No hay comentarios:
Publicar un comentario