GIOP (angl. general inter ORB protocol) – dviejų kokiu nors ryšio kanalų (paprastai kompiuterinių tinklų) susijusių programų bendravimo protokolas.

Pagrindinės GIOP savybės yra tokios:

  • Naudojamas dvejetainis formatas (sveikieji ir realieji skaičiai koduojami dvejetaine sistema).
  • Naudojamas laukų išlyginimas: daugiau nei vieną baitą užimantys skaičiai išlyginami GIOP taip ties sutarta adreso riba. Tarkim, du baitus užimantis skaičius turi prasidėti lyginiu atstumu žinutės pradžios (kai kada nuo kitos sutartos vietos). Aštuonis baitus užimančiam skaičiui šis atstumas turi dalintis iš aštuonių. Taip išlygintus duomenis dauguma procesorių pasiekia greičiau.

Šie dvejetainiai duomenų pateikimo standartai vadinami CDR (angl. common data representation).

  • Senesnės GIOP versijos yra asimetriškos (skiriamas kliento ir serverio vaidmuo). Vėlesnės versijos yra simetriškos.
  • GIOP žinutės antraštėje nurodoma baitų tvarka žodyje. Taigi palaikomi bet kurią iš dviejų galimų tvarkų naudojantys procesoriai.
  • Pagrindiniai žinutės tipai yra objekto pasiteiravimas (ar egzistuoja reikiamas nuotolinis objektas, užklausimas (įsakymas iškviesti nuotolinio objekto metodą), atsakymas (grąžinami iškvietimo rezultatai), atšaukimas (kvietėjas nebelaukia atsakymo į pasiųstą užklausimą), klaidos pranešimas ir nurodymas nutraukti ryšį.
  • Atsakymo žinutė vietoj laukiamų duomenų gali turėti nuorodą į kitur esantį objektą (būtina pakartoti užklausimą) arba informaciją apie vartotojo (ne CORBA) sistemoje įvykusią klaidą.
  • Ilgos žinutės prireikus gali būti siunčiamos fragmentais.
  • Be standartinės, žinutė gali turėti ir specifinę informaciją. Ši ypatybė leido protokolui besivystant pridėti papildomas duomenų struktūras nepažeidžiant suderinamumo. Šios struktūros vadinamos tarnybiniais kontekstais (angl. service context).

GIOP standartas taip pat apima nuotolinio objekto nuorodos perdavimo standartą (IOR, angl. interoperable object reference). Tai irgi dvejetainis formatas. Prireikus jis gali būti užrašytas IOR: prasidedančia šešioliktainių skaitmenų eilute (žr nuotolinio objekto adresas).

GIOP pasiūlė OMG grupė. GIOP versija, papildyta standartais, reikalingais dirbti Internete per TCP/IP jungtį, vadinama IIOP.

GIOP santrumpos teisinis statusas redaguoti

CORBA, IIOP ir OMG yra OMG grupės registruoti prekiniai ženklai, kuriuos, neturint leidimo, reikia naudoti atsargiai. Tuo tarpu GIOP nėra OMG registruotas prekinis ženklas (žr OMG registruotų ženklų sąrašą. Todėl, ypač parašius ir platinant komercinę sistemą, kai kada gali būti verta teigti jog ji išpildo ar palaiko būtent GIOP protokolą.

GIOP naudojamas CORBA ir RMI/IIOP.