Oracle Application Express: differenze tra le versioni

framework sviluppato da Oracle pensato per lo sviluppo di siti web data-oriented
Contenuto cancellato Contenuto aggiunto
formattazione del codice
(Nessuna differenza)

Versione delle 15:38, 16 ago 2018

Apex è un linguaggio OOP(programmazione orientata ad oggetti) per sviluppo rapido di applicazioni web, il suo acronimo vuol dire Applicazioni Express o più precisamente Oracle Application Express il che sta ad indicare il tipo di sviluppo veloce e il nome della casa che lo ha messo in circolazione infatti la Oracle ha creato questo insieme di tecnologie libere e messo a disposizione dell’utente. Esso permette la transazione ed il flusso di istruzioni di controllo sul server Sales Force(Tecnologie Cloud di San Francisco USA), e contemporaneamente chiamate alle API del linguaggio.

Il codice Apex può essere inizializzato con web service request e triggers su object. Nel CRM(gestionale di relazioni con cliente) di Sales Force è usato questo linguaggio per lo sviluppo facile di applicazioni web utili a persone come i business man che necessitano di un backend per il management dei loro clienti ad esempio. Ipotizzando che io sia un business man e voglia scrivere in Apex la mia interfaccia web di gestionale posso usare l’account sales force e dopo avermi loggato giungere dalla voce del mio nome e cliccare su Develop Console. Se invece mi piace usare eclipse posso tranquillamente aggiungere il plugin Ide Force.com e accedere con il mio account per scrivere il codice dell’app e farne il deploy su sales force. La sintassi di Apex è molto simile al java, in apex puoi creare tutto quello che è elencato di seguito:

  • creare web service.
  • creare email service.
  • sviluppare validazioni complesse su oggetti multipli.
  • creare complessi processi di business non supportati dal flusso di lavoro.
  • creare transazioni logiche per client e non solo record o oggetti ma intere transaction.
  • Allegare logica cliente ad altre operazioni come ad esempio il salvataggio di record cosi da accurare l’operazione eseguita indipendentemente se su l’interfaccia utente, la pagina sales force o dal SOAP API.

La piattaforma Lightning è un framework su server che permette la compilazione, memorizzazione ed esecuzione di codice Apex come nello schema di seguito riportato: I dati primitivi usati dal linguaggio sono i seguenti:

  • Blob: collezione di dati binari salvati in un solo oggetto. Puoi trasformare questo tipo a String e viceversa.
  • Boolean: true o false valore su singolo bit che descrive una condizione booleana.
  • Decimal: numero decimale con punto.
  • Double: Numero con la virgola a 64 bit.
  • Id:ogni insieme di caratteri di lunghezza 18, se la lunghezza è inferiore viene portato a 18.
  • Integer: intero a 32 bit.
  • Long: intero su 64 bit.
  • Date: formato data.
  • Datetime: formato data e tempo.
  • Object.
  • String.

Ora Andiamo a vedere un esempio per comprendere meglio I semplici concetti visti sopra:

//sintassi dichiarazione classe

public class myFirstClassApex{

Double weight = 84.90;

Integer age = 37;

Boolean married = false;

String name = “Generoso”;

Integer idPearson = 123;

}

Troviamo in Apex le collezioni di oggetti seguenti:

List (collezione)

List<Integer> distance = new List<Integer>();

//operazioni basiche add, get, set, clear l’accesso avviene con indice…

Esempio:

distance.add(100);

distance.get(0);

distance.set(0,200);

distance.clear();

//cancella tutto

distance.sort();

// ordinamento

Set (Collezione)

Set<Double> setdistance = new Set<Double>();

// non ammette duplicati le operazioni sono add, remove ecc..

Map (Collezione)

Map<Id,String> myMap = new Map<Id,String>();

//è una coppia chiave valore

La mappa puo essere inizializzata nel seguente modo:

Map<String,String> myMap = new Map<String,String>{ ‘name’=>’Generoso’,’Matter’ => ‘Apex programming’ }

Le operazioni principali sono get e put come nel seguente esempio:

myMap.put(‘job’,’employee’);

myMap.get(‘job’);

I costrutti decisionali sono:

{if-else} , {switch}.

if(condizione booleana è true){

esecuzione di una lista di statements;

}else{ lista ancora di actions; }

Ad esempio se mia moglie è incinta io voglio festeggiare altrimenti voglio solo bere vino:

//my_wife _state è una stringa.

if(my_wife_state == 'pregnant')

{word = "urrà Andiamo al mio pub preferito!";}

else{word = "Noo cavolo dammi la mia bottiglia di vino!";}

System.debug(word);

Per sviluppare nel linguaggio abbiamo poi necessità dei costrutti iterativi che sono:

  • while
  • Do-While
  • For

Esempio for:

for(int counter = 0; couter < distance.size(); counter++)

System.debug(distance.get(counter));

//while

Integer counter = 0;

while(counter < distance.size())

{

System.debug(distance.get(counter));

counter++;

}

//do while

Integer counter = 0;

do{

System.debug(distance.get(counter));

counter++;

}

while(counter < distance.size());

Nel linguaggio Apex esistono le classi(I tipi) i trigger(una o più actions generate a seguito di un evento, ad esempio l’inserimento di un record e queste actions possono essere eseguite prima o dopo l’inserimento. Troviamo i tipi primitivi(Integer, Double ecc…).

Per definire variabili e costanti, abbiamo il contesto statico legato alla classe e molto altro.

La Potenza di questo linguaggio risiede nella possibilità di compilare , salvare e eseguire tutto on cloud su server Sales force, esso quindi non richiede spazio in memoria ne installazioni di software oltre al grande beneficio che permette la costruzione di applicazioni con connessione nativa ai database della Oracle che si concretizza con invocazione diretta di script sql o soql. Per esempio le query Select per leggere nel database i campi della tabella persone è cosi:

pearson[] pearsons = [SELECT * FROM pearson];

//aray di oggetti del tipo pearson.