Avendo lavorato per un po 'di tempo, sono un appassionato utente di  CORBA  framework middleware per app distribuite. Non è molto popolare in generale, anche se per una serie di buoni motivi: 
-  Far sì che giochi bene con Internet è difficile - spesso devi eseguire un gateway perché alcune implementazioni non comprendono il NAT. 
 
-  È una curva di apprendimento piuttosto ripida e, mentre cerca di nascondere le complessità di ciò che sta accadendo al di sotto di esso, non riesce a nascondere completamente. 
 
 So che è ancora ampiamente utilizzato nel settore finanziario, almeno, per i sistemi distribuiti in-house. Uno dei principali vantaggi che ha su un middleware specifico della lingua (come .NET remoting / WCF) è che è indipendente dal linguaggio e le implementazioni esistono per molte lingue diverse. Ciò significa che puoi implementare l'interfaccia del tuo server su un server di database back-end antico in C ++ e quindi scrivere un client in Java o .NET che parla con esso. 
 Altre strutture middleware alternative e più moderne includono  ICE  e  Apache Etch . 
 Cose come  SOAP  e  XML- RPC  fornisce anche interfacce di servizio di rete simili. Si tratta di una specifica di livello inferiore rispetto a quelle precedenti e, in alcuni casi, può essere utilizzata come protocollo di rete sottostante.