Il corto: Sì, purtroppo (*), CORBA non è aggiornato, come in:
- Nessuna implementazione
.NET
decente
- Il binding C ++ esistente è brutto, anche se esiste un nuovo binding C ++ 11
- Nessuna implementazione decente per altre lingue moderne (eccetto Python )
Detto questo, implementazioni CORBA esistenti come omniORB , TAO , R2CORBA sono supportati e utilizzati, e IMHO è molto più maturo di molti altri IPC / RPC framework , anche se questi sono certamente più "moderni" e probabilmente sono il futuro.
(*) Scrivo tristemente, ed è davvero una cosa triste, perché (punto 3 da Q), ci sono alcuni framework in aumento, ma non ce n'è uno che possa sostituirlo completamente al momento, e tutti loro avere problemi di loro (Immaturità, su misura per un set di casi ristretti, interoperabilità (ad es. WCF via net.tcp), prestazioni, ingombro, licenze ( ICE ) , ...)
Inoltre, il punto di riferimento 2., mentre non sono d'accordo con alcuni punti in The Rise and Fall of CORBA , un punto che oggi è davvero un punto dolente è la mancanza di un buon controllo delle versioni, citando:
Versioning.
Deployed commercial software requires middleware that
allows for gradual upgrades of the software in a backward-compatible
way. CORBA does not provide any such versioning mechanism (other than
versioning by derivation, which is utterly inadequate). Instead,
versioning a CORBA application generally breaks the on-the-wire
contract between client and server. This forces all parts of a
deployed application to be replaced at once, which is typically
infeasible. (...)
Mentre è not come orribile come il paragrafo fa sembrare, è un problema per il quale non conosco una soluzione elegante, anche quando si attacca a una singola implementazione CORBA per tutti parti.