martedì 18 novembre 2014

Infobesity, l'abbuffata di informazioni

E' stato coniato un po' di tempo fa il termine che indica il disagio procurato alle persone dal sovraccarico di informazioni: Infobesity.

L' infobesità è un problema che sta riguardando un numero sempre maggiore di persone.

Il numero di comunicazioni che vengono pubblicate in rete giornalmente (email, post, tweet, news, podcast, audio/video, ecc.) si è praticamente decuplicato negli ultimi 10 anni, questo flusso continuo bombarda tutti noi che assorbiamo le informazioni in modo sia cosciente che involontario.

Fino a qualche anno fa il problema si era evidenziato negli uffici, nei posti di lavoro dove chi è sempre collegato al computer riceve quotidianamente per posta elettronica, sui vari messenger e su internet un sovraccarico di input informativo (Information Overload).
Da qualche tempo si sta diffondendo anche tra coloro che con smartphone e tablet sono sempre online, sempre raggiungibili dalle telefonate, dai messaggi testuali, vocali e multimediali, sui social, dalle email, dalle news, dalle notifiche delle App, ecc., tutto ciò in aggiunta agli input provenienti dai media tradizionali come stampa, radio e TV.


I sintomi

Analogamente all'obesità dovuto al troppo cibo, sembra ormai certo che l'infobesity può creare dei disturbi, vediamo quali sono i sintomi più comuni:
  • difficoltà nel selezionare e quindi gestire le informazioni realmente importanti,
  • difficoltà nel prendere decisioni,
  • difficoltà nella memorizzazione,
  • diminuzione della attenzione necessaria per seguire fino alla fine e comprendere appieno un contenuto,
  • fretta nella lettura dei singoli articoli/email (lettura a "balzi"),
  • ansia nel passare velocemente da un contenuto all'altro, anche utilizzando diversi device,
  • diminuzione nella capacità di valutare le informazioni,
  • eccesso di fiducia in quello che si legge,
  • ansia dovuta alla paura di non riuscire a seguire qualcosa, di staccarsi dal flusso comunicativo, di perdersi qualche informazione,
  • stress dovuto alla paura di rimanere scollegato (Nomofobia),
  • problemi nel riuscire a rilassarsi completamente, a riposare per recuperare.


Noi esseri umani, ciascuno con le proprie capacità, siamo in grado di elaborare un volume di dati finito. Quando veniamo travolti da un diluvio incontrollabile di dati ci sentiamo stressati e finiamo per non rendere al meglio, diminuisce la nostra capacità di gestire le informazioni.

Per far fronte al sovraccarico, il nostro cervello sviluppa automaticamente delle abitudini, ad esempio può dare maggiore priorità ad informazioni provenienti da alcune fonti oppure privilegiare contenuti presentati in un formato (es, video) piuttosto che in un altro.

Queste reazioni ostacolano la capacità di prendere decisioni basate sulle migliori evidenze disponibili, le prestazioni ne soffrono e di conseguenza lo stress aumenta.

La dieta

Gli accorgimenti per limitare le problematiche derivanti dal sovraccarico da informazioni esistono, come in tutte le diete la cosa più difficile è riuscire a metterli in pratica.

Di seguito un superficiale elenco:

  • Sfruttare al meglio le funzionalità che email, social network e sistemi di messaggistica mettono a disposizione per filtrare le informazioni, categorizzarle ed organizzarle. 
  • Organizzare al meglio i gruppi/cerchie di amici che si hanno sui social network e differenziarne la visibilità dei messaggi.
  • Silenziare sullo smartphone le notifiche delle App, in modo che andrai a guardare solo quando lo vorrai. Stai sicuro che se qualcuno ti cercherà con urgenza ti telefonerà.
  • Utilizzare un media per volta, ad esempio se si sta guardando la TV non tenere lo smartphone vicino.
  • Non mischiare l'uso lavorativo e privato delle tecnologie. Se stai lavorando al PC non tenere aperta anche la finestra sul tuo social preferito o sul sito della borsa.
  • Controllare le news solo una o due volte al giorno, magari la mattina appena si arriva in ufficio e la sera prima di uscire. Non c'è alcuna necessità di essere informati minuto per minuto su quello che succede nel mondo.
  • Selezionare i propri siti di riferimento ed accedere solo a quelli cercando di navigare meno da un link all'altro.  
  • Utilizzare gli aggregatori tematici di news (siti, programmi, app) che evitano di ricevere passivamente in input informazioni non desiderate. Quando si accede ad un portale si è bombardati da una serie di notizie e spot che, posizionate ad arte, distraggono e incanalano l'utente verso un percorso informativo diverso rispetto alle intenzioni iniziali.
  • Evitare di pubblicare troppo di frequente su social forum, ciò innesca la voglia di andare a verificare di continuo le evoluzioni dei commenti.
  • Concedersi quando possibile dei periodi o delle giornate intere di Digital Detox "disintossicazione", dimenticandosi a casa lo smartphone e non accendendo neanche TV, PC e Tablet. Le prime volte sarà una forzatura, ma poi ne riscoprirai i tanti pregi tra i quali quello che, quando ti ricollegherai, andrai a controllare solo quello che realmente ti interessa (non ti sei perso niente).

