admin 管理员组

文章数量: 1086019


2024年3月12日发(作者:慕课js)

维普资讯

Microcomputer Applications Vo1.23,No.4,2007 

文章编号:1007—757X(2007)04--00O7一O2 

研究与设计 微型电脑应用 2007年第23卷第4期 

基于EJB组件技术的钢铁企业生产管理 

系统模型结构的研究 

蔡忠华, 吕志民 

摘 要:近年来,随着EJB技术的不断发展和完善,越来越多的企业采用EJB体系结构来构建他们的管理系统,本文根据钢 

铁企业生产管理系统的特点,建立了一个基于EJB组件技术的生产管理系统模型。 

关键词:EJB;ERPI生产管理系统;钢铁企业 

中图分类号:TP399iF425 文献标识码:A 

1简介 

企业资源计划(ERP)是西方制造业科学管理的理论和实 

EJB2.0规范定义了三种类型的企业级Bean:会话Bean 

(Session Bean)、实体Bean(Entity Bean)和消息驱动Bean 

(Message--driven Bean)。 

践的总结和升华,是以先进的计算机技术和科学的管理思想 

为基础,对整个企业的物流、资金流和信息流进行统一管理, 

从而最大限度地利用企业现有资源更大地获得经济效益。 

ERP中的生产管理系统是其重要组成部分,并且是操作最为 

频繁的子系统,对其实时性、可靠性要求极高,一旦发生故障 

或异常,将直接影响企业的生产,并且该部分随着日常管理和 

考核的变化,也是业务变化较为频繁的部分。对于传统的软件 

设计,一旦某个业务流程发生变化,整个生产管理系统就得重 

新编译、安装,可维护性很差,且费时、费人、费钱。针对此情 

况,本文采用EJB组件技术来规划生产管理系统,用EJB组件 

实现每个业务逻辑模块,提供标准的接口供外面的系统访问, 

只要其发布的接口不改变,即使其业务逻辑发生变化,也仅需 

修改相应的业务组件的实现,而客户端以及其他的相关系统 

无须做任何修改,这样就大大减少了维护的工作量。采用该方 

式构建的生产管理系统将可支持企业的业务流程重组(BPR) 

和业务流程改进(BPI)工作,便于企业根据市场和企业本身发 

展的需求,不断优化企业的管理流程。除此之外,EJB组件在 

系统安全性、稳定性、扩展性都具有让人刮目相看的优点。 

会话Bean代表业务逻辑对象,它将本应在客户端执行的 

复杂的业务逻辑程序包装成组件放在服务器端执行,以减轻 

客户端程序的复杂性,最重要的是提供了可重用性,可移植 

性,可扩展性,并且服务器提供了事务、安全等方面的服务。根 

据方法请求时是否维持客户状态,会话Bean又可分为无状态 

会话Bean和状态会话Bean。无状态会话Bean在每次方法调用 

后,就清除属于方法调用的信息,而不保存方法之间的对话状 

态。状态会话Bean在会话期间保留代表某个用户的状态,当 

某一个方法调用中状态发生了变化,状态会话Bean能保证在 

后面针对这个用户的方法调用使用变化后的状态。 

实体Bean代表数据库或另外一个企业应用系统中的数 

据对象,如代表数据库中的一行记录。实体Bean不包括业务 

逻辑,它们只是数据模型。其意义在于它将底层数据以对象的 

形式映射到内存中,以供其它组件使用 从本质上说,实体 

ean是N层体系结构中执行数据层的功能。根据持久性划 B

分,实体Bean又分为Bean管理的实体Bean(Bean—Manager 

ean)和容器管理的实体BBean(Container--Manager ean),B前 

者由开发者自己完成实体Bean和数据库记录间的同步,后者 

由容器实现实体Bean和数据库记录间的同步。 

在会话Bean、实体Bean中,客户端是以同步和阻塞的方 

式调用Bean,即调用者必须等待服务器返回一个响应后,才能 

进行下一步工作。消息驱动Bean则被设计用来处理异步的 

JMS消息,它无须收到响应,可以继续进行下一步的工作。消 

息驱动Bean将JMS和EJB相集成,是一种全新的企业Bean。 

消息驱动Bean使用的消息可以来自其他Bean(会话Bean、实 

体Bean或消息驱动Bean)、非EJB的Java应用程序、或者甚至 

2 EJB组件的特性 

EJB是用于开发和部署多层结构的、分布式的、面向对象 

的Java应用系统的跨平台的组件体系结构。EJB组件是以Ja— 

va为开发语言的企业应用组件模型,开发出来的组件不需要 

修改代码或重新编译就可以被部署在任何支持EJB规范的服 

务器中。 

作者简介:蔡忠华,北京科技大学机械工程学院,硕士,北京100083 

100083 吕志民,北京科技大学机械工程学院,博士,副研究员,北京

