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 ● [email protected]
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
[email protected]
36