Nástroje používateľa

Nástoje správy stránok


omega:neon:start

Toto je staršia verzia dokumentu!


NEON

Neon je komunikačný protokol vyvinutý pre SystemOmega. Umožňuje odosielať naraz viac požiadaviek na rôzne služby pomocou jedného volania. Požiadavky treba zabaliť do JSON stringu a poslať ako náklad na server.

Príklad NEON požiadavky (NEON Request)

{
    "version":3,
    "sessionId":"fh69t24lg4md029l09eq6pj4n0",
    "requestIdf":"dhnw8w",
    "dataOrder":[
        "module:tennes/getAllSettings#201",
        "module:info/getPageInfo#202",
        "module:info/getPageInfo#203",
    ],
    "module:tennes/getAllSettings#201":{},
    "module:info/getPageInfo#202":{
        "pageId":"red-pen"
    },
    "module:info/getPageInfo#203":{
        "pageId":"dog-competition"
    }
}

Popis NEON Request

version int musí byť hodnota 3
sessionId string Identifikátor SESSION.
Ak ešte neexistuje, netreba posielať. Mal by prísť v prvej NEON odpovedi.
requestIdf string Identifikátor volania.
Mal by byť unikátny. Kľudne to môže byť aj nejaký counter. Každá NEON Response obsahuje tento identifikátor.
dataOrder array Pole požiadaviek na služby.
Požiadavky na služby sa budú volať v poradí, ako sú uložené v tomto poli.
Požiadavka na službu serviceIdf je zložená z názvu služby, znak # a unikátne číslo, najlepšie counter. Týmto spôsobom je možné zavolať viac požiadaviek na rovnakú službu s rôznymi vstupnými parametrami služby.
Vstupné parametre pre službu treba vložiť ako objekt do tela NEON Request s kľúčom serviceIdf.

Príklad NEON odpovede (NEON Response)

{
    "version":3,
    "timestamp":1684245062,
    "timestampMicro":6759970,
    "status":true,
    "hasError":false,
    "sessionId":"fh69t24lg4md029l09eq6pj4n0",
    "requestIdf":"dhnw8w",
    "resultPerformance":{
        "module:tennes/getAllSettings#201":"0.00445",
        "module:info/getPageInfo#202":"0.00209",
        "module:info/getPageInfo#203":"0.00116"
    },
    "dataOrder":[
        "module:tennes/getAllSettings#201",
        "module:info/getPageInfo#202",
        "module:info/getPageInfo#203"
    ],
    "module:tennes/getAllSettings#201":{
        "status":true,
        "result":{
            "pages":[
              "sub1",
              "sub3",
              "sub4"
            ]
        }
    },
    "module:info/getPageInfo#202":{
        "status":true,
        "result":{
            "title":"Document - Red Pen",
            "author":"Silvester",
            "createDate":"2023-04-01",
            "content":"BLA BLA FOR PAGE RED PEN"
        }
    },
    "module:info/getPageInfo#203":{
        "status":true,
        "result":{
            "title":"Dog competition in London",
            "author":"Arnold",
            "createDate":"2023-04-16",
            "content":"Haf-Haf"
        }
    }
}

Popis NEON Response

version int hodnota 3
timestamp int Čas spracovania na serveri, ako linux timestamp
timestampMicro int Čas spracovania na serveri, iba mikrosekundy
status bool TRUE = všetky požiadavky boli vybavené bez chyby.
FALSE = Niekde nastala chyba.
hasError bool TRUE = Niekde nastala chyba.
FALSE = všetky požiadavky boli vybavené bez chyby.
sessionId string Identifikátor SESSION.
Je vhodné ho používať v následujúch NEON Request.
requestIdf string Identifikátor volania.
Jedná sa o identifikátor, ktorý bol použitý v NEON Request.
resultPerformance array Časy spracovanie jednotlivých služieb.
dataOrder array Pole odpovedí zo služieb.
Služby boli volané v tomto poradí. Hodnoty v tomto poli sú vlastne serviceIdf, ktoré boli použité v NEON Request dataOrder.
Jednotlivé odpovede z volaní požiadaviek služieb sú uložené v hlavnom objekte NEON Response s kľúčom serviceIdf.
Odpoveď je objekt, ktorá obsahuje:
status - TRUE alebo FALSE. Ak je FALSE, vo pri spracovaní služby nastala chyba (popíssané nižšie).
result - tu je samotná odpoveď/výsledok zo služby.

Popis NEON Response Service OK

status bool TRUE = všetky požiadavky boli vybavené bez chyby.
FALSE = Niekde nastala chyba.
resultPerformance array Časy spracovanie jednotlivých služieb.
omega/neon/start.1684259976.txt.gz · Posledná úprava: 2023/05/16 19:59 od Roman Sališ