从浏览器应用程序中获取OS调用的最佳方式

时间:2011-06-18 22:24:47

标签: java javascript ruby-on-rails windows silverlight

我们有一些代码必须访问低级别的Windows XP操作系统调用,它们可以执行一些简单的制造机器控制。这些不是实时功能 - 只是设置/配置类型操作。

我们系统的其余部分都是云托管的,并且是用ruby写在轨道上的。我想最小化我们必须编写的Windows代码量,并尽可能多地保持代码运行作为浏览器应用程序。我还想尽可能多地部署来自rails服务器的代码,尽可能少配置或专门设置PC。

我正在寻找建议,以某种方式将基于浏览器的html / javascript代码与那些低级调用接口,最大限度地减少我们在常规rails框架之外的工作,并且设置/学习/等等也相当简单。 / p>

我想要的是将所有内容保存为普通的Web应用程序,以及如何调用某些PC代码。

这些PC代码用于在我们完全控制工厂车间安全等的PC上进行非常有限的安装。

一种方法可能是创建一个小的java applet(可以用Ruby编写),但我不知道你是否可以在java applet和javascript之间进行通信?

另一种方法是使用只提供基本界面的silverlight做一些事情,我不知道银光是否允许从HTML / javascript到silverlight代码进行任何类型的通信。

另一种方式可能就是做一些像火狐插件一样的东西,如果这样可行的话......

另一种方式(我认为)是创建一个包含浏览器控件的.net应用程序。然后.net应用程序可能能够从我们的rails服务器等加载浏览器窗口。

如果有一些方法可以简单地添加一个新的javascript函数来处理这个低级别的东西,那将是非常好的...

期待您的意见!

1 个答案:

答案 0 :(得分:1)

当我解释您的要求时,如果我错了请纠正我,您正在寻找一种方法来修改运行Windows XP的多台工厂级PC上的配置 - 管理各种制造流程 - 从Web浏览器在管理员的计算机上运行。

如果这是正确的,您需要在每个控制器上运行Web服务器来处理HTTP请求,当然有很多选项可以选择,但我不确定这是最好的路径。

如果我需要解决这个问题,我会创建一个Windows“服务”来监视配置文件的更改并在控制器发生时重新配置它。

使用这种方法,您可以使用SCP或SFTP将配置文件复制到控制器,让他们自己重新配置。这比Web服务器更安全,更轻量级。

有关在Ruby中编写Windows服务的信息,请参阅Running a Ruby Program as a Windows Service?