A CorbaScript egy új általános célú objektum-orientált script programozási nyelv, amely kifejezetten CORBA objektumok fejlesztésére használható. A felhasználók könnyedén elérhetik, manipulálhatják, tesztelhetik az CORBA által elérhető saját és idegen elosztott objektumokat.
A CorbaScript és a ORB közötti kapcsolatot a DII és az Interface Repository teremtik meg. A DII képes futás időben objektum hívásokat, az IFT paraméter ellenőrzését végrehajtani.
A DSI segítségével lehetőség van OMG IDL interfészek implementálására script objektumok segítségével.
A következő táblázat szemlélteti a nyelv felépítését:
A Corbascript lehetőségei
- Interpretált:
A CorbaScript motor egy script interpreter. Három futtatási móddal rendelkezik.
Interaktív módban a felhasználó parancsssorból futtathatja scriptjeit.
A Batch módban az interpreter betölt és futtat egy script file-t.
A beágyazott módban az interpreter egy másik programon belül képes stringeket scriptként futtatni.
- Általános felhasználhatóság
A CorbaScript rendelkezik egy valódi magas szintű programnyelv eszközkészletével, úgymint strukturált eljárások, moduliaritás, objektum-orientáltság, többszörös öröklődés, polimorfizmus, kivételkezelés.
- Objektum-orientált
Lehetőség van script objektumok definiálására és implementálására. Ezeknek az objektumoknak létezhetnek metódusaik és attribútumaik. A megszokott .(pont) operátor segítségével ezek módosíthatóak, elérhetőek.
- Dinamikus típusosság
Egy script érték/objektum mindig egy típus példánya.
A típusok szintén objektumok. Lehetőség van altípusok létrehozására.
Futásidejű típusellenőrzés van, így lehetőség van automatikus típuskonverzióra, sőt futás időben lekérdezhető egy objektum dinamikus illetve ős típusa, a _type attributum és a _is_a metódus segítségével.
- Hordozhatóség
A CorbaScript egy erős script keretrendszer, amely könnyedén igazítható a felhasználó igényeihez, lehetőség van külső objektumok integrálására is.
- Dinamikus CORBA kötés
A CorbaScript és az ORB között a kapcsolat teljesen dinamikus. Nincs szükség a klasszikus CORBA programozásnál megismert stub/skeleton generálásokra. Amikor egy script meghív egy CORBA objektumot,akkor ez a DII (Dynamic Invocation Interface) és a DSI (Dynamic Sceleton Interface) segítségével történik.
- Teljes OMG IDL kötés
Minden OMG IDL koncepció úgymint elemi típusok, modulok, constansok, felsorolási típusok, struktúrák, halmazok, altípusok, tömbök, interfészek, kivételek direkt és transzparens módon elérhetőek scriptből. A felhasználónak csak meg kell adnia egy IDL azonosítót, hogy elérhesse és implementálhassa az adott specifikációt.
- Objektum kötés
Egy CORBA objektum meghívásához csupán csak az objektum referencia azonosítóját kell ismerni. Ez az azonosító lekérdezhető több módon is. Használhatunk hálózati azonosító cimet, vagy az OMG IOR formátumot.
- Dinamikus implementálás
Lehetéség van CORBA objektumok script osztályokkal történő imlementálására is. Ez a lehetőség az, ami a nyelv igazi erejét adja.