Buona dieta a tutti !!


 Image courtesy of Jeroen van Oostrom at FreeDigitalPhotos.net

sabato 15 novembre 2014

Cos'è un Web Service

Un Web Service (WS) è una funzionalità informatica offerta sulla rete da una applicazione che fornisce il servizio (sistema provider o server) ad uso di altre applicazioni che fruiscono del servizio stesso (sistemi requester o client)

Caratteristiche fondamentali di un WS sono:
  • essere raggiungibile via Web (rete Internet o Intranet) su un determinato indirizzo URI,
  • implementare una funzionalità auto-consistente,
  • avere un interfaccia documentata secondo delle specifiche standard, indipendente rispetto alla tecnologia con la quale è sviluppato e con la quale sono realizzati i client che lo invocano.
Solitamente quando si parla di Web Services si fa riferimento a servizi realizzati secondo quelli che sono gli standard più consolidati, cioè le specifiche HTTPSOAPWSDL, XML e XSD.
Tuttavia il termine generico WS può indicare anche servizi basati su altri tipi di protocolli, come ad esempio JMS per trasporto ed i sempre più utilizzati REST e JSON per il formato dati.

Rispetto ai meccanismi di comunicazione chiamati API (Application Programming Interface), i WS si differenziano perchè:
  • un API non è detto che rispetti specifiche standard di protocollo,
  • la fruizione di una funzionalità API da parte dei client, quasi mai è consentita mediante una interfaccia esposta sul web, ma tipicamente devono essere utilizzate delle librerie software specifiche rilasciate ad hoc, con tutte le limitazioni tecnologiche che ne conseguono,
  • un API solitamente da accesso a funzionalità atomiche interne ad un singolo sistema/applicazione mentre i WS realizzano anche processi di business distribuiti con workflows più articolati.
Fermo restando l'interfaccia di accesso unica che prevede dati di input e output, un WS può essere semplice oppure composto, nel caso in cui al proprio interno invochi altri servizi WS sequenzializzandoli o parallelizzandoli in un workflow (Service Orchestration).

Quando un contesto IT distribuito è formato da sistemi che cooperano con un approccio a servizi strutturato, si parla di SOA (Service Oriented Architecture).

Image courtesy of ddpavumba at FreeDigitalPhotos.net


Articoli Correlati

mercoledì 12 novembre 2014

Cos'è un Service Registry

Un Service Registry è una applicazione software, raggiungibile sulla rete Internet o Intranet, che elenca sotto forma di catalogo i Web Services disponibili, descrivendone le caratteristiche e le modalità di accesso.
Anche detto UDDI Registry, garantisce una più semplice interoperabilità tra i sistemi e facilita la SOA Governance.

UDDI (Universal Description Discovery and Integration) è un protocollo standard che consente la descrizione dei servizi, la loro localizzazione e le specifiche delle loro interfacce.
Le specifiche UDDI, arrivate alla versione 3.0, si fondano su un insieme di standard consolidati tra i quali HTTP, XML, XSD, SOAP e WSDL.

Il Service Registry viene utilizzato da:
  • Applicazioni Provider / Server per pubblicare le informazioni relative ai servizi che espongono,
  • Applicazioni Consumer / Requester / Client per ricercare quali sono i servizi disponibili e le relative modalità di invocazione.

Tipico paradigma Publish, Discover, Invoke


In un contesto architetturale SOA, il Service Registry è un elemento accessorio importante ma non fondamentale, infatti Provider e Consumer possono condividere le specifiche di integrazione anche in modo autonomo senza passare per il registry.
In altre parole, chi gestisce il sistema Provider può fornire il WSDL e la documentazione dei servizi direttamente ai responsabili dei sistemi Consumer che devono predisporre il software per le invocazioni.

Tuttavia la possibilità di far ricercare i servizi ai Client (Service Discovery) in modo autonomo, può risultare molto utile nel caso i Server decidano di far utilizzare dinamicamente le proprie funzionalità, consentendo a qualsiasi Client la ricerca autonoma dei servizi ed un interfacciamento più veloce e semplice agli stessi.

Un Service Registry tipicamente prevede:

  • una struttura dati in grado di memorizzare 
    • White Pages, informazioni riguardo ai provider che espongono ciascun servizio,
    • Yellow Pages, descrizioni e categorizzazioni arbitrarie dei servizi chiamate tassonomie,
    • Green Pages, informazioni tecniche per l'accesso ai servizi (wsdl, url);
  • un set di API (Application Protocol Interface) per consentire la pubblicazione e la consultazione delle informazioni da parte delle applicazioni esterne;
  • una web console di configurazione accessibile un amministratore/operatore che, in base alle permission che ha, può visualizzare, inserire, modificare e cancellare le informazioni.


Esistono Service Registry di mercato oppure Open Source tra i quali il più conosciuto ed utilizzato è sicuramente Apache jUDDI.



Articoli Correlati

giovedì 6 novembre 2014

Il confronto XML vs JSON

