PDF de programación - Tema 15 - Aplicaciones de Dos Capas

Imágen de pdf Tema 15 - Aplicaciones de Dos Capas

Tema 15 - Aplicaciones de Dos Capasgráfica de visualizaciones

Publicado el 12 de Junio del 2018
568 visualizaciones desde el 12 de Junio del 2018
110,5 KB
36 paginas
Creado hace 11a (21/06/2012)
Tema 15

Aplicaciones de Dos Capas

Una aplicación de dos capas es una en la cual el código está separado del sistema de
administración de la base de datos. Esas capas pueden estar separadas lógicamente,
es decir cada una ejecuta en un proceso diferente en la misma computadora, o
separadas físicamente, es decir cada una ejecuta en procesos diferentes en
computadoras diferentes.

Una aplicación de dos capas, realmente tiene tres partes: un cliente, un servidor y un
protocolo. El protocolo es el puente entre las capas del cliente y el servidor. En la capa
del cliente reside la interfaz del usuario y la lógica del negocio, mientras que en el
servidor está un administrador de bases de datos.

El protocolo en una aplicación de dos capas comunica una capa con la otra, que en
ocasiones pueden residir en dos computadoras diferentes. El cliente le hace solicitudes
al servidor y el servidor le regresa al cliente los resultados de esas solicitudes.

En Java, ese protocolo toma la forma de una API para facilitarnos la construcción de
aplicaciones cliente – servidor. Los métodos de las clases de esta API establecen un
mecanismo estándar para que un cliente escrito en Java se comunique con
administradores de bases de datos de diferentes fabricantes. Esta API llamada JDBC
se encuentran en los paquetes:



Adicionalmente a la API, se requiere para cada base de datos, un manejador JDBC, el
cual es un componente que permite la comunicación entre la API y un administrador de
bases de datos. Este manejador, normalmente no los proporciona el fabricante del
administrador de base de datos.

En la figura 15.1 se muestra un diagrama de clases parcial de las interfaces y clases
que forman parte de la API java:


java.sql
javax.sql

• java.sql.Driver: Esta interfaz declara los métodos que toda clase que

implementa un manejador JDBC debe tener. Normalmente los manejadores son
proporcionados por los fabricantes de administradores de bases de datos.

ITSON



Manuel Domitsu Kono

590

Aplicaciones de Dos Capas



Figura 15.1. Diagrama de clases parcial de la API JDBC de Java


• java.sql.DriverManager: Es la clase que permite la administración de los
manejadores JDBC. DriveManager cargará a memoria el manejador JDBC de
cada base de datos a la que nuestro programa desea comunicarse. Para cargar
un manejador JDBC a memoria, DriveManager crea una instancia de la clase
que implementa al manejador. Sin embargo en lugar de utilizar el operador new
para crear la instancia de la clase, DriveManager utliza un mecanismo que
permite especificar el nombre de la clase en tiempo de ejecución en lugar de en
tiempo de compilación. Este mecanismo permite crear una instancia de una
clase dado el nombre de la clase y utiliza la siguiente sintaxis:



Class.forName("nombreManejadorJDBC").newInstance();

Donde nombreManejadorJDBC es el nombre de del manejador JDBC.



Una vez que se ha cargado el manejador JDBC en memoria necesitamos
establecer una conexión entre la API JDBC y el administrador de la base de
datos. Para ello invocamos al método estático getConnection() de
DriveManager, cuya sintaxis se muestra en la tabla 15.1:


• java.sql.Connection: Esta interfaz declara los métodos que debe tener una
clase que represente una conexión lógica entre la API JDBC y la base de datos.
Esta conexión nos permiten enviarle al manejador de la base de datos
sentencias SQL y recuperar las repuestas del manejador de bases de datos.
Estas sentencias se encapsulas en objetos que implementan la interfaz
java.sql.Statement. Para crear una sentencia SQL Connection tiene un
método llamado createStatement cuya sintaxis se muestra en la tabla 15.2:



ITSON



Manuel Domitsu Kono

Tema 15

Aplicaciones de dos Capas

591

Tabla 15.1. Método getConnection() de la clase DriveManager

public static Connection getConnection(String url, String user,
String password) throws SQLException


Establece la conexión con la base de datos.


Parámetros:



Regresa:


Lanza:

url. URL de la base de datos. La sintaxis de url es:



"jdbc:subprotocolo://dirIP_Servidor/nomBaseDatos"

donde


subprotocolo identifica al vendedor del manejador de base de datos.
dirIP_Servidor es la dirección IP del servidor. Si la base de datos se
encuentra en la misma computadora que contiene al cliente, podemos utilizar la
palabra localhost en lugar de la dirección IP.
nomBaseDatos es el nombre de la base de datos.

user. Es el nombre de un usuario con acceso a la base de datos.

password. Es la contraseña del usuario con acceso a la base de datos.

Un objeto del tipo Connection, la conexión a la base de datos..

SQLException – Si no se puede establecer la conexión con la base datos.


