Prima di iniziare XTEND. 

Introduzione

Che cosa è XTEND?

XTEND è un tool di sviluppo di applicazioni web integrato alla piattaforma tecnologica SAFE X3. E' strettamente collegato alle soluzioni SAFE X3 (applicazioni Sage X3, Sage Warehousing, Sage RH).

E' stato concepito per permettere agli sviluppatori X3:

  • Di realizzare applicazioni web con un minimo di competenze nell'ambito delle tecnologie Internet
  • Di gestire l'insieme dei processi dell'applicazione (amministrazione, elaborazioni, accesso ai dati...) mediante funzioni X3

Permette di realizzare nuove interfacce web sostituendo le interfacce standardizzate delle soluzioni SAFE X3.

Permette inoltre di realizzare ogni tipo di applicazione web cross-browser:

  • Dei siti web istituzionali
  • Dei siti di e-commerce in B to B ed in B to C
  • Dei siti intranet per l'inserimento o la consultazione di dati dell'ERP

Il concetto

Il concetto utilizzato da XTEND per 'rendere dinamiche' le pagine HTML è l'inserimento di token nel codice sorgente HTML, i quali permettono di modificare dinamicamente le proprietà dei tag HTML (a, input,span, td, div...).

Tutti gli elementi che intervengono nella costruzione di un sito web (token, pagine, blocco di iterazione, accesso ai dati, azioni utenti...) sono modellizzate sotto forma di oggetti X3 e parametrizzabili mediante un insieme di funzioni X3. Questi elementi costituiscono un riferimento chiamato dizionario o repository su cui si basa il motore XTEND per 'rendere dinamiche' le pagine HTML.

Un sito XTEND è collegato ad un dossier X3. E' costituito dai seguenti elementi:

  • un dizionario o riferimento
  • un insieme di pagine html e risorse grafiche
  • un insieme di web service per l'accesso dati e l'elaborazione delle azioni utenti.

SEEINFOAnche se definito a livello di un dossier X3, un sito XTEND può accedere a dati e programmi di altre soluzioni/dossier X3 mediante la chiamata di web service.

Prerequisiti

Per sviluppare siti web standard con XTEND è necessario disporre delle seguenti competenze:

  • Sviluppo X3 (indispensabile)
  • Parametrizzazione XTEND (indispensabile)
  • Web service X3
    • Architettura e pubblicazione (indispensabile)
    • Nessuna competenza in programmazione
  • Design HTML
    • HTML (standard)
    • Software di creazione web tipo Dreamweaver (di base)
    • La competenza degli stili css è consigliata
  • JavaScript (di base)
    • Utilizzato per i controlli di inserimenti

Architettura funzionale

Il design delle pagine HTML

XTEND è indipendente dal software di creazione delle pagine HTML che viene lasciato a scelta dello sviluppatore.

Normalmente il design del sito è realizzato da un'agenzia specializzata che consegna un progetto HTML composto da un insieme di pagine (statiche) e di componenti grafici conformi alla chart grafica.

La dinamizzazione delle pagine HTML

L'interesse ed il successo di un sito web è decisamente condizionato dalla sua capacità di pubblicare informazioni personalizzate ed aggiornate in tempo reale.

Con gli ambienti di sviluppo web classici (PHP, ASP.NET, JSP...), l'accesso e la visualizzazione dei dati 'dinamici' ed anche le elaborazioni delle azioni utente sono effettuate mediante programmazione sul server web e richiedono delle buone competenze in tali tecnologie.

XTEND propone un modo di sviluppo web mediante parametrizzazione ed inserimento di token, di facile accesso ed accessibile a sviluppatori non specialisti.

Esempio

<table>
<tr><td>Ref</td><td>Price</td><td>Stock</td></tr>
<!adx='blocIteration'>
   
<tr>
         
<td><aadx="gotoDetail"><spanadx'REFNUM'></span></a></td>
         
<tdadx="PRICE"></td>
         
<tdadx="STOCK"></td>
   
</tr>
<!adx='blocIteration'>
</table>

Ref 

Price

Stock

PUZ001

