Creazione del flusso di messaggi
Viene fornito il flusso di messaggi Video, ma se si preferisce è possibile creare autonomamente il flusso di messaggi.
Utilizzare le seguenti istruzioni per creare il flusso di messaggi Video. Vi sono istruzioni dettagliate per alcuni dei seguenti passi; per accedere a tali istruzioni fare clic sul link fornito alla fine del passo.
- Passare alla vista Broker Application Development.
- Creare un nuovo progetto flusso di messaggi denominato Video Message Flows.
Per istruzioni, consultare Creazione di un progetto flusso di messaggi.
- Creare un nuovo flusso di messaggi denominato Video_Test.
Per istruzioni, consultare Creazione di un flusso di messaggi.
- Nell'editor Flusso di messaggi, aggiungere e ridenominare i nodi elencati nella seguente tabella. Per istruzioni, consultare Aggiunta di un nodo.
Tipo nodo |
Nome nodo |
MQInput |
VIDEO_XML_IN |
MQInput |
VIDEO_TDS_IN |
MQInput |
VIDEO_CWF_IN |
MQOutput |
VIDEO_OUT |
MQOutput |
VIDEO_FAIL |
Compute |
Extract Fields |
- Collegare i nodi come elencato nella seguente tabella. Per istruzioni, consultare Collegamento nodi.
Per controllare che i nodi siano stati collegati correttamente, vedere la figura in Informazioni sul flusso di messaggi Video.
Nome nodo |
Terminale |
Collegare a questo nodo |
VIDEO_XML_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
VIDEO_TDS_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
VIDEO_CWF_IN |
Failure |
VIDEO_FAIL |
Out |
Extract Fields |
Catch |
VIDEO_FAIL |
Extract Fields |
Out |
VIDEO_OUT |
- Configurare le proprietà del nodo come viene elencato nella seguente tabella. Accettare i valori predefiniti per tutte le proprietà a meno che nella tabella non venga elencato un valore alternativo. Per istruzioni, consultare Configurazione di un nodo.
Per i nodi VIDEO_XML_IN, VIDEO_TDS_IN e VIDEO_CWF_IN, è necessario impostare la proprietà dell'identificativo serie di messaggi. Ogni serie di messaggi dispone di un identificativo univoco. Per individuare qual'è l'identificativo della serie di messaggi creata:
- Nel Navigator risorse, espandere l'albero di navigazione: Video Messages > Video >messageSet.mset.
- Fare doppio clic su messagetSet.mset per aprirlo.
- L'identificativo univoco della serie di messaggi viene visualizzato nel campo ID serie di messaggi.
Nome nodo |
Pagina |
Proprietà |
Valore |
VIDEO_XML_IN |
Base |
Nome coda |
VIDEO_XML_IN |
Predefinito |
Dominio messaggio |
MRM |
Predefinito |
Serie di messaggi |
(Selezionare l'identificativo univoco della serie di messaggi) |
Predefinito |
Tipo messaggio |
Customer |
Predefinito |
Formato messaggio |
XML1 |
VIDEO_TDS_IN |
Base |
Nome coda |
VIDEO_TDS_IN |
Predefinito |
Dominio messaggio |
MRM |
Predefinito |
Serie di messaggi |
(Selezionare l'identificativo univoco della serie di messaggi) |
Predefinito |
Tipo messaggio |
Customer |
Predefinito |
Formato messaggio |
TDS1 |
VIDEO_CWF_IN |
Base |
Nome coda |
VIDEO_CWF_IN |
Predefinito |
Dominio messaggio |
MRM |
Predefinito |
Serie di messaggi |
(Selezionare l'identificativo univoco della serie di messaggi) |
Predefinito |
Tipo messaggio |
Customer |
Predefinito |
Formato messaggio |
CWF1 |
VIDEO_FAIL |
Base |
Nome coda |
VIDEO_FAIL |
Extract Fields |
Base |
Modulo ESQL |
Video_Test_Compute |
VIDEO_OUT |
Base |
Nome coda |
VIDEO_OUT |
- Aggiungere i seguenti moduli codice ESQL al file Video_Test.esql. E' possibile copiare e incollare il codice ESQL direttamente nel file esql, se lo si desidera.
Per istruzioni, consultare Sviluppo di ESQL.
CREATE COMPUTE MODULE Video_Test_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
-- Questo ESQL estrae alcuni campi dal messaggio di input
-- solo per dimostrare i riferimenti utilizzati per i campi in differenti
-- spazi nomi
SET OutputRoot = InputRoot;
DECLARE addr NAMESPACE 'http://www.ibm.com/AddressDetails';
DECLARE brw NAMESPACE 'http://www.ibm.com/BorrowedDetails';
DECLARE I INTEGER;
SET OutputRoot.MRM.Name = InputRoot.MRM.Name;
SET OutputRoot.MRM.addr:Address = InputBody.addr:Address;
IF InputRoot.MRM.ID ='P' THEN
SET OutputRoot.MRM.PassportNo = InputBody.PassportNo;
ELSEIF InputRoot.MRM.ID ='D' THEN
SET OutputRoot.MRM.DrivingLicenseNo=InputBody.DrivingLicenseNo;
ELSEIF InputRoot.MRM.ID ='C' THEN
SET OutputRoot.MRM.CreditCardNo=InputBody.CreditCardNo;
END IF;
SET I=1;
WHILE I<= CARDINALITY(InputBody.brw:Borrowed.*[]) DO
SET OutputRoot.MRM.brw:Borrowed[I].VideoTitle = InputBody.brw:Borrowed[I].VideoTitle;
SET OutputRoot.MRM.brw:Borrowed[I].DueDate=InputBody.brw:Borrowed[I].DueDate + INTERVAL '1' DAY;
SET OutputRoot.MRM.brw:Borrowed[I].Cost=InputBody.brw:Borrowed[I].Cost*2;
SET I=I+1;
END WHILE;
SET OutputRoot.MRM.Magazine = InputBody.Magazine;
RETURN TRUE;
END;
END MODULE
Torna alla pagina home dell'esempio