2009-09-25 33 views
0

我有一个客户端软件程序,用于通过中央服务器启动警报。起初它将配置数据存储在注册表项中,现在存储在配置XML文件中。该配置信息由报警号,报警组,热键组合等组成。我应该将客户端配置数据移动到服务器上吗?

该客户端使用TCP套接字连接到服务器,该套接字用于将此配置传递给服务器。在下一代这个程序中,我正在考虑将所有配置信息移动到服务器上,该服务器将其所有信息存储在SQL数据库中。

我打算使用某种形式的Web界面与服务器通信并设置客户端,而不是当前的方法,即通过控制面板在计算机上配置客户端软件,或安装到以太网输出一个xml文件,或将命令行参数传递给MSI。我在想现在我想在安装时指定的唯一信息就是服务器的路径。每个工作站都将通过计算机名称进行标识,并通过服务器进行配置。

这种方法有什么问题或潜在的缺点吗?主要目标是集中配置并稍后进行更改,因为我们的软件通常最多由一两个人管理。

回答

0

除了允许客户端脱机工作(如果这种可能性对您的应用程序有意义),似乎没有任何将配置移动到集中位置的缺点。事实上,即使在集中位置的情况下,也可以在客户端添加一项功能来缓存最后一个已知配置,以便在客户端脱机时使用)。

如果您实施[集中式]数据库设计,建议考虑将配置参数存储在实体属性值(EAV)结构中,因为此模式特别适合于参数。特别是,它允许轻松添加和删除特定参数以及处理参数作为列表(也为UI中的列表导向显示铺平了道路,因此在新类型的参数不变时UI中不需要进行更改引入)。

配置参数集合和EAV模式很好地协同工作的另一个原因是,即使拥有很多用户和配置点,配置数据仍然很小,不会遭受“大”表的EAV限制。

0

唯一想到的就是信息的安全性。无论哪种情况,您可能都有这个问题。可能更容易与数据库进行交互,因为一切都将在一个地方。

+0

与往常一样,引入东西集中的好处可能会暴露隐私或安全敏感的信息,这些信息正式在客户端保留在本地。 – mjv 2009-09-25 15:35:38

相关问题