3

如果我想互连两个 Smalltalks,即Smalltalk/Xwith GemStone/S,你会推荐什么方法?我想有一个Smalltalk/X带有持久对象的应用程序GemStone/S

在任何开发之前,我都试图调查这个问题。我发现一些开源实现已经完成——我喜欢从别人的错误中学习,所以我不会重复它们。

我找到了一个Pharo的实现gt4gemstone——Glamorous Toolkit,用于与 Gemstone/S 进行远程工作。

我也从詹姆斯福斯特那里找到了 -Jade它取得了更多成就,因为它是

在 Microsoft Windows 上运行的 GemStone/S 的替代开发环境 (IDE)。

您建议从哪里开始?是否会阅读gt4gemstoneorJade 然后想出类似的方式来互连Smalltalk/XGemStone/S

4

1 回答 1

3

很高兴听到您对 GemStone 的兴趣(我的热情之一!)。与 GemStone 互操作性的关键是为 GemStone C 接口 (GCI) 提供包装,这是一个用于连接到 GemStone 的 C 库。这是每个GemStone 客户端(无论是 C、Smalltalk 还是其他)用来与系统通信的方法。

有关 Smalltalk 示例,请参阅Jade中的GciLibrary*和。GciSession

有关其他一些可能是更清晰的起点的最近示例,请参阅GciForJavaScriptGciForPython

有关较旧的(红宝石)示例,请参见gemstone_ruby.

因此,我建议您调查一下外部函数接口Smalltalk/X(FFI)的功能,然后按照上面的示例连接到 GemStone。

于 2019-09-04T14:20:07.910 回答