我们有一个需要采取几十个不同的协议从系统,例如安全系统、火灾报警器、摄像系统等。并将它们纳入一个单一的共同协议。

我想这是一个通讯服务器许多系统可以订阅,或通过。

  • 投票并非投票"驱动器"(第一议定书转换器)
  • 处理RS232/485/tcp
  • 可编程"驱动",在管理语言Java或C#
  • 规则引擎的能力

不管配合这个吗?

有没有开放源的替代品?

是否有一个Java/Java EE的方式做到这一点?

在一端的系统将是一个监控系统,其他是那种中间件/邮件服务器。

任何想法的最佳方式继续进行,将不胜感激。我知道,会有相当数量的编程所涉及在司机一侧,但是作为诱惑,因为我,建立整个体系从头开始是不合适的。

有帮助吗?

解决方案

如果你不介意的工作在Java平台上有一个轻便的协议转换器和执行情况 企业集成模式 在一个开放源码项目称为 Apache骆驼.

骆驼已经可以说大多数的 共同协议和技术 喜欢 文件, 电子邮件, JMS, 等等所以不会有实际的编码所需要的那些东西。

添加的新定义的协议最简单的途径是建立在顶部 MINA成分 这需要照顾的所有网络、插座处理,穿丝等等(例如仁王与生物et al)。

然后你只要将它扩展到添加自己的协议编(如何调动/解组的消息上插座可能使用框架等)。

HL7成分 是一个例子,这样做。更多 详细说明在编写MINA解码器在这里.

然后一旦你得到了你的骆驼件(可以称它foo)然后可以从任何协议以任何其他协议使用简单的Uri实施的任何 企业集成模式内容的基于路由器, 接收者清单, 路滑 等等

例如在Java码

// route all messages from foo
// to a single queue on JMS
from("foo://somehost:1234").
  to("jms:MyQueue");

// route all messages from foo component
// to a queue using a header
from("foo://somehost:1234").
  recipientList().
    simple("activemq:MyPrefix.${headers.cheese}");

其他提示

我会避开管理,用于监控和RS232/485,因为这些通常需要的实时(或至少是低等待时间)的解决方案。管是优化用于高处,但具有的缺点具有高等待时间的默认。

你可以调整管理为低等待时间,但在这一点上,你会找到你的旁路几乎一切管理具有内在的和可能得到的方式,而不是帮助你。

www.livedata.com

这是一个有点贵,但这是一个python基础的发动机,可以采取的一项协议和吐出另一,它已经建立的多个系统的协议,例如政府间委员会,免,OPC,并DNP。然后你可以说任何你想要的下游。

  • 约翰

我建议 OpenSCADA.该网站的时刻一点乱,但该软件正在积极使用并在积极发展。一个明确目标是建立一个共同的、技术独立的界面系统的使用情况(虽然目前的方向是或多或少面向java[但是我们实验还与ikvm创建一个.网版本]).

所以你可以使用OpenSCADA与所有的"硬件"的设备,然后创建一个桥梁,其余的中间,或者创建一个OpenSCADA桥,作为一个插件内的中间件。我们已经有例如驱动的连接卡读通过的序服务器的局域网。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top