如果我想将两个Smalltalks互连,即Smalltalk/X
与GemStone/S
,你会推荐什么方法? 我想在Smalltalk/X
中拥有一个应用程序,其中包含GemStone/S
中的持久对象。
在任何开发之前,我试图调查这个问题。 我发现一些开源实现已经完成 - 我喜欢从别人的错误中学习,所以我不会重复它们。
我找到了Pharo-gt4gemstone
- 迷人的工具包的实现,用于使用 Gemstone/S 进行远程工作。
我也从詹姆斯·福斯特那里发现了 -Jade
它取得了更多成就,因为它是一个
在 Microsoft Windows 上运行的 GemStone/S 的替代开发环境 (IDE(。
您建议从哪里开始?是读取gt4gemstone
还是Jade
,然后想出类似的方法来将Smalltalk/X
与GemStone/S
互连?
很高兴听到您对宝石的兴趣(我的激情之一!与 GemStone 互操作性的关键是为 GemStone C 接口 (GCI( 提供一个包装器,GCI 是一个用于连接到 GemStone 的 C 库。这是每个GemStone 客户端(无论是 C、Smalltalk 还是其他东西(用来与系统通信的方法。
有关 Smalltalk 示例,请参阅 Jade 中的GciLibrary*
和GciSession
。
有关其他几个可能更清晰的起点的最新示例,请参阅GciForJavaScript
、GciForPython
。
有关较旧的(红宝石(示例,请参阅gemstone_ruby
。
因此,我建议您调查Smalltalk/X
外部功能接口(FFI( 的功能,然后按照上面的示例连接到 GemStone。