Gdy aplikacja Java wchodzi w interakcję z systemem IMS, musi udostępnić skonfigurowany obiekt IMSInteractionSpec. Wartości właściwości obiektu IMSInteractionSpec opisują interakcję z systemem IMS. Wartości dla właściwości obiektu IMSInteractionSpec mogą być podawane przy użyciu metod set bezpośrednio przez aplikację, która korzysta z interfejsu CCI (Common Client Interface), lub mogą być podawane w kreatorze środowiska IDE, które generuje kod aplikacji. Niektóre z właściwości są wyłącznie właściwościami wejściowymi, niektóre jednocześnie wejściowymi i wyjściowymi, a niektóre jedynie wyjściowymi. Właściwości wyjściowe są sprawdzane przez aplikację Java (nazywaną również komponentem aplikacji) w celu uzyskania dodatkowych informacji na temat interakcji.
Poniższa lista opisuje wszystkie właściwości obiektu IMSInteractionSpec:
Wartość | Stała nazwana w obiekcie IMSInteractionSpecProperties | Opis |
---|---|---|
1 | IMS_REQUEST_TYPE_IMS_ |
Żądanie jest transakcją IMS. Do publikowania komunikatu wyjściowego aplikacji wykorzystywane są zwykłe dane wyjściowe transakcji zwracane przez system IMS. Jeśli system IMS zwróci komunikat "DFS", adapter zasobów IMS zgłosi wyjątek IMSDFSMessageException
zawierający ten komunikat "DFS". Ta wartość właściwości imsRequestType jest wykorzystywana dla aplikacji, które nie zostały wygenerowane za pomocą obsługi MFS produktu WebSphere Studio. |
2 | IMS_REQUEST_TYPE_IMS_COMMAND | Żądanie jest komendą IMS. Wyjście komendy zwracane przez system IMS, włącznie
z komunikatami "DFS",
wykorzystywane jest do zapełnienia komunikatu wyjściowego aplikacji. Wyjątek
IMSDFSMessageException nie jest zgłaszany. Ta wartość właściwości imsRequestType wykorzystywana jest przez aplikacje wprowadzające komendy IMS. |
3 | IMS_REQUEST_TYPE_MFS_ |
Ta wartość właściwości imsRequestType jest zarezerwowana dla aplikacji, które zostały wygenerowane za pomocą obsługi MFS produktu WebSphere Studio. Do zapełnienia komunikatu wyjściowego aplikacji wykorzystywane są zwykłe dane wyjściowe transakcji zwracane przez system IMS, a także komunikaty "DFS". Wyjątek IMSDFSMessageException nie jest zgłaszany. |
Wartość | Stała nazwana w obiekcie IMSInteractionSpecProperties | Opis |
---|---|---|
0 | SYNC_SEND | Adapter zasobów IMS TM wysyła do systemu IMS żądanie klienta za pośrednictwem produktu IMS Connect i nie oczekuje odpowiedzi z systemu IMS. Klient wykorzystujący interakcję SYNC_SEND nie wymaga zsynchronizowanego odbierania odpowiedzi z systemu IMS. Interakcja SYNC_SEND jest obsługiwana dla połączeń trwałego gniazda współużytkowalnego i dedykowanego i dozwolona tylko dla interakcji w trybie kontroli transakcji 0. Jeśli właściwość interactionVerb ma wartość SYNC_SEND, wartości limitu czasu wykonania i limitu czasu dla gniazda są ignorowane. Uwaga: Wartość imsRequestType równa 2 nie jest dozwolona dla interakcji SYNC_SEND i spowoduje wygenerowanie wyjątku. |
1 | SYNC_SEND_RECEIVE | Wykonanie interakcji IMS spowoduje wysłanie żądania do systemu IMS i zsynchronizowane odebranie odpowiedzi. Typową interakcją SYNC_SEND_RECEIVE jest uruchamianie niekonwersacyjnej transakcji IMS, dla której rekord wejściowy (komunikat wejściowy transakcji IMS) wysyłany jest do systemu IMS, a rekord wyjściowy (komunikat wyjściowy transakcji IMS) jest zwracany przez system IMS. Interakcje SYNC_SEND_RECEIVE wykorzystywane są także dla iteracji konwersacyjnej transakcji IMS. Transakcja konwersacyjna wymaga, aby właściwość commitMode była równa 1. Transakcja niekonwersacyjna może działać, gdy właściwość commitMode jest równa 1 lub 0. Jeśli właściwość commitMode jest równa 0 dla trwałego gniazda dedykowanego, należy udostępnić wartość właściwości clientID obiektu IMSConnectionSpec. Jeśli właściwość commitMode równa 0 jest używana dla współużytkowanego trwałego gniazda, nie należy podawać wartości właściwości clientID obiektu IMSConnectionSpec. |
3 | SYNC_END_CONVERSATION | Jeśli aplikacja wykonuje interakcję, której właściwość interactionVerb ma wartość
SYNC_END_CONVERSATION, adapter zasobów IMS TM wysyła komunikat wymuszający zakończenie transakcji konwersacyjnej
IMS. Gdy właściwość interactionVerb ma wartość SYNC_END_CONVERSATION, właściwości commitMode obiektu IMSInteractionSpec i clientID obiektu IMSConnectionSpec nie mają zastosowania. |
4 | SYNC_RECEIVE_ASYNCOUTPUT | Wartość SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT właściwości interactionVerb jest poprawna dla połączeń trwałego gniazda
współużytkowalnego oraz dedykowanego. Wartość SYNC_RECEIVE_ASYNCOUTPUT jest wykorzystywana do pobierania asynchronicznych danych wyjściowych, które nie zostały dostarczone. Jeśli dla trwałego gniazda dedykowanego używana jest wartość SYNC_RECEIVE_ASYNCOUTPUT,
należy podać wartość właściwości clientID obiektu IMSConnectionSpec. Interakcja RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT dla połączenia trwałego gniazda współużytkowalnego musi znajdować się w tej samej aplikacji, co oryginalna interakcja SYNC_SEND lub SYNC_SEND_RECEIVE i musi korzystać z tego samego trwałego połączenia współużytkowalnego. Ma to miejsce przede wszystkim po przekroczeniu limitu czasu wykonania. Używając tego typu interakcji, klient Java może otrzymać tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA nie ma komunikatów dla danej wartości clientID, dalsze próby pobrania komunikatu nie będą podejmowane. W takim przypadku nie są zwracane żadne komunikaty, a po upływie czasu określonego we właściwości executionTimeout interakcji SYNC_RECEIVE_ASYNCOUTPUT nastąpi przekroczenie limitu czasu. |
5 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Interakcja SYNC_RECEIVE_ASYNCOUTPUT_ Używając tego typu interakcji, klient Java może otrzymać
tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA
nie ma komunikatów dla danej wartości clientID, dalsze próby pobrania komunikatu nie
będą podejmowane. Nie zostanie zwrócony żaden komunikat, a po upływie czasu określonego we właściwości
executionTimeout interakcji SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT nastąpi przekroczenie limitu czasu.
Uwaga: Wartości
SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT i
SYNC_RECEIVE_ASYNCOUTPUT_ SYNC_RECEIVE_ASYNCOUTPUT_ |
6 | SYNC_RECEIVE_ASYNCOUTPUT_ |
interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_ Interakcja SYNC_RECEIVE_ASYNCOUTPUT_ Używając tego typu interakcji, klient Java może otrzymać
tylko pojedynczy komunikat. Jeśli w momencie zgłoszenia żądania w asynchronicznej kolejce IMS OTMA nie ma komunikatów dla danej wartości
clientID, produkt IMS Connect czeka na zwrócenie komunikatu z kolejki OTMA. Produkt IMS Connect
czeka przez czas określony we właściwości executionTimeout interakcji
SYNC_RECEIVE_ASYNCOUTPUT_ |
Wartości SYNC_RECEIVE (2) architektury J2EE Connection Architecture (JCA) nie są obecnie obsługiwane.
Wartość tej właściwości można ustawić, gdy aplikacja kliencka chce udostępnić nazwę nadpisywania LTERM. Ta nazwa będzie się znajdowała w bloku PCB we/wy aplikacji IMS i powinna być używana podczas podejmowania decyzji logicznych przez aplikację IMS w oparciu o wartość nadpisywania.
Wartość tej właściwości można ustawić, gdy aplikacja kliencka chce udostępnić nazwę nadpisywania LTERM. Ta nazwa będzie się znajdowała w bloku PCB we/wy aplikacji IMS i powinna być używana podczas podejmowania decyzji logicznych przez aplikację IMS w oparciu o wartość nadpisywania.
Zazwyczaj na wejściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Nazwa MOD zostanie udostępniona aplikacji IMS w bloku PCB we/wy.
Na wyjściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Jest to nazwa MOD, którą aplikacja IMS określa podczas wstawiania komunikatu wyjściowego transakcji do bloku PCB we/wy.
Uwaga: Pole mapName nie powinno być wykorzystywane przez aplikacje Java korzystające z usługi korporacyjnej, której komunikaty wejściowe i wyjściowe generowane są za pomocą obsługi MFS produktu WebSphere Studio.
Zazwyczaj na wejściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Nazwa MOD zostanie udostępniona aplikacji IMS w bloku PCB we/wy.
Na wyjściu wartością właściwości mapName jest nazwa deskryptora danych wyjściowych komunikatu MFS lub łańcuch "MOD". Jest to nazwa MOD, którą aplikacja IMS określa podczas wstawiania komunikatu wyjściowego transakcji do bloku PCB we/wy.
Pole mapName nie powinno być wykorzystywane przez aplikacje Java korzystające z usługi korporacyjnej, której komunikaty wejściowe i wyjściowe są generowane za pomocą obsługi MFS produktu WebSphere Studio.
Ta właściwość jest poprawna tylko dla interakcji w połączeniach trwałego gniazda współużytkowalnego, które korzystają z komendy interakcji IMS SYNC_SEND_RECEIVE. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego. Ma zastosowanie dla interakcji w trybie kontroli transakcji 0. Nie ma zastosowania dla interakcji w trybie kontroli transakcji 1. Jeśli jednak interakcja w trybie kontroli transakcji 1 uruchamia przełączanie program-program, program tworzący proces uruchomi tryb kontroli transakcji 0 i ta właściwość zostanie zastosowana.
Ta właściwość jest poprawna tylko dla interakcji w połączeniach trwałego gniazda współużytkowalnego, które korzystają z komendy interakcji IMS SYNC_SEND_RECEIVE. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego. Ma zastosowanie dla interakcji w trybie kontroli transakcji 0. Nie ma zastosowania dla interakcji w trybie kontroli transakcji 1. Jeśli jednak interakcja w trybie kontroli transakcji 1 uruchamia przełączanie program-program, program tworzący proces uruchomi tryb kontroli transakcji 0 i ta właściwość zostanie zastosowana. Ta właściwość określa, czy niedostarczone dane wyjściowe mają być przekierowane do nazwanego miejsca docelowego, określonego w polu reRouteName. Jeśli właściwość reRoute ma wartość TRUE, asynchroniczne dane wyjściowe nie są kolejkowane w potoku TPIPE wygenerowanej wartości właściwości clientID. Są natomiast kolejkowane w miejscu docelowym, którego nazwę wskazuje pole reRouteName. Wartością domyślną właściwości reRoute jest FALSE.
Jeśli właściwości reRoute i purgeAsyncOutput mają wartość TRUE, zgłaszany jest wyjątek.
Właściwość reRouteName jest poprawna tylko w przypadku interakcji SYNC_SEND_RECEIVE dla połączeń trwałego gniazda współużytkowalnego. Nie jest poprawna dla żadnych interakcji dla połączeń trwałego gniazda dedykowanego.