13.78

10

PUZ002

2.30

5

PUZ003

6.52

0

I programmi e l'accesso ai dati

L'accesso ai dati come tutte le elaborazioni attivate dalle azioni utente sono effettuate in X3 mediante la chiamata di web service.

Sul web server non viene eseguito nessun programma funzionale, il che permette allo sviluppatore X3 una padronanza completa sui programmi attuati.

La sicurezza

L'identificazione degli utenti (login) è effettuata in X3 mediante la chiamata di un sotto-programma specializzato.

L'accesso alle risorse (pagine o web service) così come la criptazione dei dati (formulari, consultazione dei dati confidenziali) è effettuata mediante parametrizzazione X3.

L'amministrazione

I siti web sviluppati con XTEND sono completamente integrati ad una soluzione SAFE X3, il che significa che i componenti del sito (design HTML, programmi, dati) fanno parte del dossier X3 a cui sono collegati.

XTEND mette a disposizione del webmaster un insieme di funzioni X3 per l'amministrazione, in particolare una funzione di copia di un sito web di un dossier di sviluppo verso un dossier di produzione.

Architettura tecnica

XTEND si basa su una architettura multi-tier costituita da:

  • Un server HTTP frontale del server X3WEB (server HTTP front-office)
  • Un server XTEND del server X3WEB (motore di pubblicazione delle pagine HTML chiamato anche motore XTEND)
  • Un server applicativo X3
  • Uno (o più) server di web service

Il server XTEND è situato nel server X3WEB sotto forma di una nuova applicazione web.

Come per le altre applicazioni web (web service, RF...) la configurazione del server XTEND è effettuata mediante la console di amministrazione X3.

La pubblicazione di un sito XTEND su un server è automatica. Viene effettuata mediante una funzione X3 e non necessita di nessun riavvio del server X3WEB.

Il server HTTP frontale

Si tratta del server HTTP Apache installato con il server X3WEB. E' configurato per reindirizzare le richieste XTEND verso il motore XTEND.

Il server XTEND

