I componenti di mediazione agiscono sui flussi di messaggi tra componenti di servizio.
Le capacità di un componente di mediazione vengono implementate dalle primitive di
mediazione, che attivano tipi di implementazione di servizio standard.
Un componente di mediazione dispone di uno o più flussi; ad esempio uno per le richieste
ed uno per le risposte.
WebSphere ESB supporta
una serie fornita di primitive di mediazione, che implementano capacità di mediazione standard
per moduli di mediazione distribuiti in WebSphere ESB.
Se sono necessarie capacità di mediazione speciali, è possibile sviluppare le proprie primitive
di mediazione personalizzate.
Una primitiva di mediazione definisce un'operazione "in entrata" che elabora o gestisce
messaggi rappresentati dagli oggetti dei messaggi di servizio. Una primitiva di mediazione
definisce anche operazioni "in uscita" che inviano messaggi ad un altro componente o
modulo.

Le primitive di mediazione solitamente funzionano a livello di una singola operazione,
con possibile mediazione della richiesta (input) e della risposta (output). In alcuni casi,
è possibile specificare primitive di mediazione fino al livello di un parametro singolo su un'operazione;
ad esempio, i selettori possono intervenire a livello dell'operazione o del
parametro.
WebSphere Integration Developer può essere utilizzato
per raggruppare i componenti di mediazione e creare un modello grafico degli stessi dalle primitive
di mediazione e per raggruppare i moduli di mediazione dai componenti di mediazione.
La seguente serie di primitive di mediazione viene supportata da
WebSphere ESB:
- Custom Mediation
- Esegue la logica personalizzata. La primitiva Custom Mediation può richiamare un componente SCA (Service Component Architecture) esterno,
fornito dall'utente.
- L'operazione che viene richiamata deve essere un'operazione bidirezionale.
- Il componente SCA di destinazione deve
esistere nello stesso modulo di mediazione della primitiva Custom Mediation.
- Database Lookup
- Modifica i messaggi, usando le informazioni del database fornito dall'utente.
- E' necessario configurare le impostazioni di qualsiasi autenticazione server, origine dati e database
per la primitiva di mediazione Database Lookup da utilizzare.
- La primitiva di mediazione Database Lookup può eseguire solamente la lettura da una tabella.
- La colonna chiave specificata deve contenere un valore univoco.
- I dati nelle colonne dei valori devono essere di tipo primitivo Java o di tipo String Java (oppure
deve essere possibile assegnarli ad un tipo primitivo Java o ad un tipo String Java).
- Fail
- Genera un errore nel flusso.
- Message Filter
- Instrada messaggi su percorsi differenti, sulla base del loro contenuto.
- Message Logger
- Registra messaggi in un database. I messaggi vengono memorizzati come XML, pertanto
i dati possono essere elaborati successivamente da applicazioni abilitate per XML.
- Lo schema database viene definito da IBM.
- L'installazione predefinita per WebSphere ESB crea
un'origine dati ed un database Cloudscape. Per impostazione predefinita, WebSphere Integration Developer configura
primitive di mediazione Message Logger per utilizzare questo database Cloudscape.
- Se si desidera creare il proprio database e l'origine dati, tramite la console di gestione,
WebSphere ESB fornisce
file ddl (data definition language) che descrivono lo schema della tabella. I file Table.ddl
sono memorizzati in: install_root/util/EsbLoggerMediation/database_
type/Table.ddl. Dove database_ type fa riferimento al tipo di
database, ad esempio CLOUDSCAPE_V50. Se si crea il proprio database
e si desidera utilizzare il nome JNDI predefinito per la propria origine dati, è necessario
rimuovere l'origine dati predefinita.
- Stop
- Arresta un percorso particolare nel flusso, senza generare un'eccezione.
- XSLT
- Converte i messaggi.
- La primitiva di mediazione XSLT può modificare le intestazioni o il contenuto dei
messaggi.
- I messaggi vengono convertiti utilizzando una conversione XSLT (Extensible Stylesheet Transformations)
1.0. La conversione agisce su una serializzazione XML del
messaggio.