| Feature | Java-ECLiPSe connection class | 
|  | Embedded | OutOfProcess | Remote | 
| Implements EclipseConnection interface (allowing rpc and queues) | • | • | • | 
| Implements EclipseEngine interface (allowing access to ECLiPSe stdio streams) | • | • | – | 
| ECLiPSe is in a separate process (with separate memory heap/stack) | – | • | • | 
| ECLiPSe can be on a separate machine from Java | – | – | • | 
| ECLiPSe engine can start before/ end after Java virtual machine | – | – | • | 
| ECLiPSe engine created/ destroyed from Java | • | • | – | 
| Efficient transfer of data on queues and rpc invocations | • | – | – | 
| One ECLiPSe can connect to many Java virtual machines using this | – | – | • | 
| One Java virtual machine can connect to many ECLiPSe engines using this | – | • | • |