L'approcio
tecnologico: collaborazione elettronica e integrazione
Fin dalla nascita del progetto
Humanbit, l'obiettivo è stato quello
di lavorare per disegnare e costruire applicazioni
che fossero in grado di trasmettere informazioni,
e struttura semantica delle stesse, tra sistemi
e piattaforme diverse, inviando i dati in
formati indipendenti dalla propria rappresentazione.
Il tutto cercando di porre una valida alternativa
commerciale alle tradizionali (e costose)
soluzioni applicative EDI o ERP.
La maggior parte delle organizzazioni
infatti, sono dotate di ambienti in cui convivono
sistemi Legacy, applicazioni, processi e
sorgenti di dati, che sono in interazione
tra loro grazie ad interconnessioni complesse,
poco documentate (e documentabili) e costose
nel loro mantenimento. La necessità di
integrare le applicazioni deriva dalla crescente
esigenza di estendere lacomunicazione ed
i processi ai propri stakeholders, quindi
verso l’esterno, oltre, naturalmente, ad
una concreta necessità di riduzione
dei costi infrastrutturali.
L'obiettivo in tal senso
diventa costruire applicazioni non solo dinamiche,
ma anche interoperanti e disponibili spontaneamente
ai partners e a tutti gli interlocutori in
azienda.
Abbiamo quindi cercato di
costruire una linea di soluzioni in grado
di affrontare in maniera innovativa ambiti
applicativi quali il Data Interchange and
Aggregation (l'integrazione di eterogenee
base dati, inter-process communication) l'Application
Integration (la comunicazione tra diverse
applicazioni, client/middle tier/server),
e il Content Management (gestione dinamica
dei contenuti e publishing su diversi tipi
di media e device ).
Soluzioni che per flessibilità, dinamicità e costo, divenissero
appetibili non solo per le grandi ma anche per le numerose piccole
e medie imprese che animano il tessuto economico nazionale.
Il meccanismo di scambio
delle informazioni è sempre il medesimo:
un sistema richiede ad un Web Service dati
o informazioni via HTTP e il Web Service
risponde in formato XML. Dal punto di vista
tecnologico la “forza” di una simile soluzione
deriva dalla sua semplicità: sarà infatti
sufficiente esporre i propri sistemi su Web
adottando un linguaggio XML, mentre la complessità delle
“domande” e delle “risposte” tra i sistemi
rimarra' a un livello inferiore, all'interno
delle transazioni XML.
Per puntare a questo siamo partiti dai seguenti assunti:
-
Il dato deve essere
indipendente dalla logica applicativa
che lo governa, per cui in formato standard
e pulito da ogni informazione relativa
alla sua gestione.
-
Il dato deve essere
riconoscibile da qualsiasi tecnologia
applicativa standard, presente e futura,
in maniera intelligente, attraverso meta-dati
sementici ed interrogabili.
-
Il meta-dato deve
essere flessibile, definibile e modificabile
secondo logiche condivise dalle diverse
strutture applicative
- Dato ciò puntiamo a soluzioni
a tre livelli, three-tier,
più dinamiche e flessibili rispetto
alle tradizionali architetture client/server,
dove il dato è indipendente dalla
gestione applicativa, e la gestione applicativa è indipendente
dal metodo di visualizzazione.
|
|
Struttura
delle applicazioni tree-tier di
humanbit
|
Internet, allo stato
attuale, si basa su di un modello che
prevede la presenza di un Web server
e di n terminali che vi si connettono
e, proprio come accade nelle architetture
che prevedevano l’impiego di Mainframes,
tutte le elaborazioni e le basi di dati
alle quali si accede devono risiedere
su una macchina dedicata, accessibile
in remoto. In questo modello, i siti
Web sono isole sperdute che non possono
comunicare né tra loro né interagire
attivamente con l'utente senza una sua
esplicita richiesta. I vantaggi derivanti
da un modello di applicazione three-tier
sono quindi facilmente riscontrabili
nella interconnettività, nella
flessibilità e modificabilità di
sistemi formati da componenti separate:
i componenti sono utilizzabili, in una
logica distribuita, in sistemi diversi
(Integrazione di applicazioni sviluppate
su piattaforme eterogenee). La modifica
di una componente non impatta sul resto
del sistema e l' aggiunta di funzionalità all’applicazione
implica estensione delle sole componenti
coinvolte.
-
Utilizziamo formati
di gestione del dato, basati sui meta-dati,
assolutamente indipendenti dalle tecnologie
di gestione, riconosciuti come standard
internazionali e nello specifico XML
(eXtended Mark-up Language). XML è e
sarà basilare per lo sviluppo
dell’e-business, e diventerà lo
strumento più comune per la manipolazione
e trasmissione dei dati. La scelta dell'
xml diviene vincente se si considerano
i seguenti vantaggi:
Presentazione
dei dati orientata all’utente.
La combinazione di XML+XSL:
– permette di separare la logica di business dalla logica di presentazione
– libera l’applicazione dai vincoli legati al device di presentazione
Scambio
di dati tra applicazioni
– l’integrazione tra applicazioni è possibile con un minimo
sforzo, che è una frazione di quello tradizionale dell’area
EDI (Eletronic Data Interchange)
Pubblicazione
di dati direttamente
in XML
– il formato leggibile dalla macchina (UNICODE) può essere
combinato con altri dati ed elaborato ulteriormente (impossibile
con HTML)
-
Adottiamo schemi logici
per la definizione e la gestione dei
meta-dati che siano flessibili, modificabili,
condivisibili e, non ultimo, che permettano
alte prestazioni applicative e sistemistiche.
In specifico Humanbit propone soluzioni
in cui la struttura delle informazioni
si basa su SchemaXML che,
date le caratteristiche e le potenzialità,
si sostituiscono al database relazionale
classico. XML- Schema è una specifica
di W3C alternativa e più recente
di DTD, per definire linguaggi basati
su XML; XML-Schema infatti, rispetto
a DTD permette non solo di specificare
la struttura dei dati ma anche di specificare
il tipo del contenuto dei dati
-
Si utilizzano protocolli
e linguaggi standard per la gestione
dei dati e dei suoi schemi, SOAPe XML-RPC per
condividere la struttura e i dati con
altre applicazioni, Java per
utilizzare il linguaggio dei migliori
progetti aperti e condividere in modalità distributa
applicazioni e soluzioni
|
|
Protocolli
di richiamo
di procedure
remote nei
web services
|
I Web Services di ultima generazione sono destinati a sostituire
sistemi di calcolo distribuito, come CORBA o Java RMI, o DCOM.
Questi sistemi di calcolo distribuito, basati su componenti che
sfruttano la distribuzione della logica applicativa attraverso
la rete, sono essenziali per il mantenimento di interoperabilità:
tuttavia, l' eterogenea natura di sistemi operativi, reti e linguaggi
di programmazione hanno condotto il calcolo distribuito ad un gioco
costoso di caratteristiche di interoperabilità sempre più complesse.
I Servizi Web, grazie all'introduzione di XML, rappresentano un
nuovo modello di calcolo distribuito "cross-platform e cross-language" essendo
per altro ingenierizzati su infrastrutture e protocolli già esistenti
e di grande diffusione quali HTTP,TCP/IP, XML .
-
Adottiamo linguaggi
di trasformazione per legare l’applicazione
al formato di presentazione scelto, per
presentare i risultati. Ad esempio HTML
(utilizzando XSLT come linguaggio di
trasformazione) o PDF (utilizzando XSL-FO),
Grazie a questa caratteristica di trasformazione
possiamo gestire un’unica versione del
contenuto (dati) che vogliamo rappresentare
e poi generare visualizzazioni diverse,
in formati diversi, per device diversi.
-
Utilizziamo i parser
dei sistemi applicativi più innovativi
e diffusi orientati alla comunicazione
su internet: da quelli Macromedia a quelli
open source.
|
 |
|