MasterNewMedia Italia
Scopri i migliori tool per comunicare,
collaborare e fare marketing
   
Curated by: Luigi Canali De Rossi
 


31 agosto 2007

Mashups: Cosa Sono? Aspetti Tecnici E Sociali - Parte 2

I mashup sono davvero insidiosi a livello tecnico ed ecco spiegato perchè molti appasionati di tecnologia se ne occupano. La sfida nel trovare nuove soluzioni a "vecchi" problemi tecnici, "inventando" al contempo nuovi modi per mixare e combinare risorse e strumenti, è senza dubbio un elemento di motivazione non da poco per qualsiasi sviluppatore sulla faccia della terra.

Turntable_pizza_animation.gif

Photo mashup di Robin e Nico Good - photo credit originali - turntable / Dolphin Music - pizza / Palatino join-us

In questa seconda parte (qui c'è la prima) di questa guida ai Mashup di Duane Merrill, ci focalizzeremo sulle "Sfide Tecniche" e gli "Aspetti Sociali" di questo ambiente estremamente dinamico ed in forte evoluzione.

Ti verrà descritto cosa cercare, ed inoltre saranno esaminate e spiegate in maniera semplice, ma comunque tecnicamente competente, le tipiche sfide tecniche e gli ovvi colli di bottiglia. Ottime considerazioni relative all'accessibilità, SEO, sicurezza e altre problematiche sono sempre sottovalutate durante le fasi iniziali di qualsiasi progetto.

Gli aspetti sociali sono degni di altrettanta attenzione nella creazione di mashup online, e in particolare è importante il tradeoff fra la protezione della prorietà intellettuale e la privacy contro il fair-use e libero flusso di informazioni.

Come sempre, qualora vi siano parole o terminologie con cui non hai familiarità, ti fornirò dei link di modo tale da non farti brancolare nel buio affrontando questa lettura.

Quindi non scoraggiarti e segui con me quest'analisi davvero illuminata di Duane Merrill:

Introduzione di Robin Good

 

Sun-Mashup-Banner-350.jpg

Photo credit: Sun - The Big Mashup

Mashup: La New Generation Di Web App - Parte 2

Sfide Tecniche

mashup-matrix-web2mat.gif

Mashup matrix - Photo credit: Vincent Thomé's blog

Come ogni altro campo di integrazione dei dati, lo sviluppo dei mashup è pieno di sfide tecniche che devono essere affrontate, specialmente quando un mashup diventa più ricco di funzionalità e di caratteristiche.

Questa sezione descrive queste sfide, alcune delle quali possono essere risolte totalmente o parzialmente, mentre altre rimangono insolute.

Le Sfide Relative All'Integrazione Dei Dati: Significato Semantico e Qualità Dei Dati

Esami qualitativi suggeriscono che il problema numero uno per l'enterprise IT riguarda l'integrazione dei dati all'interno dell'organizzazione virtuale enterprise. (In tale contesto, utilizzo il termine organizzazione virtuale per indicare un insieme di business unit con un ordine assimilabile ad una federazione, ognuna delle quali contenuta nel relativo campo amministrativo.)

Come molti manager IT enterprise che si trovano a dover integrare fonti di legacy data (per esempio, creare una corporate dashboard che rifletta le correnti condizioni di business), gli sviluppatori di mashup debbono affrontare sfide simili nell'estrapolare significati semantici condivisi tra insiemi di dati eterogenei. Pertanto, giusto per darti un'idea di ciò che gli sviluppatori di mashup hanno in serbo, basta immaginare quali sfide debbano affrontare le aziende IT.

Per esempio, sistemi di conversione di modelli di dati che debbono essere progettati.

Quando trasformi dati nelle forme comuni, devono sempre essere fatte assunzioni ragionevoli qualora il mapping a tua disposizione non sia completo (per esempio, una fonte di dati potrebbe avere un modello nel quale per descrivere un indirizzo è valorizzato anche il campo della nazione, mentre in un altro non è valorizzato). Come se già ciò non rappresentasse una sfida, viene resa ancor più difficile dal fatto che gli sviluppatori di mashup potrebbero non essere esperti nel campo dei modelli delle fonti di dati che vogliono mashare in quanto i dati potrebbero essere di terzi; quindi queste assunzioni ragionevoli potrebbero essere non così intuitive o chiare.

Oltre a dati mancanti o mapping incompleti, i produttori di mashup potrebbero scoprire che i dati che vogliono integrare non siano adeguati per i computer; quindi avranno bisogno di essere trattarli opportunamente.

Per esempio, rinforzare delle regole per arrestare dei record di dati potrebbe essere inefficace, utilizzando abbreviazioni comuni per i nomi (come "pz d mrc" in un record e "Piazza Del Mercato" nell'altro), rendendo l'elaborazione automatica sull'uguaglianza altrettanto difficoltosa, perfino facendo uso di una buona dose di euristica.

Le tecnologie di modellazione semantica, come i RDF, possono aiutare a facilitare la risoluzione dell'elaborazione automatica in presenza di insiemi di dati dissimili, dato che tale funzionalità è già inclusa nel data-store.

Le fonti di legacy data probabilmente richiedono maggiore sforzo umano in termini di analisi e di bonifica dei dati, prima di poterle sfruttare con le tecnologie di modellazione semantica.

Gli sviluppatori di mashup potrebbero dover affrontare anche varie problematiche che gli IT manager dell'integrazione potrebbero non fronteggiare, una delle quali è l'inquinamento dei dati.

Come parte del design delle loro applicazioni, molti mashup richiedono l'input degli utenti che li usano. Come evidenziato nel campo applicativo dei wiki, si tratta di un'arma a doppio taglio dato che:

a) può essere abbastanza potente poichè permette un libero contributo e la miglior razza di evoluzione dei dati,

b) può essere soggetta ad un inserimento dei dati inconsistente, non corretto, o volutamente fuorviante.

