{"id":13104,"date":"2015-12-22T17:22:03","date_gmt":"2015-12-23T01:22:03","guid":{"rendered":"http:\/\/clartechsolutions.com\/?p=13104"},"modified":"2023-03-01T01:48:01","modified_gmt":"2023-03-01T01:48:01","slug":"desplegar-apex-en-un-servidor-glassfish","status":"publish","type":"post","link":"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/","title":{"rendered":"Desplegar APEX en un Servidor GlassFish"},"content":{"rendered":"<p>Existen tres tipos de <strong>Web Listener <\/strong>que podemos elegir para instalar Apex, el cual \u201cOracle REST Data Services\u201d es el preferido, antes denominado \u201cOracle Application Express Listener\u201d. Los otros dos Web Listener son Oracle HTTP Server y el Embedded PL\/SQL Gateway.<\/p>\n<p>El Web Listener permite la comunicaci\u00f3n entre el browser y los objetos de la base de datos:<\/p>\n<p><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"16045\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img01\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?fit=1027%2C477&amp;ssl=1\" data-orig-size=\"1027,477\" data-comments-opened=\"1\" data-image-title=\"gf-img01\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?fit=750%2C349&amp;ssl=1\" class=\"alignnone wp-image-16045 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?resize=750%2C348&#038;ssl=1\" alt=\"\" width=\"750\" height=\"348\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?w=1027&amp;ssl=1 1027w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?resize=300%2C139&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?resize=1024%2C476&amp;ssl=1 1024w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?resize=768%2C357&amp;ssl=1 768w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img01.jpg?resize=18%2C8&amp;ssl=1 18w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>La instalaci\u00f3n de APEX con la configuraci\u00f3n del Embedded PL\/SQL Gateway es recomendado solo para desarrollo y para que APEX se ejecute con el Oracle REST Data Services es necesario elegir alg\u00fan servidor web que pueda desplegar J2EE, entre las opciones tenemos: Oracle WebLogic Server, Oracle GlassFish Server y Apache Tomcat.<\/p>\n<p>Tambi\u00e9n se puede instalar el Oracle REST Data Services en modo Standalone pero esta configuraci\u00f3n esta solo soportado para entornos de desarrollo.<\/p>\n<p>En este art\u00edculo veremos c\u00f3mo desplegar Oracle APEX en un Servidor GlassFish, usando la opci\u00f3n Open Source ya que usando la versi\u00f3n Oracle GlassFish Server tiene un costo de licencia asociado.<\/p>\n<p>Para completar los pasos descriptos en este art\u00edculo asumimos que tenemos instalado Oracle APEX en un Sistema Operativo Windows, corriendo en el Puerto 8080 usando la configuraci\u00f3n Embedded PL\/SQL Gateway.<\/p>\n<h3><strong>Descargar e Instalar el JDK<\/strong><\/h3>\n<p>Ingresamos a la p\u00e1gina de Oracle para descargar el JDK.<\/p>\n<p><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html\">http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html<\/a><\/p>\n<p>Hacemos clic en el icono de Java, aceptamos el acuerdo de licencia, y seleccionamos el que corresponda a nuestro S.O., en mi caso descargar\u00e9 el de 32bits. (Windows x86: jdk-8u65-windows-i586.exe) en el escritorio y luego instalamos el JDK siguiendo el asistente.<\/p>\n<p>Vamos a configurar la variable de entorno en Windows para poder ejecutar el JAVA sin tener que escribir toda la ruta donde se encuentra el ejecutable.<\/p>\n<h3><strong>Configurar la variable JAVA_HOME en Windows<\/strong><\/h3>\n<ol>\n<li>Hacemos clic con el bot\u00f3n derecho del mouse sobre el \u00edcono <strong>My Computer<\/strong> en nuestro escritorio y seleccionamos <strong>Properties<\/strong><\/li>\n<li>Hacemos clic en el enlace <strong>Advanced system settings<\/strong><\/li>\n<li>Hacemos clic en el bot\u00f3n <strong>Environment Variables<\/strong><\/li>\n<li>En el recuadro <strong>System Variables<\/strong>, hacemos clic en el bot\u00f3n <strong>New<\/strong><\/li>\n<li>Ingresamos el nombre de la variable como <strong>JAVA_HOME<\/strong><\/li>\n<\/ol>\n<ol start=\"6\">\n<li>Ingresamos el valor de la variable como el path de instalaci\u00f3n para el Java Development Kit [<em>Si<\/em><em> el directorio de instalaci\u00f3n de Java contiene un espacio en el nombre de la ruta, se debe utilizar el nombre de la ruta m\u00e1s corta (por ejemplo: <\/em><em>C:\\Progra~1\\Java\\jdk1.8.0_65<\/em><em>).]<\/em><\/li>\n<li>Hacemos clic en <strong>OK<\/strong><\/li>\n<li>En el recuadro <strong>System Variables<\/strong>, seleccionamos la variable Path y hacemos clic en el bot\u00f3n <strong>Edit<\/strong><\/li>\n<li>Nos posicionamos al final de la lista de valores de la variable y agregamos <strong><em>;%JAVA_HOME%\\bin<br \/>\n<img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"16046\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img02\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?fit=353%2C148&amp;ssl=1\" data-orig-size=\"353,148\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447328268&quot;}\" data-image-title=\"gf-img02\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?fit=353%2C148&amp;ssl=1\" class=\"alignnone wp-image-16046 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?resize=353%2C148&#038;ssl=1\" alt=\"\" width=\"353\" height=\"148\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?w=353&amp;ssl=1 353w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?resize=300%2C126&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img02.jpg?resize=18%2C8&amp;ssl=1 18w\" sizes=\"(max-width: 353px) 100vw, 353px\" \/><br \/>\n<\/em><\/strong><\/li>\n<li>Hacemos clic en <strong>OK<\/strong><\/li>\n<li>Cerramos todas las ventanas modales.<\/li>\n<\/ol>\n<h3><strong>Deshabilitar el Oracle XML DB Protocol Server<\/strong><\/h3>\n<p>Como lo mencion\u00e9 antes, la instalaci\u00f3n que tengo hecha de Apex es usando el Embedded PL\/SQL Gateway y para usar el Oracle REST Data Services, necesitamos deshabilitar el Oracle XML DB Protocol Server.<\/p>\n<p>Ingresamos a una ventana de comandos del SQL con credenciales de SYS as DBA e ingresamos la siguiente instrucci\u00f3n:<\/p>\n<pre>SQL&gt; EXEC DBMS_XDB.SETHTTPPORT(0);<\/pre>\n<h3><strong>Cambiar el Password de la cuenta APEX_PUBLIC_USER<\/strong><\/h3>\n<p>Ingresamos a una ventana de comandos SQL con las credenciales de SYS as DBA e ingresamos las siguientes sentencias SQL.<\/p>\n<pre>SQL&gt; ALTER USER APEX_PUBLIC_USER IDENTIFIED BY nueva_password;<\/pre>\n<p>Con la siguiente consulta vemos el estatus de la cuenta reci\u00e9n alterada en OPEN<\/p>\n<pre>SQL&gt; select username, account_status from dba_users;<\/pre>\n<p><strong>Nota: <\/strong>Debemos tener presente que por defecto en el profile de la base de datos Oracle 11g el par\u00e1metro PASSWORD_LIFE_TIME est\u00e1 configurado en 180.&nbsp; Si estamos usando La base de Datos Oracle 11g con Oracle Application Express, esto es causa de que el password de APEX_PUBLIC_USER expire a los 180 d\u00edas. Como resultado nuestra instancia de Oracle Application Express comenzar\u00e1 a ser inutilizable hasta que no cambiemos la password.<\/p>\n<h3><strong>Configurar RESTful Services<\/strong><\/h3>\n<p>Abrimos una ventana de comandos SQL y nos conectamos con las credenciales de SYS as DBA y ejecutamos el siguiente script:<\/p>\n<pre>SQL&gt; @C:\\apex\\apex_rest_config.sql<\/pre>\n<p><strong>Nota:<\/strong> Indicamos la ruta donde tenemos la instalaci\u00f3n de APEX.<\/p>\n<p>Ingresamos las contrase\u00f1as para los usuarios: APEX_LISTENER y APEX_REST_PUBLIC_USER y cerramos la ventana.<\/p>\n<h3><strong>Descargar e Instalar el Servidor GlassFish Open Source Edition<\/strong><\/h3>\n<p>Ingresamos al siguiente link para descargar GlassFish Server: <a href=\"https:\/\/glassfish.java.net\">https:\/\/glassfish.java.net<\/a><\/p>\n<p>Hacemos clic en <strong>Download<\/strong><\/p>\n<p><strong>Paso 0:<\/strong> Pre-requisito, tener instalado JDK 7 o superior para instalar GlassFish 4.1.1 (Instalado el JDK 8 u60 y configurado anteriormente)<\/p>\n<p><strong>Paso 1:<\/strong> Descargar Java EE 7 Full Platform&nbsp; <strong>glassfish-4.1.1.zip<\/strong> en nuestro escritorio.<\/p>\n<p><strong>Paso 2:<\/strong> Copiamos la carpeta zip en el C: y la descomprimimos. Al realizar esta operaci\u00f3n se instala el servidor con un dominio predefinido, llamado <strong>domain1<\/strong>.<\/p>\n<p><strong>Paso 3:<\/strong> Iniciar GlassFish<\/p>\n<p>Abrimos una ventana de comandos CMD y nos posicionamos en el directorio \u00e0 C:\/glassfish4\/bin\/<\/p>\n<p>Ingresamos el siguiente comando para iniciar el servidor: <strong>asadmin start-domain<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"16047\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img03\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?fit=691%2C355&amp;ssl=1\" data-orig-size=\"691,355\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447330179&quot;}\" data-image-title=\"gf-img03\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?fit=691%2C355&amp;ssl=1\" class=\"alignnone wp-image-16047 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?resize=691%2C355&#038;ssl=1\" alt=\"\" width=\"691\" height=\"355\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?w=691&amp;ssl=1 691w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?resize=300%2C154&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img03.jpg?resize=18%2C9&amp;ssl=1 18w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><\/p>\n<p>Al abrir el navegador web e ingresar en la barra de direcciones <a href=\"http:\/\/localhost:8080\/\">http:\/\/localhost:8080\/<\/a> podemos ver que el Servidor est\u00e1 actualmente iniciado.<\/p>\n<p>Para ingresar a la consola de administraci\u00f3n del servidor, en la barra de direcciones del navegador ingresamos: <a href=\"http:\/\/localhost:4848\/\">http:\/\/localhost:4848\/<\/a><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"16048\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img04\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?fit=1595%2C646&amp;ssl=1\" data-orig-size=\"1595,646\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447330864&quot;}\" data-image-title=\"gf-img04\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?fit=750%2C304&amp;ssl=1\" class=\"alignnone wp-image-16048 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=750%2C304&#038;ssl=1\" alt=\"\" width=\"750\" height=\"304\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?w=1595&amp;ssl=1 1595w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=300%2C122&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=1024%2C415&amp;ssl=1 1024w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=768%2C311&amp;ssl=1 768w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=1536%2C622&amp;ssl=1 1536w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=18%2C7&amp;ssl=1 18w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=1200%2C486&amp;ssl=1 1200w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img04.jpg?resize=1568%2C635&amp;ssl=1 1568w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<h3><strong>Configurar usuarios y roles en GlassFish<\/strong><\/h3>\n<p>Una vez dentro de la consola de administraci\u00f3n de GlassFish podremos ver a la izquierda un men\u00fa lateral.<\/p>\n<p>Nos dirigimos a <em>Configurations &gt; default-config &gt; Security<\/em> y se muestra la pantalla de seguridad.<\/p>\n<p>Marcamos con un check para habilitar la opci\u00f3n <strong>Default Principal To Role Mapping <\/strong>y guardamos haciendo clic en el bot\u00f3n<strong> Save.<\/strong><\/p>\n<p>Posteriormente vamos a <em>Configurations &gt; default-config &gt; Security &gt; Realms &gt; file<\/em> y hacemos clic en el bot\u00f3n de&nbsp;<strong>Manager Users<\/strong>&nbsp;donde vamos a crear un usuario admin y otro usuario manager para el Oracle REST Data Services.<\/p>\n<p>Primero creamos el usuario admin con la siguiente configuraci\u00f3n:<strong>&nbsp;<\/strong><\/p>\n<ul>\n<li>User ID: adminlistener<\/li>\n<li>Group List: Admin<\/li>\n<li>Password: ingresamos una password<\/li>\n<\/ul>\n<p>Luego creamos el manager con la siguiente configuraci\u00f3n:<\/p>\n<ul>\n<li>User ID: managerlistener<\/li>\n<li>Group List: Manager<\/li>\n<li>Password: ingresamos una password<strong>&nbsp;<\/strong><\/li>\n<\/ul>\n<h3><strong>Im\u00e1genes APEX<\/strong><\/h3>\n<p>Localizamos la carpeta images de la instalaci\u00f3n de APEX y copiamos todo su contenido, en mi caso la tengo en C:\\apex\\images.<\/p>\n<p>Buscamos la siguiente localizaci\u00f3n dentro del directorio de glassfish4:<\/p>\n<pre>C:\\glassfish4\\glassfish\\domains\\domain1\\docroot<\/pre>\n<p>Y creamos una carpeta llamada <strong>i<\/strong>, luego dentro de esa carpeta pegamos todo el contenido de la carpeta images de APEX.<\/p>\n<h3><strong>Descargar e Instalar Oracle REST Data Services<\/strong><\/h3>\n<p>Para que APEX pueda desplegarse en GlassFish necesitamos descargar el Oracle REST Data Services desde el sitio web de Oracle.<\/p>\n<p><a href=\"http:\/\/www.oracle.com\/technetwork\/developer-tools\/rest-data-services\/downloads\/index.html\">http:\/\/www.oracle.com\/technetwork\/developer-tools\/rest-data-services\/downloads\/index.html<\/a><\/p>\n<p>Aceptamos el acuerdo de licencia y descargamos el archivo zip en nuestro escritorio.<\/p>\n<p>Una vez finalizada la descarga, copiamos el archivo en la ubicaci\u00f3n que deseamos en nuestra PC y lo descomprimimos.<\/p>\n<p>En mi caso lo voy a descomprimir dentro del directorio C: y le voy a colocar el nombre <strong>ords<\/strong>.<\/p>\n<h3><strong>Configurar Oracle REST Data Services<\/strong><\/h3>\n<p>Cuando se instala el Oracle REST Data Services, los archivos de configuraci\u00f3n se instalan en la carpeta \/temp\/apex de Windows y esa ubicaci\u00f3n no es el mejor lugar para disponer de esos archivos, por ello vamos a crear una carpeta que albergue esos archivos de configuraci\u00f3n dentro del directorio ords y la llamaremos <strong>config<\/strong> y en propiedades de la carpeta le damos acceso de escritura.<\/p>\n<p>Por otro lado, por defecto el <strong>context root<\/strong> para acceder a Oracle Application Express por medio de Oracle REST Data Services es ords, si queremos cambiar el nombre y que sea apex, necesitamos renombrar el archivo <em>ords.war<\/em> que se encuentra dentro del directorio ords por <em>apex.war.<\/em><\/p>\n<p>Abrimos una ventana de comandos CMD como administrador y nos dirigimos al directorio ords donde hemos descomprimido los archivos del Oracle REST Data Services y ejecutamos la siguiente l\u00ednea de comandos:<\/p>\n<pre>C:\\ords&gt;<strong>java -jar apex.war configdir C:\\ords\\config<\/strong> <strong>[enter]<\/strong>\nPM oracle.dbtools.cmdline.ModifyConfigDir execute\nINFO: Set config.dir to C:\\ords\\config in: C:\\ords\\apex.war\nC:\\ords&gt;<\/pre>\n<p>Ahora vamos a configurar los detalles de conexi\u00f3n de la base de datos:<\/p>\n<pre>C:\\ords&gt;<strong>java -jar apex.war install advanced<\/strong>\nVerify ORDS schema in Database Configuration apex with connection host: <strong>localhost<\/strong> port: <strong>1521<\/strong> sid: <strong>xe<\/strong>\nPlease login with SYSDBA privileges to verify Oracle REST Data Services schema.\nInstallation may be required.\nEnter the username with SYSDBA privileges to verify the installation [SYS]: <strong>SYS<\/strong>\nEnter the database password for SYS: <strong>(ingresar el password)<\/strong>\nConfirm password:<strong> (confirmar el password)<\/strong>\nNov 18, 2015 8:02:20 PM oracle.dbtools.rt.config.setup.SchemaSetup addSchemaPara\nms\nINFO:\nOracle REST Data Services schema does not exist and will be created.\nEnter the default tablespace for ORDS_METADATA [SYSAUX]:<strong>APEX<\/strong>\nEnter the temporary tablespace for ORDS_METADATA [TEMP]: <strong>TEMP<\/strong>\nEnter the default tablespace for ORDS_PUBLIC_USER [USERS]:<strong>APEX<\/strong>\nEnter the temporary tablespace for ORDS_PUBLIC_USER [TEMP]: <strong>TEMP<\/strong>\nNov 18, 2015 8:03:10 PM oracle.dbtools.installer.Installer installORDS\nINFO:\nInstalling Oracle REST Data Services version 3.0.2.294.08.40\n... Log file written to C:\\ords\\logs\\ordsinstall_2015-11-18_200310_00578.log\n... Verified database prerequisites\n... Created Oracle REST Data Services schema\n... Created Oracle REST Data Services proxy user\n... Granted privileges to Oracle REST Data Services\n... Created Oracle REST Data Services database objects\nNov 18, 2015 8:03:20 PM oracle.dbtools.installer.Installer installORDS\nINFO: Completed installation for Oracle REST Data Services version 3.0.2.294.08.\nElapsed time: 00:00:09.750\nEnter 1 if you wish to start in standalone mode or 2 to exit [1]:2\nC:\\ords&gt;<\/pre>\n<h3><strong>Crear Fichero i.war<\/strong><\/h3>\n<p>Es momento de crear nuestro fichero i.war el cual almacenar\u00e1 los datos del directorio \/i\/ del APEX que ya tenemos instalado. En mi caso, APEX lo tengo instalado en la ruta&nbsp;C:\\apex\\.&nbsp;Ejecutaremos el siguiente comando:<\/p>\n<pre>C:\\ords&gt;<strong>java -jar apex.war static C:\\apex\\images<\/strong>\nWAR Generation complete\nWAR location&nbsp;&nbsp;&nbsp;&nbsp; : C:\\ords\\i.war\nContext path&nbsp;&nbsp;&nbsp;&nbsp; : \/i\nStatic resources : C:\\apex\\images\nEnsure the static resources are available at path: C:\\apex\\images\non the server where the WAR is deployed\nC:\\ords&gt;<\/pre>\n<p><strong><em>Nota:<\/em><\/strong><em> Es importante destacar que el i.war que se ha creado dentro de la carpeta ords solo contiene las referencias a las im\u00e1genes de la instalaci\u00f3n de APEX, por ello, es importante no cambiar la ubicaci\u00f3n de la instalaci\u00f3n de Apex ni tampoco renombrar la carpeta de Apex.<\/em><strong>&nbsp;<\/strong><\/p>\n<h3><strong>Deploy de Oracle Apex en el Servidor GlassFish<\/strong><\/h3>\n<p>Ingresamos a la consola de administraci\u00f3n de GlassFish y a la izquierda en el men\u00fa lateral, hacemos clic en Applications y luego hacemos clic en Deploy y seleccionamos el archivo apex.war y luego hacemos clic en ok.<\/p>\n<p>context root: <strong>apex<\/strong><\/p>\n<p>description: <strong>Oracle REST Data Services<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"16049\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img05\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?fit=1585%2C697&amp;ssl=1\" data-orig-size=\"1585,697\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447350220&quot;}\" data-image-title=\"gf-img05\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?fit=750%2C330&amp;ssl=1\" class=\"alignnone wp-image-16049 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=750%2C330&#038;ssl=1\" alt=\"\" width=\"750\" height=\"330\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?w=1585&amp;ssl=1 1585w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=300%2C132&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=1024%2C450&amp;ssl=1 1024w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=768%2C338&amp;ssl=1 768w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=1536%2C675&amp;ssl=1 1536w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=18%2C8&amp;ssl=1 18w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=1200%2C528&amp;ssl=1 1200w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img05.jpg?resize=1568%2C690&amp;ssl=1 1568w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>Hacemos lo mismo para el i.war, pero en context root lo dejamos en blanco.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"16050\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img06\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?fit=1598%2C328&amp;ssl=1\" data-orig-size=\"1598,328\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447350537&quot;}\" data-image-title=\"gf-img06\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?fit=750%2C154&amp;ssl=1\" class=\"alignnone wp-image-16050 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=750%2C154&#038;ssl=1\" alt=\"\" width=\"750\" height=\"154\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?w=1598&amp;ssl=1 1598w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=300%2C62&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=1024%2C210&amp;ssl=1 1024w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=768%2C158&amp;ssl=1 768w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=1536%2C315&amp;ssl=1 1536w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=18%2C4&amp;ssl=1 18w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=1200%2C246&amp;ssl=1 1200w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img06.jpg?resize=1568%2C322&amp;ssl=1 1568w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>Por \u00faltimo verificamos que todas las cuentas est\u00e9n OPEN, para ello desde el SQL Plus o una ventana de comandos SQL iniciamos sesi\u00f3n como SYS as DBA e ingresamos la siguiente consulta:<\/p>\n<pre>SQL&gt; select username, account_status from dba_users;\nUSERNAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACCOUNT_STATUS\n------------------------------ --------------------------------\nCLARTECH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nORDS_PUBLIC_USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nAPEX_050000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nORDS_METADATA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED &amp; LOCKED\nHR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED &amp; LOCKED\nXDB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nANONYMOUS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nFLOWS_FILES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED\nAPEX_040000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LOCKED\nCTXSYS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED &amp; LOCKED\nMDSYS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED &amp; LOCKED\nSYS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nAPEX_REST_PUBLIC_USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nAPEX_LISTENER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nAPEX_PUBLIC_USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OPEN\nSYSTEM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED(GRACE)\nXS$NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPIRED &amp; LOCKED\nOUTLN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPIRED &amp; LOCKED\n\n18 rows selected.<\/pre>\n<p>Una vez que hemos verificado las cuentas ya podemos ir al panel de administrador de GlassFish y hacemos clic en el enlace Launch (de la aplicaci\u00f3n apex) y seleccionamos el primer link <a href=\"http:\/\/[nombre_host]:8080\/apex\">http:\/\/[nombre_host]:8080\/apex<\/a><\/p>\n<p>Podemos ver que la p\u00e1gina de inicio de Sesi\u00f3n de Apex aparece.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"16051\" data-permalink=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/gf-img08\/\" data-orig-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?fit=1598%2C860&amp;ssl=1\" data-orig-size=\"1598,860\" data-comments-opened=\"1\" data-image-meta=\"{&quot;credit&quot;:&quot;Clarisa Maman Orfali&quot;,&quot;created_timestamp&quot;:&quot;1447351762&quot;}\" data-image-title=\"gf-img08\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?fit=750%2C404&amp;ssl=1\" class=\"alignnone wp-image-16051 size-full\" src=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=750%2C404&#038;ssl=1\" alt=\"\" width=\"750\" height=\"404\" srcset=\"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?w=1598&amp;ssl=1 1598w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=1024%2C551&amp;ssl=1 1024w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=768%2C413&amp;ssl=1 768w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=1536%2C827&amp;ssl=1 1536w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=18%2C10&amp;ssl=1 18w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=1200%2C646&amp;ssl=1 1200w, https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/gf-img08.jpg?resize=1568%2C844&amp;ssl=1 1568w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/p>\n<p>Para resumir, la implementaci\u00f3n de Java EE ofrece una mayor funcionalidad, como la configuraci\u00f3n basada en l\u00ednea de comandos, seguridad mejorada, cach\u00e9 de archivos y servicios web RESTful, caracter\u00edsticas que no se podr\u00edan tener sin este tipo de implementaci\u00f3n.<\/p>\n<p>Hasta Pronto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Existen tres tipos de Web Listener que podemos elegir para instalar Apex, el cual \u201cOracle REST Data Services\u201d es el preferido, antes denominado \u201cOracle Application Express Listener\u201d. Los otros dos Web Listener son Oracle HTTP Server y el Embedded PL\/SQL Gateway. El Web Listener permite la comunicaci\u00f3n entre el browser y los objetos de la<a class=\"more-link\" href=\"https:\/\/kiusi.com\/en\/desplegar-apex-en-un-servidor-glassfish\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Desplegar APEX en un Servidor GlassFish&#8221;<\/span><\/a><\/p>","protected":false},"author":132749711,"featured_media":16464,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":true},"categories":[121913,121930],"tags":[121903,121954,121955,121886],"class_list":["post-13104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-oracle-apex-5-0","tag-apex","tag-glassfish","tag-instalacion","tag-oracle","entry"],"jetpack_publicize_connections":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paMvMS-3pm","amp_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/kiusi.com\/wp-content\/uploads\/2015\/12\/Destacada-Desplegar-APEX-en-un-Servidor-GlassFish.jpg?fit=2949%2C1735&ssl=1","_links":{"self":[{"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/posts\/13104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/users\/132749711"}],"replies":[{"embeddable":true,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/comments?post=13104"}],"version-history":[{"count":3,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/posts\/13104\/revisions"}],"predecessor-version":[{"id":16465,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/posts\/13104\/revisions\/16465"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/media\/16464"}],"wp:attachment":[{"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/media?parent=13104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/categories?post=13104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kiusi.com\/en\/wp-json\/wp\/v2\/tags?post=13104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}