Przykład książki adresowej - konfigurowanie i uruchamianie


Konfigurowanie przykładu
Uruchamianie przykładu

Istnieją dwa klienty przykładu AddressBook. Wersja J2SE (Java 2 Standard Edition) oraz zarządzana przez kontener wersja J2EE (Java 2 Enterprise Edition). Aby w pełni wykorzystać usługi kontenera J2EE, należy uruchomić wersję J2EE.

Konfigurowanie przykładu

W celu skonfigurowania tego przykładu należy wdrożyć na serwerze przykładową aplikację usług WWW JAX-RPC. Jeśli przykładowa aplikacja nie została jeszcze wdrożona, patrz instrukcje Odbudowywanie oraz wdrażanie pliku WebServicesSamples.ear.

Uruchamianie przykładu

Przed uruchomieniem klientów należy sprawdzić, czy serwer działa.

Istnieją dwa klienty przykładu AddressBook. Zewnętrzna wersja J2SE oraz zarządzana przez kontener wersja J2EE. Każdy klient używa czterech rodzajów komponentów bean usługi Web Service AddressBook wdrożonych na serwerze. Komponenty bean usługi Web Service AddressBook zwracają stałą wartość i nie wymagają do uruchomienia połączenia internetowego.

Uruchamianie prostego klienta J2SE przykładu AddressBook
Uruchamianie klienta J2EE przykładu AddressBook

Uruchamianie prostego klienta J2SE przykładu AddressBook

Za pomocą klienta J2SE przykładu AddressBook przedstawiono przesyłanie zapytań do komponentu bean usługi Web Service AddressBook w celu uzyskania adresu z usługi Web Service. Kod źródłowy można znaleźć w katalogu katalog_główny_profilu/samples/src/WebServicesSamples/Clients/simpleClients/samples/address.

Plik AddressBook.wsdl musi znajdować się w katalogu bieżącym podczas uruchamiania klienta AddressBookClient. Należy wyodrębnić plik AddressBook.wsdl z pliku simpleClients.jar i umieścić go w katalogu, w którym będzie uruchamiany przykład. Plik simpleClients.jar można znaleźć w katalogu instalacyjny_katalog_główny/samples/lib/WebServicesSamples.

Klient J2SE wykonuje dwie pętle dla każdego komponentu bean usługi Web Service AddressBook wdrożonego na serwerze. Podczas pierwszej pętli klient wywołuje metodę getPort w celu uzyskania unikalnego portu dla każdego komponentu bean przykładowej aplikacji. Następnie klient wywołuje metodę getAddressFromName dla każdego portu. Druga pętla jest losowo uruchamiana z jednym z portów, następnie jest ona wykonywana i ustawia adres punktu końcowego na każdy z czterech możliwych punktów końcowych. Następnie klient wywołuje metodę getAddressFromName dla każdego portu.

Więcej ogólnych instrukcji na temat wywoływania klienta produktu WebSphere można znaleźć w Centrum informacyjnym w temacie dotyczącym tworzenia kodu cienkiego klienta aplikacji.

Aby uruchomić prostego klienta J2SE AddressBook z serwera WebSphere Application Server, należy wykonać następujące kroki w zależności od używanego systemu operacyjnego:

  1. Uruchom serwer.
  2. Otwórz wiersz komend.
  3. Wydaj następujące komendy:

    Na platformach Windows:

    cd katalog_główny_profilu\bin
    setupCmdLine
    cd instalacyjny_katalog_główny\bin
    setupCmdLine

    Na platformach Linux, UNIX i z/OS:

    cd katalog_główny_profilu/bin
    . ./setupCmdLine.sh
    cd instalacyjny_katalog_główny/bin
    . ./setupCmdLine.sh

    Na platformach iSeries:

    cd katalog_główny_profilu/bin
    . ./setupCmdLine
    cd instalacyjny_katalog_główny/bin
    . ./setupCmdLine

  4. Przejdź do katalogu zawierającego plik AddressBook.wsdl.
  5. Wydaj następującą komendę:

    Na platformach 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 [<nazwa_hosta> <numer_portu>]

    Na platformach 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 [<nazwa_hosta> <numer_portu>]

    Na platformach 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 [<nazwa_hosta> <numer_portu>]

    gdzie:
    <nazwa_hosta> to nazwa hosta adresu punktu końcowego usługi. Domyślna nazwa hosta to localhost.
    <numer_portu> to numer portu adresu punktu końcowego usługi. Domyślny numer portu to 9080.

    W poniższym przykładzie przedstawiono wynik pomyślnego uruchomienia klienta 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
    
    