Quest'ultima ipotesi può far nascere dubbi sull'affidabilità dei dati, il che può portare a compromettere il valore fornito dai mashup.

Un'altra serie di problematiche concernenti l'integrazione che gli sviluppatori devono affrontare sorge quando debbono essere utilizzate tecniche di screen scraping per acquisire i dati.

Come già ho avuto modo di dire nella prima parte del mio report, questa tipologia di acquisizione dati richiede sforzi non indifferenti di reverse-engineering. Anche nei casi migliori, quando si riescono a creare questi modelli e strumenti che funzionano, si è sempre alla mercè di come il sito fonte dei dati presenta i suoi contenuti (se non nei casi in cui proprio viene abbandonato o superato) per evitare questo processo di integrazione; ciò può provocare il fallimento nel funzionamento del mashup.

Gli Ingredienti Delle Sfide

Il modello Ajax per lo sviluppo Web riesce a fornire una user experience più ricca e fluida, visto che non è necessario ogni volta ricaricare tutta una pagina web, ma pone comunque alcune difficoltà.

Secondo i principi stessi su cui è basato, Ajax richiede che l'utilizzo delle capacità di scripting lato client del browser sia abbinato al suo DOM per raggiungere un metodo di distribuzione dei dati che non è stato completamente previsto da che ha progettato il designer del browser. (Forse questa natura assimilabile all'hacking conferisce ad Ajax ancor più appeal.) Comunque, queste applicazioni basate su Ajax sono soggette alle stesse problematiche di compatibilità a livello browser che hanno afflitto i web designer da quando Microsoft ha creato Internet Explorer.

Per esempio, le engine Ajax fanno uso dell'oggetto XMLHttpRequest per scambiare dati in modalità asincrona con i server remoti. In Internet Explorer 6, questo oggetto è implementato tramite ActiveX piuttosto che utilizzare JavaScript nativo, il che richiede che ActiveX sia attivato.

Un requisito ancor più fondamentale vuole che Ajax richieda JavaScript attivo nel browser dell'utente. Ciò potrebbe essere un ragionevole assunto per la maggior parte della popolazione, ma vi sono alcuni utenti che usano browser o strumenti automatici che non supportano Java oppure lo hanno disattivato. Fra questi tipi di strumenti ci sono anche i robot, gli spider, e i Web crawler che aggregano informazioni per i motori di ricerca Internet e intranet. Senza l'opportuna progettazione in questo senso, i mashup basati su Ajax potrebbero soffrire da un lato di una limitata base di utenti e dall'altro di poca visibilità agli occhi dei motori di ricerca.

L'uso di JavaScript per aggiornare in maniera asincrona i contenuti delle pagine potrebbe comportare anche problematiche a livello di interfaccia utente.

A causa del fatto che al contenuto non corrisponde più una URL specifica nella barra degli indirizzi dell'utente, gli utenti potrebbero sorprendersi se vi sono cose che non funzionano normalmente, vedi il pulsante INDIETRO del loro browser o l'impossibilità di aggiungere una determinata pagina tra i PREFERITI. E, anche se Ajax può ridurre l'attesa richiedendo aggiornamenti dei contenuti molto velocemente, un design cattivo potrebbe limitare la user experience, come quando la granularità degli aggiornamenti è abbastanza inferiore rispetto alla quantità e un sovraccarico di aggiornamenti va a saturare le risorse disponibili.

Inoltre, bisogna continuare a tenere viva l'attenzione dell'utente (per esempio fornendogli un feedback visuale come una barra di avanzamento) mentre l'interfaccia viene caricata o il contenuto aggiornato.

Come in qualsiasi altra applicazione distribuita e che sfrutta più domini, gli sviluppatori di mashup e i fornitori di contenuti debbono anche affrontare tematiche relative alla sicurezza.

La nozione di identità può dimostrare di essere un aspetto spinoso, dato che il Web tradizionale è principalmente costruito per un accesso asincrono.

