Für die Fälle, in denen es keine direkte Entsprechung für einen WebSphere Studio
Application Developer Integration Edition-Servicetyp gibt, wird ein Auslastungsszenario benötigt, um den alten WebSphere Studio Application Developer Integration
Edition-Service ohne Wartung (auf AS-IS-Basis) beim Neuentwurf der Anwendung in WebSphere Integration
Developer auszulasten.
Im Folgenden finden Sie die Schritte, die in WebSphere Studio Application Developer
Integration Edition
vor dem Aufruf des Migrationsassistenten durchgeführt werden müssen:
- Erstellen Sie ein neues Java-Projekt, das diesen Client-Proxy-Code enthalten soll. Fügen Sie diesen Client-Proxy-Code nicht in das Serviceprojekt ein, da die generierten Nachrichten im 5.1-Stil und Java Bean-Klassen vom automatischen Migrationsassistenten übersprungen werden, der die Serviceprojekte migriert.
- Öffnen Sie WebSphere Studio
Application Developer Integration Edition und klicken Sie mit der rechten Maustaste auf die WSDL-Datei, die das Umsetzungsbinding und den Service enthält und wählen Sie
.
Sie werden gefragt, welchen Proxy-Typ Sie erstellen möchten, es ist jedoch nur Web Services
Invocation Framework (WSIF) verfügbar. Klicken Sie auf
'Weiter'.
- Sie können nun das Paket und den Namen der zu erstellenden Service-Proxy Java-Klasse angeben (Sie erstellen den Proxy im aktuellen Serviceprojekt). Klicken Sie auf
'Weiter'.
- Geben Sie nun den Proxy-Stil an, wählen Sie
'Client Stub' und die gewünschten in den Proxy einzuschließenden Operationen, und klicken Sie auf Fertig stellen.
Dadurch wird eine Java-Klasse erstellt, die dieselben Methoden wie der WebSphere Studio
Application Developer Integration Edition-Service zugänglich macht, wobei die Argumente zu den Java-Methoden einen Abschnitt der WSDL-Quellennachricht darstellen.
Nun können Sie zu WebSphere Integration Developer migrieren:
- Kopieren Sie das Client-Proxy-Java-Projekt in den neuen Arbeitsbereich und importieren Sie es durch Klicken auf
.
- Importieren Sie das Serviceprojekt mit dem Migrationsassistenten. 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).
- Zur Erstellung der benutzerdefinierten Java-Komponente erweitern Sie Schnittstellen unter dem Modulprojekt und wählen Sie die WSDL-Schnittstelle, die für diesen Umsetzungsservice in WebSphere Studio Application Developer
Integration Edition generiert wurde.
- Ziehen und übergeben (Drag-and-drop) Sie diese Schnittstelle an den Assembly-Editor. Es wird ein Dialog angezeigt, der Sie nach dem zu erstellenden Komponententyp fragt. Wählen Sie
'Komponente mit keinem Implementierungstyp' und klicken Sie auf OK.
- Eine generische Komponente wird im Assemblydiagramm angezeigt. Markieren Sie sie und gehen Sie zur Ansicht
'Eigenschaften'.
- In der Registerkarte
'Beschreibung' können Sie den Namen und Anzeigenamen der Komponente in einen aussagekräftigeren Namen ändern (wählen Sie in diesem Fall etwas Ähnliches wie Ihren EJB-Namen, fügen Sie jedoch eine Erweiterung wie beispielsweise “JavaMed” hinzu, da es sich hierbei um eine Java-Komponente handeln wird, die zwischen der WSDL-Schnittstelle, die für den Umsetzungsservice in WebSphere Studio
Application Developer Integration Edition generiert wurde, und der Java-Schnittstelle des Umsetzungs-Client-Proxy vermittelt).
- Auf der Registerkarte
'Details' können Sie sehen, dass diese Komponente über eine Schnittstelle verfügt, nämlich die, die Sie zum Assembly-Editor gezogen und an diesen übergeben haben.
- Klicken Sie im Assembly-Editor mit der rechten Maustaste auf die Komponente, die Sie soeben erstellt haben, und wählen Sie
.
Wählen Sie daraufhin das Paket aus, in dem die Java-Implementierung generiert wird.
Dadurch wird ein Java-Gerüstservice erstellt, der sich an die WSDL-Schnittstelle gemäß dem SCA-Programmiermodell hält, in dem komplexe Typen durch ein commonj.sdo.DataObject-Objekt dargestellt werden und einfache Typen durch ihre funktional entsprechenden Java-Objekte.
Sie müssen nun Code dort eingeben, wo die “//TODO”-Tags in der generierten Java-Implementierungsklasse angezeigt werden. Es gibt zwei Optionen:
- Verschieben Sie die Logik von der ursprünglichen Java-Klasse in diese Klasse und passen Sie sie an die neue Datenstruktur an.
- Erstellen Sie eine private Instanz der alten Java-Klasse in dieser generierten Java-Klasse und schreiben Sie Code, um Folgendes zu tun:
- Konvertieren aller Parameter der generierten Java-Implementierungsklasse in Parameter, die die alte Java-Klasse erwartet
- Aufrufen der privaten Instanz der alten Java-Klasse mit den konvertierten Parametern
- Konvertieren des Rückgabewerts der alten Java-Klasse in den Rückgabewerttyp, der von der generierten Java-Implementierungsmethode deklariert wird
Wenn Sie die obenstehenden Optionen abgeschlossen haben, müssen Sie den Client-Proxy neu verbinden. Es sollten keine
"Verweise" vorhanden sein, daher müssen Sie die Schnittstelle der Java-Komponente neu verbinden:
- Wenn dieser Service durch einen Geschäftsprozess in demselben Modul aufgerufen wird, stellen Sie eine Verbindung vom entsprechenden Geschäftsprozessverweis zur Schnittstelle dieser Java-Komponente 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.
- Wenn dieser Service in WebSphere Studio Application Developer
Integration Edition veröffentlicht wurde, um ihn extern zugänglich zu machen, finden Sie Informationen zur
Neuveröffentlichung dieses Services im Abschnitt "SCA-Exporte für den Zugriff auf den migrierten Service
erstellen".