Upload
antonietta-almaraz
View
223
Download
0
Embed Size (px)
Citation preview
scis.regis.edu ● [email protected]
CS-434: Programación Orientada a Objetos usando
JavaSemana 7
Dr. Jesús BorregoAdjunct FacultyRegis University
1
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
8
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 (…)”);
Actividad 1
•Ejemplo de JDBC en NetBeans/Java: http://www.youtube.com/watch?v=xk_6_ntC49o (14:35 min.)
9
Modelo OSI
10
Física
Enlace de Datos
Red
Transporte
Sesión
Presentación
Aplicación
Capas OSI
11
•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.
Capas OSI - II
12
•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.
Server
Ejemplo de Flujo
13
Aplicación
Presentación
Sesión
Transporte
Red
Enlace de Datos
Física
Datos
Datos
Datos
Datos
Datos
Datos
Datos
Server
Aplicación
Presentación
Sesión
Transporte
Red
Enlace de Datos
Física Datos
Datos
Datos
Datos
Datos
Datos
Datos
Protocolo de Internet
14
Transporte
Física
Control del Enlace de
Datos
Red/Internet
Transporte
Aplicación
OSI vs. IP
15
Física
Enlace de Datos
Red
Transporte
Sesión
Presentación
Aplicación
Física
Control del Enlace de
Datos
Red/Internet
Transporte
Aplicación
Protocolos del Internet
16
IPv4
17
Protocolos del Internet
18
BGP - Border Gateway ProtocolFTP - File Transfer ProtocolHTTP - Hypertext Transfer ProtocolICMP - Internet Control Message
ProtocolIGMP - Internet Group Management
ProtocolIP - Internet ProtocolMIME - Multipurpose Internet Mail
ExtensionSource: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall.
Protocolos del Internet - II
19
OSPF – Open Shortest Path FirstRSVP – Resource ReSerVation
ProtocolSMTP – Simple Mail Transfer
ProtocolSNMP – Simple Red Management
ProtocolTCP – Transmission Control
ProtocolUDP – User Datosgram ProtocolSource: Stallings, W. (2007). Datos and computer communications (8th ed.). Upper Saddle River, NJ: Pearson Prentice Hall.
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 puerto2. 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 datosb. Leer y escribir la información correspondidac. Cerrar la conexión al terminar
29
30
Código del Cliente1. 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-Ui-CJQ (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
•Material cubierto desde la semana 4•4 preguntas•1 programa•Entregar a WorldClass antes de media
noche el martes 24 de junio
35