・7・ 

维普资讯

Microcomputer Applications Voi.23,No.4,2007 

非Java的应用程序。 

研究与设计 

以修改; 

微型电脑应用 2007年第23卷第4期 

一质一 

一定一 图 

3钢铁企业生产管理系统功能关系的规划 

EBJ服务器 二二= 

j甄琚厍 

现代化的钢铁企业以“财务为中心”、“按合同组织生产”、 

“集中一贯管理”作为管理理念,实现从合同签约、生产、交货 

到结算的一贯合同管理,从炼铁到最终成品的一贯材料管理 

和一贯计划管理。实现生产管理的合理化、在线化和集成化, 

对生产过程中的物流和信息流进行综合管理,使物流、信息流 

尽可能保持同步。在以销定产的管理模式下,生产管理主要包 

括合同管理、计划管理和存货管理等管理业务。根据目前钢铁 

企业的生产管理现状,通用的生产管理系统流程如图1所示, 

各部分的功能模块将因各个钢厂生产品种和工艺的不同,具 

体的业务逻辑方面存在差异,或者有些模块在某些企业可能 

根本不存在,但是总体的流程还是大致相同的。由于EJB组件 

的特性,如果采用EJB组件技术开发生产管理系统,业务模块 

上的差异可以在不改动整个系统的前提下,修改、增加、减少 

某个功能模块即可。 

l 合同管理子 } 

f 系统容器 

 f

f 

』 

f 

f  统 f

 计划管理子 Il 

系统容器 

系统容器 

 库存管理子 ll 

图2生产管理系统的EJB模型图 

4).系统开发人员可以专心地开发应用系统的业务逻 

辑,不必考虑系统的基础结构 

5).提供与其他管理系统的接口,从其他系统提取并整 

合数据。 

4.2系统主要的Bean的描述 

按照上面的生产管理系统整体规划图,一个完整的生产 

管理系统涉及到材料设计、合同处理、合同归并、合同计划、材 

料转用充当、材料申请、半成品或原料存货、各区作业计划、成 

品存货管理等多个功能模块,系统功能模块的描述如下所示: 

1).合同处理会话Bean和材料设计会话Bean对销售合 

同实体Bean进行质量设计、工艺设计、板坯设计,确保合同生 

产的技术可行性,建立生产合同实体Bean,也为接下来的处理 

提供所需数据。 

2).合同归并会话Bean将合同处理会话Bean成功处理 

^ 

f 

^ 

j 

的订货量较小的用户订货合同按合同归并原则归并成母子合 

同,建立母子合同实体Bean,可以达到便于组批、提高产量、减 

匝匝 

小余材、方便管理的目的。 

3).合同计划会话Bean根据合同工序最迟通过日期,确 

定合同通过各工序的计划日期,生成生产计划实体Bean,然后 

将合同释放,准备生产。 

4).材料转用充当和材料申请会话Bean根据生产计划实 

生产管理系统流程图 

4基于EJB组件的生产管理系统结构模型的建立 

4.1生产管理系统的体系结构 

根据上面对生产管理系统特点的分析和对整体的总体规 

划,将整个生产管理系统分解为3个子系统,即合同管理子系 

统、计划管理子系统、存货管理子系统,3个子系统的管理业 

体Bean的计划要求,及时准确地将材料组织到位,从而确保 

生产的顺利进行。 

5).各区作业计划会话Bean根据原料或半成品实体 

Bean、生产计划实体Bean制订出明细生产计划。 

6).半成品或原料存货管理会话Bean、成品存货管理会 

话Bean对原料或半成品Bean、成品实体Bean进行统一管理, 

务合理衔接起来,成为一个完整的生产管理系统。基于EJB组 

件技术的分布式三层体系结构的生产管理系统模型如图2所 

示。客户端通过JNDI查找位于EJB服务器中的EJB组件对 

象,调用相应的方法,EJB组件对象通过JDBC和数据库同步。 

该系统具有以下特点: 

1).由于采用了EJB技术,系统具有跨平台、安全性高、 

可扩展、可重用等特性; 

2).客户端可以采用多种方式与系统传递数据; 

保持现场材料实物与数据库中信息的一致。 

7).将合同跟踪设计成消息驱动Bean,接受各个会话 

Bean抛出的事件数据,并按严密的计算机逻辑对事件数据进 

行处理,最终反映出合同工序欠量、材料库存量及工序通过量 

的变化。 

在我们的系统中,每个会话Bean都封装为一个EJB组 

(下转第14页) 

・8・ 

3).系统升级容易,服务器组件可根据应用需求迅速加 

维普资讯

Microcomputer Applications Vo1.23,No.4,2007 研究与设计 微型电脑应用 2007年第23卷第4期 

枝定界搜索的函数首先初始化活结点的最大堆,并使用一个 

数组bestx来记录最优解。由于需要不断地利用收益密度来排 

