锁定老帖子 主题:产线管理系统,如何做架构?
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-26
楼主的串口通信操作是使用类似EPOSN小票指令操作,还是用厂家只提供DLL API呢?
若属于前一种做跨平台的话用,用java SWT,SWING或python都不成问题的。若属后一种情况就要认真考虑的了。 |
|
返回顶楼 | |
发表时间:2009-06-26
python、ruby 相关文章、书籍忽悠的也不少,让你看了一下觉得用起来好爽啊,仿佛久旱逢甘露,他乡遇故知。。。
然后慢慢发现其实实际当中有不少地方还是没做到位的, 执行效率啥的还是偏慢的, bug 还是不少的。。。,想做个报表,嘿,就是没delphi 方便。。。 其实程序设计语言并不是全部,即使语言有不足的地方,围绕着这种语言开发出来的类库、框架、比较烂但是能正常工作的程序、和这种语言对应的很多开发模式、甚至针对语言不足设计出来的hook,都是属于这种语言的财富, 别轻易丢掉你的财富。。。 |
|
返回顶楼 | |
发表时间:2009-06-26
LZ你真幸运,遇到我这个专家了。
产线管理系统是个土名字,专业叫MES。 我们公司的老系统也是delphi+oracle,不过比你们高级一点,用了delphi的3层架构(即不用在客户端配odbc)。其实这个架构挺好,如果你们愿意买windows的话。 如果想省钱,我看可以用java。但也可以用B/S,flex等。打印的问题可以专门做个小小的打印服务程序来连接打印机,开放web服务接受打印内容。 |
|
返回顶楼 | |
发表时间:2009-06-26
hatedance 写道 LZ你真幸运,遇到我这个专家了。
产线管理系统是个土名字,专业叫MES。 我们公司的老系统也是delphi+oracle,不过比你们高级一点,用了delphi的3层架构(即不用在客户端配odbc)。其实这个架构挺好,如果你们愿意买windows的话。 如果想省钱,我看可以用java。但也可以用B/S,flex等。打印的问题可以专门做个小小的打印服务程序来连接打印机,开放web服务接受打印内容。 那么请问delphi的3层架构具体的细节呢? 表示层和业务逻辑层之间是什么协议? 业务逻辑层怎么实现和架构? |
|
返回顶楼 | |
发表时间:2009-06-26
halida 写道 hatedance 写道 LZ你真幸运,遇到我这个专家了。
产线管理系统是个土名字,专业叫MES。 我们公司的老系统也是delphi+oracle,不过比你们高级一点,用了delphi的3层架构(即不用在客户端配odbc)。其实这个架构挺好,如果你们愿意买windows的话。 如果想省钱,我看可以用java。但也可以用B/S,flex等。打印的问题可以专门做个小小的打印服务程序来连接打印机,开放web服务接受打印内容。 那么请问delphi的3层架构具体的细节呢? 表示层和业务逻辑层之间是什么协议? 业务逻辑层怎么实现和架构? delphi3层架构当年可是很流行的,好像是delphi5开始的,本质就是所谓的DCOM。你完全可以去搞几本书来看看细节,我现在觉得就是一种远程调用方式而已。业务逻辑层就是所谓的中间层,跟数据库打交道,为客户端服务。一般中间层独立部署在一个应用服务器上,留个端口侦听。 我自己喜欢用java或者。net做开发,所以业务逻辑用基本用java做。delphi客户端可以通过webservice可以调用后台。 不说了,说不完。你自己google一下,结果一大堆。 |
|
返回顶楼 | |
发表时间:2009-06-26
先交钱,后听课!
|
|
返回顶楼 | |
发表时间:2009-06-30
至少需要富客户端,交互性、用户体验较好!
你的需求我不知道你是怎么弄出来的?就这样的需求能弄出什么架构出来。 不知道你的架构是不是同我们所说的架构! 客户端推荐用SWING, 要跨平台推荐用JAVA, 方便开发推荐用JAVA, 实时性用JAVA也不会有问题, 方便分布是什么意思?不太明白~ |
|
返回顶楼 | |
发表时间:2009-06-30
chenlixun 写道 至少需要富客户端,交互性、用户体验较好!
你的需求我不知道你是怎么弄出来的?就这样的需求能弄出什么架构出来。 不知道你的架构是不是同我们所说的架构! 客户端推荐用SWING, 要跨平台推荐用JAVA, 方便开发推荐用JAVA, 实时性用JAVA也不会有问题, 方便分布是什么意思?不太明白~ 这些都是语言,只要接口定义清楚,用什么语言都可以, 但是系统怎么架构,用什么系统来处理中间层,是个困难的选择。 |
|
返回顶楼 | |
发表时间:2009-07-04
MES 制造执行系统, Delphi 就完全可以了啊。
还有Linux+WINE , WINE里面的系统如果是Windows , 仍然是需要购买许可的。 |
|
返回顶楼 | |
发表时间:2009-07-09
最后修改:2009-07-10
halida 写道 我们企业用delphi+oracle做产线管理系统,作业方式就是给我们的产品(手机)贴条码,然后通过刷条码进系统来管控流程。有时候要调用外部程序,有时候要打印(传文档到LPT端口)。因为windows费用的问题,部分电脑采用linux+wine的方式来运行系统。
现在我们考虑重新开发系统,因为Delphi渐渐不支持了,以及因为效率的原因,要换到3层的架构。我们主管的想法是使用.net开发。我不知道.net的界面是否可以支持跨平台。 我个人因为兴趣原因,想用python+pyqt+django+salalchemy来开发系统,但是因为自己的实力不够,所以不好来推这样的架构,我的想法是客户端用pyqt,采用xmlrpc连接业务逻辑服务器,同时运行一个web服务器来显示查询页面(也可以整合到客户端中),DB端用sqlalchemy连到oracle。 请问各位觉得我的想法如何,有什么更好的实现方式(实在不想用.net开发,但是考虑到可维护性,不知道.net能够撑多久)? 列一下需求: 3层架构 夸平台 能够运行本地程序,做一些交互 方便分布(产线电脑,有些是局域网,只能访问特定的服务器) 方便开发(个人建议能够接近Literate Programming,或者脚本式开发) 实时性好,产线作业员可等不了几秒。 我们的开发team为3人,我是主程序员,可以在架构上面说得上话。只要我能够开发出一个原型,并作出分析报告,采用我的架构应该没有问题。业务逻辑都是现成的,只要按照逻辑重新coding就好了。 我对架构的方面完全没有经验,请问应该如何去学习相关的知识呢? 我不是专家,这玩意儿不就是传说中的SFCS 系统吗,或者MES,MES 的Scope 可能要大一点, 条码枪不是问题,就是个输入设备而已,焦点在框框里,一扫也就进去了,没那么玄乎,条码打印也很Easy, 就是向某个端口(如Com 或lpt口)写文件而已。如果要共享打印机的话,可能要在打印机的地方搞个服务。这里有个现实的问题,就是不同的标签要换标签纸的,这个可能要配合超级智能机器人才能完成了(可惜我们没有)。产线上不可缺少的还有个玩意儿就是称(Scale),可能也是个输入设备。 实时性和可用性是个最需要考虑的问题,看你工厂的规模,单位时间内Transaction 的数量,如果采用3 层架构的话,对服务器配置的要求还是有点的,否则性能是个问题。工厂对实时性要求挺高的,IE 作产线规划时,标准工作步骤都定义得很清楚,系统上要按几次键盘,点几次鼠标都是规划好的,每一步需要的时间也是清楚定义的,时间就是产能。如果搞个系统,刷了条码半天没反应,刷个Error Code,要下一步再下一步,生产单位会杀了MIS 单位。如果想把GUI 改成网页,劝你三思而后行,我们海外的维修点使用的系统采用的是B/S 架构,不过那些维修点的工程师不过10 人吧。 提到效率问题,如果Server 比表差的话,两层架构的性能肯定高于三层架构。高并发时Server 甚至会死给你看 客户端的环境也要考虑,产线上的机器跟各位开发人员的机器配置是没法儿比的。 我们两个生产工厂每月产能都上百万的,用的10 年前使用Delphi 写的系统,跑得非常好,只是维护起来有点困难了。维修厂每月产能不到10 万,我们先尝试使用java 改造维修维修厂的系统,现在效果并不理想。恩,3 层架构,但服务器的性能不够,而且是很不够,如今的经济形势去升级服务器又很困难。现在还在恼火中,想改回两层架构(当然可能是玩笑话)。 我有点疑问,就是Business Model 没变,当前系统都能支持,花成本重写系统,有点不可理解,如果一定要改,旧系统的很多细节都要考虑到,否则一旦上线,会搞得你生不如死。那可是产线啊,流程或者业务卡住话后果真的很严重的。这个其实很难的。搞不好就会“照虎画猫”。 别跟我谈架构,先给台Server 吧,我代表老板谢谢您啦。生产工厂用的是最好的Server 和Storage(加起来价值1000 W),而维修工厂的Server 只是个不入门级Server,并且Storage 是没有分开的。不同的软硬件条件也是约束,架构时要考虑的。 |
|
返回顶楼 | |