A küldés/fogadás programozási modell

Ez a programozási modell lehetővé teszi egy IMS válaszmódú tranzakció futtatását.

Megosztható állandó socket feldolgozási modell

IMS rendszerben egy tranzakció futtatásához a Java alkalmazás egy SYNC_SEND_RECEIVE interakciót hajt végre. Az alkalmazás SYNC_SEND_RECEIVE értékkel látja el az interactionVerb tulajdonságot és 0 vagy 1 értéked ad a IMSInteractionSpec objektum commitMode tulajdonságának, melyet a végrehajtási metódus használ. A SYNC_SEND_RECEIVE interakció feldolgozása azonban eltérő a megosztható és a dedikált állandó socket kapcsolatok esetében.

A megosztható állandó socket kapcsolatok 0 és 1 véglegesítési módú interakciókhoz használhatók. A következő példahelyzetek bemutatják a SYNC_SEND_RECEIVE interakciót megosztható állandó socket-en normál feldolgozás, hibafeldolgozás és végrehajtási időtúllépés esetén.
  • Normál feldolgozás példahelyzet

    Az IMS TM erőforrás-illesztő az alkalmazáskiszolgálóval lekér egy rendelkezésre álló kapcsolatot a kapcsolatkészletből vagy új kapcsolatot hoz létre. A IMS TM erőforrás-illesztő az új kapcsolat inicializálása részeként clientID azonosítót hoz létre a kapcsolathoz. Az előállított clientID azonosítja a socket kapcsolatot és 0 véglegesítési módú interakciók esetén a TPIPE adatcsatornát, valamint a hozzá tartozó OTMA aszinkron várakozási sort.

    Az IMS erőforrás-illesztő biztosítja, hogy egy socket társításra kerüljön a kapcsolathoz és az adott socket használatával küldi el a kérést a bemeneti adatokkal az IMS Connect felé. Az IMS Connect azután elküldi az üzenetet az IMS felé, ahol az IMS futtatja a tranzakciót és visszaküldi a kimeneti üzenetet.

    A 0 véglegesítési módú interakciók esetén a kimeneti üzenet fogadásakor az IMS TM erőforrás-illesztő egy nyugtázó ACK üzenetet küld az IMS felé, amely jelzi az IMS számára, hogy dobja el a kimenetet az IMS várakozási sorból. Amikor az ügyfélalkalmazás bezárja a kapcsolatot vagy befejeződik, akkor a kapcsolat visszakerül a kapcsolatkészletbe újrafelhasználásra más 0 vagy 1 véglegesítési módú interakciók számára.

  • Hibafeldolgozás példahelyzet

    Átirányított címzettől kézbesítetlen kimenet lekéréséhez egy önálló ügyfélalkalmazás egy dedikált állandó socket kapcsolaton kiadhat egy SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT vagy SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interakciót. Az adott ügyfélalkalmazás az interakció clientID tulajdonságaként meg fogja adni az átirányítási célt.

    Ennek alternatívájaként egy átirányított címzettől a nem kézbesített kimenet lekéréséhez egy önálló ügyfélalkalmazás megosztható állandó socket kapcsolaton kiadhat egy SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT vagy SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interakciót a másodlagos clientID megadásával. A másodlagos clientID segítségével az adott ügyfélalkalmazás lekérheti a kézbesítetlen aszinkron kimeneti üzeneteket bármely TPIPE adatcsatornáról.

    Megjegyzés: A purgeAsyncOutput tulajdonság alapértelmezett értéke TRUE.
    Ha a purgeAsyncOutput értéke TRUE, akkor az alábbi kimeneti üzenetek kerülnek kiürítésre:
    • Az elsődleges IMS alkalmazás által az I/O PCB-be beillesztett kézbesítetlen üzenetek.
    • A programközti váltás segítségével indított másodlagos IMS alkalmazás által az I/O PCB-be beillesztett kimeneti üzenetek.
    Ha a purgeAsyncOutput értéke FALSE, akkor az átirányítási célt meg kell adni.
  • ExecutionTimeout példahelyzet
    Ha végrehajtási időtúllépés fordul elő, akkor a socket kapcsolat nyitott marad, viszont a kimeneti üzenet nem kerül kézbesítésre az ügyfélalkalmazáshoz. Ugyanakkor a végrehajtási időtúllépés kivételt követően a 0 véglegesítési módú interakciók kézbesítetlen kimeneti üzenetei megosztható állandó socket kapcsolatokon a következő két módszer egyikével lekérdezhetők:
    • Ugyanaz az ügyfélalkalmazás, amely kiadta a SYNC_SEND_RECEIVE interakciót, kiadhat egy SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT vagy SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT interakciót.
    • A kézbesítetlen kimeneti üzenet átirányítható egy adott célhoz, a fenti hibafeldolgozási példahelyzetben leírt módon.

    Amikor az ügyfélalkalmazás bezárja a kapcsolatot vagy befejeződik, akkor a kapcsolat visszakerül a kapcsolatkészletbe, így más 0 vagy 1 véglegesítési módú interakciók újrafelhasználhatják azt.

