Migration des EJB Client

Dieses Thema erläutert die Migration von Clients, die eine EJB-Schnittstelle verwenden, um einen Service aufzurufen.

  1. Ziehen und übergeben Sie den Export (mit Drag and Drop) mit SCA Binding vom migrierten Modell zum Assembly-Editor dieses neuen Moduls. Dadurch wird ein Import mit SCA Binding erstellt. Damit ein Client einen Verweis zu diesem Import abrufen kann, muss ein Standalone-Verweis erstellt werden.
  2. Wählen Sie auf der Palette den Standalone-Verweis. Klicken Sie einmal auf den Assembly Editor-Erstellungsbereich, um einen Standalone-Verweis für dieses neue Modul zu erstellen.
  3. Wählen Sie das Verbindungstool, klicken Sie auf den Serviceverweis und daraufhin auf 'Importieren'.
  4. Klicken Sie auf OK, wenn Sie gewarnt werden, dass ein übereinstimmender Verweis am Quellenknoten erstellt wird.
  5. Sie werden gefragt: 'Es ist für einen Java-Client einfacher, eine Java-Schnittstelle mit diesem Verweis zu verwenden – möchten Sie den WSDL-Verweis in einen kompatiblen Java-Verweis umwandeln?':
    1. Beantworten Sie diese Frage mit 'Ja', wenn dieser Client diesen Service abrufen soll und ihn als Java-Klasse umsetzen soll, um ihn mit einer Java-Schnittstelle aufzurufen. Diese neue Java-Schnittstelle übernimmt ihren Namen vom WSDL PortType, wobei das Paket der Schnittstelle vom Namensbereich des WSDL PortType hergeleitet wird. Für jede auf dem WSDL PortType definierte Operation gibt es eine definierte Methode, und jeder WSDL-Nachrichtenabschnitt wird als Argument zu den Schnittstellenmethoden dargestellt.
    2. Beantworten Sie diese Frage mit 'Nein', wenn der Client diesen Service abrufen und die generische com.ibm.websphere.sca.Service-Schnittstelle verwenden soll, um ihn mit der Aufrufoperation als einen generischen SCA-Service aufzurufen.
  6. Benennen Sie den Standalone-Verweis gegebenenfalls in einen aussagekräftigeren Namen um, indem Sie die Standalone-Verweiskomponente im Assembly-Editor auswählen. Wählen Sie in der Sicht 'Eigenschaften' die Registerkarte 'Details', suchen Sie den Verweis, der soeben erstellt wurde, und ändern Sie den Namen. Notieren Sie sich den gewählten Namen für diesen Verweis, da der Client diesen Namen für den Aufruf der locateService-Methode der com.ibm.websphere.sca.ServiceManager-Instanz verwenden muss.
  7. Klicken Sie auf 'Speichern', um das Assemblydiagramm zu speichern.
Dieses neue Modul muss auf dem lokalen Klassenpfad des Clients vorhanden sein, damit er auf das migrierte EJB-Modul, das auf dem Server ausgeführt wird, zugreifen kann.
Im Folgenden finden Sie ein Beispiel eines Client-Codes für einen Service des Typs "CustomerInfo":
// Create a new ServiceManager
ServiceManager serviceManager = ServiceManager.INSTANCE;
// Locate the CustomerInfo service
CustomerInfo customerInfoService = (CustomerInfo) serviceManager.locateService ("<name-of-standalone-reference-from-previous-step");
	// Invoke the CustomerInfo service
System.out.println(" [getMyValue] getting customer info...");
DataObject customer = customerInfoService.getCustomerInfo(customerID);

Der Client muss die Konstruktion der Nachricht ändern. Die Nachrichten basierten zuvor auf der WSIFMessage-Klasse, sollten nun jedoch auf der commonj.sdo.DataObject-Klasse basieren.

Zugehörige Tasks
Migration von EJB und EJB-Prozessbindings
Migration des EJB-Prozessbinding-Client
Migration des generischen Geschäftsprozess-Choreographer EJB API Client
Migration des generischen Geschäftsprozess-Choreographer Messaging API Client und des JMS-Prozessbinding-Client
Migration des IBM Web Service (SOAP/JMS) Client
Migration des IBM Web Service (SOAP/HTTP) Client

Feedback
(C) Copyright IBM Corporation 2005, 2006. Alle Rechte vorbehalten.