Tabla 15.2. Métodos de la interfaz Connection

public void close() throws SQLException


Cierra la conexión con la base de datos y libera los recursos asignados a esta conexión.


Lanza:
SQLException – Si hay un problema al acceder a la base datos.
public Statement createStatement()throws SQLException


Regresa:

Crea un objeto del tipo Statement para enviar sentencias SQL a la base de datos.

Un objeto del tipo Statement.


Lanza:

SQLException – Si no se puede establecer la conexión con la base datos.


• java.sql.Statement: Esta interfaz declara los métodos que debe tener una
clase que represente el mecanismo que nos permita enviarle al manejador de la
base de datos sentencias SQL y recuperar las repuestas del manejador de
bases de datos. Los métodos de esta interfaz se muestran en la tabla 15.3:



ITSON



Manuel Domitsu Kono

592

Aplicaciones de Dos Capas

public void close() throws SQLException


Tabla 15.3. Métodos de la interfaz Statement

Cierra la sentencia y libera los recursos asignados a esta sentencia. Si hay un objeto del tipo
ResultSet asociado a esta sentencia también se cierra.


Lanza:
public ResultSet executeQuery(String sql) throws SQLException


SQLException – Si hay un problema al acceder a la base datos.

Ejecuta la sentencia SQL dada por el parámetro, la cual regresa un solo objeto con la respuesta
a la sentencia.

sql – Sentencia SQL a enviarse al manejador de base de datos. Normalmente una sentencia
select.

Un objeto del tipo ResultSet con los datos producidos por la consulta, nunca null.

SQLException – Si no se puede acceder a la base datos o se produce cualquier respuesta
que no sea del tipo ResultSet.

public int executeUpdate(String sql) throws SQLException


Ejecuta la sentencia SQL dada por el parámetro, la cual puede ser una sentencia insert,
update, delete. También pueden ser sentencias create table, alter table y drop
table, entre otras.


Parámetro:


Regresa:


Lanza:


Parámetro:


Regresa:


Lanza:

sql – Sentencia insert, update, delete a enviarse al manejador de base de datos.
También puede ser una sentencia que no regrese nada.

Número de renglones modificados por la sentencia o 0 si la sentencia no regresa nada.

SQLException – Si no se puede acceder a la base datos o se produce cualquier respuesta
que sea del tipo ResultSet.


• java.sql.ResultSet: Esta interfaz declara los métodos que debe tener una
clase que represente una tabla de datos producida por una consulta a la base de
datos. Un objeto de esta clase mantiene un cursor apuntando al renglón actual
de la tabla. Inicialmente, el cursor está posicionado antes del primer renglón.
Para obtener el siguiente renglón de la tabla se invoca al método next(). La
interfaz declara métodos que permiten recuperar el valor de una columna de un
renglón de la tabla. Los métodos de esta interfaz se muestran en la tabla 15.4:



ITSON



Manuel Domitsu Kono

Tema 15

Aplicaciones de dos Capas

593

public void close() throws SQLException


Tabla 15.4. Métodos de la interfaz ResultSet

Cierra el objeto ResultSet y libera los recursos asignados a este objeto. Un objeto del tipo
ResultSet también se cierra cuando su sentencia asociada se cierra.

SQLException – Si hay un problema al acceder a la base datos.


Lanza:
public boolean getBoolean(int columnIndex) throws SQLException
public boolean getBoolean(String columnName) throws SQLException
public byte getByte(int columnIndex) throws SQLException
public byte getByte(String columnName) throws SQLException
public short getShort(int columnIndex) throws SQLException
public short getShort(String columnName) throws SQLException
public int getInt(int columnIndex) throws SQLException
public int getInt(String columnName) throws SQLException
public long getLong(int columnIndex) throws SQLException
public long getLong(String columnName) throws SQLException
public float getFloat(int columnIndex) throws SQLException
public float getFloat(String columnName) throws SQLException
public double getDouble(int columnIndex) throws SQLException
public double getDouble(String columnName) throws SQLException
public String getString(int columnIndex) throws SQLException
public String getString(String columnName) throws SQLException
public Date getDate(int columnIndex) throws SQLException
public Date getDate(String columnName) throws SQLException



Parámetro:


Regresa:

Obtiene el valor de la columna dada por el parámetro, en el renglón actual del objeto de tipo
ResultSet como un valor del tipo regresado por el método.

columnIndex – Número de la columna. La primera columna tiene el valor de 1, la segunda el
valor de 2, etc.
columnName – Nombre SQL de la columna.

El valor de la columna como un valor del tipo regresado por el método. Si el valor SQL es NULL
regresa false, 0, o null.


Lanza:
Public Boolean next()throws SQLException


SQLException – Si no se puede acceder a la base.

Mueve el cursor al siguiente renglón de la tabla del objeto de tipo ResultSet. Ini
  • Links de descarga
http://lwp-l.com/pdf11811

Comentarios de: Tema 15 - Aplicaciones de Dos Capas (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad