Download Datos and computer communications
Document related concepts
no text concepts found
Transcript
CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr. Jesús Borrego Adjunct Faculty Regis University 1 scis.regis.edu ● scis@regis.edu Temas • Bases de Datos y JDBC • Redes y OSI • Programación con Sockets 2 Términos Clave • Enlace de Datos – Enlace de datos • Listener - Oyente 3 JDBC • Java Database Connectivity – un API que permite acceso a bases de datos relacionales, hojas de cálculo y archivos communes • JDBC no depende de una base de datos específica ▫ Puede tener acceso a cualquier base de datos relacional 4 JDBC 5 6 JDBC API • Se ubica en dos paquetes: ▫ java.sql y javax.sql • Para programar con JDBC: ▫ Cargar JDBC ▫ Connectar a la base de datos ▫ Preparar instrucciones en SQL y procesar los resultados ▫ Desconectar la base de datos 7 Conectarse a la base de datos String connString = "jdbc:mysql://localhost/acme?user=root&password=admin"; Connection conn = DriverManager.getConnection(connString); Statement stmt = conn.createStatement(); PreparedStatement pstmt = conn.prepareStatement(…); CallableStatement cstmt = conn.prepareCall(…); ResultSet rs = stmt.executeQuery(“SELECT * FROM book”); Stmt.executeUpdate(“INSERT into book VALUES (…)”); 8 Actividad 1 • Ejemplo de JDBC en NetBeans/Java: http://www.youtube.com/watch?v=xk_6_ntC49 o (14:35 min.) 9 Modelo OSI Aplicación Presentación Sesión Transporte Red Enlace de Datos Física 10 Capas OSI • Aplicación – acceso al ambiente distribuído y OSI • Presentación – Oculta los detalles de implementación de los datos • Sesión – controla la comunicación entre las aplications, configure, conecta y termina las conexiones Source: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall. 11 Capas OSI - II • Transporte – control de comunicaciones fiables, la recuperación y el flujo de extremo a extremo • Red – aisla las capas superiores de los detalles de conectividad • Enlace de datos – controla transmisión de bloque (error, flujo, syncronización) • Física– transmite datos sin estructura Source: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall. 12 Ejemplo de Flujo Aplicación Presentación Sesión Transporte Server Red Enlace de Datos Física 13 Datos Datos Datos Datos Datos Datos Datos Datos Aplicación Datos Presentación Datos Sesión Datos Server Transporte Datos Red Datos Enlace de Datos Datos Física Protocolo de Internet Aplicación Transporte Red/Internet Control del Enlace de Datos Física 14 OSI vs. IP Aplicación Presentación Aplicación Sesión 15 Transporte Transporte Red Enlace de Datos Red/Internet Control del Enlace de Datos Física Física Protocolos del Internet 16 IPv4 17 Protocolos del Internet BGP - Border Gateway Protocol FTP - File Transfer Protocol HTTP - Hypertext Transfer Protocol ICMP - Internet Control Message Protocol IGMP - Internet Group Management Protocol IP - Internet Protocol MIME - Multipurpose Internet Mail Extension Source: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall. 18 Protocolos del Internet - II OSPF – Open Shortest Path First RSVP – Resource ReSerVation Protocol SMTP – Simple Mail Transfer Protocol SNMP – Simple Red Management Protocol TCP – Transmission Control Protocol UDP – User Datosgram Protocol Source: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall. 19 IPv6 20 Sockets • Un socket es una abstracción que representa el punto final de una tubería de comunicación que conecta dos aplicaciones de software • Durante dos aplicaciones de intercambio de información, cada uno de ellos necesita una toma de corriente que esté conectado a la misma tubería de comunicación 21 Canal de Comunicación • El "canal de comunicación" representa las cuatro capas inferiores del modelo OSI, es decir, el transporte, red, enlace de datos, y las capas físicas • De este modo, la abstracción Socket oculta todos los detalles de las capas inferiores, y por lo tanto, le permite centrarse en los conceptos de alto nivel para establecer una conexión y los datos en movimiento. 22 Comunicación • Cada conexión de socket requiere la cooperación de dos aplicaciones participantes, uno inicialmente actúa como servidor, y el otro actuando inicialmente como cliente • El servidor es una aplicación que solicitudes de conexión entrantes que se originan en las aplicaciones del cliente • El cliente es una aplicación que inicia una conexión a un servidor que espera recibir solicitudes 23 Comunicación - II • El servidor escucha en un puerto conocido (por ejemplo, 8000) • El cliente emite una solicitud de conexión a ese puerto usando un socket • El servidor responde a la solicitud y crea su propio socket • La comunicación entre las dos aplicaciones procede mediante sockets 24 En Java (Clase Server Socket) • Utilizada por el servidor para escuchar las solicitudes de conexión entrantes • A medida que se recibe cada petición, el ServerSocket crea un nuevo objeto Socket para controlar la solicitud • Cada solicitud de conexión entrantes resulta en una instancia nueva del Socket en el servidor 25 26 Clase Socket • Se usa por el cliente y servidor para comuncarse entre ambos • Los clients usan un socket para conectar al servidor y, después de establecer la conexión, para mandar y recibir información • Los servidores crean un socket por cada solicitud de conexión recibida de un cliente 27 Clase Socket 28 Código del Servidor 1. Crear un oyente (ServerSocket) en un puerto 2. Escucha solicitudes de conexión con ServerSocket.accept (), que devuelve un Socket cuando se recibe una solicitud de conexión desde una aplicación cliente. 3. Por cada solicitud de conexión: a. Iniciar entrada y salida de datos b. Leer y escribir la información correspondida c. Cerrar la conexión al terminar 29 30 Código del Cliente 1. Creear un Socket, especificando la dirección IP y el puerto del servidor de aplicaciones. 2. La dirección IP y el puerto se pueden especificar con una instancia de InetAddress. 3. Inicializer una corriente de flujo de entrada y salida para los datos de lectura / escritura desde / hacia el cliente 4. Recibir y mandar la información correspondida 5. Al terminar la comunicación con el servidor, cierre el socket. 31 32 Actividad 2 • Ejemplo de Sockets en NetBeans/Java: http://www.youtube.com/watch?v=WfKU-UiCJQ (19:05 min.) 33 Tarea • Completar el proyecto final • Entregar antes de la semana 8 en WorldClass • Una persona entrega el proyecto con los nombres de los miembros del equipo • Incluír el proyecto de NetBeans y un documento que capture pantallas donde revisan el programa • Incluír todo el material en un archivo Zip 34 Exámen Final • • • • 35 Material cubierto desde la semana 4 4 preguntas 1 programa Entregar a WorldClass antes de media noche el martes 24 de junio ¿Preguntas? • Email to jborrego@regis.edu 36