10 Interfacing .NET and Java

SICStus Prolog supports two different ways of interfacing a Prolog program with a Java client, and one for interfacing with a .NET client.

For .NET and Java there is PrologBeans and for Java there is Jasper. PrologBeans is the recommended package unless you have special needs and are interfacing with Java in which case you may consider using Jasper.

Jasper is “tightly coupled” with Prolog, which means that everything runs in the same process (the necessary code is loaded at runtime via dynamic linking). PrologBeans, on the other hand, is “loosely coupled”, which means that the client code runs in a different process from the Prolog code. In fact, the client program and the Prolog program can run on separate machines, since the communication is done via TCP/IP sockets.

Advantages of Jasper:

Advantages of PrologBeans:

PrologBeans is described in PrologBeans, and Jasper is described in Jasper.