Extraway Document Platform Standard Edition, è un sistema multi processo che fa del File System una componente fondamentale dell’intero sistema e che regola la concorrenza tra processi con algoritmi rigidi che potremmo definire conservativi. E’ pensata per sistemi di qualsiasi dimensione, sia complessi che di modesta portata.

Per quest’ultima ragione deve garantire autonomamente il massimo livello di sicurezza ed il minimo disservizio in caso di riavvio dopo un interruzione forzata. Questo è uno dei motivi per cui il server è disegnato per fare un uso quanto più possibile contenuto della RAM ed un uso garantista delle periferiche HDD.

Nel dire “garantista” si vuole intendere che le operazioni di I/O sono soggette ad una frequente attività di flush con un coinvolgimento significativo delle periferiche e del Sistema Operativo con conseguente livello di performance strettamente legato a quello che la macchina Host sa esprimere.

Oltre a questo, sempre per mantenere contenuto il dispendio di risorse e mantenere alto il livello di sicurezza, il sistema non ricorre, se non in minima parte, ad elaborazioni parallele durante le fasi più critiche (concorrenza in inserimento/modifica di record).

La Standard Edition non consente di creare sistemi distribuiti o cluster.

Le soluzioni basate su Extraway seguono il paradigma 3 tiers che suddivide le competenze del Web Server, dell’Application Server e del DataBase Engine.

Se per i primi due tier è possibile costituire cluster ‘attivo-attivo’ e quindi realizzare una soluzione in Load Bilancing oltre che in Fault Tollerance, per il DataBase Engine tier ciò non è possibile.

A livello server , per Extraway è ammesso solo un cluster ‘attivo-passivo’ con la sola condizione di Fault Tollerance. Non di meno, in test di laboratorio, il sistema base è capace di sopperire alle richieste di un bacino di utenti di diverse migliaia di unità operanti su archivi con milioni di record.

LA VERSIONE ENTERPRISE

Extraway Document Platform Enterprise Edition è un sistema modulare che nasce, diversamente da quello base, per architetture di grande portata e, conseguentemente, di maggior complessità e con una maggior richiesta di risorse, sia in termini di numero dei server, di seguito definiti Nodi, sia per le caratteristiche di ciascuno di essi.

Non c’è ragione di applicare la versione Enterprise su sistemi di modesta entità perché la scelta potrebbe rivelarsi anche controproducente. In queste pagine ci concentreremo su Extraway Server in quanto, per ciò che concerne i tier applicativi la loro capacità di essere duplicati al fine di perseguire la massima distribuzione di carico rimane inalterata.

E’ infatti Extraway Server a cambiare volto. Quello che nella Standard Edition è affidato ad una batteria di processi gemelli, ciascuno dei quali svolge i compiti assegnati avvalendosi delle risorse locali, nella versione Enterprise viene distribuito tra diversi moduli software operanti su più Nodi.

La mutazione non consiste solo nello sfruttare un maggior numero di macchine (e quindi un numero di CPU maggiore ed un più utilizzo di RAM) ma anche nel consentire di dimensionare ciascuna componente in funzione delle esigenze aggiungendo o togliendo Nodi in un vero sistema distribuito.

Già di per se questo garantisce di poter modellare e far crescere il proprio sistema al crescere delle esigenze, ma avendo intrapreso questa direzione, il passo successivo è stato naturale: sfruttare a pieno tutte le risorse di cui ogni Nodo dispone ed adottare tutte le tecniche per privilegiare le prestazioni alle spese dell’immediata consistenza su disco.

Tutto questo vuol dire meno sicurezza? No, tutto questo vuol dire che un sistema Enterprise non può prescindere da un’infrastruttura adeguata che garantisca, ad esempio, Fault Tollerance dei sistemi di alimentazione elettrica dei Nodi.

Veniamo ora ad un altro aspetto cardine.

Pur mantenendo il formato XML come pietra angolare dell’intero sistema, la versione Enterprise si svincola da una delle sue componenti più rigide: il File System.

Questo vuol dire che è possibile utilizzare le infrastrutture esistenti scegliendo la soluzione tecnologica più consona allo scopo e realizzare il modulo di Storage così che dialoghi con un qualsiasi repository (Oracle, Mongo DB, ecc.).

L'ARCHITETTURA

