Volver al blog
Oracle 3 min de lectura

Cómo configurar WebUtil en Oracle Forms 12c

WebUtil es la librería que permite a Oracle Forms interactuar con el equipo del usuario. Los pasos para dejarla operativa en Forms 12c: esquema en base de datos, JACOB, formsweb.cfg, compilación y prueba.

Portada de la guía para configurar WebUtil en Oracle Forms 12c

WebUtil es una de las librerías más importantes para cualquier desarrollador de Oracle Forms: es la que permite interactuar con el equipo del usuario —leer y escribir ficheros locales, invocar componentes OLE, lanzar programas del sistema— desde que el modo cliente/servidor quedó atrás. Esta guía recorre los pasos para dejarla configurada en Forms 12c.

1. Preparar el esquema en la base de datos

Primero hay que crear un esquema en la base de datos contra el que después se compilará la librería webutil.pll. Sobre ese esquema se ejecuta el script create_webutil_db.sql, que viene en el directorio $ORACLE_HOME/forms.

2. Descargar y colocar JACOB

WebUtil se apoya en JACOB, un puente Java-COM que se distribuye por separado y hay que añadir a mano.

Importante: la única versión de JACOB soportada por Forms 12c (12.2.1.0.0) es la 1.18-M2.

Descomprime el zip descargado y reparte los ficheros:

  • jacob.jar$ORACLE_HOME/forms/java
  • jacob-1.18-M2-x86.dll$ORACLE_HOME/forms/webutil/win32
  • jacob-1.18-M2-x64.dll$ORACLE_HOME/forms/webutil/win64

No renombres los .dll: esos nombres exactos están referenciados dentro del fichero webutil.cfg.

Si el entorno que estás configurando es de desarrollo, asegúrate además de que $ORACLE_HOME/forms/java/frmwebutil.jar figura en la variable FORMS_BUILDER_CLASSPATH del registro de Windows.

Nota sobre la descarga: JACOB ya no se distribuye desde SourceForge —esa página solo conserva un aviso de traslado—. El proyecto está ahora en GitHub, donde la 1.18 se publica como versión final y no como milestone. Si usas un paquete cuyo nombre de DLL no coincide con el del ejemplo, ajusta las referencias de webutil.cfg en consecuencia.

3. Ajustar formsweb.cfg

Sobre la sección [webutil] del fichero formsweb.cfg —a mano o desde Enterprise Manager— hay que hacer dos comprobaciones:

  1. Que frmwebutil.jar y jacob.jar aparezcan en el parámetro WebutilArchive. En algunas versiones ya viene hecho.
  2. Que webutil_demo.fmx quede como formulario por defecto de esa configuración.

4. Compilar la librería y el formulario de demo

WebUtil viene incluido en todas las instalaciones de Forms 11g y posteriores, formulario de demostración incluido; también puede obtenerse desde la página oficial de Oracle Forms WebUtil. Coloca webutil_demo.fmb en $ORACLE_HOME/forms y compila los dos artefactos desde línea de comandos:

frmcmp module=webutil.pll module_type=library userid=scott/tiger@orcl compile_all=yes

frmcmp module=webutil_demo.fmb module_type=form userid=scott/tiger@orcl compile_all=yes

Usa para compilar webutil.pll el mismo esquema que contiene el paquete creado en el paso 1.

5. Probar la configuración

Por último, comprueba desde el navegador que la librería responde:

http://maquina.dominio:puerto/forms/frmservlet?config=webutil
Pantalla de bienvenida del formulario WebUtil Demo de Oracle Forms con el botón Acknowledge
El formulario de demo arranca y muestra sus términos de uso.

Las pestañas Client Info y About deben funcionar sin problema:

Pestaña Client Info del WebUtil Demo mostrando datos del equipo cliente: sistema operativo, versión de Java y zona horaria
Client Info devuelve datos reales del equipo cliente: la prueba de que WebUtil está operativo.

Resultado

Si Client Info devuelve el sistema operativo, la versión de Java y la zona horaria de la máquina del usuario, la configuración es correcta: la librería está hablando con el cliente.

Si esas pestañas no responden, repasa los pasos anteriores. Los dos puntos donde falla con más frecuencia son el nombre de las DLL —que debe coincidir exactamente con lo declarado en webutil.cfg— y la ausencia de jacob.jar en el parámetro WebutilArchive.