Address Book - Configurar y ejecutar


Configurar el ejemplo
Ejecutar el ejemplo

Hay dos clientes de AddressBook, una versión de Java 2 Standard Edition (J2SE) y una versión gestionada por contenedor de Java 2 Enterprise Edition (J2EE). Si desea todas las ventajas de los servicios de contenedor de J2EE ejecute la versión J2EE.

Configurar el ejemplo

Para completar la configuración de este ejemplo, despliegue la aplicación de ejemplos de servicios Web de JAX-RPC en el servidor. Si la aplicación de ejemplo aún no está desplegada, consulte las instrucciones en Cómo volver a crear y desplegar el archivo WebServicesSamples.ear.

Ejecutar el ejemplo

Verifique que el servidor se ha iniciado antes de ejecutar los clientes.

Hay dos clientes de AddressBook, una versión externa de J2SE y una versión gestionada por contenedor de Java 2 Enterprise Edition (J2EE). Cada cliente ejerce las cuatro variantes del archivo bean del servicio Web de AddressBook que están desplegadas en el servidor. Los beans del servicio Web de AddressBook devuelven un valor fijo y no necesitan una conexión de Internet para ejecutarse.

Ejecución del cliente J2SE de AddressBook sencillo
Ejecución del cliente de AddressBook de aplicación J2EE

Ejecución del cliente J2SE de AddressBook sencillo

El cliente de AddressBook J2SE demuestra la consulta del bean de AddressBook de servicio Web para obtener una dirección del servicio Web. Puede encontrar su fuente en el directorio raíz_perfil/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.

El archivo AddressBook.wsdl debe estar en el directorio actual cuando ejecute AddressBookClient. Desempaquete el archivo AddressBook.wsdl del archivo simpleClients.jar y póngalo en el directorio donde piensa ejecutar el ejemplo. Puede encontrar el archivo simpleClients.jar en el directorio raíz_instalaciónsamples/lib/WebServicesSamples.

El cliente J2SE se ejecuta en bucle dos veces en cada uno de los beans de servicio Web de AddressBook desplegados en el servidor. Durante el primer bucle, el cliente llama al método getPort para obtener un puerto exclusivo para cada bean de la aplicación de ejemplo. El cliente llama al método getAddressFromName en cada puerto. El segundo bucle se inicia de forma arbitraria con uno de los puertos, luego realiza el bucle y establece su dirección de punto final en cada uno de los cuatro puntos finales posibles. El cliente llama al método getAddressFromName en cada puerto.

Para obtener más instrucciones generales sobre cómo invocar un cliente WebSphere, consulte el tema sobre desarrollo de código cliente de aplicaciones en el InfoCenter.

Para ejecutar el cliente sencillo de AddressBook de aplicación J2SE desde un WebSphere Application Server, realice los pasos siguientes, basándose en su sistema operativo:

  1. Inicie el servidor.
  2. Abra un indicador de mandatos.
  3. Emita los siguientes mandatos:

    En las plataformas Windows:

    cd raíz_perfil\bin
    setupCmdLine
    cd raíz_instalación\bin
    setupCmdLine

    En las plataformas Linux, UNIX y z/OS:

    cd raíz_perfil/bin
    . ./setupCmdLine.sh
    cd raíz_instalación/bin
    . ./setupCmdLine.sh

    En las plataformas iSeries:

    cd raíz_perfil/bin
    . ./setupCmdLine
    cd raíz_instalación/bin
    . ./setupCmdLine

  4. Vaya al directorio que contiene el archivo AddressBook.wsdl.
  5. Emita el siguiente mandato:

    En las plataformas 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 [<nombre_host> <número_puerto>]

    En las plataformas Linux, UNIX y 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 [<nombre_host> <número_puerto>]

    En las plataformas 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 [<nombre_host> <número_puerto>]

    donde:
    <nombre_host> es el nombre de host de la dirección de punto final del servicio. El nombre del host por omisión es localhost.
    <número_puerto> es el número de puerto de la dirección de punto final del servicio. El número de puerto por omisión es el 9080.

    El siguiente ejemplo muestra una ejecución satisfactoria del cliente de 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
    
    

Ejecución del cliente de AddressBook de aplicación J2EE

El cliente de AddressBook de aplicación J2EE es similar al cliente de AddressBook J2SE sencillo. Accede a los mismos beans de servicios Web de AddressBook, pero lo hace desde un contenedor de cliente de aplicación J2EE utilizando el mandato launchClient.

El cliente J2EE se ejecuta en bucle en cada uno de los beans de servicio Web de AddressBook desplegados en el servidor. Este cliente utiliza el mandato lookup de JNDI (Java Naming and Directory Interface) para localizar el servicio AddressBook y realiza llamadas de obtención de puertos para obtener puertos exclusivos para cada uno de los cuatro beans de AddressBook. El cliente llama al método getAddressFromName en cada puerto.

En los pasos siguientes, la variable raíz_instalación hace referencia al directorio raíz de instalación de WebSphere.

Para ejecutar el cliente de AddressBook de aplicación J2EE desde un WebSphere Application Server, realice los pasos siguientes, basándose en su sistema operativo:

  1. Inicie el servidor.
  2. Abra un indicador de mandatos.
  3. Escriba los siguientes mandatos:

    En las plataformas Windows:

    cd <raíz_perfil>\bin
    setupCmdLine

    En las plataformas Linux, UNIX y z/OS:

    cd <raíz_perfil>/bin
    . ./setupCmdLine.sh

    En las plataformas iSeries:

    cd <raíz_perfil>/bin
    . ./setupCmdLine

    donde <raíz_perfil> representa el directorio de instalación del perfil.
  4. Cambie al directorio raíz_instalación/samples/lib/WebServicesSamples
    donde:
    raíz_instalación es el directorio raíz de instalación de WebSphere Application Server o el directorio raíz de instalación del perfil si se vuelve a crear el ejemplo.
  5. Sustituya raíz_instalación por el directorio raíz de instalación de WebSphere y emita el siguiente mandato:

    En las plataformas Windows:

    raíz_instalación\bin\launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nombre_host> <número_puerto>]

    En las plataformas Linux, UNIX y z/OS:

    raíz_instalación/bin/launchClient.sh ApplicationClients.ear -CCjar=AddressBookClient.jar [<nombre_host> <número_puerto>]

    En las plataformas iSeries:

    raíz_instalación/bin/launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nombre_host> <número_puerto>]

    donde:
    <nombre_host> es el nombre de host de la dirección de punto final del servicio. El nombre del host por omisión es localhost.
    <número_puerto> es el número de puerto de la dirección de punto final del servicio. El número de puerto por omisión es el 9080.


    El siguiente ejemplo muestra una ejecución satisfactoria del cliente de 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: Procesando argumentos de línea de mandatos.
    WSCL0013I: Inicializando J2EE Application Client Environment.
    [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: Uno o varios almacenes de claves está utilizando la contraseña por omisión
    WSCL0035I: La inicialización de J2EE Application Client Environment ha finalizado.
    WSCL0014I: Invocando la clase de Cliente de aplicaciones com.ibm.websphere.samples.webservices.addr.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
    
    

Puede aprender más sobre el funcionamiento del cliente y de la aplicación refiriéndose a las notas técnicas de Address Book y visualizando el código fuente de Java.