WikiUp

Obiettivi

Il progetto WebUp si propone di creare gli strumenti idonei alla costruzione di siti web caratterizzati da contenuto dinamico legato al gestionale SmeUp. Il concetto di informazione dinamica è legato alla metodologia con cui vengono reperite le informazioni contenute in una pagina HTML: normalmente, tutta l'informazione contenuta in una pagina statica è cablata nel codice HTML della pagina stessa. Un pagina dinamica contiene invece delle informazioni che vengono costruite nel momento stesso il cui un utente remoto richiede la visualizzazione della pagina stessa: sono quindi informazioni che rispecchiano lo stato di un sistema nel momento preciso in cui un utente ne richiede la visualizzazione.

Le specifiche di progetto possono essere riassunte brevemente nei seguenti punti:

  • Definire una serie di strumenti per l'accesso ad informazioni gestionali dall'interno di pagine web. Il gestionale di riferimento per il progetto è SmeUp.
  • Identificazione di una serie di moduli di base a cui possano essere associate delle funzioni dinamiche fondamentali (ad esempio, la lettura di attributi associati ad un oggetto o l'esecuzione di una funzione complessa come la visualizzazione di una distinta o l'inserimento di un nuovo ordine).
  • Completa indipendenza tra gli oggetti dinamici e la parte statica delle pagine web. I moduli dinamici devono il più possibile essere indipendenti dal codice HTML statico e il loro utilizzo non deve richiedere competenze superiori a quelle normalmente in possesso ad un progettista di pagine web statiche. Le problematiche relative al collegamento con il programma gestionale devono essere nascoste al progettista WebUp.
  • Gli oggetti dinamici devono essere caratterizzati da forte atomicità: ogni oggetto può essere identificato in base a tre elementi fondamentali; le informazioni richieste (input), la funzione svolta e il tipo di risultato prodotto (output). Questi tre elementi fondamentali devono essere esaustivi nel definire le proprietà e le metodologie di utilizzo dell'oggetto dinamico. Per l'uso corretto di un oggetto dinamico non devono di norma essere conosciute caratteristiche tecniche intrinseche al funzionamento dell'oggetto stesso.
  • La struttura del progetto deve consentire in ogni momento lo sviluppo di nuovi moduli dinamici o la semplice modifica dei moduli esistenti. I moduli devono essere il meno possibile correlati tra loro per evitare che modifiche su uno di essi si possa ripercuotere negativamente sugli oggetti eventualmente collegati.

Struttura dell'ambiente operativo di Web.up

La figura rappresenta una la configurazione più diffusa tra quelle possibili e riassume, a grandi linee, la conformazione classica di un ambiente client-server dedicato all'e-business, nell'ipotesi di attestare i dati sensibili su una piattaforma AS/400. Questa configurazione prevede un server Internet (normalmente una macchina Windows) su cui girano tutti i moduli necessari alla gestione del sito, ma sul quale non vi sono dati replicati. Tutte le informazioni sensibili sono su AS/400 e sono accessibili attraverso il solo modulo 6 (incluso in Web.up), dedicato all'interazione tra l'ambiente Java e il gestionale Sme.up. L'utente remoto non può in alcun modo accedere all'AS/400, che pertanto deve essere protetto in modo sicuro e, allo stesso modo, anche gli utenti registrati devono poter eseguire solo le operazioni di loro competenza. La sicurezza di tutto il sistema potrebbe essere ulteriormente aumentata ricorrendo all'utilizzo di un Firewall opportunamente configurato (non mostrato in figura).

Analizziamo le singole parti che compongono la struttura mostrata in figura.

  1. Client --> si tratta normalmente di un personal computer, dotato di Browser compatibile con le specifiche HTTP 1.1.