Single-signon è una funzionalità desiderabile, ma c'è una moltitudine di tecnologie in competizione (che spaziano da Microsoft Passport a Liberty Alliance), creando così dei namespace diversi per identificare le persone che dovranno essere integrati.

I content provider probabilmente impiegheranno degli schemi di autenticazione ed autorizzazione (che richiedono la nozione di identità sicura e attributi identificabili in maniera sicura) nelle loro API per fare in modo che i loro modelli di business includano sottoscrizioni a pagamento o sensibili ai dati.

E' anche possibile che i dati sensibili richiedano la riservatezza (vale a dire che dovranno essere criptati), e dovrai fare moltissima attenzione quando li mischierai con altre fonti per non metterli a rischio.

L'identità diventerà cruciale per le verifiche contabili e regolamentari. In aggiunta, dato che l'integrazione dei dati avviene sia sul lato server sia sul client, fornire delle credenziali dell'identità dell'utente al servizio di mashup potrebbe diventare un requisito essenziale.

Aspetti Sociali

mashup-radi-echoditto.png

In aggiunta alle sfide tecniche appena descritte, le problematiche sociali iniziano (o inizieranno) a sorgere non appena i mashup diverranno più popolari.

Una delle principali problematiche che dovranno affrontare gli sviluppatori di mashup è il tradeoff fra la protezione della prorietà intellettuale e la privacy contro il fair-use e libero flusso di informazioni.

Non solo i content provider inconsapevoli (bersaglio di screen scraping), ma anche i content provider che rendono pubbliche le loro API per facilitare l'estrapolazione dei dati potrebbero vedere che i loro contenuti sono utilizzati in una maniera che non approvano.

(Per maggiori informazioni sulla regolamentazione ed aggregazione Web, consulta a fine articolo la sezione Approfondimenti e Risorse.)

Il genere delle applicazioni mashup Web è ancora nella sua fase primordiale, con sviluppatori hobbysti che producono vari mashup nel loro tempo libero.

Tali sviluppatori potrebbero non essere consapevoli (o preoccupati) delle tematiche relative alla sicurezza. Inoltre, i content provider stanno solo iniziando a vedere il valore dell'aver reso pubbliche le API affinché i loro contenuti siano accessibili dagli elaboratori di dati, e molti non considerano questo un core business su cui focalizzarsi. Questa combinazione potrebbe produrre software di scarsa qualità, dato che fattori prioritari come assicurare una qualità e un testing opportuni non debbono essere messe dietro all'innovazione e al proof-of-concept.

La community intera deve lavorare assieme per assemblare degli standard aperti e dei toolkit riutilizzabili in modo da facilitare dei processi di sviluppo software maturi.

Prima che i mashup possano passare dall'essere semplici giocattoli a sofisticate applicazioni, molto lavoro dovrà essere fatto nel costruire robusti standard, nonché protocolli, modelli e toolkit.

Affinché questo accada, le principali industrie leader dello sviluppo software, i content provider, e gli imprenditori dovranno comprendere il valore dei mashup e trovare di conseguenza dei modelli di business percorribili.

I fornitori di API dovranno determinare se far pagare per i loro contenuti o meno, e anche come (per esempio, tramite abbonamenti o per quantità di usi del servizio). Forse fornendo vari livelli di qualità di servizio.

Alcuni marketplace provider, come eBay o Amazon, potrebbero scoprire che il libero uso delle loro API incrementerebbe i movimenti dei prodotti.

Gli sviluppatori di mashup potrebbero sfruttare un modello di revenue basato sugli annunci pubblicitari, o forse costruire dei mashup interessanti con l'obbiettivo di venderli.

Fine della Parte 2

Parte 1 - Mashups: Cosa Sono - Generi E Tecnologie Utilizzate - Parte 1

Versione italiana a cura di Martinelli Mirco - per un feedback editoriale scrivi a Robin.Good[at]masternewmedia.org

Purtroppo le risorse qui sotto sono disponibili solo in lingua inglese; sarei molto felice di aggiornare questo articolo con i tuoi suggerimenti e commenti sulle risorse equivalenti presenti sul web nella nostra lingua.




Risorse ed Approfondimenti

Dove Imparare


Dove trovare prodotti e tecnologie


Discuti



L'Autore

Duane Merrill sviluppa da oltre 5 anni piattaforme per l'integrazione distribuita dei dati e per il grid computing. Ha contribuito al Legion Project dell'Università della Virginia ed è uno sviluppatore centrale presso la Avaki Corporation dei prodotti di questa azienda nel campo dell'integrazione delle informazioni enterprise distribuite. Attualmente sta ottenendo un dottorato in Computer Science all'Università della Virginia.

Questo articolo è stato pubblicato nel 2006; i diritti d'autore appartengono a Backstop Media ed è stato ripubblicato dietro autorizzazione.

 
 
 
 
 
Commenti    
blog comments powered by Disqus

 

 

 

 

7894
 

 

I Toolkit di Robin


 









 

 

 

 

  • RSS Feed

          Mail
    Nome:
    Email:
     



     
     

     

    Web Analytics