Model programowania wyślij/odbierz

Ten model programowania umożliwia uruchomienie transakcji IMS w trybie odpowiedzi.

Model przetwarzania dla trwałego gniazda współużytkowalnego

Aby w systemie IMS uruchomić transakcję, aplikacja Java wykonuje interakcję SYNC_SEND_RECEIVE. Aplikacja udostępnia wartość interakcji SYNC_SEND_RECEIVE dla właściwości interactionVerb i wartość 0 lub 1 dla właściwości commitMode obiektu IMSInteractionSpec wykorzystywanego przez metodę wykonywania. Jednak przetwarzanie interakcji SYNC_SEND_RECEIVE dla połączeń trwałego gniazda współużytkowalnego i dedykowanego różni się.

Współużytkowane połączenia trwałego gniazda mogą być używane przez interakcje w trybie kontroli transakcji 1 i 0. Przedstawione poniżej scenariusze opisują interakcję SYNC_SEND_RECEIVE dla trwałego gniazda współużytkowalnego podczas zwykłego przetwarzania, błędnego przetwarzania oraz w przypadku przekroczenia limitu czasu wykonania.
  • Scenariusz zwykłego przetwarzania

    Adapter zasobów IMS TM, razem z serwerem aplikacji, otrzymuje dostępne połączenie z puli połączeń lub tworzy nowe połączenie. Adapter zasobów IMS TM w ramach inicjowania nowego połączenia generuje wartość właściwości clientID dla tego połączenia. Wygenerowana wartość właściwości clientID identyfikuje połączenie gniazda oraz, w przypadku interakcji w trybie kontroli transakcji 0, potok TPIPE związany z asynchroniczną kolejką wstrzymania OTMA.

    Adapter zasobów IMS sprawdza, czy gniazdo jest powiązane z połączeniem i przy użyciu tego gniazda wysyła do produktu IMS Connect żądanie z danymi wejściowymi. Następnie produkt IMS Connect wysyła do systemu IMS komunikat, który powoduje uruchomienie transakcji przez system IMS i zwrócenie komunikatu wyjściowego.

    Dla interakcji w trybie kontroli transakcji 0 przy odbieraniu komunikatu wyjściowego adapter zasobów IMS TM wysyła wewnętrznie do systemu IMS komunikat ACK, który sygnalizuje systemowi IMS, aby odrzucić dane wyjściowe z kolejki systemu IMS. Gdy aplikacja kliencka zamyka lub przerywa połączenie, takie połączenie jest zwracane do puli połączeń w celu ponownego wykorzystania przez inne interakcje w trybie kontroli transakcji 0 lub 1.

  • Scenariusz błędnego przetwarzania

    Aby z miejsca docelowego przekierowania pobrać niedostarczone dane wyjściowe, oddzielna aplikacja kliencka może wywołać interakcję SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT lub SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT w dedykowanym połączeniu trwałego gniazda. Ta aplikacja kliencka udostępni miejsce docelowe przekierowania w postaci właściwości clientID interakcji.

    Ewentualnie aby z miejsca docelowego przekierowania pobrać niedostarczone dane wyjściowe, oddzielna aplikacja kliencka może wywołać interakcję SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT lub SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT we współużytkowanym połączeniu trwałego gniazda, określając alternatywny identyfikator klienta. Korzystając z alternatywnego identyfikatora klienta, ta aplikacja kliencka może pobrać niedostarczone asynchroniczne komunikaty wyjściowe z dowolnego potoku TPIPE.

    Uwaga: Wartość domyślna właściwości purgeAsyncOutput to TRUE.
    Gdy właściwość purgeAsyncOutput ma wartość TRUE, czyszczone są następujące komunikaty wyjściowe:
    • Niedostarczone komunikaty wyjściowe wstawione do bloku PCB we/wy przez podstawową aplikację IMS.
    • Komunikaty wyjściowe wstawione do bloku PCB we/wy przez dodatkowe aplikacje IMS, wywołane przez przełącznik program-program.
    Gdy wartość właściwości purgeAsyncOutput to FALSE, musi być określone miejsce docelowe przekierowania.
  • Scenariusz przekroczenia limitu czasu wykonania
    Jeśli nastąpi przekroczenie limitu czasu wykonania, połączenie gniazda pozostanie otwarte, ale komunikat wyjściowy nie zostanie dostarczony do aplikacji klienckiej. Jednak po przekroczeniu limitu czasu wykonania niedostarczone komunikaty wyjściowe dla interakcji w trybie kontroli transakcji 0 dla połączeń trwałego gniazda współużytkowalnego można pobrać w jeden z następujących sposobów:
    • Ta sama aplikacja kliencka, która wywołała interakcję SYNC_SEND_RECEIVE, może wywołać interakcję SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT lub SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT.
    • Niedostarczony komunikat wyjściowy może zostać przekierowany do konkretnego miejsca docelowego, opisanego w powyższym scenariuszu błędnego przetwarzania.

    Gdy aplikacja kliencka zamyka połączenie lub kończy działanie, połączenie jest zwracane do puli połączeń, dzięki czemu może zostać ponownie wykorzystane przez inne interakcje w trybie kontroli transakcji 0 lub 1.