L' XML (eXtensible Markup Language) è il formato più utilizzato per la condivisione di dati in formato open.
Non essendoci disponibili in passato altri standard altrettanto semplici e strutturati, l' XML è da parecchi anni la codifica migliore per lo scambio dati tra diverse applicazioni.

Nate in un contesto di sviluppo WEB/HTML, sul finire degli anni 90 le specifiche XML sono state consolidate dal W3C (World Wide Web Consortium) ed hanno permesso di estenderne l'uso anche in altri contesti applicativi, in particolare nell'Application Integration.

Questo linguaggio di markup, oltre ad essere ottimo per la gestione di dati testuali e numerici, può essere sfruttato, utilizzando gli opportuni encoding, anche per la rappresentazione ed il trasferimento di documenti, immagini, audio, video ed altre tipologie di files in genere.

Per facilitare l'uso dell'XML, nel tempo sono state sviluppate innumerevoli librerie e programmi software in grado di automatizzare il parsing, la validazione, l'interpretazione del codice e la conversione dei dati.


Negli ultimi anni sta prendendo sempre più piede l'utilizzo anche di un altro formato, il JSON (Javascript Object Notation), il cui successo è dovuto principalmente alla semplicità di utilizzo in ambito Web a supporto delle tecnologie Ajax e Javascript diffusissime nei siti dinamici di ultima generazione.
Nella sostanza, considerando la sintassi del codice e le modalità funzionali, le analogie tra XML e JSON sono evidenti, tuttavia ci sono effettivamente delle specificità che li distinguono e che fanno preferire uno o l'altro a seconda delle esigenze. 

Leggibilità

Uno degli aspetti da considerare in un linguaggio di codifica testuale dei dati, è la facilità con cui una persona può leggere e comprendere le informazioni contenute.
Premesso che entrambi i formati sono molto leggibili ed è quindi soprattutto una questione di abitudine personale, tuttavia JSON sotto questo aspetto si fa preferire per una sintassi più snella, con meno vincoli, opzioni e tag di formattazione.

Interoperabilità

Un altro tratto comune tra JSON e XML è che implementano caratteristiche di Auto-Descrizione (Self-Describing) ed Internazionalizzazione dei dati (Internationalization).
Entrambi utilizzano standard e codifiche che permettono la manipolazione delle informazioni mediante utilizzo di strumenti software generici.  Ciò ne ha facilitato l'uso in una vasta gamma di applicazioni.

Gli strumenti di descrizione e validazione (dtd e xsd), i linguaggi di navigazione all'interno dei nodi (xquery e xpath) e le librerie di elaborazione a disposizione per l'XML sono sicuramente più consolidate ed affidabili, pertanto si fanno preferire in un contesto di integrazione tra sistemi, di Web Services con transazioni Server to Server.
Grazie a questi aspetti, il formato XML è spesso utilizzato anche per implementare su files veri e propri database strutturati.

In una tipica interazione Web Client->Server (siti web, App) invece le caratteristiche del JSON sono più indicate in quanto, oltre che essere un linguaggio più leggero (una minore verbosità corrisponde ad una minore grandezza dei file e quindi a performance migliori nel trasferimento dati), è immediatamente integrato con la programmazione Javascript e per lo scambio dati con i meccanismi Ajax.

Estensibilità

La possibilità di estendere gli attributi dei dati memorizzati permette all'XML di essere più flessibile.
Mentre JSON si limita a gestire solo dati classici come testo e numeri, l'XML consente di memorizzare e descrivere in modo più completo qualsiasi tipo di dato.

Inclusione di altri file

Con XML è possibile includere file di qualsiasi formato, questo significa che è possibile inserire documenti, foto, audio, video e altri file all'interno di un file XML (file embedded).
La stessa cosa non è possibile farla con JSON.

Trasmissione di dati alfanumerici

Con JSON i dati sono memorizzati in array e object mentre in XML le informazioni sono strutturate ad albero.
Entrambe le soluzioni hanno i loro vantaggi, ma utilizzando le tecnologie web di ultima generazione il trasferimento dati è molto più semplice e veloce quando i dati sono già organizzati in un modo direttamente interpretabile con la programmazione orientata agli oggetti.

Questo rende il JSON più indicato per importare i dati di testo e numerici con diversi linguaggi e quindi è da molti considerato migliore per lo sviluppo di funzionalità web con elaborazione lato client.

Per fare la stessa cosa con l'XML bisogna trasformare i dati prima di poterli utilizzare all'interno del programma.

Conclusioni

XML ha sicuramente uno spettro di utilizzo molto più vasto dovuto sia alle caratteristiche intrinseche nel linguaggio stesso sia al fatto che intorno a questo formato si è da tempo evoluto un mondo molto significativo di direttive, metodologie, strumenti ed applicazioni.

JSON invece, in forte ascesa solo da qualche anno, si caratterizza per la semplicità nella rappresentazione ed è ottimo per la serializzazione e la trasmissione di dati di tipo classico.

XML è un linguaggio di markup in grado di gestire in modo completo qualsiasi tipo di informazione, mentre JSON è un formato di interscambio dati che risulta essere di più agile utilizzo in determinati contesti.