In questo articolo si introducono le funzionalità di accesso ai dati disponibili con la versione 2.0 del plugin, nel confronto di ciascuna modalità vengono evidenziate le rispettive peculiarità in modo da poter valutare la soluzione più adatta alle diverse esigenze che si riscontrano nella realizzazione di siti ed applicazioni web.

Introduzione

Silverlight è il plugin che porta il .NET Framework direttamente all'interno del browser ed è proprio nella sezione circoscritta della pagina che l'applicazione ha il proprio ambito di esecuzione in modo svincolato rispetto al webserver che ospita l'applicazione stessa.

Con questo principio di progettazione è stato scelto di limitare l'accesso diretto da parte del plugin con risorse come i database soprattutto per mantenere un alto livello di sicurezza, in questo specifico scenario l'interazione con la base dati può avvenire attraverso Web Services SOAP o REST oppure attraverso Socket per uno scambio di dati in tempo reale.

Le informazioni che possono essere introdotte, manipolate o semplicemente consultate dagli utenti sono una delle parti vitali delle applicazioni; genericamente chiamate "dati", oltre ad essere fondamentale il loro corretto immagazzinamento, è molto importante che siano curati i processi di accesso e manipolazione in modo da non trascurare i principi di integrità, di prestazione e di sicurezza.

Come per ogni altro tipo di progetto anche in un semplice sito web creato in Silverlight la base dati può ricoprire un ruolo importante per la raccolta di quelle informazioni utili alla costruzione dell'interfaccia grafica; l'architettura stessa del plugin ed anche la natura XML del linguaggio XAML si prestano perfettamente alla progettazione di layout flessibili e adattabili ad informazioni non cablate nell'applicazione stessa.

Con l'onere di una gestione remota delle informazioni si possono creare progetti facilmente personalizzabili a seconda delle esigenze del cliente sia in fase di sviluppo che dopo la pubblicazione dello stesso mettendo le basi per una gestione semi-autonoma che apporta in questo modo un valore aggiunto anche ad una applicazione RIA ad alto impatto estetico-funzionale.

Tale gestione spesso si rende necessaria per ammortizzare i tempi d'intervento rendendo più agevole la modifica di quelle sezioni sulle quali, com'è noto, il cliente corregge spesso i contenuti del proprio progetto prima ancora della pubblicazione.

Per realizzare progetti di questo tipo in Silverlight si hanno a disposizione strumenti semplici ma altrettanto potenti basati principalmente sulla rappresentazione XML dei dati e sulla loro manipolazione, spicca tra questi LINQ to XML.

Accesso diretto ai file

L'approccio più semplice che può essere fatto per astrarre l'interfaccia dai dati è fare in modo che queste informazioni siano gestite in file XML.
Prendendo ad esempio la costruzione di un semplice elenco di hyperlink il cui numero, url e testo siano variabili in funzione del contenuto di una risorsa esterna, questa potrebbe essere così strutturata:

<?xml version="1.0" encoding="utf-8" ?>
<menu location="xap">
  <item id="1">
    <text>ASPItalia.com</text>
    <fontSize>32</fontSize>
    <foreground>#FF0000FF</foreground>
    <url>http://www.aspitalia.com</url>
    <target>_blank</target>
  </item>
  <item id="2">
    <text>WinFxItalia.com</text>
    <fontSize>22</fontSize>
    <foreground>#FFFF0000</foreground>
    <url>http://www.winfxitalia.com</url>
    <target>_blank</target>
  </item>
  <item id="3">
    <text>LINQItalia.com</text>
    <fontSize>22</fontSize>
    <foreground>#FF9933CC</foreground>
    <url>http://www.linqitalia.com</url>
    <target>_blank</target>
  </item>
  <item id="4">
    <text>SilverlightItalia.com</text>
    <fontSize>22</fontSize>
    <foreground>#FF333333</foreground>
    <url>http://www.silverlightitalia.com</url>
    <target>_blank</target>
  </item>
</menu>

In questo esempio il file XML ha una struttura personalizzata che può essere progettata pensando ad una rappresentazione ad oggetti nel quale ogni nodo contiene un'informazione ben precisa.
Il nodo menu indica l'oggetto che vogliamo realizzare e contiene gli elementi item che rappresentano le singole voci che diventeranno dei link; all'interno degli item i nodi text, url e target contengono quelle informazioni utili per i collegamenti stessi.

6 pagine in totale: 1 2 3 4 5 6

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti