2011-06-18 91 views
1

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

我们系统的其余部分都是云托管的,并且使用ruby写在rails上。我想尽量减少我们编写的窗口代码的数量,并尽可能多地将代码作为浏览器应用程序运行。我也希望尽可能地从rails服务器部署代码,尽可能少地配置或专门设置PC。

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

我想将所有东西都保存为一个普通的Web应用程序,即某些如何能够向某些PC代码发出呼叫。

这些位的PC代码旨在运行在非常有限的PC上,我们可以在工厂车间完全控制安全等。

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

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

另一种方法也许是做什么的Firefox插件不知道在所有这是否会工作...

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

如果有一些方法可以简单地添加一个新的JavaScript函数来处理这个低级别东西...

期待您的意见!

+1

为什么必须坚持人民在做Web应用程序,真正有没有业务的Web应用程序?有许多部署技术可以让您像Web应用程序一样轻松地进行部署和更新。看看.NET中的ClickOnce。 – Josh

+0

只需使用ClickOnce,并通过沙盒运行时保存传递命令和数据所需代码的无尽恶梦。 – Brandon

回答

1

正如我理解你的要求,并请纠正我,如果我错了,你正在寻找一种方式来修改一些运行Windows XP工厂的PC配置 - 用于管理各种制造过程 - 从网页浏览器在管理员电脑上运行。

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

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

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

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

+0

我的要求并不明确,但您对做Windows服务的建议非常有帮助。非常感谢。 –

相关问题