Uruchamianie klienta J2EE przykładu AddressBook

Klient aplikacji J2EE przykładu AddressBook jest podobny do prostego klienta J2SE przykładu AddressBook. Uzyskuje on dostęp do tych samych komponentów bean usługi WWW AddressBook, ale robi to z poziomu kontenera klienta aplikacji J2EE przy użyciu komendy launchClient.

Klient J2EE wykonuje pętlę dla każdego komponentu bean usługi Web Service AddressBook wdrożonego na serwerze. Klient ten używa komendy lookup interfejsu JNDI (Java Naming and Directory Interface) w celu znalezienia usługi AddressBook i przeprowadza wywołania pobrania portu w celu uzyskania unikalnych portów dla każdego z czterech komponentów AddressBook. Następnie klient wywołuje metodę getAddressFromName dla każdego portu.

W poniższych krokach zmienna instalacyjny_katalog_główny odwołuje się do głównego katalogu instalacyjnego produktu WebSphere.

Aby uruchomić klienta J2EE przykładu AddressBook z serwera WebSphere Application Server, należy wykonać następujące kroki w zależności od używanego systemu operacyjnego:

  1. Uruchom serwer.
  2. Otwórz wiersz komend.
  3. Wpisz następujące komendy:

    Na platformach Windows:

    cd <katalog_główny_profilu>\bin
    setupCmdLine

    Na platformach Linux, UNIX i z/OS:

    cd <katalog_główny_profilu>/bin
    . ./setupCmdLine.sh

    Na platformach iSeries:

    cd <katalog_główny_profilu>/bin
    . ./setupCmdLine

    gdzie <katalog_główny_profilu> to katalog instalacyjny profilu.
  4. Przejdź do katalogu instalacyjny_katalog_główny/samples/lib/WebServicesSamples
    gdzie:
    instalacyjny_katalog_główny to główny katalog instalacyjny serwera WebSphere Application Server lub główny katalog instalacyjny profilu, jeśli przykład jest odbudowany.
  5. Zastąp zmienną instalacyjny_katalog_główny głównym katalogiem instalacyjnym produktu WebSphere i wydaj następującą komendę:

    Na platformach Windows:

    instalacyjny_katalog_główny\bin\launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nazwa_hosta> <numer_portu>]

    Na platformach Linux, UNIX i z/OS:

    instalacyjny_katalog_główny/bin/launchClient.sh ApplicationClients.ear -CCjar=AddressBookClient.jar [<nazwa_hosta> <numer_portu>]

    Na platformach iSeries:

    instalacyjny_katalog_główny/bin/launchClient ApplicationClients.ear -CCjar=AddressBookClient.jar [<nazwa_hosta> <numer_portu>]

    gdzie:
    <nazwa_hosta> to nazwa hosta adresu punktu końcowego usługi. Domyślna nazwa hosta to localhost.
    <numer_portu> to numer portu adresu punktu końcowego usługi. Domyślny numer portu to 9080.


    W poniższym przykładzie przedstawiono wynik pomyślnego uruchomienia klienta AddressBook:

    
    C:\WebSphere\AppServer\samples>\WebSphere\AppServer\bin\launchClient \WebSphere\AppServer\samples\lib\WebServicesSamples\ApplicationClients.ear -CCjar=AddressBookClient.jar
    IBM WebSphere Application Server 7.0
    J2EE Application Client Tool
    Copyright IBM Corp., 1997-2008
    WSCL0012I: Przetwarzanie argumentów wiersza komend.
    WSCL0013I: Inicjowanie środowiska klienta aplikacji J2EE.
    [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: Co najmniej jeden plik kluczy używa domyślnego hasła.
    WSCL0035I: Zakończono inicjowanie środowiska klienta aplikacji J2EE.
    WSCL0014I: Wywoływanie klasy klienta aplikacji 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
    
    

Więcej informacji na temat działania klienta i aplikacji można uzyskać, przeglądając noty techniczne przykładu Address Book oraz kod źródłowy Java.