Address Book - Configuration et exécution


Configuration de l'exemple
Exécution de l'exemple

Il existe deux clients AddressBook, une version J2SE (Java 2 Standard Edition) et une version J2EE (Java 2 Enterprise Edition) gérée par le conteneur. Si vous souhaitez tirer parti des services de conteneur de la plateforme J2EE, exécutez la version J2EE.

Configuration de l'exemple

Pour terminer la configuration de cet exemple, déployez l'application exemple de services Web JAX-RPC sur le serveur. Si le modèle d'application n'est pas déjà déployé, reportez-vous aux instructions de régénération et de déploiement du fichier WebServicesSamples.ear.

Exécution de l'exemple

Vérifiez que le serveur est lancé avant d'exécuter les clients.

Il existe deux clients AddressBook, une version J2SE externe et une version J2EE (Java 2 Enterprise Edition) gérée par le conteneur. Chaque client sollicite les quatre variantes du bean de service Web AddressBook déployé dans le serveur. Les beans de service Web AddressBook renvoient une valeur fixe et ne nécessitent pas de connexion Internet pour s'exécuter.

Exécution de la version J2SE simple du client d'AddressBook
Exécution de la version application J2EE du client d'AddressBook

Exécution de la version J2SE simple du client d'AddressBook

Le client version J2SE montre le principe d'interrogation d'un service Web. A cet effet, il interroge le bean AddressBook afin d'obtenir une adresse de celui-ci. Vous trouverez son code source dans le répertoire racine_profil/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.

Le fichier AddressBook.wsdl doit se trouver dans le répertoire courant au moment où vous exécutez AddressBookClient. Extrayez le fichier AddressBook.wsdl de l'archive simpleClients.jar et placez-le dans le répertoire où vous comptez exécuter l'exemple. Vous trouverez le fichier simpleClients.jar dans le répertoire racine_installation/samples/lib/WebServicesSamples.

Le client J2SE effectue deux boucles sur chaque bean de service Web AddressBook déployé sur le serveur. Au cours de la première boucle, il appelle la méthode getPort afin d'obtenir un port unique pour chaque bean du modèle d'application. Le client appelle la méthode getAddressFromName sur chaque port. La seconde boucle démarre arbitrairement avec l'un des ports obtenus, puis elle s'exécute et définit l'adresse de point de contact (endpoint) sur chacune des quatre valeurs possibles. Le client appelle la méthode getAddressFromName sur chaque port.

Pour des instructions plus générales sur l'appel d'un client WebSphere, reportez-vous à la rubrique relative au développement d'un code de client d'application partiel dans le Centre de documentation.

Pour exécuter la version J2SE simple du client d'AddressBook à partir d'un serveur d'applications WebSphere, procédez comme suit, en tenant compte de votre système d'exploitation :

  1. Démarrez le serveur.
  2. Ouvrez une invite de commande.
  3. Entrez les commandes suivantes :

    Sur les plateformes Windows :

    cd racine_profil\bin
    setupCmdLine
    cd racine_installation\bin
    setupCmdLine

    Sur les plateformes Linux, UNIX et z/OS :

    cd racine_profil/bin
    . ./setupCmdLine.sh
    cd racine_installation/bin
    . ./setupCmdLine.sh

    Sur les plateformes iSeries :

    cd racine_profil/bin
    . ./setupCmdLine
    cd racine_installation/bin
    . ./setupCmdLine

  4. Accédez au répertoire qui contient le fichier AddressBook.wsdl.
  5. Entrez la commande suivante :

    Sur les plateformes Windows :

    "%JAVA_HOME%\bin\java" %WAS_LOGGING% -classpath "%WAS_CLASSPATH%;%WAS_HOME%\samples\lib\WebServicesSamples\simpleClients.jar;%WAS_HOME%\runtimes\com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient [<nom_hôte> <numéro_port>]

    Sur les plateformes Linux, UNIX et z/OS :

    "$JAVA_HOME/bin/java" $WAS_LOGGING -classpath "$CLASSPATH:$WAS_CLASSPATH:$WAS_HOME/samples/lib/WebServicesSamples/simpleClients.jar:$WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient [<nom_hôte> <numéro_port>]

    Sur les plateformes iSeries :

    java $JAVA_PARM -classpath "$CLASSPATH:$WAS_CLASSPATH:$WAS_HOME/samples/lib/WebServicesSamples/simpleClients.jar:$WAS_HOME/runtimes/com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient [<nom_hôte> <numéro_port>]

    où :
    <nom_hôte> est le nom d'hôte de l'adresse du noeud final du service. Le nom d'hôte par défaut est localhost.
    <numéro_port> est le numéro de port de l'adresse du noeud final du service. Le numéro de port par défaut est 9080.

    Voici le résultat d'une exécution réussie du client d'AddressBook :

    
    C:\>"%JAVA_HOME%\bin\java" %WAS_LOGGING% -classpath "%WAS_CLASSPATH%;%WAS_HOME%\samples\lib\WebServicesSamples\simpleClients.jar;%WAS_HOME%\runtimes\com.ibm.ws.webservices.thinclient_7.0.0.jar" samples.address.AddressBookClient
    >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JE
    >> Response is:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WE
    >> Response is:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WB
    >> Response is:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JB
    >> Response is:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >>
    >> Get port AddressBookJ2WB
    >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookW2JE/services/AddressBook
    >> Querying address for 'Purdue Boilermaker'
    >> Response is:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookJ2WE/services/AddressBook
    >> Querying address for 'Purdue Boilermaker'
    >> Response is:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookJ2WB/services/AddressBook
    >> Querying address for 'Purdue Boilermaker'
    >> Response is:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Set port AddressBookJ2WB's endpoint to http://localhost:9080/AddressBookW2JB/services/AddressBook
    >> Querying address for 'Purdue Boilermaker'
    >> Response is:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    
    