Dedikált állandó socket feldolgozási modell

A dedikált állandó socket kapcsolatok csak 0 véglegesítési módú interakciókhoz használhatók. A következő példahelyzetek bemutatják a 0 véglegesítési módú SYNC_SEND_RECEIVE interakciót dedikált állandó socket-en normál feldolgozás, hibafeldolgozás és végrehajtási időtúllépés esetén.
  • Normál feldolgozás példahelyzet

    Normál körülmények között egy 0 véglegesítési módú SYNC_SEND_RECEIVE interakció ügyfélalkalmazás általi végrehajtásakor az alkalmazáskiszolgáló meglévő kapcsolatot ad vissza a felhasználó által megadott clientID azonosítóval vagy új kapcsolatot hoz létre a felhasználó által megadott clientID azonosítóval. A felhasználó által megadott clientID azonosítja a socket kapcsolatot, valamint a TPIPE adatcsatornát és a hozzá tartozó OTMA aszinkron várakozási sort.

    Az IMS TM erőforrás-illesztő biztosítja azt, hogy legyen a kapcsolathoz hozzárendelt socket, amit használva elküldi a kérést a bemeneti adatokkal az IMS Connect számára. Az IMS Connect azután elküldi az üzenetet az IMS felé, ahol az IMS futtatja a tranzakciót és visszaadja a kimeneti üzenetet. A kimeneti üzenet fogadásakor az IMS TM erőforrás-illesztő egy nyugtázó ACK üzenetet küld az IMS felé, amely jelzést ad a kimenet eldobására az IMS várakozási sorból. Amikor a kapcsolat lezárul vagy az alkalmazás befejeződik, a kapcsolat visszakerül a kapcsolatkészletbe újrafelhasználásra ugyanazzal a felhasználó által megadott clientID azonosítóval rendelkező, 0 véglegesítési módú interakciót futtató másik alkalmazás számára.

  • Hibafeldolgozás példahelyzet

    Az erőforrás-kivételt eredményező összes hibát a rendszer az ügyfélalkalmazásnak dobja. Ezen felül néhány hiba azt eredményezi, hogy a socket szétkapcsolásra kerül az IMS Connect által. A 0 véglegesítési módú interakciók esetében ez azt jelenti, hogy a kimeneti üzenet nem kézbesíthető az ügyfélalkalmazásnak. A kézbesítetlen kimenet a felhasználó által megadott clientID azonosítóhoz tartozó TPIPE várakozási sorába kerül.

    A purgeAsyncOutput és reRoute tulajdonságok nem vonatkoznak a dedikált állandó socket-ekre. A dedikált állandó socket-eken a kézbesítetlen kimeneti üzenetek nem üríthetők ki és nem irányíthatók át.

  • ExecutionTimeout példahelyzet

    Ha végrehajtási időtúllépés történik, akkor a socket nyitott marad és a 0 véglegesítési módú interakció kimenete a felhasználó által megadott cliendID azonosítóhoz tartozó TPIPE várakozási sorába kerül későbbi lekérésre. Amikor a kapcsolat lezárul vagy az alkalmazás befejeződik, az IMSManagedConnection objektum visszakerül a kapcsolatkészletbe újrafelhasználásra ugyanazzal a felhasználó által megadott clientID azonosítóval rendelkező, 0 véglegesítési módú interakciót futtató másik alkalmazás számára.


Visszajelzés