La situazione più frequente vede un sistema operativo Windows (di sicuro il più diffuso in ambito workstation) con installato un browser di ultima generazione (tipicamente Microsoft Internet Explorer o Mozilla Firefox). A livello di client, non è richiesta l'installazione di nulla che non sia già normalmente incluso nel sistema operativo o nel browser e le specifiche del progetto Web.up non richiedono il supporto di Java, né l'installazione di ulteriori programmi.

  1. Rete TCP/IP --> Web.up può essere installato su qualsiasi rete che supporti il protocollo TCP/IP. E' importante sottolineare che il prodotto può essere installato anche su reti locali, sia Ethernet che Token Ring (anche se ormai in disuso).

  1. Server HTTP --> è un programma da installare sul server per ottenere il supporto del protocollo di comunicazione HTTP, previsto come un servizio standard del TCP/IP per la pubblicazione delle pagine HTML su rete Internet.
Il server HTTP abilita e gestisce l'accesso di un utente remoto al sito Internet di un'azienda e controlla, attraverso lo scambio di messaggi HTTP con il client remoto, la navigazione e l'accesso alle pagine HTML.
Il server HTTP ha numerose funzioni, tra le quali fornire al client le pagine HTML richieste, gestire l'autenticazione degli utenti e l'accesso alle pagine riservate e tenere traccia delle pagine visitate, permettendo l'analisi delle statistiche di accesso.
I principali server HTTP commerciali sono Internet Information Server di Microsoft (incluso tra gli applicativi di base delle piattaforme Windows di categoria server), Apache di Apache Corporation (server distribuito in modalità open source e molto diffuso, sia su piattaforma Linux/Unix, che Windows), HTTP Server di IBM (derivato da Apache e disponibile per Windows NT, Linux, Unix e OS/400). Web.up può funzionare con uno qualsiasi dei server web citati, sia su piattaforma Windows che su piattaforma Unix/Linux. Non è previsto il supporto per piattaforma OS400.

  1. Application server --> è un programma da installare sul server web, che lavora solo in stretta congiunzione a un server HTTP. Un Application Server è un particolare componente software che, in unione ad un server http, consente la costruzione dinamica delle pagine HTML. Ad oggi esistono vari application server (gratuiti e commerciali) e tecnologie, che consentono la dinamicizzazione di un sito web. Web.up basa il suo funzionamento sulla piattaforma operativa Java e quindi richiede un application server compatibile con questa essa e in grado di implementare gli standard previsti dal protocollo J2EE, definito da Sun Microelectronics. A questo proposito, tra i prodotti in commercio, il più importante è certamente WebSphere Application Server di IBM, offerto in varie versioni e per diverse piattaforme operative. Altre soluzioni sono JRun della Allaire e Resin della Caucho Tecnology. Tra le soluzioni gratuite, distribuite come open source, la più importante è Tomcat, un application server completo e stabile disponibile per tutte le piattaforme. Altri articoli gratuiti validi, ma sicuramente meno diffusi rispetto a Tomcat sono Jetty e Orion.

  1. Database locale --> questo elemento non è indispensabile al funzionamento di Web.up, ma la sua presenza può essere comunque molto utile per supportare il log di sistema di Apache o raccogliere informazioni statistiche del salvataggio di informazioni persistenti. Da ribadire comunque che la presenza di un database engine non è comunque richiesta per il corretto funzionamento di Web.Up.

  1. Modulo Web.up --> E' il modulo base di Web.Up, quello che consente la comunicazione tra il server web e il gestionale attestato su AS/400 (tipicamente Sme.Up, ma non solo). Questo modulo implementa tutte le funzionalità dinamiche del prodotto (vedere il manuale di Web.up per maggiori dettagli). Web.up è interamente scritto in linguaggio Java e per il suo funzionamento fa uso di tecnologie web legate a questo ambiente di sviluppo (servlet, JSP); richiede pertanto che sul server web di destinazione sia installata una Java Virtual Machine e una ambiente operativo in grado di supportare le specifiche J2EE (vedi la voce Application Server).

  1. AS/400 --> è la macchina di riferimento per il progetto Sme.up, i cui unici requisiti richiesti sono la presenza del gestionale Sme.up e l'installazione e la corretta configurazione di una scheda di rete con supporto del TCP/IP. La comunicazione tra server web e gestionale AS/400 avviene attraverso servizi attestati su protocollo TCP/IP ed è una componente fondamentale del funzionamento di Web.up: per questo motivo il canale di comunicazione tra server web e AS/400 deve garantire buone prestazioni e una disponibilità di banda ottimale. In caso contrario, potrebbe verificarsi un decadimento delle prestazioni globali del sistema, soprattutto delle interrogazioni web, che richiedono un forte scambio di informazioni con il gestionale. Con la configurazione di sistema mostrata in figura, il supporto Java su AS/400 non è richiesto.

  1. Java Virtual Machine --> rappresenta l'ambiente operativo delle procedure di Web.up, scritte in linguaggio Java. Per questo è necessaria, sul server web, l'installazione e configurazione di una Java Virtual Machine entro la quale eseguire le procedure Java necessarie al funzionamento del prodotto. La Java Virtual Machine viene fornita gratuitamente da Sun MicroSystem ed è anche scaricabile da internet. Per il corretto funzionamento di Web.up è necessaria una versione 1.4.2 della JVM (o superiore).

