Scis.regis.edu ● scis@regis.edu CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr....

Post on 22-Jan-2016

225 views 0 download

Transcript of Scis.regis.edu ● scis@regis.edu CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr....

scis.regis.edu ● scis@regis.edu

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

¿Preguntas?

•Email to jborrego@regis.edu

36