Il motore XTEND gestisce le sessioni utenti, effettua l'elaborazione delle richieste HTTP e consegna le pagine HTML:

  • gestione dei diritti di accesso
  • chiamata dei web service per elaborare le azioni utenti
  • chiamata dei web service per l'accesso ai dati
  • parsing della pagina HTLM e interpretazione dei token
  • costruzione dinamica della pagina risultato
  • Il server applicativo X3

    Il server X3 è visto dal motore XTEND sia come un server di risorse che come un server di programmi.

    Server di risorse

    XTEND accede alle risorse file tramite il server HTTP del server X3 principale (diverso dal server HTTP frontale). Questi file sono memorizzati per dossier X3 sotto la directory X3_PUB della soluzione.

    Elenco dei file utilizzati da XTEND:

    • il dizionario del sito
      • X3_PUB/NOMEDOSSIER/X_TEND/X_GEN/NOMEDOSSIER
      • il dizionario è costituito di file XML che sono generati durante la validazione dei parametri X3
    • gli elementi del design HTML
      • X3_PUB/NOMEDOSSIER/X_TEND/X_HTML/NOMEDOSSIER/LANG
      • questa directory contiene di norma la copia (FTP) del progetto HTML
    • i menù locali X3
      • X3_PUB/NOMEDOSSIER/GEN/LANG/MENL
    • i file di dati utente la cui ubicazione è parametrizzabile
      • /X3_PUB/NOMEDOSSIER/X_TEND/X_FILAPP
      • /X3_PUB/NOMEDOSSIER/X_TEND/X_FILES

    Server di elaborazione

    L'insieme dei programmi funzionali utilizzati dal server XTEND sono dei sotto-programmi 4GL o oggetti X3 che sono stati pubblicati sotto forma di web service.

    La chiamata del programma X3 è effettuata mediante uno o più server di web service definiti tramite parametrizzazione.

    SEEINFO Non vi è nessun legame diretto tra il motore XTEND ed i server di elaborazione X3. Tutte le chiamate di servizi (accesso ai dati ed elaborazione delle azioni utente) passano attraverso dei server di web service. XTEND non accede in alcun modo al database X3.

    I web service

    Come precedentemente visto, il motore XTEND comunica con il mondo X3 solo mediante chiamate di web service. Nessun sito XTEND può funzionare senza l'utilizzo di web service.

    L'interesse di XTEND è che nasconde completamente la complessità di chiamata di un web service come l'utilizzo delle classi stub o proxy (in JAVA, ASP.NET o PHP) e la creazione/elaborazione dei parametri/dati XML.

    Tutte le operazioni di pubblicazione, di chiamata, di elaborazione del risultato XML e dei messaggi applicativi sono effettuate mediante parametrizzazione X3.

    Le funzioni di parametrizzazione XTEND permettono:

    • di dichiarare i 'pool di web service' utilizzati dai siti
    • Indirizzo/Porta di un server di web service e alias del 'pool di connessione'
    • di definire un 'pool di web service' di default per ogni sito
    • di definire se necessario un 'pool di web service' per azione utente

    Generalità

    Avvio

    Prima di comprendere tutto, bisogna verificare che il server XTEND funzioni correttamente.

    In seguito si può imparare come creare rapidamente il proprio sito XTEND mediante duplicazione del sito di esempio fornito.

    Ecco la pagina Avvio.

    Risoluzione problemi

    Nel caso in cui il server XTEND non funzioni correttamente, ecco alcuni indicazioni per la risoluzione dei problemi.

    Esempio di sito ASAMPLE

    Il sito

    Il sito ASAMPLE funziona su tutte le applicazioni SAFEX3. Non vi è nessuna corrispondenza con le funzioni specifiche delle applicazioni. Questo sito si basa solo su dati supervisore.

    E' un semplice esempio che permette di testare il buon funzionamento del server XTEND da clienti e che fornisce qualche semplice utilizzo.

    Questa pagina descrive gli elementi forniti per questo sito.

    Gestione contenuto

    Come si può ricercare il contenuto html parametrizzato in una funzione XTEND? Ecco la pagina che spiega questa gestione di contenuto.

     Login

    Come è gestita la gestione del login in XTEND per il sito ASAMPLE? Ecco la spiegazione.

    Form

    Come si può attuare l'inserimento in un formulario di contatto? ecco la pagina di spiegazione.

    Elenco dei paesi

    La pagina 'elenco dei paesi' del sito ASAMPLE illustra il concetto di accesso ai dati proposto da XTEND.

    Come si può recuperare facilmente il risultato da una tabella X3? Ecco la pagina di spiegazione.

    Concetti

    Funzionamento

    Come funziona il server XTEND ?

    Come vengono recuperati i parametri inseriti in X3?

    Come interpreta le pagine htlm il serveur XTEND ?

    Ecco la descrizione del funzionamento di XTEND.

    I token

    Come inserire nelle pagine htlm gli elementi del back office? ordini X3, oppure qualsiasi elemento di una applicazione SAFE X3. 

    Come funzionano i token, gli elementi html inseriti in queste pagine?

    Azioni

    Come è parametrizzata un'azione utente su una pagina di un sito? Per esempio un clic su un campo in una pagina html. Ecco la spiegazione.

    Accesso dati

    Come si recuperano in una pagina web i dati di una applicazione SAFE X3 ?

    Ecco la spiegazione.

    Strumenti

    Strumenti X3

    Ecco alcune funzioni X3 che permettono di personalizzare il sito Web.

    Help sviluppo

    Come usare gli strumenti ed i rapporti generati nella pagina web per aiutare lo sviluppo.

    Avanzamento attività

    Come usare i file log che sono generati direttamente sul server XTEND?

    Avanzate

    Libreria standard

    Ecco la descrizione della libreria javascript XTEND fornita.

    Web service REST

    Come chiamare un web service REST solo in un sito XTEND?

    Libreria AJAX

    Come è formata la libreria AJAX XTEND ?

    Scripting server

    Come effettuare javascript lato server?

    Configurazione

    Ecco alcune configurazioni oltre ai parametri in X3.