Oracle Application Express es una plataforma de desarrollo de código bajo que le permite crear aplicaciones empresariales escalables y seguras, con características de clase mundial, que se pueden implementar literalmente en cualquier lugar.
También es un entorno de desarrollo integrado (IDE) patentado basado en la web desarrollado por Oracle Corporation para crear y administrar bases de datos Oracle y otras funciones de bases de datos relacionadas. Además, con él, los desarrolladores pueden desarrollar e implementar rápidamente aplicaciones convincentes que resuelven problemas reales y brindan valor inmediato, incluso si no es necesario ser un experto en una amplia gama de tecnologías para brindar soluciones sofisticadas.
Discutiremos sobre la arquitectura, una descripción general de la interconexión total de APEX y ORDS y, obviamente, ¡manos a la obra! Entonces, comencemos con la arquitectura primero
Arquitectura
Entonces, es una arquitectura de tres niveles donde las solicitudes se envían desde el navegador, a través de un servidor web, a la base de datos.
Además, todo el procesamiento, la manipulación de datos y la lógica empresarial se ejecutan en la base de datos. Esta arquitectura garantiza acceso a datos con latencia cero, máximo rendimiento y escalabilidad, listos para usar.
Entonces, una solicitud web desde el navegador web enviada a Oracle REST Data Services (ORDS) donde se entregó a Oracle Database para ser subastada. Dentro de la base de datos, la solicitud procesada por Oracle APEX. Una vez que se completa el procesamiento, el resultado se devuelve a través de ORDS al navegador.
Características
Además, APEX lo ayuda a crear mejores aplicaciones al ocuparse de estas seis facetas del desarrollo de aplicaciones
Datos
Oracle APEX se esfuerza por hacer que sea lo más fácil posible para usted mostrar, manipular, graficar y procesar datos de la manera más fácil y eficiente posible. No importa de dónde provengan sus datos, ya sea de una base de datos local, una base de datos remota o un servicio web, Oracle APEX presenta una funcionalidad de vanguardia para ayudarlo a convertir los datos en información.
Seguridad
También Oracle APEX diseñado para crear aplicaciones web altamente seguras desde el primer momento.
Además de, En un mundo de estándares web en constante cambio y atacantes cada vez más ingeniosos que encuentran nuevas formas de piratear sitios, nuestro enfoque en la seguridad significa que sus aplicaciones permanecen protegidas.
Accesibilidad
Además, Oracle APEX está diseñado para facilitar al máximo a los desarrolladores la creación de aplicaciones web altamente accesibles, que brindan una experiencia de usuario inclusiva para usuarios con diferentes capacidades y requisitos.
Con cada lanzamiento, nos esforzamos por hacer esto más fácil que nunca, con nuevas funciones específicas de accesibilidad agregadas, errores de accesibilidad conocidos corregidos y mejoras continuas de nuestras propias estrategias de prueba, todo con el objetivo de proporcionar una herramienta con un fantástico desarrollador y usuario. experiencia para todos.
Monitoreo
SO Monitoring y logging brindan información sobre cómo los usuarios interactúan con su aplicación. Esta información puede ser indispensable para identificar intentos de piratería, problemas de rendimiento y errores de aplicación. Con Oracle APEX está cubierto, porque la supervisión y el registro ya están integrados.
Globalización
Entonces, la globalización es la capacidad de un marco de desarrollo para respaldar el desarrollo de aplicaciones que funcionan bien y correctamente en un entorno de múltiples idiomas y configuraciones regionales. Oracle APEX, diseñado teniendo en cuenta la globalización, incluye compatibilidad con la traducción de aplicaciones y la localización, es decir, la adaptación de una aplicación para admitir un idioma y una configuración regional específicos.
Interfaz de usuario
Universal Theme es una interfaz de usuario para Application Express que permite a los desarrolladores crear aplicaciones web modernas sin necesidad de un amplio conocimiento de HTML, CSS o JavaScript. Con algún conocimiento práctico de Application Express, puede usar Universal Theme para crear fácilmente una aplicación receptiva que sea altamente accesible, fácil de personalizar y fácil de mantener.
Supongo que hemos terminado con suficiente discusión, comencemos a hablar sobre cómo conseguirlo
Requisitos
Necesitaba lo siguiente para hacer el trabajo de instalación y configuración:
- Máquina Cantos 8 recién instalada
- 4 GB de RAM.
- CPU de 4 núcleos.
- 50 GB de espacio gratuito.
- 1 IP estática.
- Acceso gráfico en el servidor (si trabaja con ssh XAuthority como yo)
Antes de empezar
Instalación de la máquina
Instalé una máquina centos8 en la caja virtual con la IP 192.168.0.168 y el vértice del usuario. Haremos el resto del trabajo con el nombre de usuario apex &oracle (el usuario oracle se agregará más adelante en el interés de la instalación). El vértice del usuario tiene acceso administrativo a la máquina.
No se recomienda que utilicemos la raíz para fines de instalación.
Establecer el nombre de host
Estableceremos el nombre de host como ipamaster.unixcop.local. Obviamente, puede establecer su propio
hostnamectl set-hostname apex.unixcop.local
Permisivo de SELinux
Necesitamos configurar SELinux en modo Permisivo/Deshabilitado
Podemos hacerlo permanente o temporal cambiando la configuración situada en el /etc/selinux Directorio
Entrada al archivo de hosts
Tenemos que agregar la IP y el nombre de host al archivo /etc/hosts. En mi caso la IP es 192.168.0.168
Instalar servidor TomCat
Primero, tenemos que crear un usuario de tomcat, no proporcionaremos shell ya que no necesitamos el shell para ese usuario en particular
sudo useradd -s /bin/false tomcat
Ahora, necesitamos descargar el archivo, ejecute el siguiente comando
wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
Luego extraiga y mueva todos los archivos al directorio nativo de tomcat
tar xzf apache-tomcat-9.0.50.tar.gz
sudo mv apache-tomcat-9.0.50/* /opt/tomcat/
Además, establezca la propiedad adecuada de todos los archivos
sudo chown -R tomcat:tomcat /opt/tomcat/
Por lo tanto, Tomcat proporciona scripts bash para iniciar y detener el servicio. Pero, para hacerlo simple, cree un script de inicio para administrar Tomcat como servicio systemd. Vamos a crear un archivo tomcat.service con el siguiente contenido:
sudo vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Vuelva a cargar, habilite e inicie el servicio tomcat
sudo systemctl daemon-reload
sudo systemctl enable tomcat.service
sudo systemctl start tomcat.service
Instalar Oracle Application Express (APEX)
Descargue el software APEX desde este enlace https://www.oracle.com/tools/downloads/apex-downloads.html
Descomprima el software en su PC cliente si tiene la intención de instalarlo desde allí usando el cliente SQLPlus en su PC, o en el servidor de la base de datos si tiene la intención de instalarlo desde allí. Este último será más eficiente ya que reducirá el tráfico de red entre el cliente SQLPlus y el servidor de la base de datos.
Además, si no tiene SQLPlus, puede descargarlo desde aquí https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
He descargado e instalado el formulario OLM8 ya que estoy usando CentOS 8
Ahora cree un directorio para APEX
mkdir -p /opt/oracle/apex
Descomprima el APEX descargado aquí
unzip apex_21.*.zip -d /opt/oracle
Necesito cambiar el permiso como este
chown -R oracle:oinstall /opt/oracle/apex
Ahora, cree un archivo sql para permitir todas las ACL para APEX en el directorio APEX. Lo llamaremos apex_acl.sql .
BEGIN
BEGIN
dbms_network_acl_admin.drop_acl(acl => 'all-network-PUBLIC.xml');
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
dbms_network_acl_admin.create_acl(acl => 'all-network-PUBLIC.xml',
description => 'Allow all network traffic',
principal => 'PUBLIC',
is_grant => TRUE,
privilege => 'connect');
dbms_network_acl_admin.add_privilege(acl => 'all-network-PUBLIC.xml',
principal => 'PUBLIC',
is_grant => TRUE,
privilege => 'resolve');
dbms_network_acl_admin.assign_acl(acl => 'all-network-PUBLIC.xml',
host => '*');
END;
/
sho err
COMMIT;
/
Ahora conéctese a la base de datos conectable como sysdba. Ejecute el siguiente fragmento
cd /opt/oracle/apex
sqlplus /nolog
cambiar el rol
CONN sys@pdb1 AS SYSDBA
Ejecutar esto para instalar un entorno de desarrollo completo
@apexins.sql SYSAUX SYSAUX TEMP /i/
Crear administrador y configurar la contraseña
@apxchpwd.sql
Desbloqueo de usuario público
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "uN1xC0p!";
Configuración de servicios de datos REST
@apex_rest_config.sql
Ejecución de la configuración de ACL
@apex_acl.sql
Ahora nos desconectaremos de la base de datos.
exit
Copie los archivos estáticos de APEX en el directorio del servidor web. Se utilizarán para servir imágenes estáticas desde el proxy.
mkdir -p /var/www/apex/images
cp -a /opt/oracle/apex/images/. /var/www/apex/images
En este punto, hemos terminado de instalar el APEX
Instalar Oracle Rest Data Services (ORDS)
Descargue el archivo de instalación desde este enlace https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads.html
Descarga la última versión de este software
Al igual que APEX, cree un directorio para ORDS
mkdir -p /opt/oracle/ords
Descomprima el archivo en el directorio creado
unzip ords-21.*.zip -d /opt/oracle/ords
Ejecute el comando de configuración ORDS con el modo avanzado para ejecutar el proceso de instalación interactivo.
java -jar ords.war install advanced
Cuando se le solicite el directorio de configuración de ORDS, escriba config
.
Luego proporcione la información de conexión a su base de datos conectable XEPDB1
Una vez completada la configuración, los valores se guardan en opt/oracle/ords/config/ords/defaults.xml
expediente. Se puede modificar
El usuario de Tomcat debe tener acceso de lectura y escritura a la carpeta de configuración de ORDS
chown -R tomcat:tomcat /opt/oracle/ords/config
Copie el ords.war
en el Tomcat webapps
directorio para esto
Hemos terminado con ORDS también, ahora la configuración final con apache
Asignación de Apache httpd a ORDS
Agregue un httpd
personalizado archivo de configuración. Por defecto, cada .conf
archivo colocado en el etc/httpd/conf.d/
el directorio es leído por httpd
como un archivo de configuración adicional al principal /etc/httpd/conf/httpd.conf
archivo de configuración.
Cree el apex.conf
archivo en el etc/httpd/conf.d/
directorio con el contenido de la siguiente manera:
# forward ORDS tomcat
<VirtualHost *:80>
# uncomment the lines below if you plan to serve different domains
# on this web server, don't forget to change the domain name
# ServerName yourdomain.tld
# ServerAlias www.yourdomain.tld
# alias for APEX static files
Alias "/i" "/var/www/apex/images/"
# uncomment the line below if you want
# to redirect traffic to ORDS from root path
# RedirectMatch permanent "^/$" "/ords"
# proxy ORDS requests to tomcat
ProxyRequests off
<Location "/ords">
ProxyPass "ajp://unixcop:8009/ords"
ProxyPassReverse "ajp://unixcop:8009/ords"
</Location>
</VirtualHost>
Reinicie los servicios requeridos
systemctl restart httpd
systemctl restart tomcat
Ajustar las políticas del cortafuegos
firewall-cmd --permanent --add-service={http,https}
firewall-cmd --reload
Finalmente, es hora de acceder a su APEX desde el navegador
Vaya al navegador y presione http://apex.unixcop.local/ords
Después de iniciar sesión con las Credenciales ADMIN, obtendremos la Consola ADMIN de la siguiente manera
Es todo por hoy. Espero que este artículo te ayude a aprender algo nuevo. Comparta con sus amigos y si tiene alguna consulta, hágamelo saber en la sección de comentarios. ¡Que tengas un maravilloso día de aprendizaje!