CORBA: Common Object Request Broker Arquitecture

Download Report

Transcript CORBA: Common Object Request Broker Arquitecture

Módulo ECI - 11: Fundamentos de Redes de Computadores
CORBA:
Common Object Request Broker Arquitecture
 CORBA es una especificación. No es un software o aplicación.
 Auspiciado por Object Managament Group (OMG), para
establecer una especificación de inter-operabilidad entre
plataformas.
 OMG es fundada en 1989, por American Airlines, Canon, Data
General, HP, Philips Telecomunicaciones, Sun , 3Com y Unisys
 Hay un gran número de implementaciones de CORBA. Estas
son conocidas como Object Request Broker (ORB)
1
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿que soluciona Corba?
· Infraestructura IT
 Aplicaciones. Procesos clientes y servidores que
representan la lógica del negocio como objetos
que pueden residir en distintas máquinas.
Aplicaciones
Middleware
Servicios
de Red
Servicios
Locales
 Middleware. Soporte que permite la
comunicación entre aplicaciones.
 Servicios de Red. Transporta la información entre
computadores.
 Servicios Locales. Ejemplo, bases de datos y
administradores de transacciones.
Sistema Operativo
 Sistema Operativo. Provee servicios básicos de
scheduling.
2
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Definición Middleware
 Conjunto de servicios comunes no relacionado con “la
lógica de negocio” que permite que aplicaciones servidoras y
clientes interactuen con otras a través de una Red. En esencia
el Middleware es el software que reside sobre la red ,
permitiendo software de aplicacion orientados sólo a “logica
de negocio.
Middleware
3
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Conceptos claves en CORBA
Los conceptos claves de CORBA son:
 Esencialmente especifica los servicios de middleware que serán usados por
las aplicaciones (objetos).
 Existe una interfaz entre aplicaciones clientes y servidoras. Una lenguaje de
definición de interfaz (IDL) ha sido definido específicamente para CORBA.
 Cualquier objeto puede ser un cliente, un servidor o ambos. Para efectos de
descripción CORBA usa el modelo Cliente/Servidor.
 Soporta “static binding” y “dinamic binding”
 No conoce los detalles de las implementaciones fundamentales de los
objetos. Un “object adapter” mapea modelos genéricos a implementaciones,
siendo la principal manera en que las implementaciones de los objetos
acceden los servicios provistos por el ORB (object Request Broker).
4
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Diagrama conceptual de CORBA
C
C++
Java
C
C++
Java
Cobol
IDL
IDL
IDL
IDL
Cobol
Client Stubs
Server Skeletons
Corba ORB
5
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Implementación de CORBA
Cliente
Implementación Objetos
Skeleton
estático
Repositorio
de
Interfaces
Invocación
Dinámica
Stub Cliente
IDL
iinterfaz
ORB
Invocación
Skeleton
Dinámico
Object Adapter
Repositorio de
Implementaci
ones
Corba ORB
6
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿como ha evolucionado?
 CORBA es una especificación. Como cualquier especificación
hubo áreas dejadas a la interpretación de los implementadores.
 A través de Internet Inter-ORB Protocol (IIOP), la OMG espera
que ORB’s de diferentes vendedores puedan comunicarse
fácilmente entre si.
 Recientemente las especificaciones “Portable Object Adapter”
(POA) permite a clientes escritos para acceder un ORB en
particular, pueda acceder fácilmente otros productos de diferentes
vendedores.
 Se ha adaptado a los tiempos y a la competencia.
7
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿como ha evolucionado?
 CORBA es una especificación. Como cualquier especificación
hubo áreas dejadas a la interpretación de los implementadores.
 A través de Internet Inter-ORB Protocol (IIOP), la OMG espera
que ORB’s de diferentes vendedores puedan comunicarse
fácilmente entre si.
 Recientemente las especificaciones “Portable Object Adapter”
(POA) permite a clientes escritos para acceder un ORB en
particular, pueda acceder fácilmente otros productos de diferentes
vendedores.
 Se ha adaptado a los tiempos y a la competencia.