Risorse Hardware e Software richieste

Dopo aver illustrato sommariamente la struttura di un'installazione Web.up, è utile vedere uno schema riassuntivo dei prerequisiti hardware e software necessari per un'installazione tipica del prodotto (server http + application server + java virtual machine su singolo PC in ambiente Windows).

Requisiti hardware minimi

  • Processore recente
  • Almeno 1 Gbyte di memoria installata (consigliati 2 GB o superiori, soprattutto con i server Windows di ultima generazione)
  • 200 MB di spazio libero su HD (per i soli programmi necessari al funzionamento di Webup. Non tiene conto dello spazio occupato dai siti web)
In questo contesto si fa riferimento ad un'installazione tipica di Web.up e non si tiene conto di dispositivi hardware e software necessari per incrementare la sicurezza e migliorare l'affidabilità del sistema, come gruppi di continuità, sistemi automatici di backup dei dati, strutture di polling per la gestione di grossi carichi di lavoro, ecc... Generalmente la presenza di questi dispositivi non influenza il funzionamento di base di Web.up e non richiede accorgimenti particolari per l'installazione del prodotto.

Requisiti software minimi

  • Sistema operativo Windows NT/2000/XP/2003 in versione Professional.
Le versioni non Professional di Windows possono essere ugualmente utilizzate, ma prevedono una serie di limitazioni sia sul numero di siti web gestibili che sul numero di connessioni concorrenti. Per questo si consiglia caldamente l'utilizzo di una versione Professional.
  • Server HTTP. Molti application server (vedi punto successivo) inglobano al loro interno un server HTTP già reimpostato, che può essere utilizzato in alternativa ad un server stand alone.
  • Application Server. Tra gli application server commerciali è di solito consigliato Resin di Caucho tecnology, che unisce buone prestazioni ad un prezzo decisamente contenuto. Websphere application server di IBM è un altro ottimo prodotto commerciale, ma è pensato per un target di applicazioni più alto rispetto alle tipiche installazioni Web.up. Tra i prodotti open source la preferenza va data senza dubbio a Tomcat, che, pur essendo un prodotto completamente gratuito, ha raggiunto una maturità tecnica e una stabilità tali da renderlo competitivo anche al confronto di concorrenti commerciali. Tutti i prodotti citati contengono anche un server http che può essere usato in alternativa ad un server esterno.
  • Java Virtual Machine in versione 1.4.2 o superiore.
Un esempio di installazione Web.up basata interamente su prodotti commerciali potrebbe essere:
  • Windows XP Professional
  • Internet Information Server (preinstallato insieme al sistema operativo)
  • Caucho Resin in versione Standard (con modulo di connessione a IIS)
  • Java Virtual Machine in versione 1.4.2 o superiore
All'estremo opposto, ecco un esempio di installazione interamente gratuita:
  • Sistema operativo Linux (una qualsiasi distribuzione recente)
  • Apache Web Server (generalmente già presente nella distribuzione)
  • Tomcat ver. 4.0 o superiore
  • Java Virtual Machine in versione 1.4.2 o superiore
Ovviamente sono possibili soluzione ibride, che fanno uso sia di prodotti commerciali che di prodotti open source.

Add new attachment

Only authorized users are allowed to upload new attachments.
«