Test Base con MSH2

Introduzione
Per agevolare l'utilizzo di MSH2 è stato definito questo test che verifica le funzionalità base di MSH2, in questo modo è possibile verificare velocemente la correttezza di installazione, configurazione, vie di comunicazione libere, accesso a database , ecc..
Dopo aver effettuato questo test con successo è possibile procedere con test che verificano caratteristiche più complesse supportate dal tool, per esempio: busta ebMS, crittografia e firma digitale, specificazione di processi di business, reliability, ecc.

Per agevolare l'utilizzo di MSH2 è stato definito questo test che verifica le funzionalità base, in questo modo è possibile verificare velocemente la correttezza di installazione, configurazione, vie di comunicazione libere, accesso a database, ecc..
Dopo aver effettuato questo test con successo è possibile procedere con test che verificano caratteristiche più complesse supportate dal tool, per esempio: busta ebMS, crittografia e firma digitale, specificazione di processi di business, reliability, ecc.

Il Test Base di MSH2 prevede:
- una fase di ricezione [ Client > SimpleMail > MSH2 ]
- una fase di spedizione [ MSH2 > SimpleMail > Client ]
di un file XML per mezzo del protocollo SMTP tramite l'utilizzo di una e-mail semplice (SimpleMail).
In altre parole, una SimpleMail è una banalissima e-mail con allegato un file XML.
Non verrà utilizzata in questo test la busta ebMS che MSH2 supporta per "imbustare" i documenti durante lo scambio.

Ricezione
Con la prima fase del test, di Ricezione, l'obiettivo che ci proponiamo è quello di ricevere con MSH2 un file XML spedito da un generico client di posta elettronica.
Poichè un client di posta elettronica generico non supporta, solitamente, lo standard ebMS, abilitiamo in MSH2 la ricezione di SimpleMail.

Per effettuare questo test sono necessari due account e-mail, per esempio:
- client@email.com come mittente
(verrà utilizzato un client di posta generico (p.e. una web mail oppure eudora, outlook, ecc.);
- msh2@email.com come destinatario
(configurato in MSH2).

Prima di effettuare il test si consiglia di compiere le seguenti azioni:
- cancellare o scaricare manualmente eventuali messaggi giacenti sul server di posta;
- modificare nel tab Opzioni/SimpleMail l'oggetto in [MODAML Document]
- provare a Ricevere, se compare "Nessun nuovo messaggio", procedere.

Spedire con il client generico (quindi da client@email.com) un'e-mail con xml in allegato e oggetto [MODAML Document] al destinatario definito, ovvero msh2@email.com.
Ricevere il messaggio spedito, MSH2:
- lo individua grazie all'oggetto concordato;
- ne effettua il parsing;
- estrae il documento XML ene verifica la buona forma e validità;
- salva il documento nella cartella (specificata nel pannello Opzioni/SimpleMail).

Spedizione
Con la seconda fase del test, di Spedizione, l'obiettivo che ci proponiamo è quello di spedire con MSH2 un file XML che venga poi ricevuto da un generico client di posta elettronica.
Poichè un client di posta elettronica generico non supporta, solitamente, lo standard ebMS, abilitiamo in MSH2, se non lo abbiamo già fatto, la ricezione di SimpleMail.

In questa fase dunque testeremo:

Per effettuare questo test sono necessari due account e-mail, per esempio:
- client@email.com come destinatario
(verrà utilizzato un client di posta generico (p.e. una web mail oppure eudora, outlook, ecc.);
- msh2@email.com come mittente
(configurato in MSH2).

Per effettuare la spedizione da MSH2 è necessario creare un file di configurazione in cui verrà specificato il destinatario. Per definire il file di configurazione che rappresenta un accordo di collaborazione tra due party, ebXML ha definito lo standard CPA, in formato XML. Un CPA è dunque un file comune che le due aziende hanno stipulato o accettato come rappresentazione della collaborazione che andranno ad eseguire. In questo test abbiamo definito essere presente un solo MSH2, lato mittente;

nel CPA verranno specificati:
- due PartyID per i due sistemi (che sono identificatori universali delle aziende)
- due endpoint per i due sistemi (ovvero gli indirizzi e-mail).

I due PartyID devono rispettare una particolare sintassi, ovvero:
- due lettere, in MAIUSCOLO, che indicano la nazionalità,
- un trattino, "-", "meno", di separazione  e
- undici/tredici cifre che indicano la P.IVA (o un VAT number europeo).
Per il momento useremo questi due PartyID fittizzi:
IT-123451234501 per il mittente msh2@email.com
IT-543215432101 per il destinatario client@email.com

Per creare/editare un file CPA, rappresentazione di un accordo di collaborazione ebXML, è possibile usare gratuitamente una web application appositamente sviluppata: CPA-FastEditor
E' possibile visualizzare e/o effettuare il download del CPA risultante per questo test, che è stato creato semplicemente:
- inserendo i due PartyID,
- inserendo le due e-mail e
- specificando che stiamo usando le SimpleMail anzichè ebMS
(usato in MSH2 di default per imbustare i messaggi secondo lo standard ebXML).

Salvare il file CPA nell'apposita directory di MSH2: MSH2/CPA/
Ora MSH2 "conosce" la collaborazione descritta in questo CPA, tra mittente e destinatario, e può prelevare le informazioni relative all'occorrenza.

Prima di passare alla spedizione vera e propria per questo basic test:
- assicurarsi che in Opzioni/Generali di MSH2 vi sia il PartyID mittente deciso,
(ovvero: IT-123451234501);
- provare a spedire, se compare "Non ci sono file nella cartella Outbox", possiamo procedere.

Prendere un file XML che si intende spedire e rinominarlo come segue:
MSH2_IT-543215432101_0_1.xml
Questa particolare sintassi permette a MSH2:
- di riconoscere il mittente caricando il CPA relativo con tutte le informazioni necessarie;
- di integrarsi facilmente con qualsiasi applicativo interno che, esportando i dati da una propria banca dati in un file XML nominato con questa particolare sintassi, può così allacciarsi al modulo di trasporto.

Copiare il file XML nella cartella MSH2/Outbox/
MSH2 chiederà conferma di spedire il file
(o, se impostato in Opzioni/Generali, lo spedirà immediatamente).

A questo punto nella web mail del destinatario dovrebbe essere arrivata la e-mail con allegato il documento xml.