通过SMB / CIFS,Visual FoxPro 9 ERP DB上的25-50个用户可以获得多少网络开销(和文件锁定问题)?

Modified on: Sun, 10 Nov 2019 01:20:02 +0800

备选问题标题:我怎样才能翻译“这个软件给我一个小企业案例”给高层管理人员不购买?

我是一家经历了几年持续增长的小公司的IT部门。我们从QuickBooks开始,转向不同的会计系统,现在进入市场中的ERP系统市场,这些系统更加全面和可定制。我们目前正在评估一个用Visual FoxPro 9编写的ERP系统,我对此感觉不好,但我无法详细列举为什么会这样。

它由几个模块组成,后台办公模块和Web模块是我们感兴趣的两个模块。后台模块包含通常的ERP订单/履行/发货/会计功能。 Web模块由相同的FoxPro DB驱动,通过将IIS指向.NET组件,使用UNC路径从另一台计算机打开数据库。我也不知道,但现在这是一个单独的问题。

我担心的是通过执行以下操作来“安装”系统:

1. Create a top-level folder on a server. 2. share that folder with appropriate users and groups as \\server\erp 3. unzip the .exe and dlls and \data folder in the shared folder 4. map \\server\erp to a drive on client computers 5. create a shortcut to the \\server\data\erp.exe on client desktops. 6. double click on shortcut! You’re ERPing! (after some other minimal setup)

.exe使用访问\\ server \ data子目录中的文件,以便像往常一样填充表单等。

我担心并发用户(25个或更多)访问一个通过网络文件系统(cifs)访问文件以执行数据库功能的.exe似乎......可疑。我见过的每个其他系统都使用一个单独的数据库引擎,既可以是本土的(也可以是坏的),也可以是SQL Server,Oracle,甚至是PostGreSQL或者heck,甚至是MySQL来处理数据访问,但是这个只是共享文件夹上的一个.exe文件,直接从每个客户端桌面上的共享文件夹运行。看起来这是低效的,或者至少是不优雅的,并且它会导致大量过多的网络流量。 .exe大小约为10MB并驻留在服务器上,打开驻留在相邻\ data目录中的.dbf文件。供应商问我们是否有一个千兆网络(我们这样做),这对他来说似乎非常重要......现在我可以看出他为什么要问。

我没有深入的开发背景,但在我看来,你应该有一个单独的数据库引擎,通过命名管道或TCP / IP套接字与客户端通信,或者至少某种二进制网络协议没有其他的。使用netBIOS共享(您将UNC路径输入到数据库中作为属性)似乎是错误的,因为如果例如,您不会遇到文件锁定问题两个用户想在A / R中打开同一个客户?我只是过于谨慎吗?这是真正的标准做法,正如供应商所说的那样?我没有像这样的大型会计系统的丰富经验。我们当前的软件包使用客户端 - 服务器模型和数据库引擎处理文件,然后在其计算机上运行软件的用户通过网络与之通信。我认为据称更先进的东西会有类似的界面我错了吗?

作者:atroon

最佳答案

你所描述的内容肯定会引起我的关注,原因如下:

  • 这样一个小应用程序的代理人坚持千兆网络的事实。它可能对您的网络没有实际影响,但它会让我严重关注应用程序的设计。一个50用户的ERP系统不应该对10Mbit线路造成麻烦,更不用说千兆位线路了。

  • 安装过程对安全性的影响对我来说是一个交易障碍。这是一个持有客户(可能是客户付款)信息的系统。用户将启动一个exe形式的短节,这意味着将有25-50个此exe的实例在其工作站上的用户凭据下运行。这些进程直接访问和写入相同共享上的共享数据库文件。这意味着每个用户都必须具有对整个数据库的直接读/写访问权限。从技术和安全合规的角度来看,这太可怕了。

就我个人而言,仅在后一点我就从这个应用程序跑了一英里。我相信在合规领域(或与FoxPro)更熟悉的人可以进一步发表评论。


相关问答

添加新评论