Address Book - Configurare şi rulare


Configurarea exemplului
Rularea exemplului

Există doi clienţi AddressBook, un client în versiunea Java 2 Standard Edition (J2SE) şi unul în versiunea cu gestionare bazată pe container Java 2 Enterprise Edition (J2EE). Dacă doriţi să beneficiaţi de toate avantajele oferite de serviciile de container J2EE, rulaţi versiunea J2EE.

Configurarea exemplului

Pentru a finaliza configurarea acestui exemplu, implementaţi aplicaţia exemplu JAX-RPC Web services pe server. Dacă aplicaţia exemplu nu este deja implementată, vedeţi instrucţiunile pentru Reconstruirea şi implementarea fişierului WebServicesSamples.ear.

Rularea exemplului

Verificaţi dacă serverul a pornit înainte de a rula clienţii.

Există doi clienţi AddressBook, un client în versiunea externă J2SE şi unul în versiunea cu gestionare bazată pe container Java 2 Enterprise Edition (J2EE). Fiecare client utilizează cele patru variaţiuni ale bean-ului AddressBook Web Service care este implementat pe server. Bean-urile AddressBook Web Service returnează o valoare fixă şi nu necesită o conexiune la Internet pentru a rula.

Rularea clientului simplu J2SE AddressBook
Rularea clientului de aplicaţie J2EE AddressBook

Rularea clientului simplu J2SE AddressBook

Clientul J2SE AddressBook demonstrează interogarea bean-ului Web Service AddressBook pentru a obţine o adresă de la serviciul Web. Îi puteţi vedea sursa în directorul rădăcină_profil/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.

Când rulaţi AddressBookClient, fişierul AddressBook.wsdl trebuie să se afle în directorul curent. Dezarhivaţi fişierul AddressBook.wsdl din fişierul simpleClients.jar şi puneţi-l în directorul unde intenţionaţi să rulaţi exemplul. Puteţi găsi fişierul simpleClients.jar în directorul rădăcină_instalare/samples/lib/WebServicesSamples.

Clientul J2SE buclează de două ori prin fiecare bean AddressBook Web Service implementat pe server. În timpul acestei buclări, clientul apelează metoda getPort pentru a obţine un port unic pentru fiecare bean al aplicaţiei exemplu. Clientul apelează metoda getAddressFromName pentru fiecare port. A doua buclare începe arbitrar cu unul dintre porturi, şi apoi se continuă cu celelalte, setând adresa de punct final pentru fiecare dintre cele patru puncte finale posibile. Clientul apelează metoda getAddressFromName pentru fiecare port.

Pentru instrucţiuni mai generale privind invocarea unui client WebSphere, consultaţi în Centrul de informare subiectul referitor la elaborarea codului de client subţire de aplicaţie.

Pentru a rula clientul simplu J2SE AddressBook de pe un WebSphere Application Server, parcurgeţi paşii următori, în funcţie de sistemul dumneavoastră de operare:

  1. Porniţi serverul.
  2. Deschideţi un prompt de comandă.
  3. Lansaţi următoarele comenzi:

    Pe platformele Windows:

    cd rădăcină_profil\bin
    setupCmdLine
    cd rădăcină_instalare\bin
    setupCmdLine

    Pe platformele Linux, UNIX şi z/OS:

    cd rădăcină_profil/bin
    . ./setupCmdLine.sh
    cd rădăcină_instalare/bin
    . ./setupCmdLine.sh

    Pe platformele iSeries:

    cd rădăcină_profil/bin
    . ./setupCmdLine
    cd rădăcină_instalare/bin
    . ./setupCmdLine

  4. Intraţi în directorul care conţine fişierul AddressBook.wsdl.
  5. Lansaţi următoarea comandă:

    Pe platformele 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 [<nume_gazdă> <număr_port>]

    Pe platformele Linux, UNIX şi 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 [<nume_gazdă> <număr_port>]

    Pe platformele 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 [<nume_gazdă> <număr_port>]

    unde:
    <nume_gazdă> este numele de gazdă din adresa punctului final al serviciului. Numele de gazdă implicit este localhost.
    <număr_port> este numărul de port din adresa punctului final al serviciului. Numărul de port implicit este 9080.

    Exemplul următor prezintă rularea cu succes a clientului 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
    
    

Rularea clientului de aplicaţie J2EE AddressBook

Clientul de aplicaţie J2EE AddressBook este similar cu clientul simplu J2SE AddressBook. Accesează aceleaşi bean-uri de servicii Web AddressBook, dar face aceasta dintr-un container de clienţi de aplicaţie J2EE utilizând comanda launchClient.

Clientul J2EE buclează prin fiecare bean AddressBook Web Service implementat pe server. Acest client utilizează comanda JNDI (Java Naming and Directory Interface) lookup pentru a localiza serviciul AddressBook şi face apeluri get port pentru a obţine porturi unice pentru fiecare dintre cele patru bean-uri AddressBook. Clientul apelează metoda getAddressFromName pentru fiecare port.

În paginile următoare, variabila rădăcină_instalare specifică rădăcina instalării WebSphere.

Pentru a rula clientul de aplicaţie J2EE AddressBook de pe un WebSphere Application Server, parcurgeţi paşii următori, în funcţie de sistemul dumneavoastră de operare:

  1. Porniţi serverul.
  2. Deschideţi un prompt de comandă.
  3. Introduceţi următoarele comenzi:

    Pe platformele Windows:

    cd <rădăcină_profil>\bin
    setupCmdLine

    Pe platformele Linux, UNIX şi z/OS:

    cd <rădăcină_profil>/bin
    . ./setupCmdLine.sh

    Pe platformele iSeries:

    cd <rădăcină_profil>/bin
    . ./setupCmdLine

    unde <rădăcină_profil> reprezintă directorul de instalare al profilului.
  4. Schimbaţi directorul la rădăcină_instalare/samples/lib/WebServicesSamples
    unde:
    rădăcină_instalare este rădăcina de instalare WebSphere Application Server sau rădăcina de instalare a profilului, dacă exemplul este reconstruit.
  5. Înlocuiţi rădăcină_instalare cu rădăcina de instalare WebSphere şi lansaţi următoarea comandă:

    Pe platformele Windows:

    rădăcină_instalare\bin\launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nume_gazdă> <număr_port>]

    Pe platformele Linux, UNIX şi z/OS:

    rădăcină_instalare/bin/launchClient.sh ApplicationClients.ear -CCjar=AddressBookClient.jar [<nume_gazdă> <număr_port>]

    Pe platformele iSeries:

    rădăcină_instalare/bin/launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nume_gazdă> <număr_port>]

    unde:
    <nume_gazdă> este numele de gazdă din adresa punctului final al serviciului. Numele de gazdă implicit este localhost.
    <număr_port> este numărul de port din adresa punctului final al serviciului. Numărul de port implicit este 9080.


    Exemplul următor prezintă rularea cu succes a clientului 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: Procesare argumente linie comandă.
    WSCL0013I: Iniţializare 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: Unul sau mai multe depozite de chei folosesc parola implicită.
    WSCL0035I: Iniţializarea J2EE Application Client Environment s-a terminat.
    WSCL0014I: Invocare clasă Application Client com.ibm.websphere.samples.webservices.addr.AddressBookClient
    >> Interogare adresă pentru 'Purdue Boilermaker' folosind portul AddressBookW2JE
    >> Răspunsul este:
    	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
    
    

Pentru informaţii suplimentare privind modul de lucru al clientului şi aplicaţiei, consultaţi notele tehnice pentru Address Book şi examinaţi codul sursă Java.