The process of building remote or virtual laboratories to be deployed via Internet usually involves communication between different software tools. Very often, there is a separation between the software which interfaces with the model or real system, and the software responsible of providing the student with an interactive and visual representation of the data provided by the engineering system. Abstracting the way these two elements communicate with each other from the particular implementation, the requirements are frequently the same: connection and session control, data transmission control, user interaction handling, etc. This work describes a generic protocol to interoperate remotely any kind of engineering software. The solution proposes to encapsulate all the communication issues into an interoperability API that can be implemented in many different systems. In order to show the flexibility of such API, an implementation to interoperate MATLAB from Java user interfaces via JSONRPC is explained in detail.