Korzystanie z powiązań danych IMS w aplikacji CCI

Nawet jeśli aplikacja Java ma zostać napisana bez użycia produktu Rational Application Developer do wygenerowania komponentu Java bean J2C i zasobu J2EE, można nadal używać opcji J2C produktu Rational Application Developer do tworzenia powiązań danych Java dla komunikatów wejściowych i wyjściowych aplikacji CCI.
Po utworzeniu powiązania danych Java dla wejściowych i wyjściowych komunikatów IMS powiązań danych można użyć w aplikacji CCI. Poniższe kroki zawierają opis sposobu korzystania z powiązań danych w prostej aplikacji CCI:
  1. Na pasku menu wybierz kolejno opcje: Plik > Nowy > Projekt > Projekt Java, a następnie kliknij przycisk Dalej.
  2. Utwórz projekt Java o nazwie ProstaAplCCI.
  3. Zaakceptuj wszystkie inne wartości domyślne i kliknij przycisk Zakończ.
  4. Kliknij przycisk Tak, aby potwierdzić przełączenie perspektywy po wyświetleniu pytania o przełączenie do perspektywy Java.
  5. Kliknij przycisk OK, aby zapisać zasób.
  6. W widoku Eksplorator projektów rozwiń gałąź Inne projekty i kliknij prawym przyciskiem myszy projekt Java o nazwie ProstaAplCCI, a następnie wybierz opcje Nowy > Pakiet.
  7. W kreatorze nowego pakietu Java, w polu Nazwa wpisz sample.ims i kliknij przycisk Zakończ.
  8. W widoku Pakiet kliknij prawym przyciskiem myszy projekt ProstaAplCCI i wybierz opcje: Właściwości > Ścieżka budowania Java.
    1. Na karcie Projekty kliknij przycisk Dodaj i wybierz projekt zawierający powiązania danych Java, które mają być używane przez aplikację CCI.
    2. Na karcie Projekty wybierz projekt zawierający adapter zasobów IMS, który ma zostać użyty.
      Jeśli nie ma projektu zawierającego żądany adapter zasobów IMS TM, można zaimportować plik RAR dla adaptera zasobów IMS TM do obszaru roboczego, wykonując następujące kroki:
      1. Zamknij kreator Ścieżka budowania Java.
      2. W widoku eksploratora projektu kliknij prawym przyciskiem myszy projekt i wybierz opcje: Import > System plików.
      3. Kliknij przycisk Dalej.
      4. W Kreatorze systemu plików kliknij przycisk Przeglądaj obok pola Z katalogu i wybierz katalog. Pliki RAR dla adapterów zasobów IMS TM można pobrać z następujących katalogów:
        • <katalog_instalacyjny_RAD>/Resource Adapters/ims dla adaptera zasobów IMS JCA 1.0
        • <katalog_instalacyjny_RAD>/Resource Adapters/ims15 dla adaptera zasobów IMS JCA 1.5
      5. Kliknij pole obok katalogu, aby go wybrać.
      6. Kliknij przycisk Zakończ.
    3. Na karcie Biblioteki dodaj do ścieżki budowania projektu ProstaAplCCI następujące pliki JAR, klikając przycisk Dodaj zewnętrzne pliki JAR:
      • j2ee.jar
      • marshall.jar
      Te pliki JAR są używane przez powiązania danych Java wygenerowane przez produkt Rational Application Developer. Wersja plików JAR zależy od wersji wybranego adaptera zasobów IMS TM. Jeśli na przykład został wybrany adapter zasobów IMS TM w wersji 9.1.0.1.1 i zainstalowano środowisko testowe dla serwera WebSphere Application Server, wersja 5, pliki JAR znajdują się w następującej ścieżce do katalogu:
      • <katalog_instalacyjny_RAD>/runtimes/base_v5/lib
      Jeśli został wybrany adapter zasobów IMS TM w wersji 9.1.0.2 i zainstalowano środowisko testowe dla serwera WebSphere Application Server, wersja 6, pliki JAR znajdują się w następującej ścieżce do katalogu:
      • <katalog_instalacyjny_RAD>/runtimes/base_v6/lib
    4. Kliknij przycisk OK.
  9. W widoku Pakiet rozwiń gałąź Inne projekty > ProstaAplCCI, kliknij prawym przyciskiem myszy pakiet sample.ims i wybierz opcje: Nowy > Klasa.
  10. W kreatorze klasy Java wykonaj następujące kroki:
    1. W polu nazwy wpisz CCIApp jako nazwę nowej klasy.
    2. W opcji Które szkielety metod utworzyć? upewnij się, że są zaznaczone pola wyboru public static void main(String{}args) i Odziedziczone metody abstrakcyjne, a następnie kliknij przycisk Zakończ.
  11. Zmodyfikuj kod źródłowy pliku CCIApp.java. Skopiuj następujący przykładowy kod i wklej go do pliku:
    /*
     *
     * DO ZROBIENIA Aby zmienić szablon dla wygenerowanego pliku, przejdź do:
     * Okno - Preferencje - Java - Styl kodu - Szablony kodu
     */
    package sample.ims;
    
    import com.ibm.connector2.ims.ico.*;
    import javax.resource.cci.*;
    
    /**
     * 
     *
     * DO ZROBIENIA Aby zmienić szablon dla tego wygenerowanego komentarza typu, przejdź do:
     * Okno - Preferencje - Java - Styl kodu - Szablony kodu
     */
    public class CCIApp {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            
            try{
                IMSManagedConnectionFactory mcf = new IMSManagedConnectionFactory();
                mcf.setHostName("nazwaHosta");
                mcf.setPortNumber(new Integer(0));
                mcf.setDataStoreName("nazwaSkladnicyDanych");
                
                ConnectionFactory cf = (ConnectionFactory) mcf.createConnectionFactory();
                IMSConnectionSpec cSpec = new IMSConnectionSpec();
                
                conn = cf.getConnection(cSpec);
                
                Interaction interAction = conn.createInteraction(); 
                IMSInteractionSpec iSpec = new IMSInteractionSpec();
                iSpec.setInteractionVerb(1); // SEND_RECEIVE
                iSpec.setImsRequestType(1); // TRANSACTION
                iSpec.setCommitMode(1); // SEND_THEN_COMMIT
                
                sample.ims.INPUTMSG input = new INPUTMSG();
                input.setIn__ll((short) input.getSize());
                input.setIn__zz((short) 0);
                input.setIn__trcd("IVTNO");
                input.setIn__cmd("DISPLAY");
                input.setIn__name1("LAST1");
                
                sample.ims.OUTPUTMSG output = new sample.ims.OUTPUTMSG();
                interAction.execute(iSpec, input, output);
                
                System.out.println(
                        "Komunikat wyjściowy to... " +
                        "\nMSG: " + output.getOut__msg() +
                        "\nNAME1: " + output.getOut__name1() +
                        "\nNAME2: " + output.getOut__name2() +
                        "\nEXTN: " + output.getOut__extn() +
                        "\nZIP: " + output.getOut__zip() 
                );
            }
            catch(Exception e)
            {
                System.out.println("Przechwycony wyjątek to: " + e.getMessage());
            }
        }
    }

    Aplikacja CCIApp.java jest prostą, dwuwarstwową, niezarządzaną aplikacją Java. Używa ona powiązań danych Java, sample.ims.INPUTMSG i sample.ims.OUTPUTMSG, utworzonych przez kreator powiązań danych CICS/IMS Java w produkcie Rational Application Developer. Przeprowadź edycję aplikacji CCIApp.java i zmodyfikuj wartości używane przez instrukcje setHostName(), setPortNumber() i setDataStoreName() odpowiednio do środowiska.

  12. Kliknij opcje: Plik > Zapisz.
  13. Aby uruchomić aplikację Java, w widoku Eksplorator projektów rozwiń gałąź Inne projekty > ProstaAplCCI.
  14. Kliknij prawym przyciskiem myszy aplikację CCIApp.java i wybierz opcje: Uruchom > Aplikacja Java. W widoku konsoli są wyświetlane następujące informacje:
    Komunikat wyjściowy to...
    KOM: ENTRY WAS DISPLAYED
    NAZWA1: LAST1
    NAZWA2: FIRST1
    ROZSZ: 8-111-1111
    ZIP: D01/R01

Opinie