| Mobilizzare un sito |
La mobilizzazione di un sito web, consiste nel far fruire lo stesso contenuto sui più device mobili, cercando di sfruttare al meglio le potenzialità del device che accetta. Catalogazione di sitiTecnologia adottataLa tecnologia con cui il sito è stata sviluppata potrebbe costituire un forte vincolo dell’applicativo che vogliamo utilizzare per la mobilizzazione. Per esempio se il sito è scritto in linguaggi interpretati come Perl,TCL, PHP la mobilizzazione può essere fatta utilizzando prodotti opensource ma che non hanno raggiunto una stabilità nel mondo mobile. .NET di Microsoft fornisce la soluzione .NET Mobile, il quale permette tramite il suo ambiente di sviluppo “Microsoft Visual Studio .NET” di sviluppare siti verso il mondo mobile. JAVA è l’ambiente di sviluppo sulla quale sono state sviluppate la maggior parte del software più avanzato, partendo dal Opensource (per es. Wurfl) a quelli proprietari (Mobileaware, Infogin, Volantis, etc. etc.). Questi oggetti in genere sono integrabili con i portalframework più in uso (struts, Vignette Application Portal, Bea Portal, Websphere etc. etc.) Macromedia sta sviluppando un Player Flash per device mobile (vedi allegato)
Architettura tecnologicaAnche questo aspetto è molto importante in quanto bisogna analizzare se si il sito da analizzare ha una fonte dati unica o più di una (VCM, DB, Ldap, Active Directory). Se adotta qualche sistema per la sicurezza (criptazione dei dati, cerificati digitali, otp etc.). Analisi dei contenutiLa navigazione di un sito che si vuole mobilizzare può essere un vincolo, se non un limite. L’uso per esempio di menu dinamici, di frame, mappe “cliccabili” sono esempi di oggetti non trasportabili in maniere automatica quindi necessitano di soluzioni custom. Inoltre bisogna analizzare se i contenuti provengono da un solo sito oppure da altri siti esterni (come avviene per www.i.tim.it). Individuazione dei contenuti/servizi che hanno senso ad essere mobilizzati, e una volta individuati cercare di farli raggiungere con pochi click per non rendere il servizio poco utilizzabile.
Vi sono molteplici aspetti del contesto di distribuzione capaci di influenzare quale rappresentazione di un contenuto web vada meglio trasmessa in risposta ad una richiesta. In questa sezione, suggeriamo un insieme di potenziali caratteristiche che potrebbero essere espresse nel contesto di distribuzione. Comunque, tale insieme è aperto, cosicché questo elenco è solo illustrativo.
Tecnologia per la mobilizzazionePremessa (fonte W3C)Vi sono già vari approcci per definire il contesto di distribuzione, o almento alcuni aspetti di esso. Del resto, il bisogno di negoziare quale versione di un documento debba essere inviato ad un utente è stato riconosciuto fin dai primi giorni del Web [HTTPneg]. In questa sezione sono esaminati i principali approcci che sono già in uso sul Web.
HTTP headersIl protocollo HTTP [HTTP] è alla base della trasmissione di informazione via Web. Esso definisce un numero di intestazioni di accettazione standard che possono essere utilizzate per far incontrare le capacità di un dispositivo richiedente (o, in particolare, il suo programma utente di navigazione) con l'informazione veicolata da un server di origine. Le intestazioni standard di HTTP 1.1 includono: Accept: i tipi di media (MIME types) accettati dal programma di navigazione Accept-Charset: i set di caratteri accettati dal programma di navigazione Accept-Encoding: la codifica (compressione) preferita dal programma di navigazione per la risposta Accept-Language: i linguaggi naturali preferiti dagli utenti In aggiunta alle intestazioni di accettazione , le intestazioni dei programmi di navigazione contengono usualmente una stringa che contiene informazioni circa il programma di navigazione stesso. Tipicamente essa include il nome del produttore, il numero di versione e il nome del programma. Per i dispositivo mobili essa include spesso informazioni sull'hardware del dispositivo e sul browser in uso. Non ci sono standard sul modo in cui queste informazioni sono costruite. Ciononostante, sofisticati algoritmi possono essere utilizzati per cercare di identificare il dispositivo o il browser utilizzato. L'adattamento del contenuto può quindi essere basato sulla conoscenza di queste capacità. Sebbene le intestazioni HTTP siano attualmente le informazioni sul contesto più diffusamente utilizzate, esse sono difficili da estendere e hanno (in particolare nel caso delle intestazioni dei programmi di navigazione) libere forme di espressione che sono difficili da interpretare. CC/PPIl W3C ha specificato una struttura di dati e un vocabolario esemplificativo per definire profili per la trasmissione di informazioni relative al contesto di distribuzione. L'attuale Composite Capabilities/Preferences Profile (CC/PP) [CCPP-struct-vocab] è basato sulla tecnologia XML Resource Description Framework (RDF) [RDF]. La struttura di CC/PP è indipendente dal vocabolario e consente di usare uno o più vocabolari che possono essere descritti opzionalmente utilizzando RDF Schema. Dal momento che CC/PP è indipendente dal vocabolario, esso consente che siano sviluppati differenti vocabolari dalle comunità coinvolte nella realizzazione di applicazioni, dispositivi e browsers. Esso, inoltre, permette la composizione dinamica di un profilo del contesto di distribuzione a partire da frammenti di informazioni sulle capacita che possono essere distribuiti in più di un punto sul web. CC/PP è l'approccio preferibile per comunicare informazioni sul contesto di distribuzione tra client, intermediari e server di origine. Esso è alla base di UAProf, che è attualemente utilizzato per esprimere le capacità di molti dispositivi mobili. Esistono numerose implementazioni [CCPP-implem] che elaborano i profili CC/PP, e vi è anche una definizione di interfaccia della Java Community per gli utilizzatori dei profili [JSR188]. La CC/PP Recommendation [CCPP-struct-vocab] offre una struttura e un vocabolario di esempio basato sulla versione di RDF corrente al momento del suo sviluppo. Ci si aspetta venga aggiornata con l'ultima revisione di RDF [RDF-concepts] e di RDF Schema [RDF-schema], e che sia estesa per includere il supporto per capacità asserite da intermediari come proxies e gateways. Ulteriore lavoro è inoltre richiesto per specificare un protocollo di scambio dei profili CC/PP, nonché per specificare come un profilo debba essere elaborato e usato all'interno un meccanismo per l'adattamento del contenuto.
UAProf La Open Mobile Alliance (OMA, in precedenza WAP Forum) ha definito lo User Agent Profile [UAProf] come implementazione di CC/PP per i terminali abilitati al WAP, realizzando una convergenza tra le tecnologie per il mobile web con quelle del Web. WAP 1.2.1 raccomanda il trasporto delle informazioni UAProf via Internet utilizzando lo HTTP Extension Framework [HTTPex] inizialemente suggerito per CC/PP [CCPP-exchange]. WAP definisce il protocollo WSP, che include una codifica compressa per usi tra il telefono e il gateway su Internet. A causa di mancanze di implementazioni di HTTPex, WAP 2.0 definisce quindi un'estensione di HTTP 1.1 come protocollo Internet (W-HTTP) che si avvale di intestazioni personalizzate. Il WAP Forum ha inoltre definito un vocabolario per UAProf, basato su CC/PP, che include le caratteristiche hardware e software cosi come le caratteristiche WAP del terminale mobile e le relative informazioni sulla rete di trasporto. Successivi aggiornamenti, a UAProf V2.0, da parte di OMA sono basati sulla definizione dell'ultima versione di RDF e di RDF Schema.
WurflWURFL , [WURFL], è un progetto opensource che offre una fonte di informazioni alternativa a UAProf. Esso cerca di fornire una comprensiva risorsa di informazioni sui dispositivi e contiente informazioni su circa 4500 varianti di dispositivi. Poiché WURFL è opensoucre, tutti possono correggere queste informazioni, non solo i produttori. WURFL possiede un proprio formato XML per la descrizione delle caratteristiche dei dispositivi. Media Queries Nelle raccomandazioni W3C, come CSS e HTML, il codice di stile può essere condizionato dal contesto di distribuzione facendo uso delle Media Queries [MQ]. Queste introducono un altro vocabolario per accedere alle caratteristiche dei dispositivi. Media Queries sono costruite sull'uso dei 'media types' così come definite CSS2 [CSS2], che consentono agli stili di essere subordinati ad un numero di denominate categorie di dispositivi: aurali, braille, embossed, palmari, stampanti, proiettori, schermi, mezzi a carattere di dimensione fissa e televisori. Nelle Media Queries, le caratteristiche dei dispositivi ('media features') possono essere interrogate e combinate utilizzando una ristretta sintassi. Lo stile usato per presentare un elemento HTML, XHTML o XML può perciò essere condizionale rispetto alle caratteristiche del dispositivo finale. Facendo uso della proprietà CSS 'display', è così possibile includere o escludere interi elementi dalla presentazione in funzione del dispositivo. In futuro, dovrebbe perciò essere possibile aggiungere uno stile dipendente dal dispositivo ad un contenuto che ne è indipendente, fino al punto in cui i tipi di media CSS e le caratteristiche dei media lo consentiranno. Come CSS, le Media Queries sono tipicamente elaborate direttamente dal programma di navigazione, in base al locale contesto di distribuzione. In ogni caso, esse possono anche essere pienamente o parzialmente elaborate dai server o da intermediari lungo il processo di risposta, in base ad informazioni sul contesto passate come parte della richiesta di un contenuto. Questo sottolinea il bisogno di un vocabolario da usare per le capacità dei dispositivi che corrisponda al vocabolario usato all'interno delle Media Queries.
SMILUn altro standard W3C, il Synchronized Multimedia Integration Language (SMIL) introduce un ulteriore vocabolario per accedere ad un limitato insieme di caratteristiche dei dispositivi. SMIL 2.0 [SMIL] è definito come un insieme di moduli di markup che possono essere integrati in specifici profili di lingaggio. In particolare, esso definisce un BasicContentControl Module che specifica determinate caratteristiche di sistema che possono essere utilizzate per controllare le presentazioni SMIL. Queste caratteristiche possono ricevere valori dinamici in accordo all'ambiente di esecuzione. Come le Media Queries, esse consentono ad un programma di navigazione che supporti le caratteristiche SMil dinamiche di accedere ad informazioni locali sul contesto di distribuzione. Le caratteristiche di test del sistema incluse come parte del BasicContentControl Module coprono le capacità associate alla presentazione dei contenuti, come le dimensioni dello schermo, la larghezza di banda, le intestazioni testuali e audio, così come caratteristiche relative al sistema come l'identità della CPU e del sistema operativo.
TCL, Perl e PHPPer questo tipo di tecnologia, che si basa su delle engine che in genere risiedono direttamente nel web server e quindi in una architettura basata a due strati (2-tier). Sono stati sviluppati dei moduli (per es. wall) che aiutano lo sviluppatore a implementare dei siti mobili, mettendo all’interno del codice comandi ad hoc. In genere i questi moduli si basano su tecnologia DTD (formattazione del xml), XML (per i contenuti) e XSLT (per il layout) che permette facilmente ad un utente esperto di gestire speratamene il contenuto dal layout.
.Net MobileE’ la tecnologia sviluppata da Microsoft che permette tramite la sua interfaccia di sviluppo, di implementare siti mobili, esso si basa su un “transformation engine” proprietario che a seconda del dispositivo che accede espone il contenuto più apropriati. Il framework net si comporta decentemente con quasi tutti i dispositivi (molto male , ovviamente si comporta in maniera egregia con i dispositivi mobili che utilizzano S.O. Microsoft. Non ha una base dati con i dispositivi mobili e quindi come soluzione si può adottare il WURFL, che tra l’altro fornisce già dei moduli .NET per l’accesso al suo xml (wurfl.xml). L’unico neo è che funziona solo su S.O. Microsoft. JavaQuesta tecnologia è ormai affermata a livello mondiale, ed ha come caratteristica di essere portabile su qualsiasi S.O. Le applicazioni girano su degli application server ormai consolidati Tomcat, Bea, WebSphere, JRun. L’approccio alla soluzione mobile sono differenti, vanno dati tag jsp proprietari (soluzione adottata per es. wall, mobileaware, volantis), renderizzazione dinamica di siti web (per es. infogin, cisco) alla soluzione XML, XSL (es. Cocoon, Oracle Mobile).
|
||||||
| Ultimo aggiornamento Venerdì 26 Novembre 2010 08:25 |






