L'algoritmo del formato dispositivo è utilizzato per determinare l'appropriato JSP come risposta per una particolare richiesta. Quando è ricevuta una richiesta e viene utilizzato il compilatore dei messaggi per convertire la richiesta in un oggetto CommandProperty, il compilatore dei massaggi e l'adattatore utilizzato per elaborare la richiesta determinano l'appropriato formato del dispositivo per creare il contenuto della risposta. L'ID del compilatore dei messaggi viene aggiunto all'ID del formato del dispositivo dell'adattatore per determinare l'ID generale del formato del dispositivo della risposta. Questo ID generale del formato del dispositivo e il VIEWNAME vengono utilizzati per ottenere l'appropriato JSP dalla tabella VIEWREG, che crea il contenuto della risposta.
A ciascun adattatore che accetta richieste e utilizza il compilatore dei messaggi viene assegnato un ID di formato dispositivo. Tale ID è definito nel file di configurazione dell'adattatore instance_name.xml. Tale ID è definito nella configurazione dell'adattatore presente nel file di configurazione instance_name.xml. L'ID di formato dispositivo predefinito per ogni adattatore che riceve mediante il compilatore dei messaggi è in intervalli di -10000. Un adattatore di programma ha un ID formato dispositivo di -10000 mentre l'adattatore WebSphere ha un ID formato dispositivo di -20000. L'adattatore che supporta messaggi legacy utilizza l'ID di formato dispositivo di -30000. Quando si determina l'appropriato JSP e si visualizza il comando per richiamarlo, l'ID del compilatore dei messaggi viene aggiunto all'ID di formato dispositivo per determinare l'ID di formato dispositivo per la visualizzazione della risposta. Tuttavia, se non esiste la visualizzazione dell'ID di formato dispositivo calcolato, viene utilizzata quella predefinita dell'intervallo dell'adattatore. Perciò, per una richiesta XML su HTTP, l'ID di formato dispositivo predefinito è -10000 mentre per le richieste dell'adattatore WebSphere MQ è -20000. E' necessario differenziare la visualizzazione della risposta in modo che una risposta HTTP utilizzerà l'interfaccia HttpForwardViewCommand mentre una risposta dall'adattatore WebSphere MQ utilizzerà l'interfaccia MessagingViewCommand.
Questo algoritmo consente un massimo di 9999 compilatori dei messaggi che devono essere definiti con un adattatore. Il file di configurazione per ciascun compilatore dei messaggi contiene un numero ID in intervalli di 1. Per configurare adattatori supplementari che utilizzano il compilatore dei messaggi deve essere assegnato un ID di formato dispositivo che è in un intervallo di 10000. Ad esempio, ad un uovo meccanismo di richiesta potrebbe essere assegnato un intervallo di formato dispositivo di 40000.
Nota:
- Se risulta impossibile trovare l'ID di formato dispositivo calcolato, viene utilizzato l'ID di formato dispositivo predefinito dell'adattatore per ottenere il risultato. Questo numero è configurabile nella configurazione dell'adattatore HTTP.
- La dimensione dell'intervallo non è importante. Ad esempio, se esistono soltanto 2 compilatori dei messaggi, allora l'intervallo può avere la dimensione 3. L'intervallo 10000 è utilizzato per impostazione predefinita.
Esempi
- Un messaggio in entrata viene gestito da un compilatore dei messaggi con un ID di -1 e dall'adattatore di programma che ha un ID di formato dispositivo di -10000. Seguendo l'algoritmo di formato dispositivo, l'ID di formato dispositivo creato per una risposta a quel messaggio in entrata potrebbe essere -10001. Il file JSP definito nella tabella VIEWREG per il VIEWNAME e l'ID di formato dispositivo di -10001 viene utilizzato per creare la risposta.
- In alternativa, un messaggio in entrata viene gestito dal medesimo compilatore dei messaggi con l'ID di -1, ma dall'adattatore WebSphere, che ha un ID di formato dispositivo di -20000. L'ID di formato dispositivo creato per la risposta a questo messaggio potrebbe essere -20001. Perciò, il file JSP definito nella tabella VIEWREG per il VIEWNAME e l'ID di formato dispositivo di -20001 viene utilizzato per creare la risposta. Si osservi che anche se la richiesta può utilizzare il medesimo JSP per rispondere alla richiesta, la classe utilizzata per richiamare JSP può essere differente.