Introducción
En diciembre de 2024 Oracle liberó después de mucha espera la versión 14 de Oracle Forms. Con esta guía quiero mostrar los pasos para instalarlo en un equipo Windows 11 para disponer de un entorno de desarrollo. Mi recomendación es usar Linux para desplegar Forms en producción.
Preparar Sistema Operativo
Todos los scripts de esta guía los hay que ejecutar con PowerShell. Yo utilizo la última versión en vez de la que trae Windows por defecto. Para instalar la última versión, desde una línea de comandos hay que ejecutar:
winget install --id Microsoft.PowerShell
Luego en la aplicación "Terminal" se puede lanzar una sesión con este shell.
Software necesario
- Fusion Middleware Infrastructure 14.1.2.0.0: https://www.oracle.com/middleware/technologies/forms/downloads.html#
- Forms 14.1.2.0.0 para Windows: https://www.oracle.com/middleware/technologies/forms/downloads.html#
- fmw_14.1.2.0.0_infrastructure.jar (SHA1: 5586183560EE69EAEF59572ADCC9F54DDA08D1CB)
- setup_fmw_14.1.2.0.0_fr_win64.exe (SHA1: 0BC43EB91D40276AA9BF2524FD37CCCD69676A6F)
Ejecutar Instalación
Configurar Java
Instalar Fusion Middleware Infrastructure 14.1.2.0.0
Ejecutar la instalación desde un terminal como administrador:c:\oracle\jdk21\bin\java -jar fmw_14.1.2.0.0_infrastructure.jar
Proceso de instalación:
- Bienvenido: Si todo va bien, nos arrancará el instalador, donde pulsaremos "Siguiente"
- Actualizaciones Automáticas: Dejar marcado "Omitir Actualizaciones Automáticas", pulsar "Siguiente".
- Ubicación de Instalación: En "Directorio Raíz de Oracle" meter "C:\Oracle\Middleware\Oracle_Home141200". Pulsar "Siguiente".
- Tipo de Instalación: Dejar seleccionado "Infraestructura de Fusion Middleware" y pulsar "Siguiente".
- Comprobación de Requisitos: Realiza una verificación de Sistema Operativo y Java, si todo va bien pulsar "Siguiente".
- Resumen de la Instalación: Nos muestra un resumen de lo que se va a instalar, pulsamos "Instalar".
- Progreso de Instalación: Va indicando por los pasos de instalación e indicando si ha ido correcto. Si todos han ido correctos, pulsar "Siguiente". Instalación Terminada: Nos muestra un resumen, pulsar "Terminar".
Instalar Forms 14.1.2.0.0 para Windows
Ejecutar setup_fmw_14.1.2.0.0_fr_win64.exe
Proceso de instalación:
- Pantalla de Bienvenida: Pulsar "Siguiente".
- Actualizaciones Automáticas: Seleccionar "Omitir Actualizaciones Automáticas" y pulsar "Siguiente".
- Ubicación de Instalación: en "Directorio Raíz de Oracle" seleccionamos "C:\Oracle\Middleware\Oracle_Home141200" y pulsamos "Siguiente"
- Tipo de Instalación: Seleccionar "Forms and Reports Deployment" y pulsamos "Siguiente".
- JDK Home: Seleccionar "C:\Oracle\jdk21" y pulsar "Siguiente".
- Comprobación de Requisitos: Si todo aparece correcto pulsar "Siguiente".
- Resumen de Instalación: Pulsar "Instalar".
- Progreso de Instalación: Va mostrando los pasos que va realizando de instalación, si todo aparece correcto, pulsamos "Siguiente"
- Instalación Terminada: Pulsar "Terminar".
Configurar Repositorio en la Base de Datos
Antes de configurar el repositorio, asegurarse de haber modificado la base de datos el perfil por defecto para que las contraseñas de la base de datos no caduquen: Con un usuario que sea DBA:alter profile default limit password_life_time unlimited;
$env:JAVA_HOME = "C:\Oracle\jdk21"
C:\Oracle\Middleware\Oracle_Home141200\oracle_common\bin\rcu.bat
Proceso de instalación:
- Bienvenido: Pulsar el botón "Siguiente".
- Crear Repositorio: Seleccionar "Crear Repositorio" y "Carga del Sistema y Carga del Producto" y pulsar Siguiente.
- Detalles de Conexión a la Base de Datos:
- Tipo de Base de Datos: Oracle
- Nombre del Host: Nombre o dirección IP del servidor de base de datos.
- Puerto: Puerto TCP en donde está configurado el listener de la base de datos, por lo general el puerto 1521.
- Nombre del Servicio: Servicio de la base de datos.
- Usuario: Usuario con permisos de DBA o SYSDBA, por ejemplo, SYS.
- Contraseña: Contraseña del usuario indicado en el punto anterior.
- Rol: Si el usuario es SYS, hay que seleccionar "SYSDBA", en caso contrario "Normal".
- Pulsar botón "Siguiente" una vez estén cubiertos todos los campos.
- Comprobación de Requisitos: Si todo está bien pulsar "Aceptar".
- Seleccionar Componentes:
- Seleccionar "Crear Nuevo Prefijo" e indicar el prefijo: F141200WIN
- Seleccionar los siguientes componentes:
- Servicios de Infraestructura Común.
- Servicios de Seguridad de la Plataforma Oracle.
- Servicio de Auditoría.
- Anexo de Servicios de Auditoría.
- Visor de Servicios de Auditoría.
- Servicios de Weblogic
- Pulsar botón "Siguiente".
- Vuelve aparecer una ventana de comprobación de requisitos, si todo está bien pulsar "Aceptar".
- Contraseñas de Esquemas: Dejar seleccionado "Usar las Mismas Contraseñas para Todos los Esquemas" e introducir la Contraseña deseada en los campos "Contraseña" y "Confirmar Contraseña", una vez introducidas pulsar el botón "Siguiente".
- Asignar Tablespaces: Pulsar el botón "Siguiente", dejando los valores por defecto.
- Nos sacará un mensaje indicando que se crearan tablespaces que no existan, pulsamos el botón "Aceptar".
- Sale una ventana de creación de tablespaces, pulsamos "Aceptar".
- Resumen: Muestra un resumen de los componentes que se van a instalar. Pulsar el botón "Crear".
- Aparece una ventana mostrando el progreso de la creación.
- Resumen de Terminación: En la ventana de resumen de finalización, pulsar el botón "Cerrar".
Configurar Dominio
Ejecutar el configurador:cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin
Proceso de configuración:
- Crear Dominio:
- Seleccionar "Crear Nuevo Dominio".
- Ubicación de Dominio: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP
- Pulsar botón "Siguiente".
- Plantillas: Seleccionar "Crear Dominio mediante Plantillas de Producto" y seleccionar las siguientes plantillas a mayores de las ya seleccionadas, una vez hecha la selección pulsar "Siguiente".
- Oracle Forms - 14.1.2.0.0 [forms]
- Oracle Reports Server - 14.1.2.0.0 [ReportsServerComponent]
- Oracle Reports Application - 14.1.2.0.0 [reports]
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0SOPhdOmF-ChavyCTFQsLalVmEG7H09DOa-6iwH8LN2RTXX3-WZ6SF0vnJS4mkHzQwkA7jqg-wRKw8xfZIVvyAUmf5cJu-ar9DS3Ii_0r47eFwyrWhY2-B1OGStePncvoXF4wMCdxT0p8j0wOzMGi2YUhWtJCYk7HWHBtbH6nxHgGA-WxLvvbfwWG078/w643-h482/Imagen1.png)
- Ubicación de la Aplicación: Dejar los valores por defecto y pulsar "Siguiente".
- Cuenta de administrador: Introducir Contraseña para el usuario "weblogic" y pulsar "Siguiente".
- Modo de Dominio y JDK:
- Modo de Dominio: Seleccionar "Desarrollo".
- Dejar marcado “Activar puertos de recepción (puertos no SSL).
- JDK: Seleccionar “Oracle HotSpot …”.
- Pulsar "Siguiente".
- Tipo de Configuración de Base de Datos:
- Seleccionar "Datos de RCU".
- Proveedor: Oracle
- Controlador: Oracle’s Driver (Thin) for Service connections; Versions: Any.
- DBMS/Servicio: Nombre del servicio de la base de datos configurada durante la instalación del repositorio.
- Nombre del Host: Nombre o dirección IP del equipo que contiene los esquemas de repositorio.
- Puerto: Puerto TCP en el que está escuchando la base de datos de repositorio, por lo general será 1521.
- Propietario Esqm: F141200WIN_STB
- Contraseña Esqm: Contraseña del usuario propietario introducida durante la instalación de RCU.
- Pulsar el botón "Obtener Configuración de RCU".
- Si todo va bien, pulsar el botón "Siguiente".
- Orígenes de Datos de Componentes: Dejar los valores por defecto y pulsar “Siguiente”.
- Prueba de JDBC: Si la prueba es correcta pulsar "Siguiente".
- Configuración Avanzada: Seleccionar los siguientes elementos y pulsar "Siguiente".
- Topología.
- Componentes del Sistema.
- Servidores Gestionados: Dejar los valores por defecto y pulsar "Siguiente".
- Clusters: Dejar los valores por defecto y pulsar "Siguiente".
- Plantillas de Servidor: Dejar valores por defecto y pulsar "Siguiente".
- Servidores Dinámicos: Dejar valores por defecto y pulsar "Siguiente".
- Asignar Servidores a Clusters: Dejar los valores por defecto y pulsar "Siguiente".
- Clusters de Coherence: Dejar los valores por defecto y pulsar "Siguiente".
- Máquinas: Dejar los valores por defecto y pulsar "Siguiente".
- Asignar Servidores a Máquinas:
- Seleccionar en la parte derecha "AdminServerMachine" y mover de la izquierda el servidor "AdminServer" a la derecha a "AdminServerMachine".
- Pulsar "Siguiente".
- Componentes del Sistema: Dejar los valores por defecto y pulsar "Siguiente".
- Asignar Componentes del Sistema a Máquinas: Dejar los valores por defecto y pulsar "Siguiente".
- Resumen de Configuración: Pulsar el botón "Crear".
- Progreso de Configuración: Muestra los pasos que está realizando, una vez termine pulsar "Siguiente".
- Fin de configuración: Muestra los siguientes datos:
- Ubicación del dominio: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP
- URL del servidor de administración: http://equipo:7001/console
- Pulsar el botón "Terminar".
Preparar arranque
Crear el archivo C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\servers\boot.properties con el siguiente contenido:
md .\WLS_REPORTS\security
copy .\boot.properties .\WLS_FORMS\security
move .\boot.properties .\WLS_REPORTS\security
Arrancar NodeManager, AdminServer, WLS_FORMS y WLS_REPORTS
Ejecutar en un PowerShell con permisos de administradorArrancar Node Manager
cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
Start-Process .\startNodeManager.cmd
Una vez arrancado mostrará en consola algo como esto:
<18 ene 2025 15:39:34 (hora estándar de Europa central)> <INFO> <Secure socket listener started on port 5556, host localhost/127.0.0.1>
Arrancar WebLogic
Start-Process .\startWebLogic.cmd
Una vez arrancado mostrará en consola algo como esto:
<18 ene 2025, 15:45:31,519 (hora estándar de Europa central)> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Preparar Reports
Antes de arrancar reports por primera vez, hay que crear la instancia. En los siguientes comandos cambiar <weblogic_password> por la contraseña del usuario “weblogic”.
cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin
.\wlst.cmd
connect("weblogic","<weblogic_password>","localhost:7001")
createReportsToolsInstance(instanceName='reports1',machine='AdminServerMachine')
exit()
Después de forzar la creación de la instancia “reports1”, ya podemos arrancar WLS_FORMS y WLS_REPORTS.
cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
Start-Process .\startManagedWebLogic.cmd WLS_FORMS
Una vez arrancado mostrará en consola algo como esto:
<18 ene 2025, 15:52:52,386 (hora estándar de Europa central)> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Arrancar Reports
cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
Start-Process .\startManagedWebLogic.cmd WLS_REPORTS
Una vez arrancado mostrará en consola algo como esto:
<18 ene 2025, 15:55:28,182 (hora estándar de Europa central)> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
Prueba de funcionamiento de Forms
cd C:\Oracle
c:\Oracle\jdk21\bin\java -jar frmsal.jar -url "http://localhost:9001/forms/frmservlet?config=standaloneapp"
Si todo va bien, se ejecutará forms y se mostrará:
Parar Procesos
Se pueden cerrar las consolas que tenemos abiertas para abortar los procesos, pero se puede hacer de una forma más elegante con estos comandos:cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
.\stopManagedWebLogic.cmd WLS_REPORTS
.\stopManagedWebLogic.cmd WLS_FORMS
.\stopWebLogic.cmd
.\stopNodeManager.cmd
Arrancar Procesos
Una vez arrancados se pueden parar con los comandos que indico en el punto anterior "Parar Procesos". Desde una consola de PowerShell ejecutar:cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
Start-Process .\startWebLogic.cmd
Start-Process .\startManagedWebLogic.cmd WLS_FORMS
Start-Process .\startManagedWebLogic.cmd WLS_REPORTS
NOTA: Parar ejecutar simplemente programas en Forms no hace falta arrancar Weblogic ni WLS_REPORTS, es decir con ejecutar startManagedWeblogic.cmd WLS_FORMS es suficiente. Hará 3 intentos para conectar con el servidor de administración, pero luego arranca.
Para parar los servicios se puede hacer a la inversa.