我们公司有一个带有许多附加功能的销售点系统,例如订购和接收功能、销售和订单历史记录等。我们的主要问题是该系统从一开始就没有正确设计,因此修复和修复需要很长时间处理来自我们客户的请求。此外,由于数据库连接的多用户许可费用等,我们正在使用的当前技术(Progress 数据库,Progress 4GL 语言)给我们的客户带来了相当多的许可费用。
经过大量讨论后,看起来我们可能会从头开始(同时至少暂时保持当前产品)。我们正在寻找几件事:
使用漂亮的 GUI 前端创建系统(目前是 CHUI,并且应用程序的构建方式不支持我们重新设计前端...没有分层或分离业务逻辑和 GUI...不寒而栗)。
创建具有模块化不同功能的能力的系统,因此产品不必包含所有功能。这将降低我们当前需要基本功能和较低价格标签的客户的成本。这些花里胡哨的东西可供那些想要它们的人使用。
使用适当的设计模式使产品易于随时添加或更改任何部分(即更改数据库或更改前端,而无需重写应用程序或大部分应用程序)。这是今天的一个问题,因为 Progress 4GL 代码是直接针对数据库编译的。数据库中的小改动需要大量的代码重新编译。
我们的新系统将基于 Linux,客户端应用程序可能会从一个或多个 Windows 框提供功能。
所以我正在寻找的是关于有人可能会为这类产品推荐哪种数据库和/或框架或编程语言的任何建议。任何在该领域有经验的人都可以为我们指明正确的方向,甚至对要避免的事情有一些想法。我们已经考虑过 .NET 和 SQL Express(我们不需要企业级数据库),但这会将我们限制在 Windows 上(据我所知)。我听说过用于在 Linux 环境中编写 .NET 代码的 Mono,但我对它还不太了解。我们还考虑了基于 Java 和 MySql 的实现。
总而言之,我们希望做到以下几点:
降低我们将用于开发产品的技术的许可成本(甲骨文,哎呀!MySQL,很好。)
提供易于维护和支持的解决方案。
具有能够通过 CHUI 前端在“旧”硬件上运行的组件的解决方案。(我们的一些客户拥有 40 多个终端,这将是大量现金才能转换为 PC)。
建议将不胜感激。
谢谢
[更新] 我应该指出,我们目前正在执行总成本分析。这个问题旨在为我们提供几个“受过教育”的选项,以供研究以纳入或分析。任何可以分享有关客户端/服务器设置的经验/建议的人都将不胜感激(不仅仅是那些有销售点系统经验的人......这只是一个奖励)。
[更新]
对于任何感兴趣的人,我们最终选择了 Microsoft Dynamics NAV、LS Retail(一个用于销售点和其他各种东西的插件),然后在此基础上做了一些(目前正在研究)定制工作。这种设置为我们提供了一个额外的好处,即拥有一个我们当前系统所缺乏的完全集成的 g/l 系统。