If I would like to interconnect two Smalltalks, namely Smalltalk/X with GemStone/S, what approach would you recommend? I would like to have an application in Smalltalk/X with persistent objects in GemStone/S.
Prior to any development I tried to investigate the issue. I have found some open-source implementation done - I like to learn from others mistakes so I don't repeat them.
I have found an implementation for Pharo - gt4gemstone - Glamorous Toolkit for remote work with Gemstone/S.
I have found also from James Foster - Jade which achieves more as it is an
Alternative Development Environment (IDE) for GemStone/S that runs on Microsoft Windows.
Where would you recommend to start? Would it be to read the gt4gemstone or Jade and then come up with similar way to interconnect Smalltalk/X with GemStone/S?
Glad to hear of your interest in GemStone (one of my passions!). The key to interoperability with GemStone is to provide a wrapper for the GemStone C Interface (GCI), a C library used to connect to GemStone. This is the method used by every GemStone client (whether C, Smalltalk, or something else) to communicate with the system.
For a Smalltalk example, see
GciLibrary*andGciSessionin Jade.For a couple other recent examples that might be cleaner starting points, see
GciForJavaScript,GciForPython.For an older (ruby) example see
gemstone_ruby.So, I'd suggest that you investigate what
Smalltalk/Xhas for a Foreign Function Interface (FFI), then follow the examples above to connect to GemStone.