55) Com’è realizzato il binding in CORBA?
Tramite il linguaggio di specifica dell’interfaccia (CORBA IDL) che consente binding (collegamento ai componenti) statico e dinamico. Ciò permette la realizzazione del mapping su linguaggi diversi con proprietà diverse.
binding statico:
uso di stub opportuni e di livello di RPC
le decisioni sono prese prima dell’esecuzione
binding dinamico:
ogni richiesta viene passata all'ORB
il messaggio viene passato dall'ORB all'adattatore dell'oggetto
modalità sincrone ed asincrone di richiesta
Il binding dinamico è possibile tramite il servizio di naming detto Object Repository, che funziona da gestore dei nomi del sistema:
per ogni richiesta, il cliente trova le interfacce per soddisfarla e può rivolgersi in modo dinamico all'ORB per ritrovare diverse implementazioni del servizio.
l’Object repository contiene informazioni di interfaccia per invocazioni dinamiche, controlli, ispezioni run-time, ecc..
il sistema può quindi evolvere in modo dinamico, agganciandosi ai nuovi componenti, che non sono stati previsti staticamente.
l’organizzazione delle tabelle interne dell’Object Repository avviene tramite il riconoscimento di contenuto (contained) e contenitore (container)
uno stesso ORB può avere accesso a repository diversi.