`
halida
  • 浏览: 9470 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

产线管理系统,如何做架构?

阅读更多
我们企业用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就好了。
我对架构的方面完全没有经验,请问应该如何去学习相关的知识呢?
分享到:
评论
27 楼 matt.u 2009-06-25  
halida 写道

1.俺们要写desktop界面的。。
2.设计系统是个复杂的问题,需要分析和评估很多,论坛上面看到了不少的建议,下来补补。
3.自从用了python后,再也看不得小括号和大括号了...java相比python的代码太臃肿了。


这只是个习惯问题,我还更喜欢java/C#风格的代码一些。
26 楼 halida 2009-06-25  
matt.u 写道
halida 写道

我们是“铁打的营盘流水的兵”,产线防呆都靠系统。。。
先看看j2ee,看看是不是够强大。
然后看看jython,誓不写java。。。动态语言万载!


1、首先跨平台性上.NET无法跟JEE比。
2、.NET和JEE都很强大,关键还是看你的系统的具体需求,比如前端表现是否需要跨平台,是否交互频繁需要,是否需要RIA技术;后台服务是否需要跨平台;团队人员配置、人员的能力等等,都是需要考虑的。
3、想知道为何楼主誓不写java?java有这么恼火么?


1.俺们要写desktop界面的。。
2.设计系统是个复杂的问题,需要分析和评估很多,论坛上面看到了不少的建议,下来补补。
3.自从用了python后,再也看不得小括号和大括号了...java相比python的代码太臃肿了。
25 楼 matt.u 2009-06-25  
halida 写道

我们是“铁打的营盘流水的兵”,产线防呆都靠系统。。。
先看看j2ee,看看是不是够强大。
然后看看jython,誓不写java。。。动态语言万载!


1、首先跨平台性上.NET无法跟JEE比。
2、.NET和JEE都很强大,关键还是看你的系统的具体需求,比如前端表现是否需要跨平台,是否交互频繁需要,是否需要RIA技术;后台服务是否需要跨平台;团队人员配置、人员的能力等等,都是需要考虑的。
3、想知道为何楼主誓不写java?java有这么恼火么?

刚才把楼主的帖子又看了一下,其实Delphi+Oracle的项目,从使用习惯和开发习惯上来说,用.NET来顶替是最合适不过的。不过Delphi也可以快速开发三层架构啊,对于你的老系统来说,我觉得是应该把老技术用好,转向任何一个平台都会带来一定的风险。

Delphi技术其实挺好的,只是败在一些公司策略和市场策略上。
24 楼 lobbychmd 2009-06-24  
看j2ee,誓不写java 
23 楼 halida 2009-06-24  
cyberblue 写道
lobbychmd 写道
cyberblue 写道


除了多做项目增加经验,还没有更好的方法,至少要学习软件工程,了解一下最基本的套路,另外需要学习配置管理,产品集成等一大套东西,做出来的架构不能和这些有冲突。然後就是多做evaluate,至少能了解框架的性能。

另外还是推荐学习J2EE,做架构的工具,还没看出有比J2EE更好的,说句实话python里的东西过於松散,做这种项目说服力不太强。


ls 的你这套东西现在不流行也呀,目前貌似都是敏捷开发比较吃香


说句实在话这套东西是给自己用的,所以还是不要以敏捷为纲比较好,某些过程麻烦点也无所谓了,敏捷开发里的概念大家意会就好,所以就暂时不提了,比如说那个通信协议,调整到满意的状态之后基本上就可以算作公司资产了,所以还是小心一些为好。说真的如果见到生产线上操作工们的劳动强度,让你不认真你都不好意思。


我们是“铁打的营盘流水的兵”,产线防呆都靠系统。。。
先看看j2ee,看看是不是够强大。
然后看看jython,誓不写java。。。动态语言万载!
22 楼 cyberblue 2009-06-24  
lobbychmd 写道
cyberblue 写道


除了多做项目增加经验,还没有更好的方法,至少要学习软件工程,了解一下最基本的套路,另外需要学习配置管理,产品集成等一大套东西,做出来的架构不能和这些有冲突。然後就是多做evaluate,至少能了解框架的性能。

另外还是推荐学习J2EE,做架构的工具,还没看出有比J2EE更好的,说句实话python里的东西过於松散,做这种项目说服力不太强。


ls 的你这套东西现在不流行也呀,目前貌似都是敏捷开发比较吃香


说句实在话这套东西是给自己用的,所以还是不要以敏捷为纲比较好,某些过程麻烦点也无所谓了,敏捷开发里的概念大家意会就好,所以就暂时不提了,比如说那个通信协议,调整到满意的状态之后基本上就可以算作公司资产了,所以还是小心一些为好。说真的如果见到生产线上操作工们的劳动强度,让你不认真你都不好意思。
21 楼 lobbychmd 2009-06-24  
cyberblue 写道


除了多做项目增加经验,还没有更好的方法,至少要学习软件工程,了解一下最基本的套路,另外需要学习配置管理,产品集成等一大套东西,做出来的架构不能和这些有冲突。然後就是多做evaluate,至少能了解框架的性能。

另外还是推荐学习J2EE,做架构的工具,还没看出有比J2EE更好的,说句实话python里的东西过於松散,做这种项目说服力不太强。


ls 的你这套东西现在不流行也呀,目前貌似都是敏捷开发比较吃香
20 楼 cyberblue 2009-06-24  
halida 写道

cyberblue 写道
> 客户机有新有旧,有装2000,XP,debian的。

这个估计要做好测试,看一下软件在机器上的运行速度是否在容忍的范围内,不过我当初做Swing的时候用的机器是Celeron600,机器再差也不会差过这个吧。

性能不是问题,问题是跨平台,估计我要花一段时间来评估.net的跨平台特性。

cyberblue 写道

> 客户端有几种工作,有些只需要刷产品条码来作流程管控,

这个地方用串口通信就可以,javax.comm(http://java.sun.com/products/javacomm/)或rxtx(http://users.frii.com/jarvi/rxtx/)都可以,但是前提是需要知道条码阅读器的通信协议,如果手册上没写的话只能根据数据猜了,或是利用附带的DLL做JNI。

> 有些需要打印条码(copy xxx.txt lpt1的方式)

这个比较好办,但是条码是用什么工具生成的?不知道软件是不是还要有生成条码的功能。

既然java能做串口,这个也不是问题,估计我要花一段时间来学习java。

cyberblue 写道

> 有些需要调用外部程序对产品作一些测试。

这个是最难的地方,不知道外部程序的启动时间是多少,每次检测都启动一下会不会很浪费时间,如果绑定在当前系统里不很合适的话还是剥离出去比较好,用文件或者数据库导出信息。

这个就要求能够执行本地程序。。。

以上都没有说到要点。。
需求我很清楚,缺乏的是做架构的能力,我想,有什么办法可以学习到相关的东西?


除了多做项目增加经验,还没有更好的方法,至少要学习软件工程,了解一下最基本的套路,另外需要学习配置管理,产品集成等一大套东西,做出来的架构不能和这些有冲突。然後就是多做evaluate,至少能了解框架的性能。

另外还是推荐学习J2EE,做架构的工具,还没看出有比J2EE更好的,说句实话python里的东西过於松散,做这种项目说服力不太强。
19 楼 tuti 2009-06-24  
halida 写道
tuti 写道
halida 写道

和所有遗留系统一样,我们的系统改动很多,许多模块不再使用,许多模块修改得面目全非,含有许多隐含的bug。
...以下忽略...



为什么会这样? 建议楼主先自问5个WHY,然后再考虑解决问题的方案。


遗留系统都是这样的呀。
一些问题只能通过版本进阶来解决了。


把非技术问题转换成技术问题,是技术人员的强项啊
18 楼 lobbychmd 2009-06-24  
我们也有个delphi 的系统,动态构造界面,也能做好的。

你想学 python,可以看下 p4d怎么应用,避免大换血,减少风险
17 楼 halida 2009-06-23  
tuti 写道
halida 写道

和所有遗留系统一样,我们的系统改动很多,许多模块不再使用,许多模块修改得面目全非,含有许多隐含的bug。
...以下忽略...



为什么会这样? 建议楼主先自问5个WHY,然后再考虑解决问题的方案。


遗留系统都是这样的呀。
一些问题只能通过版本进阶来解决了。
16 楼 rrsy23 2009-06-23  
为什么要跨平台

很少有系统真的跨平台


大部分是 开发 到测试 到 上线 跨
15 楼 tuti 2009-06-23  
halida 写道

和所有遗留系统一样,我们的系统改动很多,许多模块不再使用,许多模块修改得面目全非,含有许多隐含的bug。
...以下忽略...



为什么会这样? 建议楼主先自问5个WHY,然后再考虑解决问题的方案。
14 楼 halida 2009-06-23  
tuti 写道
halida 写道

现在我们考虑重新开发系统,因为Delphi渐渐不支持了,以及因为效率的原因,要换到3层的架构。


这些真的是问题吗?

是个好问题。
和所有遗留系统一样,我们的系统改动很多,许多模块不再使用,许多模块修改得面目全非,含有许多隐含的bug。
架构上也不方便二次开发,delphi的开发效率,感觉也不如新的动态语言(我们的系统没有多少复杂的界面操作),
性能上面,由于是2层架构,程序死掉造成db死锁是个难题。
13 楼 halida 2009-06-23  

cyberblue 写道
> 客户机有新有旧,有装2000,XP,debian的。

这个估计要做好测试,看一下软件在机器上的运行速度是否在容忍的范围内,不过我当初做Swing的时候用的机器是Celeron600,机器再差也不会差过这个吧。

性能不是问题,问题是跨平台,估计我要花一段时间来评估.net的跨平台特性。

cyberblue 写道

> 客户端有几种工作,有些只需要刷产品条码来作流程管控,

这个地方用串口通信就可以,javax.comm(http://java.sun.com/products/javacomm/)或rxtx(http://users.frii.com/jarvi/rxtx/)都可以,但是前提是需要知道条码阅读器的通信协议,如果手册上没写的话只能根据数据猜了,或是利用附带的DLL做JNI。

> 有些需要打印条码(copy xxx.txt lpt1的方式)

这个比较好办,但是条码是用什么工具生成的?不知道软件是不是还要有生成条码的功能。

既然java能做串口,这个也不是问题,估计我要花一段时间来学习java。

cyberblue 写道

> 有些需要调用外部程序对产品作一些测试。

这个是最难的地方,不知道外部程序的启动时间是多少,每次检测都启动一下会不会很浪费时间,如果绑定在当前系统里不很合适的话还是剥离出去比较好,用文件或者数据库导出信息。

这个就要求能够执行本地程序。。。

以上都没有说到要点。。
需求我很清楚,缺乏的是做架构的能力,我想,有什么办法可以学习到相关的东西?
12 楼 tuti 2009-06-23  
halida 写道

现在我们考虑重新开发系统,因为Delphi渐渐不支持了,以及因为效率的原因,要换到3层的架构。


这些真的是问题吗?
11 楼 lobbychmd 2009-06-23  
python for delphi 吧。。。

慢慢改造。从头干的话,累死你们,效果还未必好,我赌你三层架构效率还干不过c/s,哈哈
10 楼 whaosoft 2009-06-23  
我还以为是java的了 刚想说话 一看是delphi好久没用了
9 楼 cyberblue 2009-06-22  
> 客户机有新有旧,有装2000,XP,debian的。

这个估计要做好测试,看一下软件在机器上的运行速度是否在容忍的范围内,不过我当初做Swing的时候用的机器是Celeron600,机器再差也不会差过这个吧。

> 客户端有几种工作,有些只需要刷产品条码来作流程管控,

这个地方用串口通信就可以,javax.comm(http://java.sun.com/products/javacomm/)或rxtx(http://users.frii.com/jarvi/rxtx/)都可以,但是前提是需要知道条码阅读器的通信协议,如果手册上没写的话只能根据数据猜了,或是利用附带的DLL做JNI。

> 有些需要打印条码(copy xxx.txt lpt1的方式)

这个比较好办,但是条码是用什么工具生成的?不知道软件是不是还要有生成条码的功能。

> 有些需要调用外部程序对产品作一些测试。

这个是最难的地方,不知道外部程序的启动时间是多少,每次检测都启动一下会不会很浪费时间,如果绑定在当前系统里不很合适的话还是剥离出去比较好,用文件或者数据库导出信息。

祝好运
8 楼 halida 2009-06-22  
ziyi 写道
1. 前端BS,就不存在什么语言写了,所有客户端有浏览器就行了。前段作业员处理的数据会被送到Q
2. 消息中间件,Websphere MQ,制造产线不需要省钱,要做制造执行系统的公司应该产能都不错的
3. 后端过账实际事务处理代码,获取MQ的数据到DB,从C到JAVA到.NET都可以

我们公司目前还有一种模式,就是没有Q,并且由于没有了Q,我们事务处理的代码都是用PL/SQL写的,我给你推荐有Q的那种

还有在DB设计上,这个需要根据你们产线复杂性及产能来定,我的建议,有一张表是存放所有生产历史的(这张表可能需要考虑水平切割,看你能够预计的数据量),还有一张表是存放目前产线上产品状态的,手机编号在这张表里是主键。讲讲为什么: 当老板想通过你这个系统知道本月生产出来了多少个手机,从历史表中可以知道,当然我相信你们的ERP中也可以知道;当老板想知道公司目前产线上还有多少正在生产中的手机,就从状态表中知道。


1. 我们需要打印条码和调用程序,前端用BS做不了或者做不好。
2. 看起来大家都是java阵营的,请问学习这些中间件的知识看什么书?

DB设计还好,用现成的。

相关推荐

    WMS仓储管理系统.pdf

    1. 提高产线效率:WCS 系统可以自动化产线管理,提高产线效率。 2. 缩短产线时间:WCS 系统可以实时监控产线,缩短产线时间。 3. 降低产线成本:WCS 系统可以实时监控产线成本,降低产线成本。 4. 提高产线信息化:...

    制造业MES产线IoT平台架构.pdf

    【制造业MES产线IoT平台架构】是现代制造业中至关重要的一环,它融合了物联网(IoT)、制造执行系统(MES)以及先进的数据处理技术,旨在提升生产线的效率和产品质量。Oracle提供的全数据和云存储方案是实现这一目标...

    制造业MES产线IoT平台架构.docx

    制造业 MES 产线 IoT 平台架构是指在制造业中,通过应用 IoT 技术、MES 系统和 Oracle 全数据解决方案来提高制造质量、追踪缺陷和优化供应链的整体架构。该架构可以帮助制造企业在快速发展的同时,访问、分析和管理...

    参考资料-产约管理部组织架构与岗位职责定稿(32)页.zip

    本资料“参考资料-产约管理部组织架构与岗位职责定稿(32)页.zip”提供了该部门详尽的组织架构及各岗位职责的详细描述,对于理解企业的内部运作机制极具价值。 在企业架构设计中,“架构”一词通常指的是系统或组织...

    制造业MES产线IoT平台架构.doc

    【制造业MES产线IoT平台架构】文档主要探讨了如何构建一个基于Oracle全数据和云存储方案的制造业生产管理系统,该系统集成了MES(Manufacturing Execution System)产线监控、物联网(IoT)数据采集和大数据分析。...

    加工制造业MES产线IoT平台架构.docx

    ### 加工制造业MES产线IoT平台架构 #### 一、引言 随着信息技术的不断发展,制造企业面临着前所未有的挑战与机遇。为了更好地应对市场需求的变化,提升产品质量与生产效率,越来越多的企业开始关注并引入智能制造...

    制造业MES产线IoT平台架构 (2).pdf

    《制造业MES产线IoT平台架构:Oracle全数据和云存储方案》 在当前的制造业环境中,随着物联网(IoT)技术的发展,制造执行系统(MES)与生产线的集成已成为提升效率的关键。MES系统通过收集和分析生产线上的实时数据,...

    产线现场集中管理通信协议v1.0.11

    在产线管理中,可能用于连接分布广泛的传感器或设备,但在这个版本的协议中,LoRa接口的具体细节尚未完全定义。 3. API详情 协议详细列出了具体的API接口,如接收换线指令和接收端登录消息的接口,这些接口是系统...

    钢铁企业生产信息化系统的架构浅析.docx

    在生产管理中,将产线前的物料放到产线上,锁定上料物料的状态,物料产出后通过二级系统的 PDO 信号收集各产线的生产实績,包括各产线的产出、能源消耗数据,缺陷等信息。把订单设计中的检验需求委托实验室进行质量...

    IT项目运维资料-27、产线赋码系统安装配置报告.docx

    总之,本报告详细介绍了光明乳业全产业链可追溯体系建设(一期)项目的产线赋码系统的安装配置过程,包括系统架构、设备布局和具体生产线的安装配置信息。这些内容不仅对于项目的顺利实施至关重要,也为未来的运维...

    WMS仓库管理系统需求规格说明书.doc

    WMS仓库管理系统需求规格说明书共分为11个章节:引言、角色与其特征、业务需求分析、基础信息、货位档案信息、存货档案信息、人员档案信息、托盘档案信息、产线档案信息、供应商档案信息、委外商档案信息和客户档案...

    产线现场集中管理通信协议v1.0.21

    该协议旨在为产线的自动化设备、监控系统以及管理系统之间提供标准化的通信接口,确保不同组件之间的无缝协作。以下是协议的详细内容: 1. 整体架构: 产线现场集中管理通信协议基于分层结构,包括数据采集层、...

    产线现场集中管理通信协议v1.0.01

    产线现场集中管理通信协议采用了分层的架构设计,确保了系统的模块化和可扩展性。这种架构通常包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层等多个层次。每一层都有其特定的功能,如物理层负责...

    MES解决方案案例之 装配生产线制造执行系统MES.ppt

    系统功能包括装配作业计划管理、物料配送管理、装配工艺管理、装配质量管理、装配生产过程追踪、数据采集、防错漏装、产品谱系、与装配设备集成、与ERP集成、与CRM集成、与PDM集成、统计查询、生产线性能分析、大...

    半导体封装行业MES系统的设计与研究.pdf

    该系统旨在实现一款符合半导体封装行业的MES系统,方便产线人员收集生产一线的实时数据,便于上层管理人员及时获取产线实时数据进行生产计划,从而提高企业的生产效率。 知识点1:半导体封装MES系统的需求分析 * ...

Global site tag (gtag.js) - Google Analytics