Eine alternative zu berücksichtigende Option sind die Rational Application Developer Web-Servicetools, mit denen Sie einen Web-Service um eine EJB herum erstellen können.
Anmerkung: Weitere Informationen finden Sie auf der folgenden Site, bevor Sie eine Migration mit der folgenden Methode versuchen: http://publib.boulder.ibm.com/infocenter/rtnl0600/topic/com.ibm.etools.webservice.was.creation.ejb.ui.doc/tasks/twsejbw.html
Anmerkung: Diese Option erfordert die Konfiguration einer Web-Service-Laufzeit über WebSphere Integration
Developer, bevor der Web-Service-Assistent aufgerufen wird.
Befolgen Sie die folgenden Schritte, um einen Web-Service um eine EJB herum zu erstellen:
- Klicken Sie mit der rechten Maustaste auf das Unternehmensanwendungsprojekt, das den Container für die EJB darstellt, um die herum Sie einen Service erstellen.
- Wählen Sie 'Eigenschaften', gehen Sie zu den Eigenschaften 'Server' und stellen Sie sicher, dass die 'Ziellaufzeit' auf WebSphere
Process Server v6.0 und 'Standardserver' auf den installierten WebSphere Process Server v6.0 eingestellt ist.
- Starten Sie den Testserver, implementieren Sie diese Anwendung für den Server und stellen Sie sicher,
dass er erfolgreich startet.
- Erweitern Sie in der J2EE-Perspektive
das EJB-Projekt in der Ansicht 'Projekt-Explorer'. Erweitern Sie den Implementierungsdeskriptor und die Kategorie Session-Beans. Wählen Sie die Bean, um die der Web-Service herum erstellt werden soll.
- Klicken Sie mit der rechten Maustaste und wählen Sie .
- Wählen Sie für 'Web-Service-Typ' die Option 'EJB-Web-Service' und heben Sie die Markierung für 'Web-Service im Webprojekt starten' auf, es sei denn, Sie möchten den Web-Service sofort implementieren. Klicken Sie auf 'Weiter'.
- Stellen Sie sicher, dass die EJB, auf die Sie mit der rechten Maustaste geklickt haben, hier ausgewählt ist, und klicken Sie auf 'Weiter'.
- Sie müssen nun Ihre Service-Implementierungsoptionen konfigurieren.
Klicken Sie auf die Schaltfläche 'Bearbeiten…'.
Als Servertyp wählen Sie WPS-Server V6.0 und als Web-Service-Laufzeit wählen Sie IBM WebSphere und J2EE
Version 1.4. Wenn Sie dadurch keine gültige Kombination auswählen können, finden Sie weitere Informationen zur Migration von J2EE-Projekten zur V1.4 Ebene im Abschnitt
"Vorbereitung für die Migration". Klicken Sie auf OK.
- Für das Serviceprojekt geben Sie den Namen des EJB-Projekts ein, das die EJB enthält. Wählen Sie außerdem das entsprechende EAR-Projekt. Klicken Sie auf 'Weiter'.
Beachten Sie, dass Sie möglicherweise mehrere Minuten warten müssen.
- Wählen Sie im Fenster für die Web-Service-EJB-Konfiguration das zu verwendende Router-Projekt (wählen Sie den Namen des zu erstellenden Router-Web-Projekts, und dieses Projekt wird zu der gleichen Unternehmensanwendung wie die ursprüngliche EJB hinzugefügt). Wählen Sie den gewünschten Transport (SOAP über HTTP oder SOAP
über JMS). Klicken Sie auf 'Weiter'.
- Wählen Sie die WSDL-Datei, die die WSDL-Definitionen enthalten wird. Wählen Sie die Methoden, die für den Web-Service zugänglich gemacht werden sollen, und wählen Sie den entsprechenden Stil/die Verschlüsselung (Dokument/Literal, RPC/Literal oder RPC/verschlüsselt). Wählen Sie die Option für die angepasste Zuordnung für
Paket zu Namensbereich und einen Namensbereich,
der für die migrierte EJB für alle Java-Pakete eindeutig ist,
die von der EJB verwendet werden. (Der Standardnamensbereich ist für den Paketnamen eindeutig,
was zu Konflikten führen kann, falls Sie einen weiteren Web-Service erstellen, der
dieselben Java-Klassen verwendet). Geben Sie ggfs. weitere Parameter an. Es gibt für jede Kombination aus Stil/Verschlüsselung Einschränkungen.
Weitere Informationen finden Sie in den Einschränkungen unter: http://publib.boulder.ibm.com/infocenter/rtnl0600/topic/com.ibm.etools.webservice.doc/ref/rlimit.html
- Klicken Sie auf 'Weiter'. Klicken Sie in der Anzeige für die Zuordnung von Web-Service-Paket zu Namensbereich auf die Schaltfläche 'Hinzufügen', und geben Sie
in der erstellten Zeile den Namen des Pakets der EJB ein. Fügen Sie dann den angepassten Namensbereich hinzu, der diese EJB eindeutig kennzeichnet. Fügen Sie weiter Zuordnungen für alle Java-Pakete hinzu, die von der EJB-Schnittstelle verwendet werden.
- Klicken Sie auf 'Weiter'. Beachten Sie, dass Sie möglicherweise mehrere Minuten warten müssen.
- Klicken Sie auf 'Fertig stellen'. Wenn Sie die Arbeit mit dem Assistenten abgeschlossen haben, kopieren Sie die den EJB-Service beschreibende generierte WSDL-Datei in das Geschäftsintegrations-Modulprojekt, wenn es sich beim Serviceprojekt um einen Verbraucher des EJB-Services handelte. Sie befindet sich im generierten Router-Web-Projekt im Ordner WebContent/WEB-INF/wsdl. Aktualisieren/erstellen Sie das Geschäftsintegrations-Modulprojekt erneut.
- Wechseln Sie zur Geschäftsintegrationsperspektive und erweitern Sie erst das migrierte Modul und daraufhin die logische Kategorie Web-Service-Ports.
- Wählen Sie den in den zuvor durchgeführten Schritten generierten Port, ziehen und übergeben Sie ihn an den Assembly-Editor und markieren Sie ihn, um einen Import mit Web-Service-Binding zu erstellen. Wenn Sie dazu aufgefordert werden, wählen Sie die WSDL-Schnittstelle der EJB.
Die SCA-Komponente, die die EJB in 5.1 verbraucht hat, kann nun mit diesem Import verbunden werden, um die Migrationsschritte für die manuelle Neuvernetzung abzuschließen.
Wenn Sie eine Top-down-Methode in WebSphere Studio Application Developer
Integration Edition mit der Erstellung eines EJB-Gerüsts aus einer WSDL-Definition gewählt hatten, führen Sie die folgenden Schritte durch:
- Erstellen Sie ein neues Webprojekt und kopieren Sie die WSDL-Datei, aus der Sie das EJB-Gerüst generieren möchten, in den Quellenordner dieses Web-Projekts.
- Klicken Sie mit der rechten Maustaste auf die WSDL-Datei, die den PortType enthält, aus dem Sie das EJB-Gerüst generieren möchten, und wählen Sie .
- Wählen Sie den Web-Servicetyp Skeleton-EJB-Web-Service und beenden Sie den Assistenten.
Nach Beenden des Assistenten sollten Sie über eine EJB verfügen, die die Serviceschnittstelle implementiert und nicht von WSIF APIs abhängt.
Beachten Sie, dass die Schnittstelle sich leicht von der 5.1 Schnittstelle unterscheiden kann, und Sie möglicherweise eine Schnittstellenmediationskomponente zwischen dem 5.1 Verbraucher und dem neuen Import einfügen müssen.
Klicken Sie dazu auf das Tool 'Verbinden' im Assembly-Editor und verbinden Sie die SCA-Quellenkomponente mit diesem neuen Import mit Web-Service-Binding. Da die Schnittstellen sich unterscheiden, wird die folgende Meldung angezeigt: Der Quell- und Zielknoten haben keine übereinstimmenden Schnittstellen.
Wählen Sie 'Zwischen dem Quell- und dem Zielknoten eine Schnittstellenzuordnung erstellen'. Doppelklicken Sie auf die Zuordnungskomponente, die im Assembly-Editor erstellt wurde. Dadurch wird der Zuordnungseditor geöffnet. Anweisungen zur Erstellung einer Schnittstellenzuordnung finden Sie im Information
Center.
Wenn Sie diesen Vorgang abgeschlossen haben, müssen Sie den EJB-Service 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 zu dieser EJB-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
"Eingehende
nicht-BPEL-Servicemigration".