JDAPI nos ayuda a migrar aplicaciones Forms
¿Qué es?
Java Design-time API (JDAPI) es una conjunto de clases Java facilitadas por Oracle que nos permiten cargar, crear, manipular y compilar formularios (.fmb), menús (*.mmb), librerías PL/SQL (.pll) y librerías de objetos (.olb).
Es capaz de tratar ficheros de la versión Oracle Forms 6 y convertirlos a Oracle Forms 9,10 u 11 dependiendo de la versión de JDAPI utilizada.
JDAPI es el heredero natural de CAPI el cual nos facilitaba hasta la versión 6 de Oracle Forms las mismas funcionalidades pero mediante librerías en lenguaje C.
Usos de JDAPI
JDAPI sobre todo es de gran utilidad para manipular formularios de forma masiva.
Desde mi punto de vista destaca sobre todo en las migraciones de Forms 6i a 11g de Forms convirtiéndose en una herramienta fundamental en proyectos de este tipo. Sin JDAPI los proyectos de migración se alargan en tiempo y costes debido a las múltiples tareas manuales de modificación de formularios que pueden llegar a ser necesarias.
Pensad que con JDAPI podemos “sumergirnos” en los formularios para leer propiedades de ítems, cambiarlas, adjuntar librerías .pll, atachar librerías de objetos .olb, recorrer todos los bloques, los ítems de estos bloques, las alertas, las p.u. a nivel de módulo, bloque e ítem, se puede incluso llegar a crear formularios, modificar el código PL/SQL de los triggers y de las p.u., crear triggers a cualquier nivel, recorrer las opciones de un menú…
Localización de JDAPI
Oracle Forms 9: $ORACLE_HOME\forms90\java\f90jdapi.jar
Oracle Forms 10/11: $ORACLE_HOME\forms\java\frmjdapi.jar
¿JRE necesario?
A partir de la versión de JDK 1.3.1.25
Documentación de JDAPI
http://www.oracle.com/technology/documentation/10g_forms.html
Configuración desde JDeveloper

Simplemente es necesario añadir en las propiedades de nuestro proyecto la referencia al fichero .jar de JDAPI. En el pantallazo que os muestro estoy cargando el .jar de Developer Suite 10gR2 y estoy utilizando una versión de JRE 1.4.2.06
La versión de JDeveloper utilizada es la Studio Edition Version 11.1.1.2.0
Conocimientos previos
Es necesario conocer el lenguaje de programación Java y Oracle Forms.
Mis primero pasos con JDAPI
Os dejo un link con código de varios ejemplos de utilización de JDAPI




Gracias jefe! Muy útil.
Hola Javier, necesito ayuda. Estoy en una empresa que necesita migrar sus aplicaciones de Form 6i a la Web (entre en la empresa como programador java para migrar a java).
Para ser sincero estoy empezando en esto, conozco java pero no mucho de form, me instale el jdeveloper 10 en win xp pero no puedo conseguir las librerias de JDAPI, sera que jdeveloper 11 ya tiene incluida esta libreria???.
Saludos
Perdona el retraso en la respuesta.
El fichero frmjdapi.jar lo vas a encontrar en el directorio de instalación del Oracle Developer Suite 10gR2. EL Developer Suite es el IDE de desarrollo de Oracle Forms, no de JAVA.
Desconozco si el JDeveloper incorpora este fichero de clases, pero bueno, haz una búsqueda a nivel de SO buscando el fichero frmjdapi.jar. Si no lo encuentras deberás de instalar el Developer Suite.
Un saludo.
hola, tengo q migrar forms 4.5 a 10g, el jdapi puede hacer eso? o hay un jdapi para verciones 4.5 o 6i? te agradeceria mucho la ayuda, muchas gracias
Oracle aconseja que antes de migrar a 10g se pase primero por 6i.
Una vez en 6i estos formularios pueden ser tratados desde JDAPI. Si necesitas modificar forms en 4.5 deberás de utilizar CAPI.
Por otro lado te recuerdo que el soporte sobre Forms en la versión 10gR2 se acaba este Diciembre por lo que lo aconsejable sería migrar a 11g.
Un saludo
Hola,
Tengo aplicaciones desarrolladas en Forms 6i que opera en Oracle EBussine Suite, esto implica que existen librerias y procedimientos especiales, que no permiten que se migren las aplicaciones facilmente. La herramienta permite mirgrar estos forms a web?
Hola.
Como seguro sabe Oracle E-Business Suite es un producto de Oracle que engloba un conjunto de aplicaciones empresariales.
Como producto que es, tiene actualmente un soporte en vigor por parte de Oracle y se trata de un producto que tiene un ciclo de versiones, patches y upgrades.
Quizás sería interesante hablar con su proveedor de E-Business Suite antes de plantearse modificar los fuentes por su cuenta.
Respecto a JDAPI, comentarte que es capaz de modificar cualquier fuente forms (excepto .pll y .rdf) pero no sólo es suficiente saber cómo se programa con JDAPI, sino dónde puede sernos de utilidad para que nuestras aplicaciones 6i funcionen correctamente en Oracle Forms 11g ó 11gR2.
Un saludo.
Actualmente estoy migrando aplicaciones de 6i a 11g y puedo decir que ya no tengo que tocar un línea de código Oracle, todo, exclusivamente todo lo hago con JDAPI! funciona a la perfección y con un poquito que te curres la clase hace unas cosas increíbles. Desde luego que sin JDAPI no se puede pensar en migrar una aplicación.