domingo, 19 de enero de 2025

Instalación de Forms 14.1.2.0.0 en Windows 11 (64 bits)

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.


Yo lo configuro para que se inicie por defecto con Terminal, en Configuración -> Perfil Predeterminado -> PowerShell

El directorio home de Middleware 14.1.2.0.0 va ser C:\Oracle\Middleware\Oracle_Home141200 y el directorio del domino va a ser: C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP

IMPORTANTE: El directorio del dominio debe de estar dentro del directorio home del Middleware.

Software necesario

Para realizar la instalación lo primero que se necesita es disponer del software necesario y para ello se puede obtener directamente de Oracle, para ello habrá que tener una cuenta de Oracle.
Los archivos que hemos de tener son:
  • 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

Descomprimir paquete zip de Java 21 en C:\Oracle\jdk21:

mkdir c:\Oracle
cd c:\Oracle
curl -o jdk21.zip https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.zip
Expand-Archive -Path .\jdk21.zip -DestinationPath .\
rm jdk21.zip
mv jdk* jdk21
cd C:\Oracle\jdk21\bin
.\java -version

java version "21.0.5" 2024-10-15 LTS
Java(TM) SE Runtime Environment (build 21.0.5+9-LTS-239)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.5+9-LTS-239, mixed mode, sharing)

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;

La versión mínima de base de datos es Oracle 19.23. "Oracle Fusion Middleware 14c requires Oracle Database 19c (19.23) or higher".

Ejecutar el configurador de RCU (Ejemplo para ejecutarlo desde una consola de PowerShell):

$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
./config.cmd

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]



  • 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

Durante el primer arranque se terminan de realizar los últimos pasos de la instalación. Lo primero que vamos a hacer es configurar el usuario y contraseña para que no los pida cada vez, para ello vamos a crear el archivo boot.properties y lo vamos a poner en la carpeta security de cada servicio. La contraseña la ponemos sin cifrar, en el primer arranque uno de los pasos que hace es la de cifrarla.

Crear el archivo C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\servers\boot.properties con el siguiente contenido:

username=weblogic
password=<contraseña introducida en el proceso en el Paso “Cuenta de administrador” de la configuración de Forms y Reports>

Copiar el archivo de arranque para WLS_FORMS y WLS_REPORTS

cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\servers
md .\WLS_FORMS\security
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 administrador

Arrancar 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.

Arrancar Forms  

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

En este punto se puede hacer una prueba de ejecución de Forms:

cd C:\Oracle
curl -o frmsal.jar http://localhost:9001/forms/java/frmsal.jar
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á:


Las opciones de frmsal.jar se podrán consultar en: http://localhost:9001/forms/html/fsal.htm 

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.

Otra alternativa es hacer el arranque usando el Node Manager y Admin Server, para ello lo primero que hay que hacer es arrancar NodeManager y luego arrancar Weblogic.

cd C:\Oracle\Middleware\Oracle_Home141200\user_projects\domains\APP\bin
Start-Process .\startNodeManager.cmd
cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin
.\wlst.cmd
nmConnect("weblogic", "<weblogic_password>", "localhost", 5556, "APP");
nmStart('AdminServer')
nmDisconnect()
exit()

Una vez está arrancado el AdminServer, arrancamos Forms y Reports.

cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin
.\wlst.cmd
connect("weblogic","<weblogic_password>","localhost:7001")
start('WLS_FORMS')
start('WLS_REPORTS')
disconnect()
exit()

Para parar los servicios se puede hacer a la inversa.

cd C:\Oracle\Middleware\Oracle_Home141200\oracle_common\common\bin
.\wlst.cmd
connect("weblogic","<weblogic_password>","localhost:7001")
shutdown('WLS_REPORTS', force='true')
shutdown('WLS_FORMS', force='true')
disconnect()
nmConnect("weblogic", "<weblogic_password>", "localhost", 5556, "APP");
nmKill('AdminServer');
nmDisconnect()
exit()

No hay comentarios: