Oct 03

No fue hasta los tres años de andadura bajo las alas de Oracle que supe de la existencia de las estadísticas y del amigo optimizer. Desde ese día no deja de sorprenderme el hecho de que al 100% de las bases de datos (Oracle) de producción con las que me cruzo nunca jamás se les haya hecho un analyze en condiciones.
Continue reading »

Oct 02

Una de las cosas que más me frustraron cuando comencé a desarrollar con JSF era que no me funcionaban bien los includes en el sentido de que la página final son se renderizaba correctamente. Aunque yo vengo de Forms, tenía un compañero que venía del mundo Struts y que estaba más que acostumbrado a utilizar includes en sus jsp’s. Él tampoco entendía por qué no se estaban renderizando correctamente. El motivo es que el momento en que se procesa el include “no se coordina bien” con el momento en que JSF renderiza. La solución pasa por:

  • a) Encerrar el include dentro de la etiqueta de jsf <f:subview>.
  • b) Encerrar los grupos de etiquetas de html puro y duro dentro de la etiqueta de jsf <f:verbatim>.

Bueno, todo esto está mejor explicado en el artículo de JavaWorld Getting around JSF: The role of JSP y en el propio tutorial de Sun Setting Up a Page.
Lamentablemente, aún no he descubierto por qué se renderizan mal los includes que hago que contienen etiquetas ADF Faces.

Oct 01

Ha publicado Oracle un artículo donde se explican ejemplos para pintar diagramas varios (de barras, de quesitos, etc) utilizando JFreechart. Los hay para Swing y también para J2EE. Es algo que echaba bastante de menos y creo que resulta útil (y molón): Visualize Your Oracle Database Data with JFreeChart.

Sep 21

Frank ha publicado un artículo explicando cómo mostrar un report en una página hecha con ADF Faces. Aún no he necesitado hacerlo, pero me ha resultado muy interesante la manera que tiene de abrir un pop-up. El artículo se llama ADF Faces: Showing Reports. Enlazado a éste hay otro que también está curioso y que explica cómo hacer una descarga elegante de ficheros: ADF Faces: Direct file download through managed bean.

Sep 20

He estado leyendo un post de Tom y se me ha helado la sangre. Se llama All about the DUAL table y es de un tipo que trata de hacer todo tipo de perrerías (con perdón a los amantes de estos entrañables animalicos) a la mítica DUAL. ¡To los pelos de punta oye!.

Sep 02

Le he echado un vistazo al artículo Export ADF Table To Excel de iAdvise y he conseguido reproducirlo. Para el ejemplo he usado la tabla EMPLOYEES del esquema HE que viene con la instalación de Oracle XE, pero como veréis sirve cualquier tabla.
Continue reading »

Aug 31

Uno de los primeros problemas con los que te encuentras al comenzar a desarrollar con ADF sobre tomcat es el odiado “Exception in thread “TP-Processor2″ java.lang.OutOfMemoryError: PermGen space”. Encontre alguien a quien le pasaba lo mismo que a mi en Tomcat - User. La solución la encontré en la página de Sun sobre las opciones de la máquina virutal y pasa por agregar a JAVA_OPTS una opción donde se indique el máximo de memora que usará el servidor en el catalina.sh:

JAVA_OPTS="-XX:+PrintGCDetails -XX:MaxPermSize=500m"

Continue reading »

Aug 30

He encontrado un artículo interesante que explica una forma sencilla de exportar una tabla ADF cualquiera a excel. Aún no lo he probado pero me lo encolo porque tiene buena pinta: Export ADF Table To Excel.

Aug 28

Oracle ha plublicado recientemente un interesante (y extenso) documento sobre cómo implementar las reglas de negocio en ADF BC. Da un paseo por el modelador de UML y por las potencialidades de los objetos de vista. Explica también cómo definir dominios para campos, cómo programar validadores, reglas para operaciones dml, gestión de mensajes de error, etc. Un guía muy completa: Business Rules in ADF BC.

Aug 25

Cuando sabemos que dados unos parámetros una función devolverá siempre lo mismo deberíamos utilizar la expresión DETERMINISTC. Este hint le va a permitir al optimizador de Oracle evitar hacer llamadas redundantes a la función. Sólo se puede garantizar que una función devolverá lo mismo dados unos parámetros cuando no dependa de variables de sesión (como sysdate) y otros objetos de la base de datos (llamadas a funciones no deterministic o consultas). El caso más simple y más común es una función que devuelva el valor de una constante. También son comunes funciones de operaciones aritméticas o de concatenación.
Continue reading »