10.1 Introduction
The ECLiPSe remote interface protocol is used to build a remote
interface between ECLiPSe and some programming language. A program
written in that programming language can interact and communicate with a
separate ECLiPSe process via the remote interface. The Tcl remote
interface (chapter 6) is an example of such an
interface. This chapter describes the protocol, so that remote interfaces
to other programming languages can be built.
The protocol is designed to allow the implementer to build an interface
that is compatible with the embedding interface of the same language. This
should allow the same code (in both ECLiPSe and the other language) to
be used in both interfaces. On the ECLiPSe side, the concept of peers is used to unify the remote and embedding interfaces.
Another feature of the remote interface is that on the ECLiPSe side,
the interface is independent of the programming language that is being
interfaced to. It should be possible to write ECLiPSe code with the
interface (e.g. for a GUI) and change the remote code without needing to
rewrite the code on the ECLiPSe side.
Briefly, a socket connection is established between the remote program and
an ECLiPSe process. The processes exchange messages in the EXDR (see
chapter 9) format according to the protocol. This allows the
communication to be platform independent, and the ECLiPSe and remote
processes can be located on any two machines which can establish socket
connections.