Febbraio 2009

L’uso intensivo del Web nelle applicazioni di Bi

Applicazioni basate su Internet
Fin dai primi giorni dei tempi dei mainframe, le interfacce utente sono passate attraverso quattro generazioni di tecnologie:

1. Terminali non intelligenti, che fornivano un’interfaccia utente di base sicura e facile da mantenere.
2. Elaborazioni client/server, nelle quali la maggior parte delle sezioni delle applicazioni riguardanti le interfacce utente erano scaricate sui computer client desktop degli utenti a partire da server host. Questo approccio forniva un’interfaccia più completa e maggiormente interattiva, ma incrementava i costi dell’hardware e la complessità nel mantenere aggiornato e sicuro l’ambiente elaborativo degli utenti.
3. Tecnologie Web 1.0, nelle quali la maggior parte delle elaborazioni relative alle interfacce utente erano tornate a carico dei server host. L’uso della tecnologia Web eliminava molti problemi di sicurezza e riduceva i costi di hardware e di manutenzione, ma portava anche a interfacce utenti statiche e a nuovi problemi di sicurezza correlati al Web.
4. Tecnologie Web 2.0, mediante le quali l’elaborazione delle interfacce utente è suddivisa tra il computer dell’utente e il server host. La maggior parte del rendering dell’interfaccia utente, tuttavia, è realizzata sul computer dell’utilizzatore. Questo approccio migliora la ricchezza e l’interattività dell’interfaccia utente e rappresenta un adattamento ideale alla natura dinamica delle applicazioni di Bi. Tuttavia, queste tecnologie spesso rendono maggiormente complessi lo sviluppo e i problemi di sicurezza che esistono nell’ambiente della Rete. Le applicazioni realizzate utilizzando un approccio tipo Web 2.0 spesso sono indicate come Rich Internet applications, ovvero applicazioni con utilizzo intensivo di Internet.

Le tecnologie Web 2.0 Ria rappresentano alcuni degli approcci migliori che gli sviluppatori abbiano mai avuto a disposizione per realizzare e distribuire interfacce utente molto semplici da usare, ricche e dinamiche. Un aspetto fondamentale dell’approccio Ria è che l’interfaccia utente Web non deve essere rivisualizzata completamente dopo ciascuna interazione. Applicando buone pratiche di progettazione, questo approccio migliora la capacità di risposta e l’interattività dell’intero sistema.
L’approccio dinamico Ria, tuttavia, non è necessario in tutti i casi. Il rendering dell’interfaccia utente dal lato server nel Web 1.0 ha il vantaggio di supportare i browser Web più vecchi, oltre a risultare più semplice nello sviluppo e più rapido nel caso di contenuti statici.
Esistono numerose tecnologie per sviluppare applicazioni Ria. Le due più diffuse, da un punto di vista dell’interfaccia utente, sono Ajax (JavaScript and Xml sincroni) e Adobe Flex/Flash . Esiste un considerevole dibattito nel settore su quale delle due sia migliore. Un problema consiste nel fatto che non tutti i componenti di Adobe Flex/Flash sono open source. In realtà, le due opzioni non sono mutuamente esclusive. Ajax è meglio per alcune applicazioni, mentre Flex/Flash è più adatto per altre. Entrambe, poi, possono essere combinate nella medesima applicazione. Molti venditori di Bi supportano tutti e due gli approcci.
Prima del Web 2.0, molti fornitori (anche vendor di Bi) supportavano portali basati sul Web che offrivano agli utenti dell’impresa interfacce personalizzate e basate sul ruolo dell’individuo, in modo da consentire loro l’accesso e l’interattività nell’ambito di applicazioni It multiple. In un ambiente di portale, la schermata dell’utente è composta da un insieme di segmenti, denominati portlet, ciascuno dei quali interagisce con una specifica applicazione o servizio. Inizialmente, queste interfacce tipo portlet erano proprietarie e uniche per ogni prodotto di portale dei singoli venditori, ma esiste ormai la tendenza a standardizzarle, in modo che tali portlet possano essere utilizzati da prodotti diversi.
Con l’avvento del Web 2.0, gli sviluppatori hanno creato gadget che forniscono una capacità simile a quella dei portlet. La differenza sta nel fatto che per utilizzarli non è necessario un portale (o addirittura, in alcuni casi, nemmeno un browser Web). Alcuni venditori di portali attualmente forniscono delle interfacce di portale che consentono ai suddetti gadget di agire come portlet.
I gadget possono essere aggiunti molto facilmente a una pagina Web e alcuni venditori offrono interfacce utente incollabili che consentono di aggiungerne rapidamente, collegandoli insieme. Per dimostrare la potenza di questo approccio, i vendor di Bi spesso presentano un insieme composto da un gadget che acquisisce informazioni da un datawarehouse e visualizza informazioni geografiche usando un gadget Google Earth. Queste soluzioni composite costituiscono un approccio ideale per realizzare rapidamente applicazioni di Bi temporanee e per la costruzione di prototipi.