Model przetwarzania dla trwałego gniazda dedykowanego

Połączenia trwałego gniazda dedykowanego mogą być używane tylko dla interakcji w trybie kontroli transakcji 0. Przedstawione poniżej scenariusze opisują interakcję SYNC_SEND_RECEIVE w trybie kontroli transakcji 0 dla trwałego gniazda dedykowanego podczas zwykłego przetwarzania, błędnego przetwarzania oraz w przypadku przekroczenia limitu czasu wykonania.
  • Scenariusz zwykłego przetwarzania

    W normalnych warunkach, gdy aplikacja kliencka wykonuje interakcję SYNC_SEND_RECEIVE w trybie kontroli transakcji 0, serwer aplikacji zwraca istniejące połączenie z wartością właściwości clientID określoną przez użytkownika lub tworzy nowe połączenie z wartością właściwości clientID określoną przez użytkownika. Wartość właściwości clientID określona przez użytkownika identyfikuje połączenie gniazda oraz potok TPIPE, a także związaną z nim asynchroniczną kolejkę wstrzymania OTMA.

    Adapter zasobów IMS TM sprawdza, czy gniazdo jest powiązane z połączeniem i przy użyciu tego gniazda wysyła do produktu IMS Connect żądanie z danymi wejściowymi. Następnie produkt IMS Connect wysyła do systemu IMS komunikat, który powoduje uruchomienie transakcji przez system IMS i zwrócenie komunikatu wyjściowego. Przy odbieraniu komunikatu wyjściowego adapter zasobów IMS TM wysyła wewnętrznie do systemu IMS komunikat ACK, który sygnalizuje, aby odrzucić dane wyjściowe z kolejki systemu IMS. Po zamknięciu połączenia lub zakończeniu działania aplikacji połączenie jest zwracane do puli połączeń w celu ponownego wykorzystania przez inną aplikację, która wykonuje interakcję w trybie kontroli transakcji 0 z tą samą wartością właściwości clientID określoną przez użytkownika.

  • Scenariusz błędnego przetwarzania

    Wszystkie błędy przekazywane są do wyjątku zasobu, który jest zgłaszany aplikacji klienckiej. Dodatkowo niektóre błędy powodują rozłączenie gniazda przez produkt IMS Connect. W przypadku interakcji w trybie kontroli transakcji 0 oznacza to, że komunikat wyjściowy nie może zostać dostarczony do aplikacji klienckiej. Niedostarczone dane wyjściowe umieszczane są w potoku TPIPE związanym z wartością właściwości clientID określoną przez użytkownika.

    Właściwości purgeAsyncOutput i reRoute nie mają zastosowania dla trwałego gniazda dedykowanego. W przypadku trwałego gniazda dedykowanego czyszczenie lub przekierowywanie niedostarczonych komunikatów wyjściowych nie jest możliwe.

  • Scenariusz przekroczenia limitu czasu wykonania

    Jeśli nastąpi przekroczenie limitu czasu wykonania, gniazdo pozostanie otwarte, a dane wyjściowe interakcji w trybie kontroli transakcji 0 zostaną umieszczone w potoku TPIPE związanym z wartością właściwości clientID określoną przez użytkownika, w celu późniejszego pobrania. Po zamknięciu połączenia lub zakończeniu działania aplikacji obiekt IMSManagedConnection jest zwracany do puli połączeń w celu ponownego wykorzystania przez inną aplikację, która wykonuje interakcję w trybie kontroli transakcji 0 z tą samą wartością właściwości clientID określoną przez użytkownika.


Opinie