序,物品的索引值会随之变化,因此必须将函数所生成的结果 

映射回初始时的物品索引。函数中的循环首先检验E一结点左 

以上算法均在Visual c++环境下实践得以验证,实践证 

明了各种子算法的正确性。从算法的分析中可看出,动态规划 

法可以有效地解决o/1背包问题。 

孩子的可行性,如它是可行的,则将它加入子集树及活结点队 

列(即最大堆);仅当结点右孩子的定界值指明可能找到一个 

最优解时才将右孩子加入子集树和队列中。 

5.3算法分析 

参考文献: 

f1]M.H.Alsuwaiyel著.Algorithms Design Techniques and 

Analysis[M].北京:电子工业出版社.2003.1 

[2]余祥宣崔国华部海明著.计算机算法基础(第二版) 

I-M].武汉:华中科技大学出版社.2000.1 

回溯法比分枝限界在占用内存方面具有优势。回溯法占 

用的内存是O(解空间的最大路径长度),而分枝限界所占用 

的内存为0(解空间大小)。对于一个子集空间,回溯法需要0 

(n)的内存空间,而分枝限界则需要O(2n)的空间。虽然最大 

收益或最小耗费分枝限界在直觉上要好于回溯法,并且在许 

多情况下可能会比回溯法检查更少的结点,但在实际应用中, 

[3]王晓东著.算法设计与分析[M].北京:清华大学出版社. 

2003.1 

[4]Sartaj Sahni著.汪诗林等译.数据结构、算法与应用—— 

c++语言描述[M].北京:机械工业出版社.2001.1 

[5]Mark Allen Weiss著.冯舜玺译.数据结构与算法分析 

——

它可能会在回溯法超出允许的时间限制之前就超出了内存的 

限制。 

C语言描述[M].北京:机械工业出版社.2004.1 

[6]william Ford William Topp著.刘卫东沈官林译.数据 

6结论 

£ ≥ 。翟 !避 £ : 刍 旺 

结构C++语言描述[M].北京:清华大学出版社.1998.10 

(收稿日期:2006—12—5) 

。 9 。 龌 3 勺 

(上接第8页) 

EJB服务器和多个Bean同时为其服务,Bean的启动、执行和 

数据传递全部由EJB容器完成,而系统设计人员也不必考虑 

如何实现Bean之间的协同和信息传递,只需编写相应的启动 

和调用代码即可。 

件,每个实体Bean也封装成一个EJB组件,同样,将每个消息 

驱动Bean也封装成一个EJB组件 如果需要添加其他的功能 

模块的话,因为组件的特性,可以在不改动目前系统的情况 

下,将新的功能模块部署到EJB容器中。 

5 总结 

和市场上许多其他分布式的标准或是产品相比,由于 

EJB容器和服务器提供应用系统系统级的服务,像事务管理、 

』J妻露计划会话广Bean H羹 I实体 Bean  j

安全管理、数据库存取等,开发人员不必自己开发系统级服 

务,所以可以集中精力开发生产管理系统的业务逻辑。用EJB 

组件构建的生产管理系统在可维护性方面、可扩展性方面、系 

统稳定性方面、系统安全性方面具有无可比拟的优越性。本文 

只是简单地建立了一个模型,有许多地方还待改进,这是我们 

进一步研究的方向。 

困3合同管理子系统执行流程困 

参考文献: 

[1]金光熙等著.宝钢的生产管理[M].北京:冶金工业出版 

社,1994. 

4.3合同管理子系统执行流程的示例 

在生产管理系统中,虽然每个Bean执行系统的某个功 

能,并且部署在不同的容器和应用服务器中,但各个Bean之 

间并不是完全独立,有时为了完成某个系统功能,需要几个 

EJB应用指南[M].北京:清华大学 

[2]Vlada Matena等著. 

出版社,2004. 

Ban协同工作。如合同管理子系统,e材料设计会话Bean和合 

同处理会话Bean从销售合同实体Bean中读取数据,进行相应 

的处理,建立生产合同实体Bean。生产合同实体Bean或者直 

接经合同计划会话Bean,生成生产计划实体Bean,或者经合同 

归并会话Bean,处理成母子合同实体Bean,再由合同计划会话 

Bean生成生产计划实体Bean。合同管理子系统执行流程如图 

3所示。 

[3]Rahim Adatia等著. EJB缩程指南[M].北京:电子工业 

出版社,2002. 

[4]Pravin V.Tulachan.EJB2.0组件开发指南[M].北京:清 

华大学出版社,ZOO2. 

[5]Joseph J.Bembara等著.J2EE技术内幕[M].北京:机械 

工业出版社,2002. 

从上例可以看出,客户端的一个操作,系统可能由多个 

(收稿日期:2006—7—20) 

l4・ 


本文标签: 生产 管理 系统 管理系统 组件