我们公司有一个销售点系统,有许多附加功能,例如订购和接收功能,销售和订单历史等。我们的主要问题是系统设计不合理,因此需要很长时间才能完成。修复并处理来自客户的请求。此外,我们正在使用的当前技术(Progress数据库,该语言的Progress 4GL)由于数据库连接的多用户许可费等而对我们的客户产生了相当多的许可费用。

经过大量讨论后,看起来我们可能会从头开始(至少暂时保留当前产品)。我们正在寻找一些事情:

  1. 使用一个漂亮的GUI前端创建系统(它当前是CHUI,并且应用程序的构建方式不允许我们重新设计前端......没有分层或分离业务逻辑和gui。 ..shudder)。

  2. 创建能够模块化不同功能的系统,以便产品不必包含所有功能。这将为我们当前希望获得基本功能和更低价格标签的客户降低成本。那些想要它们的人可以使用铃声和口哨声。

  3. 使用适当的设计模式,使产品随时易于添加或更改任何部件(即更改数据库或更改前端而无需重写应用程序或大部分应用程序)。这是今天的问题,因为Progress 4GL代码是直接针对数据库编译的。数据库中的小变化需要大量代码重新编译。

  4. 我们的新系统将基于Linux,客户端应用程序可以通过一个或多个窗口框提供功能。

    所以我正在寻找的是关于哪些数据库和/或框架或编程语言可能会推荐给这类产品的任何建议。任何在这个领域有经验的人都可以指出我们正确的方向,甚至有一些想要避免的想法。我们已经考虑过.NET和SQL Express(我们不需要企业级数据库),但这会限制我们使用Windows(据我所知)。我听说过Mono在Linux环境下编写.NET代码,但我对此还不太了解。我们还考虑过基于Java和MySql的实现。

    总结一下,我们希望做到以下几点:

    1. 将我们用于开发产品的技术降低许可成本(Oracle,yikes!MySQL,很好。)

    2. 提供易于维护和支持的解决方案。

    3. 具有能够在“旧”状态下运行的组件的解决方案。硬件通过CHUI前端。 (我们的一些客户有40多个终端,为了转换成PC,需要大量现金。)

    4. 建议将不胜感激。

      由于

      [UPDATE] 我应该注意到,我们目前正在进行总成本分析。这个问题旨在给我们一些“受过教育的”。要考虑包含或分析的选项。任何可以分享有关客户端/服务器设置的经验/建议的人都会受到赞赏(不仅仅是那些有销售点系统经验的人......这只是一个奖励)。

      <强> [UPDATE]

      对于任何有兴趣的人,我们最终选择了Microsoft Dynamics NAV,LS Retail(销售点和其他各种东西的插件),然后做了一些(并且正在进行)定制工作。 。这种设置为我们提供了一个完全集成的g / l系统的额外好处,这是我们当前系统所缺乏的。

有帮助吗?

解决方案

我建议你先研究一下你的约束 - 你使用特定类型的终端传递了对客户的传递 - 这可能会限制你的选择,除非客户同意升级。

你需要做更多的工作。从网络论坛获得意见非常棒,但我们不可能像你一样了解你的环境。

我的广泛建议是针对广泛使用的技术。这样,平台上的专业知识比“利基”更便宜。技术,如果你碰到砖墙,它会更容易获得帮助。当然,如果您已经在客户处拥有不可协商的技术,则可能无法遵循此建议。

我的第二个建议是在完成“从头开始重写”之前完成一个完整的项目计划,详细的规格和适当的成本估算。选项。现在,你说重写系统比维护系统要便宜,而且你真的不知道重写它会花多少钱。

其他提示

用于语言的Java(或Scala,如果你想成为“前沿”,取决于你计划如何支持它以及你的开发人员喜欢它可能会更好,但也更糟)

H2 for database

Swing for GUI

原因:免费,便携且非常标准。

更新:错过了系统应该是客户端 - 服务器设置的部分。我的假设是数据库和客户端应该在同一台机器上运行。

我建议您使用浏览器进行用户界面。

将您的应用程序组织为Web应用程序。

后端有很多选择。您可以使用Java + MySQL。 Java后端将使您免受Windows / Linux争论,因为它将在两个平台上运行。您将不会获得Java和MySQL的任何许可成本。 (编辑:当然还有很多其他语言都有Linux和Linux的运行时间,包括PHP,Ruby,Python等)

如果您采用这种方式,您可能还需要考虑使用Google Web Toolkit(GWT)以模块化方式创建基于浏览器的前端。

但有一点谨慎。在内存管理方面,浏览器可能会令人讨厌。根据我们的经验,这是基于浏览器的POS中最重要的挑战您可能想要检查在浏览器中运行的Adobe Flex,但在内存管理方面可能更为公开。

什么是CHUI?字符UI,如VT终端?甚至是3270风格?

听起来你需要一个3层系统 - 数据库后端,运行大部分后端业务流程的中间层,以及CHUI / GUI /数据网关的前端层。

所有三层都可以驻留在一台机器上;或者您可以将层分发到各种服务器。前端层将控制实际的终端,无论它们是VT终端,还是Web浏览器,或者是自定义编写的“客户端”应用程序。

确保您已经考虑过这里的硬件需求 - 您是否会有条形码扫描仪,现金抽屉,POS借记/信用终端等等?如果您使用的是标准浏览器,则可能难以可靠地集成这些项目。 (至少,你可能不得不编写特殊的小程序来处理它们。)

最后,考虑在Windows上使用瘦客户端技术的可能性。它极大地简化了系统管理,因为您只需集中升级软件。瘦客户端PC价格便宜 - 低于200美元。

Golden Code Development(参见www.goldencode.com)有一项技术可以将Progress 4GL(模式和代码......整个应用程序)自动转换为带有关系数据库后端的Java应用程序(例如PostgreSQL)。他们目前支持一个非常完整的CHUI环境,他们确实重构了代码。例如,转换将UI,数据模型和业务逻辑分离为单独的Java类。整个结果是与原始版本兼容的插入式替换(用户不需要重新训练,不需要修改进程,也可以迁移数据)。这是可能的,因为它们提供了一个应用程序服务器和一组提供该兼容性的运行时类。在编译和运行之前,自动转换的结果不需要进一步编辑。包括真正的终端支持,因此硬件终端仍然有效(它需要一个小的JNI库来从Java访问NCURSES)。运行时中的所有其余代码都是纯Java。在最终系统中没有使用Progress Software Corp技术,它可以在Linux上运行。

至少有一个已转换的系统已投入生产,运行24 x 7关键任务环境。它是一个转换后的ERP系统,他们的中型试点客户用它来管理整个业务。

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