需要我的应用程序互相交流

时间:2012-02-07 23:38:32

标签: delphi ipc

在DELPHI 2007应用程序中,我正在开发一些潜在客户刚刚发现有趣的是能够彼此共享数据和信息。

他们都有相同的应用程序。

所有人都有独立的数据库

但是所有安装的应用程序都相同,并且他们可能希望在数据库之间共享(复制)一些数据类型。

如何让他们与同一应用程序的其他用户共享数据,而不是与整个互联网上的每个人共享数据。

我希望这是尽可能自动的,因为我已经考虑过涉及手动发送电子邮件的方法。

我知道Datasnap是一个选项,还有其他。

UPDATE:

我们的想法是让拥有相同应用程序的公司能够共享数据。

他们应该能够选择合作伙伴和发送内容。

我一直在调查datasnap,但想知道是否还有其他方法可以做到这一点

2 个答案:

答案 0 :(得分:5)

连接分布式应用程序并共享数据和信息的另一种标准方法是通过一些Message-oriented middleware (MOM)。有许多开源中间件产品(message brokers)可用,它们可用于Delphi客户端库,甚至可用于多线程Delphi服务器应用程序。 (免责声明:我是Delphi和Free Pascal message broker client libraries的作者)

Web服务和消息代理之间存在许多本质区别,例如点对点和发布/订阅通信模型。它们还在企业应用程序集成模式中发挥关键作用。

答案 1 :(得分:2)

将应用程序连接到其他应用程序的一种标准方法是创建Web服务,并创建一个使用该Web服务的客户端,称为Web客户端。 SOAP和REST等技术指的是此类Web服务和Web客户端。

你的问题很模糊,可能是由于英语不是你的语言,但你应该编辑它并且更具体。

如果您的所有应用程序都将直接相互通信,这些应用程序称为“点对点网络”,并且直接通过Internet实现此类通信存在巨大问题。如果您构建所有这些应用程序将连接到的服务器,则会容易得多。

作为示例,请考虑IRC聊天服务,并考虑编写将成为聊天服务器的Web服务,并将所有客户视为“聊天客户端”。共享数据可能与在聊天服务器上创建“房间”或“频道”的想法相同。

我认为您需要类似对等数据复制服务的东西。我认为你最接近的就是“RSS Feeds”(由博客联合服务使用)。您通过简单的Web服务订阅它们,并定期下载新内容。由于该数据必须发布到中央服务器,这意味着对等方法是不可能的。如果您没有在Web托管服务或“云”上运行自己的Web服务器,并且您需要真正的对等解决方案,我不知道有任何方法可以做到这一点,至少在没有令人难以置信的定制工程努力。