admin 管理员组文章数量: 1086019
2024年3月28日发(作者:三层架构是什么)
维普资讯
第35卷(2007)第1期 计算机与数字工程 145
基于.NET的DRP系统设计与研究’
倪凯 黄本雄。 肖玉兰。 王腾江
(华中科技大学电子与信息工程系 武汉430074) (福州大学管理学院 ’福州350002)
(福建星网锐捷通讯股份有限公司” 福州350002)
摘要DRP(分销资源计划)系统使企业能够及时把握渠道信息,为企业的业务经营及与商务伙伴的合作提供了一
种全新的模式。文中使用MVC设计模式并采用iBATIS作为持久层框架,设计了基于微软.NET平台的面向中小型企业的
DRP系统,并对该系统的主要功能模块、关健技术及实现方法进行了论述。
关键词分销资源计划.NET MVC iBATIS
中田分类号TP274
1 引言
销售订单管理、代销商品管理、退货管理;
(2)采购管理:包括采购单管理、采购到货处
在竞争激烈的现代商业社会,销售渠道已经成
理、采购退货、采购计划;
为企业之间竞争的关键因素。当前,大多数企业与
(3)库存管理:包括日常出入库管理,调拨管
其分销机构之间存在着很高的信息和数据壁垒,企
理,经营用品借出管理,库存盘点处理,库存损益处
业很难及时掌握产品的准确销售和库存情况。
理,库存核算;
DRP(Distribution Resource Planning,分销资源计
(4)价格管理:包括变价处理、地区价格设置、
划)就是针对这一问题提出的先进思想。
客户价格设置、批量折扣、付款方式折扣、促销时间
MVC是一种优秀的设计模式。近几年,它已
折扣、降价保护;
成为Sun公司的j2EE平台上推荐的设计模式,并
(5)应收应付:包括收款处理、冲应收处理、采
出现了一些基于它的java Web应用框架,如著名
购付款处理、采购退款处理、冲应付处理、应收记息
的Structs;而在企业应用的另一主流开发平台——
处理…。
微软的.NET方面,关于应用MVC的讨论还比较
少。本文就.NET平台下运用MVC设计DRP系统
3 系统体系结构
软件架构进行了深入讨论。
3.1 MVC设计模式
2 系统功能模块
MVC(Model—View—Controller)模式,即模型
一
视图一控制器模式,是Xerox Palo Alto研究中心
系统通过对分销的各种业务(包括销售处理、
(PARC)在2O世纪8O年代为Smalltalk一80编程语
库存、订货、调拨等)的实时管理,在企业和其分销
言发明的一种设计模式。它将系统对象分为模型、
机构之间进行信息共享和信息传递,从而使企业具
视图和控制器,分别用来处理系统的业务逻辑、显
有对订单、供货等的快速反应和持续补充库存的能
示逻辑和控制逻辑障]。图1显示了它们各自的功
力,为企业的经营提供决策依据及支持环境。
能及相互关系。
系统的主要功能模块包括:
(1)模型(Mode1)模型是应用程序的主体部
(1)销售管理:包括询价报价管理、销售计划、
分,表示业务数据和业务逻辑。
-
收到本文时间:2o06年2月20日
作者简介:倪凯,男,华中科技大学电子与信息工程系硕士研究生,研究方向:互联网与电子商务、企业信息系统。
黄本雄,男,教授,华中科技大学电子与信息工程系。肖玉兰,女,福州大学管理学院硕士研究生,研究方
向:企业制度与组织。王腾江,男.软件设计师,DRP项目经理,福建星网锐捷通讯股份有限公司。
维普资讯
146 倪凯等:基于.NET的DRP系统设计与研究 第35卷
(2)视图(View)视图是用户看到并与之交互
(1)表现层表现层用于用户和系统的交互。
的界面。视图向用户显示相关的数据,并能接收用
在表现层主要是设计和构建ASP.NET页面。
户的输入数据,但它并不进行任何实际的业务 ASP.NET采用代码隐藏技术将页面和后置代码分
处理。
离。由于页面的导航和业务的流转都由控制层负
责,后置代码也非常简洁,仅需负责诸如下拉列表
的数据绑定等简单的页面初始化操作。
(2)控制层控制层处理页面导航和业务流转。
页面导航可能很简单,但也可能复杂。比如,只有
在某种确定的条件下用户才能看到某一页面,或者
需要根据先前的输入来选择显示不同的页面。
控制层由许多控制器类组成,每一个业务实体
可以有多个控制器类。
(3)领域层领域层处理领域逻辑(又称业务逻
辑)。领域对象一般分为领域实体对象与领域过程
对象。实体对象通常是业务领域中的名词,代表具
方法调用
体的人、事物或概念,如客户、订单等;过程对象则
……………
’事件
代表业务逻辑或流程,通常依赖于实体对象。
图1 MVC设计模式
(4)数据源层数据源层负责数据的访问。在
(3)控制器(C( ̄ntroller)控制器接受用户的输
数据源层,一个重要的问题是系统中的业务实体在
入并调用模型和视图去完成用户的请求。
表现层和业务逻辑层均表现为对象,而在数据持久
MVC模式处理过程:首先控制器接收用户的
层则表现为关系数据。如何在这两者间进行转换?
请求,并决定应该调用哪个模型来进行处理;然后
这就需要用到对象/关系映射(Object/Relation
模型根据用户请求进行相应的业务逻辑处理,并返
Mapping,或ORM)。系统采用iBATIS框架来实现
回数据;最后控制器调用相应的视图来格式化模型
ORM
返回的数据,并通过视图呈现给用户。
4 系统实现关键技术
3.2采用MVC设计模式的分销系统体系结构
传统的三层结构将企业应用从上至下分为表
4.1 页面和业务实体的数据传送
现层、领域层与数据源层。表现层实现用户界面,
通过对业务对象类的属性使用定制特性(CUS—
领域层实现领域逻辑,数据源层存取数据 。系统
tom attirbute),系统实现了页面同业务对象的数据
应用MVC的思想,在表现层和领域层之间加上一
绑定,以及页面数据回送到业务对象。
个控制层,并将数据映射功能放在数据源层。系统
定制特性是.NET框架提供的一种构造,可以
分层模型如图2所示。
用来定义一些信息,并将这些信息应用于几乎所有
的元数据表项上,然后在运行时通过查询这些可扩
表现层
ASP.NET Page
展的元数据信息来动态地改变代码的执行方式。
(1)特性类
控制层
Contro11er
特性类定义了业务对象的属性需要包含的特
性集。例如,特性集包含页面控件名称、控件类型、
领域层
Busines s Entity
属性说明、数据类型、最大长度、最小长度及是否允
许为空,特性类的构造函数原型如下:
数据源层
l iBATIS
public BindAttribute(stirng ControlID,Con—
trolDomain Control,s ̄ing Caption,stirng DataType,
int MaxI_ength,int MinLength,bool AllowNul1)
其中ControlDomain是控件类型的枚举。
(2)业务对象类
图2系统分层模型
(下转第153页)
维普资讯
第35卷(2007)第1期 计算机与数字工程
参考文献
153
盘,总的识别率可达到95%以上。
5 结论
本文在设计了数字式仪表自动判读系统总体
[1]王伟锋指示表全自动检定仪的研究[D]长春理工大学
硕士学位论文,2002.12
结构的基础上,详细分析了仪表示值自动判读算法
北京工业大学硕士学位论文2001.5
的设计流程和特点。实验结果表明该算法在精确
[3]万磊白洪亮戴军扩展的Otsu最优阈值图像分割的实现
度上可优于仪表的最小刻度级,同时具有良好的实
方法[J]哈尔滨工程大学学报2OO3,24(3):326—329
时性,可满足当前各领域中实际应用的需求。由于
[4]Otsu N.A Threshold Selection Method From Gray Level
本文算法的实时I生和准确度均较高,而且算法可推
Histograms[J].IEEE Trans On Systems.Man And Cy-
[2]董庆霞图像处理技术在指示表精度检定中的应用[D]
广到其它类型的表盘(如指针型表盘等),因此具
bemeties 1979,9(1):62-66
有较高的推广应用价值。
[5]陈卫刚戚飞虎 一种新的协同模式识别学习算法
[J].上海交通大学学报2004,38(1):18—2O
(上接第146页)
点。以select语句为例:
在业务对象类中,对有需要的属性定义了它相应的定
<select id=“SelectOrder”parameterClass=
制特l生。例如,OrderlD是业务对象类Order的一个属
“
string”resuhMap=“OrderResult’’>
性,用TextBox控件来显示。其控件ID为txtOrderlD,
select from ORDER
詹陛说明为“订单号”,数据类型为int,最大和最小长
<dynamic prepend=“WHERE”>
度分别为9和1,且不能为空(因其唯一地标识了一张
<isParameterPresent>
订单)。OrderlD属性定制特陛如下:
ORDER
—
ID=#value#
[BindAttifbute(“txtOrderlD”,ControlDomain.
</isParameterPresent>
TextBox,“订单号”,“int”,9,1,false)]
</dynamic>
(3)数据绑定程序和数据对象存储程序
</select>
这两个程序通过读取业务对象各个属性的定
其中dynamic节点为动态SQL语句。数据
制特性,获得它们对应绑定的控件ID名称。数据
库操作在映射文件中定义,从而将数据存储逻辑
绑定程序查找页面上对应的控件并对它进行赋值; 从上层逻辑代码中独立出来。而底层数据操作
数据存储程序先校验控件的值是否符合业务数据
的SQL可配置化,使开发人员可以控制最终的
对象属性的类型等信息,再将控件的值写回业务对
数据操作方式,通过SQL的优化获得最佳的数
象相应的属性。
据库执行效能。
4.2业务对象和关系数据的映射
iBATIS是一个开源的数据映射工具。相对Hi-
5 结束语
bemate等提供了全面的数据库封装方案的ORM实现
本文针对当前中小型企业分销存在的问题,提
而言,它是一个简单的、半自动化的框架。它不会在运
出了基于.NET的DRP系统的设计方案。系统已
行期自动生成SQL执行。具体的SQL语句由开发人 在有关企业实施,从用户的反应来看,运行情况良
员编写,然后通过映射文件,将SQL语句所需的参数 好。系统具有可管理性、扩展性好、使用方便等特
以及返回的结果字段映射到指定的对象 J。
性,可以广泛推广使用。
映射文件是iBATIS的主体文件。以订单(Order)
参考文献
对象为例,在restdtMap节点中定义映射的结果:
[1]吴文钊.决战营销一企业分销资源计划(DRP)原理与
<resultMap id:“OrderResuh”class=“Order’’>
实现[M].北京:电子工业出版社,2004
<result property=“OrderlD”column=“OR—
[2]孙卫琴.精通Structs:基于MVC的Java Web设计与开
DER
ID’’/>
发[M].北京:电子工业出版社,2004
_
[3]Maain Fowler.企业应用架构模式[M].北京:机械工业
<result property “CustomerlD”column=
出版社,2004
“ORDER
—
CUSTOMER
ID”/>
—
[4]iBATIS Data Mapper Developer Guide[DB/OL].http://
</resuhMap>
ibatis.apache.ors/. ‘
在statement配置中包含与SQL语句相关的节
版权声明:本文标题:基于.NET的DRP系统设计与研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1711607178a602055.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论