La principale vocazione del Flex framework è quella di fornire un front-end per applicazioni Web. Se ci riferiamo al modello MVC, possiamo pensare di realizzare il controllo di flusso (controller) e l'interfaccia (View) con Flash e Flex e delegare l'astrazione e la persistenza dei dati (Model) ad altre tecnologie lato server come Java, PHP, ASP.NET o ColdFusion.
L'accesso ai dati, quindi, viene realizzato consumando web service messi a disposizione da un application server (le classiche RPC - Remote Procedure Call). In questo scenario la nostra applicazione Flash funge da Client, che effettua richieste asincrone verso servizi remoti. Per questo dobbiamo inviare le richieste e prevedere una o pià funzioni di callback che gestiscano gli eventi di ricezione dei dati.
I componenti
I componenti RPC lato client che gestiscono la richiesta sono gli HTTPService
, i WebService
e i RemoteObject
, i componenti Producer
e Consumer
.
I primi due componenti sono meno efficienti rispetto all'ultimo in quanto questi effettuano la richiesta, ed ottengono i dati in risposta in formato testuale. Gli altri componenti invece inviano e ricevono i dati in un formato binario proprietario detto AMF (ActionScript Message Format).
I dati ricevuti vengono poi riconosciuti come oggetti ActionScript e resi attraverso il binding. Flash Builder include dei wizard di connessione non solo ai WebService
, come nella versione precedente, ma anche agli HttpService
e RemoteObject
.
Inoltre è stato aggiunto un modulo che consente di creare, dato il componente, tutte le funzioni per il binding dei dati. È stato anche potenziato il modulo di creazione di form per l'invio e la ricezione dei dati.
È importante ricordare che gli esempi che faremo non tengono conto delle policy di sicurezza del Flash Player. In un caso reale il server al quale chiediamo i dati deve appartenere allo stesso domino dell'applicazione, oppure includere, sulla root del server Web, un file cross-domain.xml
opportunamente configurato. In alternativa si può utilizzare un proxy.