Die Komponenten des Mediationsablaufs bearbeiten Nachrichtenflüsse zwischen Servicekomponenten. Die Funktionalität einer Mediationskomponente wird durch primitive Mediationselemente
implementiert, die Standardtypen von Serviceimplementierungen implementieren.
Eine Mediationsablaufkomponente besitzt einen oder mehrere Abläufe, z. B. einen
für Anforderungen und einen für Antworten.
WebSphere ESB unterstützt
eine mitgelieferte Gruppe von primitiven Mediationselementen,
die Standardmediationsfunktionen für Mediationsmodule implementieren,
die in WebSphere ESB implementiert sind. Wenn Sie spezielle Mediationsfunktionen benötigen, können Sie angepasste
primitive Mediationselemente selbst entwickeln.
Ein primitives Mediationselement definiert eine 'Eingangsoperation', die
Nachrichten verarbeitet bzw. verwaltet, welche durch Servicenachrichtenobjekte (Service Message Objects, SMOs) dargestellt werden. Ein primitives Mediationselement kann zudem 'Ausgangsoperationen' definieren, die Nachrichten an andere Komponenten oder Module senden.
Abbildung 1. Mediationsmodul mit drei primitiven Mediationselementen
Sie können primitive Mediationselemente und ihre Merkmale mit WebSphere Integration Developer
konfigurieren. Einige
dieser Merkmale können durch Hochstufen für den Laufzeitadministrator sichtbar gemacht werden. Jedes hochstufungsfähige Merkmal eines primitiven Mediationselements kann auch ein dynamisches Merkmal sein. Ein dynamisches Merkmal kann während der Laufzeit durch eine Richtliniendatei außer Kraft gesetzt werden.
WebSphere Integration Developer ermöglicht auch die grafische Modellierung
und Erstellung und Assemblierung von Mediationsablaufkomponenten aus
primitiven Mediationselementen und die
Assemblierung von Mediationsmodulen aus Mediationsablaufkomponenten. Die Administrationskonsole bezieht sich unter der Bezeichnung 'SCA-Module' auf Mediationsmodule.
WebSphere Integration Developer ermöglicht auch die Definition von Unterabläufen in Modulen oder ihren abhängigen Bibliotheken.
Ein Unterablauf kann mit Ausnahme des primitiven Meditionselements für die Richtlinienauflösung jedes beliebige primitive Mediationselement enthalten. Ein Unterablauf wird von einem Anforderungs- oder Antwortablauf oder mit dem primitiven Mediationselement für den Unterablauf von einem anderen Unterablauf aufgerufen. Die von primitiven Mediationselementen in einem Unterablauf hochgestuften Merkmale werden als Merkmale auf den primitiven Mediationselementen für den Unterablauf offen gelegt. Diese können dann ihrerseits wieder hochgestuft werden, bis sie die Modulstufe erreichen, auf der sie dann durch den Laufzeitadministrator geändert werden können.
Unterstützte primitive Mediationselemente
Die folgenden primitiven Mediationselemente
werden von
WebSphere ESB unterstützt:
- Business Object Map (Business-Objektzuordnung)
- Ein Element dieses Typs setzt Nachrichten um.
- Definiert Nachrichtenumsetzungen unter Verwendung einer Business-Objektzuordnung, die
wiederverwendet werden kann.
- Ermöglicht das grafisch gestützte Definieren von Nachrichtenumsetzungen unter Verwendung des
Editors für Business-Objektzuordnungen.
- Kann den Inhalt einer Nachricht ändern.
- Kann einen Eingabenachrichtentyp in einen anderen Ausgabenachrichtentyp umsetzen.
- Custom Mediation (Angepasste Mediation)
- Ein Element dieses Typs ermöglicht die Implementierung einer eigenen Mediationslogik in
Java™-Code. Das primitive Element 'Custom Mediation' kombiniert die Flexibilität eines benutzerdefinierten
primitiven Mediationselements mit der Einfachheit eines vordefinierten primitiven Mediationselements. Komplexe Umsetzungen und Routingmuster können wie folgt erstellt werden:
- Erstellen von Java-Code.
- Erstellen eigener Merkmale.
- Hinzufügen neuer Terminals.
Sie haben die Möglichkeit, über ein primitives
Element des Typs 'Custom Mediation' einen Service aufzurufen. Zum Aufrufen von Services wurde
jedoch das primitive Mediationselement 'Service Invoke' konzipiert, das zusätzliche Funktionen
wie beispielsweise Wiederholen bereitstellt.
- Data Handler (Datenhandler)
- Ein Element dieses Typs ermöglicht die Umsetzung eines Teils einer Nachricht. Mit ihm kann das physische Format eines Elements einer Nachricht in eine logische Struktur oder dessen logische Struktur in ein physisches Format umgesetzt werden. Das primitive Mediationselement wird primär für die Umwandlung eines physischen Formats (wie zum Beispiel einer Textzeichenfolge in einem JMS-Textnachrichtenobjekt) in eine logische Business-Objektstruktur und umgekehrt eingesetzt. Diese Mediation wird im Allgemeinen für Folgendes verwendet:
- Umsetzung eines Abschnitts der Eingabenachricht von einer definierten Struktur in eine andere, wenn zum Beispiel ein Servicenachrichtenobjekt einen mit Komma abgetrennten Zeichenfolgewert enthält und Sie diesen in einem bestimmtes Business-Objekt analysieren möchten.
- Änderung des Nachrichtentyps, wenn zum Beispiel ein JMS-Export für die Verwendung einer JMS-Datenbindung des Basistyps konfiguriert ist und der Integrationsentwickler entscheidet, dass der Inhalt im Mediationsmodul zu einer bestimmten Business-Objekt-Struktur aufgebläht werden soll.
- Database Lookup (Datenbanksuche)
- Ein Element dieses Typs ändert Nachrichten und verwendet hierzu Informationen aus einer
vom Benutzer bereitgestellten Datenbank.
- Sie müssen eine Datenbank, eine Datenquelle und alle Einstellungen für die Serverauthentifizierung
konfigurieren, die vom primitiven Mediationselement des Typs 'Database Lookup' verwendet
werden sollen. Sie können diese Schritte über die Administrationskonsole ausführen.
- Das primitive Database Lookup-Mediationselement kann nur aus einer Tabelle lesen.
- Die angegebene Schlüsselspalte muss einen eindeutigen Wert enthalten.
- Die Daten in den Wertspalten müssen entweder einem einfachen XML-Schematyp oder einem XML-Schematyp entsprechen, der einen einfachen XML-Schematyp erweitert.
- Endpoint Lookup (Endpunktsuche)
- Dieses Element ermöglicht das dynamische Routing von Anforderungen durch das Suchen nach Serviceendpunkten in einem Repository.
- Serviceendpunktinformationen werden von einem WebSphere Service
Registry and Repository (WSRR) abgerufen. Die WSRR-Registry kann lokal oder fern sein.
- Registry-Änderungen können Sie in der WSRR-Administrationskonsole vornehmen.
- WebSphere ESB muss wissen, welche
Registry verwendet werden soll. Deshalb müssen über die Administrationskonsole von
WebSphere ESB WSRR-Zugriffsdefinitionen
erstellt werden.
- Event Emitter (Ereignisemitter)
- Verbessert die Überwachung durch das Ausgeben von Ereignissen innerhalb eines
Mediationsablaufs.
- Die Mediationsaktion kann durch Abwählen des Markierungsfelds ausgesetzt werden.
- Ereignisse des Typs 'Event Emitter' können im CBE-Browser (CBE = Common Base Events) von
WebSphere ESB angezeigt werden.
- Ereignisse sollten aus Leistungsgründen nur an einem wichtigem Punkt in einem Mediationsablauf
gesendet werden.
- Sie können die Nachrichtenteile definieren, die das Ereignis enthält.
- Die Ereignisse werden als CBEs an einen CEI-Server (CEI = Common Event Infrastructure) gesendet.
- Um die Event Emitter-Informationen optimal nutzen zu können, müssen
die Ereignisnutzer mit der CBE-Struktur vertraut sein. CBE-Elemente verfügen
über ein Gesamtschema, das jedoch nicht die anwendungsspezifischen Daten modelliert,
die in den erweiterten Datenelementen enthalten sind. Zum Modellieren der erweiterten Datenelemente
generieren die WebSphere Integration Developer-Tools
eine CEI-Ereigniskatalogdefinitionsdatei für jedes konfigurierte primitive Mediationselement des Typs 'Event Emitter'.
Ereigniskatalogdefinitionsdateien sind Exportartefakte zu Ihrer Unterstützung. Sie werden
weder von WebSphere Integration Developer noch
von der WebSphere ESB-Laufzeit verwendet.
Verwenden Sie die Ereigniskatalogdefinitionsdateien, wenn Sie Anwendungen erstellen, die Event Emitter-Ereignisse lesen.
- Andere Überwachungsfunktionen können Sie in WebSphere ESB festlegen. Beispielsweise können Sie Ereignisse überwachen, die von Import- und Exportoperationen
ausgegeben werden.
- Fail (Fehlschlagen)
- Ein Element dieses Typs stoppt einen bestimmten Pfad im Ablauf und generiert eine
Ausnahmebedingung.
- Fan In (Eingabefächerung)
- Mit einem Element dieses Typs können Nachrichten aggregiert (kombiniert) werden.
- Dieses Element kann nur in Kombination mit dem primitiven Mediationselement 'Fan Out' verwendet werden.
- Zusammen ermöglichen die beiden primitiven Mediationselemente 'Fan Out' und 'Fan In' die
Aggregation von Daten in einer Ausgabenachricht.
- Das primitive Mediationselement 'Fan In' empfängt Nachrichten, bis ein Entscheidungspunkt erreicht
wird. Dann wird eine Nachricht ausgegeben.
- Aggregationsdaten sollten im gemeinsam genutzten Kontext gespeichert werden.
- Fan Out (Ausgabefächerung)
- Mit einem Element dieses Typs können Nachrichten geteilt und aggregiert (kombiniert) werden.
- Zusammen ermöglichen die beiden primitiven Mediationselemente 'Fan Out' und 'Fan In' die
Aggregation von Daten in einer Ausgabenachricht.
- Im Iterationsmodus kann mit dem primitiven Mediationselement 'Fan Out' eine einzelne
Eingabenachricht durchlaufen werden, die ein sich wiederholendes Element enthält.
Bei jedem Vorkommen
des sich wiederholenden Elements wird eine Nachricht gesendet.
- Aggregationsdaten sollten im gemeinsam genutzten Kontext gespeichert werden.
- HTTP Header Setter (Setter für HTTP-Header)
- Ein Element dieses Typs stellt einen Mechanismus zum Verwalten von Headern in HTTP-Nachrichten bereit.
- Es kann HTTP-Nachrichtenheader erstellen, festlegen, kopieren oder löschen.
- Es ist in der Lage, mehrere Aktionen festzulegen, mit denen mehrere HTTP-Header geändert werden.
- MQ Header Setter (Setter für MQ-Header)
- Ein Element dieses Typs stellt einen Mechanismus zum Verwalten von Headern in MQ-Nachrichten bereit.
- Es kann MQ-Nachrichtenheader erstellen, festlegen, kopieren oder löschen.
- Es ist in der Lage, mehrere Aktionen festzulegen, mit denen mehrere MQ-Header geändert werden.
- SOAP Header Setter (Setter für SOAP-Header)
- Ein Element dieses Typs stellt einen Mechanismus zum Verwalten von Headern in SOAP-Nachrichten bereit.
- Es kann SOAP-Nachrichtenheader erstellen, festlegen, kopieren oder löschen.
- Es ist in der Lage, mehrere Aktionen festzulegen, mit denen mehrere SOAP-Header geändert werden.
- Message Element Setter (Setter für Nachrichtenelement)
- Dieses Element stellt ein einfaches Verfahren zum Festlegen des Inhalts von
Nachrichten bereit.
- Nachrichtenelemente können geändert, hinzugefügt oder gelöscht werden.
- Der Nachrichtentyp wird nicht geändert.
- Die Daten in den Wertspalten müssen entweder einem einfachen XML-Schematyp oder einem XML-Schematyp entsprechen, der einen einfachen XML-Schematyp erweitert.
- Message Filter (Nachrichtenfilter)
- Ein Element dieses Typs leitet Nachrichten - abhängig vom Nachrichteninhalt - an
unterschiedliche Pfade weiter.
- Die Mediationsaktion kann durch Abwählen des Markierungsfelds ausgesetzt werden.
- Message Logger (Nachrichtenprotokollfunktion)
- Mit diesem Element werden Nachrichten in einer relationalen Datenbank oder über Ihre eigene benutzerdefinierte Protokollfunktion protokolliert. Die Nachrichten werden
im XML-Format gespeichert und können daher von allen Anwendungen verarbeitet werden, die XML erkennen.
- Die Mediationsaktion kann durch Abwählen des Markierungsfelds ausgesetzt werden.
- Die Struktur der relationalen Datenbank (Tabellenstruktur) wird von IBM definiert.
- Das primitive Mediationselement 'Message Logger' verwendet standardmäßig
die Common-Datenbank. Die Datenquelle wird von der Laufzeit unter jdbc/mediation/messageLog der
Common-Datenbank zugeordnet.
- Das Verhalten der benutzerdefinierten Protokollfunktion lässt sich durch Handlerimplementierungsklassen anpassen, die Sie festlegen. Optional können Sie Implementierungsklassen für Formatierungsprogramme, Filterimplementierungsklassen oder beide Arten von Klassen bereitstellen, um das Verhalten der benutzerdefinierten Protokollfunktion anzupassen.
- Policy Resolution (Richtlinienauflösung)
- Dieses Element ermöglicht die dynamische Konfiguration von Anforderungen durch das Suchen nach Serviceendpunkten und zugeordneten Richtliniendateien in einem Repository.
- Sie können die hochgestuften Merkmale anderer primitiver Mediationselemente unter Verwendung einer Richtliniendatei dynamisch außer Kraft setzen.
- Serviceendpunktinformationen und Richtlinieninformationen werden von einem WebSphere Service
Registry and Repository (WSRR) abgerufen. Die WSRR-Registry kann lokal oder fern sein.
- Registry-Änderungen können Sie in der WSRR-Administrationskonsole vornehmen.
- WebSphere ESB muss wissen, welche
Registry verwendet werden soll. Deshalb müssen über die Administrationskonsole von
WebSphere ESB WSRR-Zugriffsdefinitionen
erstellt werden.
- Service Invoke (Serviceaufruf)
- Ein Element dieses Typs ruft einen Service aus einem Mediationsablauf heraus auf, anstatt
bis zum Ende des Mediationsablauf zu warten und den Aufrufmechanismus zu verwenden.
- Wenn der Service einen Fehler zurückgibt, können Sie diesen Service erneut aufrufen
oder einen anderen Service verwenden.
- Das primitive Mediationselement 'Service Invoke' ist ein leistungsstarkes Element, das entweder
allein (für einfache Serviceaufrufe) oder in Kombination mit anderen primitiven
Mediationselementen (für komplexe Mediationen) verwendet werden kann.
- Set Message Type (Nachrichtentyp festlegen)
- Während der Integrationsentwicklung können schwach typisierte Nachrichtenfelder mithilfe
dieses Elements wie stark typisierte Nachrichtenfelder behandelt werden. Ein Feld ist schwach typisiert,
wenn es mehrere Datentypen enthalten kann. Ein Feld ist stark typisiert, wenn der zugehörige Typ und die
interne Struktur bekannt sind.
- Zur Laufzeit kann mithilfe des primitiven Mediationselements 'Set Message Type' überprüft werden,
ob der Inhalt einer Nachricht mit den erwarteten Datentypen übereinstimmt.
- Stop (Stoppen)
- Ein Element dieses Typs stoppt einen bestimmten Pfad im Ablauf, ohne eine Ausnahmebedingung zu generieren.
- Type Filter (Typfilter)
- Ein Element dieses Typs ermöglicht Ihnen, Nachrichten in Abhängigkeit von ihrem Typ jeweils über einen anderen Pfad zu übertragen.
- XSL Transformation (XSL-Umsetzung)
- Ein Element dieses Typs setzt Nachrichten um.
- Ermöglicht das Ausführen von XSL-Umsetzungen (XSL = Extensible Stylesheet Language).
- Nachrichten werden mit XSLT 1.0 umgesetzt. Bei der Umsetzung wird eine XML-Serialisierung der Nachricht durchgeführt.