Slide 40
Slide 40 text
Partial Specifications of Libraries
Applications: Cross-Language Integration
• Remote Procedure Call (RPC): gRPC, Thrift, RabbitMQ RPC,
Java RMI, Cap’n’Proto, XML-RPC
– Require writing a linking code manually
– May require adapting existing program components (for
example, to solve serialization problems)
– Have performance limitations
• Foreign Function Interface (FFI): libffi, JNI, SWIG.
– C libraries are the primary aim, other languages are supported,
but require additional work
– Requires an additional code and efforts to coordinate different
memory management models (manual, garbage collection)
– May require adapting language runtimes and VMs for operating
in a single process