3.3 MES(制造执行系统)构件技术
MES构件分为原子构件和复杂构件,其中原子构件的结构如下: 
其中(A): 程序头和程序尾和程序体,每个程序是类似的,是控制体,而(B)为业务部分,利用TUXEDO的参数体(FML buffer)来动态传递参数,复合构件并没有直接对应的实现体,其定义部分除了包含对外提供的功能和要求的功能外,还包括了其内部成员构件之间的连接,以及复合构件和成员构件之间的映射关系。
其制作流程如下:
1、首先定义构件的接口规约部分,包括其对外提供的功能和要求的外部功能;
2、确定复合构件所包含的成员构件;
3、建立复合构件内部的成员构件之间的接口连接关系;
4、将复合构件对外提供和要求的功能映射到内部成员构件相应的功能。
4、MES(制造执行系统)构件的使用
4.1 项目的背景
根据ERP与MES的功能定位来看,ERP系统由企业的财务管理、资源计划管理这类综合性管理内容和采购管理、销售管理等衔接供应链两端的购销管理等内容组成;MES系统则将管理的重点放在从订单接收到合同准发的整个生产设计、计划和执行的过程管理。综合的整体性管理和基于产线生产过程的管理是ERP和MES功能分担的基本依据。
4.2 应用系统架构设计
根据以上的定位,设计如下的结构:

如图,整个架构,采用三层结构:客户端、应用服务器、数据库端。
客户端只和应用服务器发生数据交换,不和数据库直接发生关系,而中间件和数据库保持常连接,这里客户端分为浏览器端和非浏览器端(使用.net编制)
其非浏览器客户端运行如下:
1) 非浏览器客户端经过windows控键送数据到应用服务器
2) 应用服务器接受数据(也称Services程序接受数据)经过Service 的逻辑业务的运行。如果需要向数据库发出数据需求
3) 数据库把Service所需要的数据给Services
4) Service接受数据库的数据,进行逻辑业务的再计算,返回给客户端
5) 客户端显示数据
其浏览器客户端运行如下:
a) 浏览器客户端经过http向界面服务器发出请求
b) 界面服务器通过java/tuxedo接口包向送数据到应用服务器送数据到发出请求
c) 应用服务器接受数据(也称Services程序接受数据)经过Service 的逻辑业务的运行。如果需要向数据库发出数据需求
d) 数据库把Service所需要的数据给Services
e) Service接受数据库的数据,进行逻辑业务的再计算,返回给界面服务器
f) 浏览器通过jsp 页面显示数据
4.3 应用构件设计
应用服务器端的构件设计:

如MES应用架构图,我们按功能分,整个MES分为三层,:基础层为基本数据类构件和系统支撑构件;中间层为各种通用的中间件;顶层为针对各种领域的专用构件或子系统构件,基础层包括:xcom 通讯构件,tuxedo支持中间件,在windows环境中,还包括.封装的DLL文件.顶层和中间层是MES的架构的重点,为了达到构件化,使应用程序的独立性化,封装了如上图的构件,下面介绍几个重要的构件。
4.4 冶金MES(制造执行系统)基础框架构件
冶金MES基础框架构件,在应用开发中非常重要,它包括如下:
* 画面风格标准化管理
* 功能键标准化
* 和底层接口的模板化
* 版本的自动更新
* 另外,用户权限判断嵌入摸板程序中,由于所有的应用程序继承摸板程序,因此应用程序画面,自动判断本身的权限,不必每个应用程序判断
4.5 冶金MES(制造执行系统)应用权限控制
为了实现对用户访问权限的控制,我们在设计中引入了用户、组、子系统、画面、按钮和功能的概念。通过对这六个元素间关系的建立和管理,最终建立用户和他所使用的应用功能的对应关系。具体有:
* 用户管理
* 组管理
* 画面功能管理
* 树功能管理
* 用户分配到组的权限管理
* 功能分配到组的权限管理
* 树权限管理
* 提供基础框架构件接口
4.6 冶金MES(制造执行系统)后台应用程序管理
应用程序的管理分为几个部分:
* 动态调整service(最小粒度的程序)和SERVER(运行的程序)的对应关系和程序在库中的位置
* 统计程序的运行次数,和当前的状态,统计程序的程序在系统的的资源。
* 控制程序进入构件库的过程。
5、总结与展望
建立一个好的软件是每个IT公司的目标,在过去的40年里,我们在高级语言,数据库技术,面向对象的方法有了很多的改进,下一个软件革新已经来临,那就是基于“构件”的革新。
基于“构件”的开发意味着,我们把应用划分成许多小的构件,而这些构件不必自己开发,可以购买第三方的产品-构件,而这些构件,可靠性较高,由于产品化而成本较低。这也意味着将来会产生许多“生产构件的公司”。
软构件技术的出现,极大地满足了多个应用领域的要求,使得各种技术形成的软构件可以最大程度地进行重用。这就引出了大规模软件开发所面临的另一个问题:如何建造软构件库结构,并有效地组织和管理。在大型软构件库的支持下,利用现有的、质量好、可靠性强的软构件,按照大规模软件开发的工程规范进行开发,是满足这些大型系统要求的良好途径。现在人们越来越多地寄希望于具有分散和联合处理能力的开放性分布式软构件技术。分布式软构件技术的目标是实现开放的软构件产品,使应用程序能相互操作,降低开发与管理费用。到目前为止,还没有出现一个完整的开放式软构件系统的实施方案。但我们相信,软构件化是软件工业化的必然。