8
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿como ha evolucionado?
CORBA
Feb '92
Ÿ CORBA 1.1
Ÿ Especificación
conocida
'92
Ÿ Primeros
productos
CORBA
comerciales
'89
Ÿ OMG es
fundada
Dec '94
Ÿ anuncia
CORBA 2.0
Dec '93
Ÿ CORBA 1.2
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Oct '91
Ÿ CORBA 1.1
1988
1989
1990
1991
Jun '99
CORBA 3.0
Asincrono
Java
Firewalls
POA
Obj. por
valor
Ÿ OMG (750)
Ÿ ........
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
Ÿ
1992
1993
1994
Ago '96
CORBA 2.0
Sep '98
IIOP
Ÿ anuncia
Ago'97
C++
CORBA 3.0
Seguridad Ÿ CORBA 2.1
Ÿ IIOP / SSL Feb '98
COM
Ÿ CORBA 2.2
.......
Ÿ DCOM
1995
1996
1997
1998
1999
9
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
No es único
Competidores:
DCOM
RMI/RMP
HTTP/CGI
Servlets
Sockets
.............
10
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Java Database Connectivity JDBC
JDBC es una API, formada por conjunto de
clases e interfaces en el lenguaje de
programación Java, para ejecutar sentencias SQL.
Ofrece un estándar de conexión a cualquier base
de datos disponible en el mercado.
Permite obtener los datos en forma fácil y
cómoda en ambientes cliente-servidor a través de
Internet/Intranet.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿Qué hace JDBC?
Establece una conexión a una base de
datos.
Envía sentencias SQL.
Procesa los resultados de estas sentencias.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Arquitectura JDBC
Arquitectura normal
Puente JDBC-ODBC
Aplicaciones Java
Aplicaciones Java
JDBC API
JDBC API
Adm. de controladores JDBC
Adm. de controladores JDBC
Puente JDBC/ODBC
Controlador
JDBC
Controlador
JDBC
Adm. de controladoresODBC
C. ODBC
DB
C. ODBC
DB
DB
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
DB
13
Módulo ECI - 11: Fundamentos de Redes de Computadores
Primer ejemplo básico
Connection con = DriverManager.getConnection (
"jdbc:odbc:nombre", "login",
"password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM
Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
 JDBC usa una URL para especificar la base de datos.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
...Primer ejemplo básico
Ejemplos de URL:
 jdbc:mysql://myserver:4444/db1
 jdbc:oracle://oraserver
 jdbc:odbc:mydatabase
15
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
JDBC vs. ODBC
Se puede usar ODBC desde Java, pero el
puente JDBC-ODBC ayuda bastante.
ODBC tiene una interfaz tipo C rompiendo
el esquema de seguridad, robustez e
implementación de Java.
ODBC mezcla funciones simple y
complejas.
Los controladores de ODBC deben ser
instalados en cada cliente.
16
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
...JDBC vs. ODBC
JDBC es una interfaz natural en Java.
17
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Modelos de acceso a BD
 De 2 capas
Cliente
 La aplicación “habla” directamente con
Aplicación
la base de datos.
Java
 Controlador JDBC se comunica con el
JDBC
sistema específico que maneja la base de
datos.
Protocolo
BD
 La base de datos puede estar en otra
máquina, con lo que el cliente se
DBMS
comunica por red. Esta es la
configuración llamada cliente/servidor.
Servidor BD
18
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Modelos de acceso a BD
Cliente
(GUI)
 De 3 capas
 Los comandos son enviados a la capa
intermedia de servicios, la cual envía
Llamadas HTTP,
RMI,CORBA
sentencias SQL a la base de datos. Ésta
las procesa y envía los resultados de
Aplicación
Servidor vuelta a la capa intermedia, para luego
Java
ser enviados al cliente.
JDBC
 Permite un control de acceso y de
Protocolo
actualización.
BD
 Provee ventajas de performance.
Applet en Java o
Navegador HTML
DBMS
Servidor
BD
19
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Categorías de los controladores JDBC
Puente JDBC-ODBC.
Parte API Nativa-Parte Java. Se convierte las
llamadas JDBC al sistema de la Base de datos.
JDBC-Red. Es sólo Java. Las llamadas JDBC son
convertidas a un protocolo de red independiente
del sistema de la base de datos. Este protocolo es
convertido en un servidor
Protocolo Nativo. Es sólo Java. Se usa un
protocolo de red con la BD.
20
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Conexión
Un objeto “Connection” representa una
conexión a una base de datos.
Una sesión incluye las sentencias SQL que
son ejecutadas y los resultados de éstas.
Establecer la conexión:
“DriverManager.getConnection”
La clase “DriverManager” intenta ubicar
el controlador que pueda conectarse a la
base de datos representada en la URL.
21
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
...Conexión
Sintáxis de una URL JDBC:
 jdbc:<subprotocolo>:<subnombre>
 <subprotocolo> es el nombre del controlador o
del mecanismo de conexión. Ejemplo: odbc.
 <subnombre> es la identificación de la base de
datos. El formato varia según el controlador
especificado. Ejemplo: //servidor:puerto/etc
22
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Enviando sentencias SQL
JDBC permite que se escriba cualquier
tipo de sentencia SQL. Aunque ésta fuera
dependiente de la base de datos sólo se
correría el riesgo de incompatibilidad al
cambiar de base de datos.
 Llamadas a procedimientos almacenados
 Formatos de fecha
23
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
...Enviando sentencias SQL
JDBC provee 3 clases:
 “Statement”: Este objeto es usado para enviar
sentecias SQL simples. Es creado por el
método “createStatement”.
 “PreparedStatement”: Este objeto es usado
para sentencias que requieren uno o más
parámetros. La sentencia es precompilada y
guardada para uso futuro.
 “CallableStatement”: Es usado para ejecutar
procedimientos almacenados.
24
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Transacciones
Una transacción consiste en una o más
sentencias que han sido ejecutadas y luego
confirmadas (commit) o deshechas (rolled
back)
Auto-commit está predeterminado.
Si Auto-commit está desactivado se debe
usar los métodos “commit” o “rollback”
explícitamente.
25
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Procesando respuestas
Las respuestas a las sentencias SQL se
reciben en el objeto “ResultSet” que
mantiene las filas.
Este objeto provee el acceso a los datos de
esas filas a través de un conjunto de
métodos “get”, los cuales, a su vez,
permiten el acceso a cada columna de estas
filas.
26
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Cargando la clase del controlador JDBC
Ejemplo:
Class.forName(”empresa.db.Driver");
Esto crea una instancia del controlador y
llama al método
“DriverManager.registerDriver”
registrando este controlador en la lista de
controladores disponibles para conexiones.
27
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Ejemplo de sentencia
Connection con = DriverManager.getConnection (
"jdbc:odbc:nombre", "login",
"password");
PreparedStatement pstmt = con.prepareStatement(
“UPDATE tabla1 SET m=? WHERE x=?”);
pstmt.setString(1, "Hola");
for (int i = 0; i < 10; i++) {
pstmt.setInt(2, i);
int rowCount = pstmt.executeUpdate();
}
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Primer ejemplo básico
Connection con = DriverManager.getConnection (
"jdbc:odbc:nombre", "login",
"password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c
FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Applets
•El funcionamiento del Web está basado en el paradigma
cliente/servidor
•Un applet es un programa escrito en Java que anima una porción
de la página Web.Al igual que el resto de los medio audio/visuales,
el applet está almacenado en el servidor y se transmite al cliente
por medio de Internet
•El usuario puede interactuar con un applet, gracias a que se trata
de un programa
•Un applet se ejecuta completamente en el cliente.
•Velocidad de la interacción no depende de la velocidad de la red .
•Si es necesario, el applet también se puede comunicar con el
servidor.
•Para que un programa de navegación en el Web pueda ejecutar un
applet es necesario que posea un intérprete de Java.
30
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Portabilidad de Applets
•Sueño: “ejecutar un programa de cualquier parte del mundo”
•Problema : portabilidad. Existe una amplia gama de plataformas con
procesadores y sistemas operativos incompatibles entre sí.
•Java resuelve el problema de la incompatibilidad de los procesadores
:
31
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
El problema de la seguridad: enfoque paranoico
• Riesgo que corre un usuario cuando recupera programas por medio de Internet:
> DIR
FILE NOT FOUND
• Java resuelve el problema de la seguridad de los usuarios haciendo que un applet no
tenga acceso a:
Los archivos del cliente.
Los dispositivos del cliente (por ejemplo la impresora).
La red.
•Colocando un monitor entre el applet y los recursos que posee el computador
32
del cliente
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Seguridad del monitor
Java fue diseñado de modo que un applet sólo puede consultar y modificar
la memoria que pidió legalmente para sus objetos.
Esto se logra porque Java es semánticamente muy distinto a C:
Java chequea los índices en arreglos.
Java no posee aritmética de punteros.
Java realiza chequeo estático y dinámico de tipos.
33
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Seguridad del código intermedio
•¿Puede un hacker fabricar un applet, escribiendo directamente su código
intermedio sin pasar por el fuente escrito en Java?
•¿Qué tan seguro es el código intermedio?
Validación
• Verificar que en el código intermedio no se realicen operaciones peligrosas.
• Demuestra que existe un programa en Java cuya compilación es el código intermedio
que se recuperó por la red.
• Si encuentra secuencias de instrucciones que no pueden ser generadas por el
compilador de Java entonces el applet se rechaza.
34
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Seguridad: Enfoque de confianza en el proveedor
 El proveedor del applet firma digitalmente su contenido.
 El browser verifica que la firma corresponde a un proveedor
de confianza.
 La firma permite asegurar que el applet no fue alterado en
el camino.
 El browser ejecuta el applet sin restricciones.
35
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿Que son las firmas digitales?
• Una firma digital es un bloque de caracteres que acompaña a un documento,
acreditando quién es su autor ("autenticación") y que no ha existido ninguna
manipulación posterior de los datos ("integridad").
• Para firmar un documento digital, su autor utiliza su propia clave secreta,
a la que sólo él tiene acceso.
• Cualquier persona puede verificar la validez de una firma si dispone de la clave
pública del autor.
36
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿Cómo se realiza una firma digital?
• El software del firmante aplica (de forma transparente al usuario) un algoritmo hash
sobre el texto a firmar, obteniendo un extracto de longitud fija, y absolutamente
específico para ese mensaje (cualquier modificación lo afecta).
• Este extracto, cuya longitud oscila entre 128 y 160 bits, se somete a continuación a
cifrado mediante la clave secreta del autor.
• El extracto cifrado constituye la firma y se añade al final del mensaje
(o en un fichero adherido a él).
37
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿Cómo se comprueba la validez de una firma digital?
• Se necesita disponer de la clave pública del firmante para poder verificar su firma.
• El sw del receptor descifra el extracto cifrado que constituye la firma digital
(de forma transparente al usuario), utilizando para ello la clave pública del remitente.
Como resultado obtiene un bloque de caracteres.
• A continuación, aplica algoritmo hash que corresponde al texto del mensaje.
Si el resultado coincide exactamente con el bloque de caracteres obtenido en la
operación anterior, la firma se considera válida.
• Si existe la menor diferencia, la firma se considera no válida.
38
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
39
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
¿Cuál es el punto débil?
la firma digital nos permite comprobar la relación entre un mensaje y
la clave utilizada pero...
¿Esa clave corresponde realmente a la persona o entidad que dice poseerla?
Autoridad de Certificación
Actuando como una especie de notario que extiende un certificado de claves
(la ligazón entre una determinada clave y su propietario real)
40
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
41
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Los Servlet
Que son
Como funcionan
 El método init
 El método doGet
 El método doPost
 La sección
42
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Que son los Servlet
Definición : Son una pequeña plataforma
que puede ser usada para extender la
funcionalidad de un servidor web en
muchas formas
43
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Que son los Servlet
Su ciclo de vida
 Instalación y cargado
 Inicialización
 Ciclo útil
 Destrucción
 Recolección de basura
44
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Como funciona un Servlet
El método init
 Se ejecuta una sola vez al “subir” el servlet
 Debe inicializar todas la conexiones que no
sean las normales del servlet (JDBC,EJB,etc.)
 Reemplaza el concepto de constructor
45
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Como funciona un Servlet
El método doGet
 Es llamado desde un href o un formulario con
method=get
 Permite enviar texto a el browser desde donde
se solicito la petición
46
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Como funciona un Servlet
El método doPost
 Es llamado cuando en un formulario se ocupa
method=post
 Permite enviar texto a el browser desde donde
se solicito la petición
47
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Como funciona un Servlet
La Sección
 Es la conexión que establece cada usuario al
servlet
 Reconoce la maquina y el browser
 Permite distinguir una sección de otra y
almacenar datos en su interior
48
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Algunas notas
La clase ServletRequest
 public Object getAtributte(Strring name)
 public Enumeration getAtributtesNames()
 public String getParameter(String name)
 public Enumeration getParameterName()
49
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Algunas notas
La clase ServletRequest
 public String[] getParameterValues(String
name)
La clase ServletResponse
 public PrinterWrite getWriter() throws
Ioexception
 public ServletOutputStream
getOutputStream() throws Ioexception
50
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl
Módulo ECI - 11: Fundamentos de Redes de Computadores
Conclusiones
Un applet en Java:
Es portable: se distribuye en un formato independiente de la máquina.
Es seguro:
corre aislado de los recursos del navegante, o alternativamente
se puede comprobar su origen.
51
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - Email: hthiemer @ cec.uchile.cl