Oracle Application Express è una piattaforma di sviluppo low-code che ti consente di creare app aziendali scalabili e sicure, con funzionalità di prim'ordine, che possono essere distribuite letteralmente ovunque.
Inoltre è un ambiente di sviluppo integrato (IDE) proprietario basato sul Web sviluppato da Oracle Corporation per la creazione e la gestione di database Oracle e altre funzionalità di database correlate. Inoltre, With it gli sviluppatori possono sviluppare e distribuire rapidamente app accattivanti che risolvono problemi reali e forniscono valore immediato, anche se non è necessario essere esperti in una vasta gamma di tecnologie per fornire soluzioni sofisticate.
Discuteremo dell'architettura, una panoramica dell'interconnessione totale APEX e ORDS e ovviamente ci occuperemo! Quindi iniziamo prima con l'architettura
Architettura
Quindi è un'architettura a tre livelli in cui le richieste vengono inviate dal browser, tramite un server Web, al database.
Anche tutte le elaborazioni, le manipolazioni dei dati e le logiche di business eseguite nel database. Questa architettura garantisce accesso ai dati a latenza zero, massime prestazioni e scalabilità, pronta all'uso.
Quindi una richiesta Web dal browser Web inviata a Oracle REST Data Services (ORDS) dove è stata consegnata a Oracle Database da_essere messa all'asta. All'interno del database, la richiesta elaborata da Oracle APEX. Una volta completata l'elaborazione, il risultato rispedito tramite ORDS al browser.
Caratteristiche
Inoltre APEX ti aiuta a creare app migliori prendendoti cura di questi sei aspetti dello sviluppo delle applicazioni
Dati
Oracle APEX si impegna a semplificare il più possibile la visualizzazione, la manipolazione, la creazione di grafici e l'elaborazione dei dati nel modo più semplice ed efficiente possibile. Indipendentemente dalla provenienza dei tuoi dati, da un database locale, da un database remoto o da un servizio Web, Oracle APEX offre funzionalità all'avanguardia per aiutarti a trasformare i dati in informazioni.
Sicurezza
Anche Oracle APEX è progettato per creare app Web altamente sicure immediatamente.
Inoltre, in un mondo in cui gli standard Web cambiano costantemente e gli aggressori sempre più pieni di risorse trovano nuovi modi per hackerare i siti, la nostra attenzione alla sicurezza significa che le tue applicazioni rimangono protette.
Accessibilità
Inoltre Oracle APEX è progettato per rendere il più semplice possibile per gli sviluppatori la creazione di app Web altamente accessibili, che forniscono un'esperienza utente inclusiva per utenti con abilità e requisiti diversi.
Con ogni versione, ci sforziamo di renderlo più facile che mai, con l'aggiunta di nuove funzionalità specifiche per l'accessibilità, bug di accessibilità noti risolti e il miglioramento continuo delle nostre strategie di test, il tutto con l'obiettivo di fornire uno strumento con uno sviluppatore e un utente fantastici esperienza per tutti.
Monitoraggio
Il monitoraggio e la registrazione di SO forniscono informazioni dettagliate su come gli utenti interagiscono con la tua applicazione. Queste informazioni possono essere indispensabili per identificare tentativi di hacking, problemi di prestazioni ed errori dell'applicazione. Con Oracle APEX hai coperto, perché il monitoraggio e l'accesso sono già integrati.
Globalizzazione
Quindi la globalizzazione è la capacità di un framework di sviluppo di supportare lo sviluppo di applicazioni che funzionano bene e correttamente in un ambiente multilingua e locale. Oracle APEX progettato pensando alla globalizzazione, include il supporto per la traduzione delle applicazioni e la localizzazione, ovvero l'adattamento di un'applicazione per supportare una lingua e una locale specifiche.
Interfaccia utente
Universal Theme è un'interfaccia utente per Application Express che consente agli sviluppatori di creare applicazioni Web moderne senza richiedere una conoscenza approfondita di HTML, CSS o JavaScript. Con una certa conoscenza pratica di Application Express, puoi utilizzare Universal Theme per creare facilmente un'applicazione reattiva altamente accessibile, facilmente personalizzabile e di facile manutenzione.
Finita una discussione sufficiente, immagino, iniziamo a parlare di come ottenerla
Requisiti
Avevo bisogno delle seguenti cose per eseguire il lavoro di installazione e configurazione:
- Macchina Cantos 8 appena installata
- 4 GB di RAM.
- CPU a 4 core.
- 50 GB di spazio libero.
- 1 IP statico.
- Accesso grafico al server (se lavori con ssh XAuthority come me)
Prima di iniziare
Installazione macchina
Ho installato una macchina centos8 sulla scatola virtuale con IP 192.168.0.168 e apex utente. Faremo il resto del lavoro con il nome utente apex e oracle (l'utente oracle verrà aggiunto in seguito all'interesse dell'installazione). L'utente apex ha accesso amministrativo alla macchina.
Non è consigliabile utilizzare root ai fini dell'installazione.
Imposta il nome host
Imposteremo il nome host come ipamaster.unixcop.local. Ovviamente puoi impostare il tuo
hostnamectl set-hostname apex.unixcop.local
SELinux Permissive
Abbiamo bisogno di impostare SELinux come modalità Permissive/Disabled
Possiamo renderlo permanente o temporaneo modificando la configurazione situata in /etc/selinux Directory
Entra nel file hosts
Dobbiamo aggiungere l'IP e il nome host al file /etc/hosts. Nel mio caso, l'IP è 192.168.0.168
Installa il server TomCat
Innanzitutto, dobbiamo creare un utente Tomcat, non forniremo alcuna shell poiché non abbiamo bisogno della shell per quel particolare utente
sudo useradd -s /bin/false tomcat
Ora dobbiamo scaricare l'archivio, eseguire il seguente comando
wget https://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.50/bin/apache-tomcat-9.0.50.tar.gz
Quindi estrai e sposta tutti i file nella directory nativa di Tomcat
tar xzf apache-tomcat-9.0.50.tar.gz
sudo mv apache-tomcat-9.0.50/* /opt/tomcat/
Inoltre, imposta la proprietà corretta di tutti i file
sudo chown -R tomcat:tomcat /opt/tomcat/
Quindi Tomcat fornisce script bash per avviare e interrompere il servizio. Ma, per semplificare, crea uno script di avvio per gestire Tomcat come servizio systemd. Creiamo un file tomcat.service con il seguente contenuto:
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
Ricarica, abilita e avvia il servizio Tomcat
sudo systemctl daemon-reload
sudo systemctl enable tomcat.service
sudo systemctl start tomcat.service
Installa Oracle Application Express (APEX)
Scarica il software APEX da questo link https://www.oracle.com/tools/downloads/apex-downloads.html
Decomprimi il software sul tuo PC client se intendi installarlo da lì utilizzando il client SQLPlus sul tuo PC o sul server database se intendi installarlo da lì. Quest'ultimo sarà più efficiente poiché ridurrai il traffico di rete tra il client SQLPlus e il server del database.
Inoltre, se non hai SQLPlus; puoi scaricarlo da qui https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
Ho scaricato e installato il modulo OLM8 poiché sto utilizzando CentOS 8
Ora crea una directory per APEX
mkdir -p /opt/oracle/apex
Decomprimi qui l'APEX scaricato
unzip apex_21.*.zip -d /opt/oracle
È necessario modificare l'autorizzazione in questo modo
chown -R oracle:oinstall /opt/oracle/apex
Ora, crea un file sql ACL per APEX consentito nella directory APEX. Lo chiameremo 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;
/
Ora connettiti al database collegabile come sysdba. Esegui il seguente snippet
cd /opt/oracle/apex
sqlplus /nolog
Cambia il ruolo
CONN sys@pdb1 AS SYSDBA
Eseguendo questo per installare un ambiente di sviluppo completo
@apexins.sql SYSAUX SYSAUX TEMP /i/
Creazione dell'amministratore e impostazione della password
@apxchpwd.sql
Sblocco utente pubblico
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY "uN1xC0p!";
Configurazione dei servizi dati REST
@apex_rest_config.sql
Esecuzione della configurazione dell'ACL
@apex_acl.sql
Ora ci disconnetteremo dal database
exit
Copia i file statici APEX nella directory del server web. Saranno utilizzati per pubblicare immagini statiche dal proxy.
mkdir -p /var/www/apex/images
cp -a /opt/oracle/apex/images/. /var/www/apex/images
A questo punto, abbiamo terminato l'installazione di APEX
Installa Oracle Rest Data Services (ORDS)
Scarica il file di installazione da questo link https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads.html
Scarica l'ultima versione di questo software
Come APEX, crea una directory per ORDS
mkdir -p /opt/oracle/ords
Decomprimi il file nella directory creata
unzip ords-21.*.zip -d /opt/oracle/ords
Eseguire il comando di configurazione ORDS con la modalità avanzata per eseguire il processo di installazione interattivo.
java -jar ords.war install advanced
Quando viene richiesta la directory di configurazione ORDS, digitare config
.
Quindi fornisci le informazioni di connessione al tuo database collegabile XEPDB1
Al termine della configurazione, i valori vengono salvati in opt/oracle/ords/config/ords/defaults.xml
file. Può essere modificato
L'utente Tomcat deve avere accesso in lettura e scrittura alla cartella di configurazione ORDS
chown -R tomcat:tomcat /opt/oracle/ords/config
Copia il ords.war
nel Tomcat webapps
directory per questo
Abbiamo finito anche con ORDS, ora configurazione finale con apache
Mappatura di Apache da httpd a ORDS
Aggiungi un httpd
personalizzato file di configurazione. Per impostazione predefinita, ogni .conf
file inserito in etc/httpd/conf.d/
la directory viene letta da httpd
come file di configurazione aggiuntivo al /etc/httpd/conf/httpd.conf
principale file di configurazione.
Crea il apex.conf
nel file etc/httpd/conf.d/
directory con il contenuto come segue:
# 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>
Riavvia i servizi richiesti
systemctl restart httpd
systemctl restart tomcat
Modifica le politiche del firewall
firewall-cmd --permanent --add-service={http,https}
firewall-cmd --reload
Infine, è il momento di accedere al tuo APEX dal browser
Vai al browser e clicca su http://apex.unixcop.local/ords
Dopo aver effettuato l'accesso con le credenziali ADMIN, otterremo la Console ADMIN come segue
Questo è tutto per oggi. Spero che questo articolo ti aiuti a imparare una cosa nuova. Condividi con i tuoi amici e se hai domande fammi sapere nella sezione commenti. Buona giornata di apprendimento!