Sie können einen JMS-Service zu einem SCA-Import mit JMS-Binding migrieren.
Anmerkung: Wenn die JMS-Nachricht an einen Adapter von WebSphere Business Integration gesendet wird, finden Sie weitere Informationen im Abschnitt
"Interaktionen mit WebSphere Business Integration-Adaptern migrieren".
Führen Sie die folgenden Schritte durch, um ein JMS-Serviceprojekt für eine ausgehende Servicemigration zu migrieren:
- Zunächst müssen Sie das Serviceprojekt mithilfe des Migrationsassistenten importieren. Dies resultiert in der Erstellung eines Geschäftsintegrationsmoduls mit den WSDL-Nachrichten, PortTypes,
Bindings und Services, die in WebSphere Studio
Application Developer Integration Edition generiert werden.
- Erweitern Sie in der Geschäftsintegrationsperspektive das Modul, sodass Sie seinen Inhalt anzeigen können. Öffnen Sie den Assembly-Editor durch Doppelklicken auf das erste Element unterhalb des Modulprojekts (es verfügt über denselben Namen wie das Projekt).
- Als nächstes fügen Sie einen Import hinzu, der der Anwendung ermöglicht, mit einer
JMS-Warteschlange gemäß dem SCA-Programmiermodell zu interagieren.
- Erweitern Sie das migrierte Modulprojekt im Assembly-Editor, erweitern Sie die Kategorie 'Schnittstellen' und suchen Sie den WSDL PortType, der den von der Anwendung aufgerufenen Web-Service beschreibt. Ziehen und übergeben Sie sie an den Assembly-Editor.
- Ein Dialog namens 'Erstellung von Komponenten' ermöglicht Ihnen die Auswahl des zu erstellenden Komponententyps. Wählen Sie 'Ohne Binding importieren'.
- Sie werden sehen, dass ein neuer Import im Assembly-Editor erstellt wurde. Wenn Sie diesen markieren und zur Ansicht 'Eigenschaften' gehen, können Sie den Namen und Anzeigenamen des Imports in der Registerkarte 'Beschreibung' in einen aussagekräftigeren Namen ändern.
- Details zum migrierten JMS-Service finden Sie in den WSDL-Bindingdateien und -Servicedateien aus 5.1.
Diese Details können Sie verwenden, um die Details für den "Import mit JMS-Binding" in 6.0 anzugeben. Suchen Sie im 5.1-Serviceprojekt nach den WSDL-Dateien für 5.1-JMS-Binding und -Service (diese Dateien heißen normalerweise
'*JMSBinding.wsdl' und '*JMSService.wsdl'). Untersuchen Sie die dort erfassten Binding- und Serviceinformationen. Anhand des Bindings können Sie ermitteln, ob Text- oder Objektnachrichten verwendet wurden und ob angepasste Datenformatbindings zum Einsatz kamen. In diesem Fall ist es sinnvoll,
auch für den "Import mit JMS-Binding" von 6.0 ein angepasstes Datenbinding zu schreiben. Anhand des Services können Sie die Ausgangskontextfactory, den Namen der JNDI-Verbindungsfactory, den JNDI-Zieladressnamen und den Zieladressstil (Warteschlange) ermitteln.
- Klicken Sie mit der rechten Maustaste auf den Import und wählen Sie 'Binding generieren' und JMS-Binding. Sie werden aufgefordert, die folgenden Parameter einzugeben:
- Wählen Sie die JMS-Nachrichtendomäne:
- Point-to-Point
- Publish-Subscribe
- Domain-Independent
- Wählen Sie, wie Daten zwischen Geschäftsobjekt und JMS-Nachricht serialisiert werden:
- Text
- Objekt
- Benutzerdefiniert
- Wenn 'Benutzerdefiniert' ausgewählt ist, gehen Sie folgendermaßen vor:
- Geben Sie den vollständig qualifizierten Namen der com.ibm.websphere.sca.jms.data.JMSDataBinding-Implementierungsklasse an. Sie sollten ein benutzerdefiniertes Datenbinding angeben, wenn Ihre Anwendung JMS-Headereigenschaften festlegen muss, die normalerweise im JMS-Importbinding nicht verfügbar sind. In diesem Fall können Sie
eine Klasse für das angepasste Datenbinding erstellen, die das JMS-Standarddatenbinding "com.ibm.websphere.sca.jms.data.JMSDataBinding" erweitert, und angepassten Code für den direkten Zugriff auf 'JMSMessage' hinzufügen. Weitere Informationen finden Sie in den JMS-Beispielen des Abschnitts
"Bindings für Import- und Exportkomponenten erstellen und ändern", die Sie über den unten stehenden Link aufrufen können.
- Konnektivität ankommender Daten verwendet die JMS-Standardfunktions-Selektorklasse:
- <ausgewählt> oder <abgewählt>
- Wählen Sie den soeben erstellten Export. Gehen Sie in der Ansicht 'Eigenschaften' zur Registerkarte 'Binding'. Sie können alle hier angezeigte Binding-Information manuell mit all den Werten eingeben, die Sie zuvor in WebSphere Studio Application Developer
Integration Edition angegeben haben. Die Binding-Information, die Sie angeben können, lautet folgendermaßen:
- JMS-Importbinding (diese ist am wichtigsten)
- Verbindung
- Ressourcenadapter
- JMS-Ziele
- Methodenbindings
Wenn Sie diesen Vorgang abgeschlossen haben, müssen Sie den Service neu verbinden:
- Wenn dieser Service durch einen Geschäftsprozess in demselben Modul aufgerufen wird, stellen Sie eine Verbindung vom entsprechenden Geschäftsprozessverweis zu diesem Import her.
- Wenn dieser Service von einem Geschäftsprozess in einem anderen Modul aufgerufen wird, erstellen Sie einen Export mit SCA-Binding und ziehen und über geben Sie diesem Export vom anderen Modul zum Assembly-Editor dieses Moduls, um den entsprechenden Import mit SCA-Binding zu erstellen. Verbinden Sie den entsprechenden Geschäftsprozessverweis mit diesem Import.
- Speichern Sie das Assembly-Diagramm.