Exécution de la version application J2EE du client d'AddressBook

La version application J2EE du client d'AddressBook fonctionne sur le même principe que la version J2SE simple. Elle accède aux mêmes beans de service Web AddressBook, mais elle le fait à partir d'un conteneur de client de type application J2EE en utilisant la commande launchClient.

Le client J2EE effectue une boucle d'exécution sur chaque bean de service Web AddressBook déployé sur le serveur. Il utilise une commande JNDI lookup pour localiser le service Web AddressBook, puis il invoque la méthode getPort à plusieurs reprises afin d'obtenir un port unique pour chacun des quatre beans AddressBook. Le client appelle la méthode getAddressFromName sur chaque port.

Dans les étapes suivantes, la variable racine_installation symbolise la racine d'installation de WebSphere.

Pour exécuter la version application J2EE du client du service AddressBook à partir d'un serveur d'applications WebSphere, procédez comme suit, en tenant compte de votre système d'exploitation :

  1. Démarrez le serveur.
  2. Ouvrez une invite de commande.
  3. Entrez les commandes suivantes :

    Sur les plateformes Windows :

    cd <racine_profil>\bin
    setupCmdLine

    Sur les plateformes Linux, UNIX et z/OS :

    cd <racine_profil>/bin
    . ./setupCmdLine.sh

    Sur les plateformes iSeries :

    cd <racine_profil>/bin
    . ./setupCmdLine

    <racine_profil> représente le répertoire d'installation du profil.
  4. Accédez au répertoire racine_installation/samples/lib/WebServicesSamples
    où :
    racine_installation correspond à la racine d'installation de WebSphere Application Server ou à la racine d'installation du profil si l'exemple est régénéré.
  5. Remplacez racine_installation par le répertoire d'installation racine de WebSphere et entrez la commande suivante :

    Sur les plateformes Windows :

    racine_installation\bin\launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nom_hôte> <numéro_port>]

    Sur les plateformes Linux, UNIX et z/OS :

    racine_installation/bin/launchClient.sh ApplicationClients.ear -CCjar=AddressBookClient.jar [<nom_hôte> <numéro_port>]

    Sur les plateformes iSeries :

    racine_installation/bin/launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nom_hôte> <numéro_port>]

    où :
    <nom_hôte> est le nom d'hôte de l'adresse du noeud final du service. Le nom d'hôte par défaut est localhost.
    <numéro_port> est le numéro de port de l'adresse du noeud final du service. Le numéro de port par défaut est 9080.


    Voici le résultat d'une exécution réussie du client d'AddressBook :

    
    C:\WebSphere\AppServer\samples>\WebSphere\AppServer\bin\launchClient \WebSphere\AppServer\samples\lib\WebServicesSamples\ApplicationClients.ear -CCjar=AddressBookClient.jar
    IBM WebSphere Application Server, Release 7.0
    J2EE Application Client Tool
    Copyright IBM Corp., 1997-2008
    WSCL0012I: Traitement des arguments de la ligne de commande.
    WSCL0013I: Initialisation de l'environnement J2EE Application Client.
    [3/29/06 14:47:51:062 CST] 0000000a  W UOW=null source=com.ibm.ws.ssl.config.SSLConfig org=IBM prod=WebSphere component=Application Server thread=[P=269328:O=0:CT]
              CWPKI0041W: Au moins un magasin de clés utilise le mot de passe par défaut.
    WSCL0035I: L'initialisation de l'environnement pour J2EE Application Client est terminée.
    WSCL0014I: Appel de la classe com.ibm.websphere.samples.webservices.addr.AddressBookClient du client d'application
    >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JE
    >> Response is:
    	1 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WE
    >> Response is:
    	2 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookJ2WB
    >> Response is:
    	3 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    >> Querying address for 'Purdue Boilermaker' using port AddressBookW2JB  
    >> Response is:
    	4 University Drive
    	West Lafayette, IN 47907
    	Phone: (765) 555-4900
    
    

Pour plus d'informations sur le client et le traitement opéré par l'application, vous pouvez vous reporter aux notes techniques relatives à l'exemple Address Book ainsi qu'à son code source Java.