Aplicaciones para sistemas distribuidos slide
description
Transcript of Aplicaciones para sistemas distribuidos slide
![Page 1: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/1.jpg)
APLICACIONES PARA SISTEMAS DISTRIBUIDOS
Ing. Ma.Elena Parra Urías
COMPRAS EN LÍNEA!
Instituto Tecnológico de Tepic
![Page 2: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/2.jpg)
Sitio “Mercado”
DESCRIPCIÓN DEL PROYECTO:
PARTE IDesarrollaremos una Aplicación Java con manejo de base de datos en MySql, que utilizará el administrador de la Base de Datos para realizar operaciones sobre el contenido de la misma.
PARTE IIDesarrollaremos una Aplicación WEB haciendo uso de PHP accediendo a la Base de Datos creada en la parte I, ambos sistemas trabajarán de manera conjunta.
![Page 3: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/3.jpg)
Recordando Compras en Línea
![Page 4: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/4.jpg)
Requerimientos de Desarrollo
¿Qué conocimientos debo tener para desarrollar el proyecto
propuesto?
![Page 5: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/5.jpg)
• Deberás tener conocimientos básicos de Creación y manipulación de Base de Datos
• Conocimientos básicos de Java• Conocimientos en el manejo de
Aplicaciones Java haciendo uso de NetBeans, diseño básico, páneles, botones, creación de eventos…
• Conocimientos básicos de DreamWeaver
• Conocimientos básicos de PHP
?
![Page 6: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/6.jpg)
Generación de la Base de Datos MySql
• La Base de datos tendrá el nombre de “sitio_mercado” .Su estructura es la siguiente:
# SQL Manager 2010 for MySQL 4.5.0.9# ---------------------------------------# Host : localhost# Port : 3306# Database : sitio_mercado
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES latin1 */;
SET FOREIGN_KEY_CHECKS=0;
CREATE DATABASE `sitio_mercado` CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci';
USE `sitio_mercado`;
## Structure for the `usuario` table : #
CREATE TABLE `usuario` ( `ID_USUARIO` bigint(20) NOT NULL auto_increment, `NOMBRE` varchar(50) NOT NULL, `DOMICILIO` varchar(60) NOT NULL, `CORREO_ELECTRONICO` varchar(60) NOT NULL, `VIGENTE` char(1) NOT NULL, `SEXO` char(1) NOT NULL, `PREGUNTA_SECRETA` varchar(100) NOT NULL, `FECHA_NACIMIENTO` date NOT NULL, `POBLACION` varchar(60) NOT NULL, `DEMARCACION` varchar(60) NOT NULL, `PAIS` varchar(100) NOT NULL, PRIMARY KEY (`ID_USUARIO`)) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
![Page 7: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/7.jpg)
## Structure for the `ventas` table : #
CREATE TABLE `ventas` ( `FOLIO` int(11) NOT NULL auto_increment, `FECHA_ORDEN` date NOT NULL, `FECHA_PAGO` date NOT NULL, `FECHA_ENTREGA` date NOT NULL, `TIPO_PAGO` varchar(30) NOT NULL, `BANCO` varchar(30) NOT NULL, `FOLIO_PERSONA` int(11) NOT NULL, `OBSERVACIONES` varchar(70) default NULL, `POBLACION` varchar(70) NOT NULL, `ESTADO` varchar(70) NOT NULL, `PAIS` varchar(70) NOT NULL, `CONTINENTE` varchar(70) NOT NULL, `MONTO` decimal(9,2) NOT NULL, PRIMARY KEY (`FOLIO`)) ENGINE=MyISAM AUTO_INCREMENT=5002 DEFAULT CHARSET=latin1;
Continuación Base de Datos
![Page 8: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/8.jpg)
PARTE I. Proyecto en NetBeans
• Generar una aplicación Java en NetBeans con el nombre “Sitio_Mercado”
• Generar los siguientes Frame’s o Formularios– FrameAcceso– FramePrincipal– FrameBotoneraUsuarios– FrameIngresaUsuarios– FrameConsultaUsuarios
![Page 9: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/9.jpg)
Formato FrameAccesoDar el siguiente formato propuesto a la ventana de Acceso al Sistema
![Page 10: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/10.jpg)
FramePrincipalSe sugiere el siguiente formato para la pantalla principal
![Page 11: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/11.jpg)
FrameBotoneraUsuarios
![Page 12: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/12.jpg)
FrameIngresaUsuarios¿Qué otra información debe contener el siguiente Frame? Toda la relación de
campos que integran la Tabla Usuarios
![Page 13: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/13.jpg)
Conector JDBC para MySql
Para descargar el conector JDBC que será el puente entre la Aplicación Java y MySql deberás acceder al sitio oficial:
http://dev.mysql.com/downloads/connector/j/
Trata de descargar la última versión.
![Page 14: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/14.jpg)
¿Cómo agregarlo al Proyecto?
¡Muy sencillo! En la sección de Librerías deberás dar botón derecho Add File/JAR Folder, tal y como se muestra en la siguiente figura:
![Page 15: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/15.jpg)
…Continuación conector
Presionar “Abrir” y Listo!
![Page 16: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/16.jpg)
Código en Java para Conectarse a Bases de Datos en Mysql
Para la conexión es necesario incluir el siguiente conjunto de librerías:
import java.sql.DriverManager;import java.sql.Connection;import java.lang.ClassNotFoundException;import java.sql.*;
![Page 17: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/17.jpg)
Código para conectarse a una Base de Datos en MySql con código en Java
A continuación se presenta el código base para una conexión de Base de datos MySql desde Java
try { /**** Cargamos el driver ****/ Class.forName("com.mysql.jdbc.Driver"); /**** Realizamos la conexión ****/Connection MiConexion = DriverManager.getConnection("jdbc:mysql://localhost/NOMBRE_BD", “USUARIO", “PASSWORD" ); JOptionPane.showMessageDialog(this,"Se ha conectado a la Base de Datos!!!"); }/**** Excepción que se dispara si falla la carga del driver ****/ catch( ClassNotFoundException f ) { f.printStackTrace(); } /**** Excepción que se dispara si falla la conexión *****/catch ( SQLException f) { f.printStackTrace(); }
Recuerda
![Page 18: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/18.jpg)
Recuerda modificar:
• Te he colocado la fuente en color rojo el nombre que deberás modificar dependiendo del nombre de tu base de datos, nombre de super usuario de MySql y su contraseña.
• Si no has configurado el nombre de usuario y contraseña de MySql, entonces superusuario será “root” y password “”
• Veamos como quedaría para nuestro ejemplo:
![Page 19: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/19.jpg)
try { /**** Cargamos el driver ****/ Class.forName("com.mysql.jdbc.Driver"); /**** Realizamos la conexión ****/Connection MiConexion = DriverManager.getConnection("jdbc:mysql://localhost/sitio_mercado", “root", “" ); JOptionPane.showMessageDialog(this,"Se ha conectado a la Base de Datos!!!"); }/**** Excepción que se dispara si falla la carga del driver ****/ catch( ClassNotFoundException f ) { f.printStackTrace(); } /**** Excepción que se dispara si falla la conexión *****/catch ( SQLException f) { f.printStackTrace(); }
Si toda la información es correcta deberá aparecerte el Cuadro de Diálogo con el mensaje “Se ha conectado a
la Base de Datos”
No olvides agregar la librería para el JOptionPane
import javax.swing.JOptionPane;
![Page 20: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/20.jpg)
Código para INSERTAR
• ¿Recuerdas el código para Insertar en SQL?Sintaxis:INSERT INTO NOMBRE_TABLA
VALUES(Valor1, Valor2,Valor3);
Veamos un ejemplo!
![Page 21: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/21.jpg)
Ejemplo de Insertar en MySql en la tabla Ventas de la Base de datos “sitio_mercado”
INSERT INTO `usuario` (`ID_USUARIO`, `NOMBRE`, `DOMICILIO`, `CORREO_ELECTRONICO`, `VIGENTE`, `SEXO`, `PREGUNTA_SECRETA`, `FECHA_NACIMIENTO`, `POBLACION`, `DEMARCACION`, `PAIS`) VALUES
(2,'ROSA MARIA CASTRO JIMENEZ','URES NO. 100 COL CENTRO','[email protected]','S','F','EL NOMBRE DE MI MASCOTA ES PELUSA','1990-10-12','TEPIC','NAYARIT','MEXICO');
![Page 22: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/22.jpg)
¿Cómo quedaría el Código para Insertar datos en la tabla Usuarios?
• try {• • /**** Cargamos el driver ****/• Class.forName("com.mysql.jdbc.Driver");• • /**** Realizamos la conexión ****/• Connection con = DriverManager.getConnection("jdbc:mysql://localhost/sitio_mercado", "root", "" );• • Statement st=con.createStatement();•
st.executeUpdate("INSERT INTO USUARIO VALUES(0, '“+jTextField1.getText())+"','"+jTextField2.getText()+"','"+jTextField3.getText()+
• jTextField4.getText())+"','"+jTextField5.getText()+"','"+jTextField6.getText()+• jTextField7.getText())+"','"+jTextField8getText()+"','"+jTextField9.getText()+"','"+jTextField10.getText()+• "')");• JOptionPane.showMessageDialog(this,"Se ha insertado en la Base de Datos!...Excelente!!!");• • }• /**** Excepción que se dispara si falla la carga del driver ****/• catch( ClassNotFoundException f ) { f.printStackTrace(); }• • /**** Excepción que se dispara si falla la conexión *****/• catch ( SQLException f) { f.printStackTrace(); }
![Page 23: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/23.jpg)
Nota Importante
• Te he colocado en color rojo, los caracteres que deben ser comilla simple.
• ¿Y esto por qué? Si revisas la sintaxis de SQL para insertar, para las cadenas se requiere colocar la comilla simple, ¿sencillo verdad?
![Page 24: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/24.jpg)
…Aún nos falta un gran camino por recorrer para la culminación de
nuestro proyecto.
No te preocupes te enlazaremos para la continuación…
próximamente.
Agradecemos a:http://ilustrandoenmexico.blogspot.com/p/ilustradores-mexicanos.htmlPor la facilidad para publicar sus diferentes ilustraciones.
![Page 25: Aplicaciones para sistemas distribuidos slide](https://reader033.fdocuments.ec/reader033/viewer/2022061205/54812b6a5806b5f2108b466d/html5/thumbnails/25.jpg)
Marié