L’architettura orientata al Web
Un aspetto fondamentale dell’uso del Web 2.0 all’interno dell’impresa è rappresentato dalla presenza di un ambiente elaborativo distribuito, basato su di un’architettura orientata ai servizi (Soa). Quest’ultima, anche se è considerata spesso come un nuovo approccio, in realtà non lo è, perché le imprese utilizzano sistemi distribuiti ormai da anni. Nel passato, tuttavia, le tecnologie utilizzate spesso erano proprietarie e diverse per ogni venditore (per esempio, Dcom e Corba), una situazione che rendeva difficile e complessa l’interoperabilità in un ambiente eterogeneo. Le tecnologie dei servizi Web hanno aiutato a ridurre tale complessità mediante l’uso degli open standard.
Mentre molte imprese hanno avuto successo nel realizzare ambienti Soa, molte altre non vi sono riuscite. Uno dei problemi maggiori consiste nell’integrare le applicazioni proprietarie nel nuovo ambiente. Si tratta di un’operazione complessa e che richiede l’utilizzo di molte risorse, per cui ha costituito sempre una grande difficoltà per i vendor dei prodotti di Bi e di integrazione dei dati.
Un’applicazione basata sui servizi è più semplice da implementare quando programmi e strumenti siano progettati in vista dell’utilizzo in ambiente Soa. In questo caso, le applicazioni e i prodotti possono essere realizzati utilizzando tecnologie Web 2.0 e progettati come componenti che possano essere facilmente attivati e richiamati come servizi. Questo approccio, indicato come architettura orientata al Web, ovvero Web oriented architecture (Woa), rappresenta un sottoinsieme di un ambiente Soa completo e risulta ideale per supportare applicazioni con uso intensivo di Internet.
Mentre molti dei servizi Woa vengono implementati utilizzando tecnologie dei servizi Web più tradizionali come Wsdl/Soap, esiste anche una tendenza verso l’uso di tecnologie più semplici e maggiormente flessibili come Rest. Questo è specialmente il caso della realizzazione di soluzioni Web leggere e tipo punto a punto. Lo sviluppo è più semplice e rapido ed è adatto soprattutto alla realizzazione di prototipi. L’aspetto negativo è una diminuzione della sicurezza, affidabilità e scalabilità. Si tratta ancora di una soluzione che non risolve tutti i problemi – ciascuna tecnologia possiede i propri punti di forza e di debolezza.

E per l’integrazione dei dati?
Fino a questo momento abbiamo parlato di integrazione al livello dell’interfaccia utente utilizzando soluzioni Ria, oppure a quello delle applicazioni con l’uso di protocolli Woa e Soap/Rest. L’argomento rimasto da considerare è l’uso di queste tecnologie Web 2.0 per l’integrazione dei dati.
Un ambiente Woa può supportare servizi incentrati sui dati, insieme a servizi applicativi. Per esempio, un servizio dati potrebbe ricevere informazioni da un datawarehouse, ricercando i dati, valutandone la qualità, trasformandoli o sottoponendoli a un qualche tipo di analisi.
Nell’integrazione dei dati, così come nell’integrazione delle interfacce utente e delle applicazioni, esiste una tendenza verso approcci di sviluppo leggeri basati sul Web. Per esempio, parecchi venditori supportano il concetto di “impasto” dei dati, ovvero di tecniche che consentano facilmente la trasformazione e la combinazione di flussi multipli di file e dati Xml in un flusso Xml in output che, a sua volta, possa essere utilizzato in combinazione con un gadget o con un’interfaccia utente. Esempi di questo tipo comprendono IBM InfoSphere MashupHub e Denodo Data Mashup Server.

Molte tecnologie Web 2.0
Esiste sul mercato un ampio ventaglio di tecnologie Web 2.0 che mirano ad aumentare la ricchezza e l’interattività delle interfacce utente Web, supportando un’architettura basata sui servizi. Molte di queste tecnologie consentono lo sviluppo di interfacce utente leggere e di architetture orientate al Web, oltre a un’integrazione semplice dei dati. Tutte possono aiutare a migliorare l’usabilità dell’integrazione dei dati, lo sviluppo della Business intelligence e la fornitura delle informazioni corrette agli utenti. Risultano anche utili per la realizzazione di prototipi e per le applicazioni temporanee. Una piccola percentuale delle applicazioni temporanee diventerà poi maggiormente significativa e permanente, e verrà quindi messa a disposizione di un numero maggiore di utenti.
Attualmente, molti vendor di Bi stanno iniziando a supportare le tecnologie Web 2.0 delineate in questo articolo. Adesso sta a voi valutare come questa offerta di Bi possa supportare le strategie Web 2.0 ed Enterprise 2.0 della vostra organizzazione e se le “nuove” offerte rappresentino una semplice riedizione di vecchi prodotti, oppure costituiscano veramente un nuovo approccio allo sviluppo e alla diffusione della Bi.