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ę.
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.
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.
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.
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.
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.
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.