Lo schema che segue evidenzia le principali moduli componenti dell’architettura. Si noti che si parla di moduli e non di Nodi in quanto nulla vieta che un Nodo possa ospitare moduli diversi così come più repliche di un modulo potranno essere presenti su Nodi diversi. In esso spiccano i seguenti moduli:

  • Extraway Worker: offre verso il mondo esterno la stessa interfaccia proposta dal Server Extraway Standard Edition. Di esso svolge le funzioni più tipiche, predispone tutti i “semilavorati” e si avvale tramite appositi driver degli altri moduli per lo storage dei record e la manutenzione/gestione degli indici. Tipicamente più moduli, tutti operativi, vengono distribuiti su più Nodi;
  • Extraway Configuration & Transaction Server: assolve il compito di mantenere coerenti gli accessi a dati ed indici. Solitamente è un Nodo con replica/e per garantire la Fault Tollerance;
  • Extraway Storage Engine: un modulo del tutto intercambiabile che consente di sfruttare qualsivoglia repository che sia in grado di offrire stabilità, distribuzione, alta affidabilità e performance. La scelta del repository, come accennato in precedenza può sposare le politiche aziendali o essere compiuta per ottenere in miglior risultato in armonia con le infrastrutture esistenti. Tipicamente più moduli, tutti operativi, vengono distribuiti su più Nodi e su un dato Nodo possono essere disponibili repliche dai dati di altri Nodi per garantire Fault Tollerance;
  • Extraway Index Engine: Rappresenta il sistema di indici, in particolare gli indici full text tipici di Extraway. Tipicamente è un nodo con repliche potenzialmente attive, ovvero interrogabili dagli Extraway Worker a patto che risultino allineate al Nodo principale
  • In breve, ogni operazione viene svolta da uno degli Extraway Worker (alle spalle dei quali può essere collocato un sistema di Load Balancing).
  • In caso di azioni di consultazione il modulo Extraway Configuration & Transaction Server fornisce informazioni inerenti lo stato attuale dell’allineamento cosicché le selezioni vengano compiute in modo appropriato dialogando direttamente con Extraway Index Engine.
  • In seguito il caricamento dei record avverrà collegandosi direttamente con uno dei Nodi di Extraway Storage Engine.
  • In caso di azioni modificanti (record ed allegati) tutto viene fatto passare dal modulo Extraway Configuration & Transaction Server che provvede ad intervenire sia su Extraway Storage Server che su Extraway Index Server garantendo la coerenza delle operazioni svolte, minimizzando i conflitti e le serializzazioni delle operazioni e garantendo il completamento delle attività svolte anche se più record/allegati subiscono interventi contemporanei.

BENEFICI

E’ evidente che un’architettura complessa introduce un maggior numero di interazioni tra i diversi attori e queste non sono prive di costo prestazionale ma esso è trascurabile se paragonato ai benefici che l’architettura apporta.

In particolare le differenze principali vanno cercate nella capacità della versione Enterprise di ridurre ai minimi termini le due componenti più critiche, vale a dire le critical session, portatrici di concorrenza, serializzazione, e quindi lentezza; e un approccio completamente diverso al consolidamento di dati e indici che consente anche in questo caso di minimizzare le attività serializzate.

Per conseguire questi obiettivi sono state introdotte tecniche di “intervento incrementale” regolato dal modulo Extraway Transaction Server che ci consente di ridurre pressoché a zero i tempi un cui il sistema deve ricorrere ad un’effettiva serializzazione.

Questi sono i principali vantaggi apportati dalla versione Enterprise:

  • Incremento delle performance in generale ed in particolare nelle fasi che interessano inserimento e modifica dei record grazie all’introduzione di una transazionalità di base;
  • Scalabilità orizzontale delle principali componenti con l’obiettivo di modellare l’impianto al carico cui deve rispondere;

Sistemi distribuiti e replicati, con elevata Fault Tollerance.

In questo documento non forniamo valutazioni quantitative sui risultati che si possono ottenere adottando la versione Enterprise perché molto dipende dalle condizioni in cui i test prestazionali vengono compiuti, test che solo di rado rispecchiano la vera natura dei sistemi di produzione.

Ciò nonostante, vedendo singolarmente i punti elencati, per alcuni di essi si può giungere a prestazioni migliorate dalle 2 alle 5 volte e per altri, dove è stato possibile sfruttare più a fondo la disponibilità di risorse ed alcune tecniche sviluppate recentemente, sino ad un ordine di grandezza.

SVILUPPI FUTURI

L’introduzione dell’architettura descritta e delle tecnologie sulle quali essa si basa aprono inoltre le porte ad interessanti sviluppi futuri quali:

  • Sistemi di replica remota per garantire, oltre alla Fault Tollerance, anche la possibilità di offrire un valido sistema di Disaster Recovery;
  • Piena transazionalità applicativa;

Esiste uno strumento adatto per ciascun lavoro.

Extraway Document Platform Standard Edition è in assoluto la più diffusa e quella che ha fatto la storia delle soluzioni che 3D Informatica ha proposto su questa tecnologia negli ultimi 15 anni.

Non di meno la versione Enterprise, di fronte alla costante crescita delle dimensioni dei sistemi documentali e l’analoga crescita dei bacini d’utenza, è lo strumento adatto per sistemi ad alto grado di complessità e criticità.