Gestión de errores en arquitectura j2ee y oracle
1
Indice
1.- Flujo de Mensajes Transaccionales on-line 2.- Errores / Mensajes 3.- Mensajes de Aplicación 4.- Errores
2
Flujo de Mensajes
Integración Externa
Servidor Web
Servidor Aplicaciones
Servidor BBDD
3
Flujo de Mensajes
Servidor Aplicaciones
Servidor BBDD
?
1
Una transacción da lugar a la ejecución ensecuencia de un determinado número de módulos los cuales están implementados de formas diferentes: clases java y packages de Oracle 1. En uno de estos módulos puede que se identifique una señal/evento que provoca que el módulo no continúe su ejecución (errores o mensajes)
4
Flujo de Mensajes
Servidor Aplicaciones
Servidor BBDD
3
3
2
?
1
2. La señal se traspasa en lavuelta. 3. Es obligatorio que la vuelta al servidor de aplicaciones sea a través de una excepción de oracle
֠ También se utilizan excepciones si la señal se genera en el entorno del servidor de aplicaciones.
5
Flujo de Mensajes
Servidor Aplicaciones
Servidor BBDD
3
3
2
4
?
1
4. Existe un módulo (de los n pasos) que es el que gestiona la señal (lógica de transacción), yéste decide que ha de hacer con la señal:
• Se ha recibido una excepción (Servidor de aplicaciones o Servidor de Datos) • Rollback si utiliza BBDD • Informar al usuario y otras acciones (opcional): grabar traza errores, enviar e-mail.
6
Indice
1.- Flujo de Mensajes Transaccionales on-line 2.- Errores / Mensajes 3.- Mensajes de Aplicación 4.- Errores 5.- Ejemplos
7
Errores/MensajesTipos de Señales
Código de Mensaje La descripción está
en una tabla
Mensajes de Aplicación (-20000)
Mensaje Previsto por la aplicación
“ATEXTVAR”
Error (-20001)
La descripción está en la excepción
Evento/Error no previsto por la aplicación
Se capturan todos Código de Error SQLCODE NOMBRE MÓDULO No definidos en una tabla Código de Mensaje respectivamente Error de timestampInconsistencia
Mensajes Previstos Generales
(-20002, -20003)
֠ Pueden haber otros usos, por ejemplo Códigos de retorno -20.950 al -20.9998
Indice
1.- Flujo de Mensajes Transaccionales on-line 2.- Errores / Mensajes 3.- Mensajes de Aplicación 4.- Errores 5.- Ejemplos
9
Mensajes de Aplicación
Definición
Código de Mensaje La descripción está
en una tabla
Mensajes deAplicación (-20000)
Mensaje Previsto por la aplicación
“ATEXTVAR”
La descripción está en la excepción
Corresponden a los mensajes de validación de la información introducida por el usuario Existen tantos códigos como mensajes tenga prevista la aplicación Tienen que definirse en la tabla mensajes de mensajes de aplicación
10
Mensajes de Aplicación
Tabla de Mensajes de AplicaciónTodos los mensajes están codificados en una tabla de mensajes cuyo mantenimiento se realiza a través del TOAD. • APLICACIÓN, IDIOMA, CODIGO_MENSAJE • DESCRIPCIÓN_CODIGO • MENSAJE • CODIGO_TIPO_ERROR • CLIENTE (S/N)
11
Mensajes de Aplicación
Servidor Aplicaciones Servidor BBDD
3
2
2
4
?
1
1. El Modulo detecta que es un Mensaje de aplicación y lanza una excepción. 2. ElMódulo que llama al que detecta el Mensaje de Aplicación SOLO PROPAGA y si es el que se comunica con el S. De Aplicaciones SE GRABA EN LA PILA 3. El módulo que se comunica con el Servidor de BBDD CONVIERTE la excepción Oracle a una excepción Java y la PROPAGA. Y el resto de módulos Java SÓLO PROPAGAN. 4. El módulo principal gestiona los errores y muestra el mensaje el usuario. 4.1 Obtiene el tipo deerror y el literal para el usuario (a través de un componente 4.2 Trata el tipo de error (a través de un componente)
12
Mensajes de Aplicación
4
3
2
2
?1
Manejo de Excepciones en Oracle
[ DECLARE declarations ] BEGIN statements EXCEPTION WHEN condition [ OR condition ... ] THEN handler_statements [ WHEN condition [ OR condition ... ] THEN handler_statements ... ] END;
El...
Regístrate para leer el documento completo.