答复: 产线管理系统,如何做架构?
现在我们考虑重新开发系统,因为Delphi渐渐不支持了,以及因为效率的原因,要换到3层的架构。我们主管的想法是使用.net开发。我不知道.net的界面是否可以支持跨平台。
我个人因为兴趣原因,想用python+pyqt+django+salalchemy来开发系统,但是因为自己的实力不够,所以不好来推这样的架构,我的想法是客户端用pyqt,采用xmlrpc连接业务逻辑服务器,同时运行一个web服务器来显示查询页面(也可以整合到客户端中),DB端用sqlalchemy连到oracle。
请问各位觉得我的想法如何,有什么更好的实现方式(实在不想用.net开发,但是考虑到可维护性,不知道.net能够撑多久)?
列一下需求:
3层架构
夸平台
能够运行本地程序,做一些交互
方便分布(产线电脑,有些是局域网,只能访问特定的服务器)
方便开发(个人建议能够接近LiterateProgramming,或者脚本式开发)
实时性好,产线作业员可等不了几秒。
我们的开发team为3人,我是主程序员,可以在架构上面说得上话。只要我能够开发出一个原型,并作出分析报告,采用我的架构应该没有问题。业务逻辑都是现成的,只要按照逻辑重新coding就好了。
我对架构的方面完全没有经验,请问应该如何去学习相关的知识呢?
这玩意儿不就是传说中的SFCS系统吗,还是MES?可能MES的Scope会大一点吧
条码枪不是问题,就是个输入设备而已,焦点在框框里,一扫也就进去了,没那么玄乎,条码打印也很Easy,就是向某个端口(如Com或lpt口)写文件而已。如果要共享打印机的话,可能要在打印机的地方搞个服务。这里有个现实的问题,就是不同的标签要换标签纸的,这个可能要配合超级智能机器人才能完成了(可惜我们没有)。产线上不可缺少的还有个玩意儿就是称(Scale),可能也是个输入设备。
实时性和可用性是个最需要考虑的问题,看你工厂的规模,单位时间内Transaction的数量,如果采用3层架构的话,对服务器配置的要求还是有点的,否则性能是个问题。工厂对实时性要求挺高的,IE作产线规划时,标准工作步骤都定义得很清楚,系统上要按几次键盘,点几次鼠标都是规划好的,每一步需要的时间也是清楚定义的,时间就是产能。如果搞个系统,刷了条码半天没反应,刷个ErrorCode,要下一步再下一步,生产单位会杀了MIS单位。如果想把GUI改成网页,劝你三思而后行我,们海外的维修点使用的系统采用的是B/S架构,不过那些维修点的工程师不过10人吧。。
毫无疑问,如果Server比表差的话,两层架构的性能肯定高于三层架构。
客户端的环境也要考虑,产线上的机器跟各位开发人员的机器配置是没法儿比的。
我们两个生产工厂每月产能都上百万的,用的10年前使用Delphi写的系统,跑得非常好,只是维护起来有点困难了。维修厂每月产能不到10万,我们先尝试使用java改造维修维修厂的系统,现在效果并不理想。恩,3层架构,但服务器的性能不够,而且是很不够,如今的经济形势去升级服务器又很困难。现在还在恼火中,想改回两层架构(当然可能是玩笑话)。
我有点疑问,就是BusinessModel没变,当前系统都能支持,花成本重写系统,有点不可理解,如果一定要改,旧系统的很多细节都要考虑到,这个其实很难的。搞不好就会“照虎画猫”。
别跟我谈架构,先给台Server吧,我代表老板谢谢您啦。生产工厂用的是最好的Server和Storage(加起来价值1000W),而维修工厂的Server只是个不入门级Server,并且Storage是没有分开的。不同的软硬件条件也是约束,架构时要考虑的。