基于J2EE的邮政物流系统的设计与实现


第 7卷  第 19期  2007年 10月 167121819 (2007) 1924923206  科  学  技  术  与  工  程 Science Technology and Engineering  Vol. 7 No. 19  Oct. 2007 Ζ  2007 Sci. Tech. Engng. 基于 J2EE的邮政物流系统的设计与实现 肖  杰  陈  翔 1  何海江  张  河 1 (长沙大学 计算机教学中心 ,计算机科学与技术系 1 ,长沙 410003) 摘  要  针对目前邮政物流存在的问题 ,结合某省邮政总局物流管理的特点 ,提出了适用于邮政物流管理的四级体系结构概 念 ,并在 J2EE技术的基础上 ,采用分布式组件技术 ,实现了一个多层的应用软件系统 ,解决了邮政物流信息的共享 ,加强了邮 局各部门的协同工作效率。而且 ,该系统具有良好的扩展、维护性和部署能力 ,大大降低了软件系统的运行成本。 关键词  邮政物流   多层结构   J2EE  EJB  组件 中图法分类号  TP393;   文献标识码  A 2007年 6月 15日收到 湖南省教育厅项目 (05C058) 和长沙大学自然科学基金项目 (CDJJ - 06010111)资助 第一作者简介 :肖  杰 (1976—) ,男 ,湖南娄底人 ,讲师 ,研究方 向 :分布式软件工程、构件技术。Email: hunanxiaoj@163. com。 3 通信作者简介 :陈翔 (1977—) ,男 ,讲师 ,湖南益阳人 ,研究方 向 :网络信息安全技术、数据挖掘。   目前在国内的物流行业 ,各物流公司业务都处 于发展阶段。虽然已经普遍采用计算机管理 ,但目 前的这种计算机管理仅仅是将过去用手工完成的 作业交由计算机来完成 ,还远远没有达到合理利用 计算机的程度。不能及时反映库存信息、不能查询 商品在仓库中的位置、不具备车辆调度以及路线规 划的功能。送货路线完全依靠司机的个人经验决 定 ,谈不上优化配送路线的问题。邮政业对于物流 的研究和实践起步相对较晚 ,投入相对较少 ,基础 弱以及有关邮政物流理论的研究相对滞后 ,有很多 还是照搬地方企业的理论。同时 ,虽然邮政业实现 了很大程度上的计算机化 ,但是在物流的环节处理 上仍存在一些问题 ,主要包括 : (1)邮件投递在各交 接环节中的模式不太统一 ,还是采用手工抄写单 据 ,费时费力 ,又容易出错。 (2)邮局不能随时跟踪 每一个邮件在各环节的流动情况 ,一旦发生错误就 难以落实责任。 (3)不能掌握邮局各部门、各岗位 的进出口、投递及收款的整体情况 ,因此公司也就 无法及时进行全局控制。 (4)对邮政物流的大宗客 户在配送方式管理、投递信息反馈以及费用结算等 方面缺乏高效的管理手段。 (5)邮局对所有零散客 户的邮件查询必须采用手工查找单据 ,效率非常 低。 (6)无法及时反馈客户货物的库存情况、销售 及收款等情况。 为了解决上述问题 ,邮政物流的发展必须引入 精益物流的思想 ,并且在此基础上重新审视邮政物 流的系统性。所谓精益物流即通过消除生产和供 应过程中的浪费、减少备货时间 ,以较少的投入 (人 力、设备、时间与场地 )获取较高的顾客满意度的一 种新型物流活动。本文采用 J2EE技术 ,论述了邮 政物流信息系统的设计和开发方法。 1 系统功能 根据邮政物流的实际业务 ,大体分为如下几个 功能模块 :业务受理、定单生成、仓储管理、运输管 理、配送管理、客户签收管理、基础数据管理、信息 发布以及清分结算管理等子系统。各个模块之间 的关联图如图 1所示。 邮政物流系统贯穿物流业务全过程 ,定单是系 统处理依据的最小信息单元。在系统的处理信息 流程中 ,由生成定单开始 ,结束于定单的签收。系 统主流程图如图 2所示。 图 1 邮政物流各功能模块之间的关联 图 2 系统主流程图 各模块的功能如下 : (1)业务受理模块。它分为一体化业务和快货 业务的受理 ,包括委托单接收、定单审核、定单分 派、查询统计、回执单处理、定单变更、日结处理。 各邮政业务受理部门接收客户的书面委托、网上委 托、“185”及电话委托、ERP系统接口委托等 ,并生 成委托单。之后需要确认委托单的有效性 ,生成相 应的定单。对审核未通过的定单做退订处理。定 单分派是对定单进行分解或合并为多个内部任务 单 ,并将任务单分派到不同的处理环节 (如仓储、配 送、运输等 ,生成相应的入库单、出库单、运输任务 单、配送任务单 )和不同的处理机构等。 (2)定单生成模块。该模块是业务受理与其他 模块的中间环节 ,它的业务针对业务受理产生的委 托单 ,以货物和收货客户为单元分成每个委托只有 一个收货客户、一种货物。定单包括物流起点、终 点收货人信息 (包括代号、姓名、地址、联系方式 ) , 货物基本信息 (包括代号、名称、规格、数量 ) ,路由 记录 (单位 ,处理时间 ) ,处理状态 (变更标志、签收 标志 )等。 (3)仓储管理模块。仓储管理是邮政物流管理 中最重要的业务。该系统仓储管理模块对入库、出 库、卸货验收、货物残损处理等业务都提供了网上 的审批流程 ,并详细记录了业务单据及审批意见以 供查询。另外除了可以进行库存单据的多条件查 询外 ,在库存模块里面还提供根据库存位置、库存 货龄、入库供货商、物资种类等多种条件进行现存 物资的查询。同时根据不同条件设置的报警可以 为管理计划人员即时提供信息。库存模块提供的 报表可以完全按照用户要求定制 ,大大节省手工制 表的时间。 (4)运输管理模块。该模块主要由定单汇总、 货物配载、运输提货单维护、运输调度单维护等部 分组成 ,运输管理根据需要运输处理的定单 ,从定 单中得到封发包的信息。以定单为依据 ,通过定单 和封发包的关联得到封发包的汇总信息 ,供操作员 参考 ,进行货物配载提供选择依据。再依据待运输 的封发包信息的可达目的地 ,以及最快、最廉、可调 度为前提 ,选择计划运输路径 ,如果没有符合条件 的计划运输路径 ,则通过选择符合条件的交通工具 和驾驶员信息生成临时运输。为待运输的封发包 指定运输路径以后 ,系统自动产生运输提货单和运 输调度单。最后运输人员拿着运输提货单和调度 单分别到仓储和运输调度部门进行提货和出车 处理。 4294 科  学  技  术  与  工  程 7卷 (5)配送管理模块。该模块主要由定单汇总、 配送调度、配送提货单维护、配送集货单维护、配送 清单等部分组成 ,配送管理接收其他环节 (如运输、 仓储以及业务受理 )到配送中心的定单集 ,通过一 定的汇总条件 ,对满足条件的定单集进行汇总。针 对在配送管理的不同环节 ,系统自动在定单中进行 记录。配送调度根据调度原则进行配送运输线路 的实时调度 ,并将调度结果同时配送工作人员 ,以 实现配送运输线路最大限度利用率 ,提高配送效 率 ,降低配送成本。配送工作人员拿着调度部门产 生的提货单和集货单到相应部门进行提货或集货 处理。 (6)签收管理模块 。货物签收分为两种情况 , 其一是对于货物发送给配送站的情况 ,配送站对 配送交接单和配送清单进行签收 。其二是货物发 送给最终客户的情况 ,客户对社区交接单和配送 清单进行签收 。同时对于两种不同的签收 ,系统 应记录定单的签收标志分别为“配送站签收 ”和 “客户签收 ”。 (7)基础数据管理。设置基础档案就是把手工 资料经过加工整理 ,根据客户单位建立信息化管理 的需要 ,录入进入系统软件平台 ,作为系统运行的 基础数据 ,并且由系统管理员进行相应维护。 2 系统设计 J2EE[ 1 ] (Java 2 Enterprise Edition) 是 Sun公司 提出的基于企业计算的平台规范 ,它的主要目标可 概括为 :为企业应用系统提供一个具有高度可移植 性和兼容性的平台 ,在这个平台上可以容易、快速 地建立融合基于 W eb的分布式企业应用。J2EE技 术提供企业计算所必须的服务 ,如事务、安全、消息 服务等 [ 3, 4 ] 。J2EE 应用的组件如 : 企业 JavaBean (EJB) 、JSP和 Servlet运行于容器之中 ,通过连接器 访问企业信息系统 ,如数据库系统、ERP系统和其 他应用程序系统。邮政物流系统的开发需要 J2EE 平台提供的组件、服务及通信的支持 ,以帮助邮政 物流系统解决数据持久化、事务处理、安全性、数据 库缓冲以及可扩展等方面的技术。 2. 1 系统体系结构 根据 J2EE的 MVC框架规范以及实际情况和 编程需要 ,本文设计的邮政物流系统采用四层模型 结构 ,软件的分层结构如图 3所示。 图 3 软件分层结构图 2. 1. 1 界面层 界面层是用户和系统的接口 ,为了提高系统的 易用性 ,降低操作难度 ,界面设计以界面简捷和操 作方便作为设计原则。界面层主要由 H tm l、JavaS2 cript、applet和模板页面组成 ,主要包括可配置的查 询结果页面、简单编辑页面、主从记录编辑页面、查 询条件页面、信息统计页面等界面。上述各页面通 过超链接相互链接 ,形成页面流 ,页面流是可以配 置的。系统各信息的录入和查询 ,我们采用主从表 的方式实现 ,因主从表对于各信息的关联能很好地 展示 ,而且符合操作人员的习惯。图 4为邮政物流 系统的主从记录编辑界面。 2. 1. 2 W eb服务层 它对界面层的请求进行处理 ,使用 Servlet来进 行流程控制 ,使用 JavaBean对象和 Servlet共同来处 理用户输入的数据 ,并把这些数据发送给业务层进 行业务逻辑处理。同时 ,还对业务层的返回数据进 529419期 肖  杰 ,等 :基于 J2EE的邮政物流系统的设计与实现   行处理 ,生成相应 Htm l页面或者调用模板页面传送 到客户层。W eb服务层主要包括如下几个部分 : 1) JSP程序 ,负责生成客户端的 HTML 页面。2) Java 控制类 ,接收来自客户端的 HTTP请求 ,启动系统对 客户请求的响应。调用 EJB 代理类 ,访问及修改数 据库中的持久业务数据。读取 XML配置文件 ,决定 客户浏览路径的下一个 JSP节点。填充 JSP页面框 架的空位 ,向客户端推送作为来自客户端的 HTTP 请求的相应结果页面。3) XML配置文件 ,负责定义 W eb页面流。4) EJB代理类 ,负责为 Java控制类访 问应用服务端的业务逻辑处理程序 ( EJB )提供统 一、简便的接口。 图 4 主从记录的编辑界面 W eb服务层控制模块总体类图如 5所示 ,对其 说明如下 : ·  UpdateService类采用 Front Controller设计 模式。其功能是 : 对请求进行分派、异常处理、日 志、页面转向等。UpdateService集中了请求处理并 保证应用逻辑不会交织在不同视图中 ,其在不同视 图之间是相同的 ,使维护和扩展大为便利。 ·  B izProcessorManager和 B izProcessor是 Up2 dateService对请求处理的具体实现类。随着 W eb应 用系统功能的增加 ,请求处理流程越来越多。如果 UpdateService每接收到一个请求都必须产生一个 B izProcessorManager,势必会影响系统的效率。因 此 ,系统在 Session中保存了 B izProcessorManager对 象。同时 ,在 EzServer中实现了 B izProcessor子类的 注册。当 UpdateService接到一个客户端请求时 ,先 在 Session 中找到 B izProcessorManager对象 , 再在 EzServer中判断业务处理类是否在 B izProcessor对 象池中 ,如果有则直接实例化 ;没有则通过 userB iz2 Processor类名称在 EzServer中注册 ,以便下次使用。 ·   EjbHomeFactory 采用 Abstract Factory 模 式 ,该类静态方法的 getFactory获得定位器对象实 例 ,利用定位器对象的 lookUpHome方法获取 EJB 服务组件的 Home对象引用。在 Home对象上调用 create方法获得服务对象。在服务对象上调用 EJB2 Controller来实现业务处理方法。对已经通过 JND I 查找得到的 Home对象引用进行缓存 ,避免重复进 行 JND I查找 ,提高系统性能 ,从而实现了 Singleton 设计模式。 ·  EJBController实现了 Session FaÔade模式。 采用 Session FaÔade设计模式来实现 EJB 层控制模 块 ,这使得 W eb客户端和 EJB层业务对象的耦合度 大大降低、减少了客户端与服务器的网络访问并统 一了 EJB层的客户访问策略。 图 5 W eb服务层控制模块结构图 2. 1. 3 应用服务层 应用服务层为 W eb服务端提供持久业务数据 的访问和业务逻辑的实现机制。使用 EJB 组件来 实现业务逻辑 ,并使用中间件服务器软件所提供的 容器来管理事务。因有容器管理事务 ,可以容易地 实现分布式事务的控制 ;同时容器可以实现数据库 6294 科  学  技  术  与  工  程 7卷 的缓冲 ,在业务量大的情况下可以减轻数据库的负 担 ,提高业务处理能力。因为考虑到 Entity Bean对 系统资源和网络带宽的影响 ,我们则全部采用 Ses2 sion Bean来处理。同时 ,为了提高系统的开发效 率 ,以及系统的可扩展性 ,在 EJB 中引入了一些适 当的设计模式思想 [ 2 ] ,如 Front Controller设计模式、 Factory(工厂 )模式、Singleton (单例 )模式以及 Fa2 cade (外观 )模式。 2. 1. 4 数据库服务层 它采用 O racle 9i数据库 ,在数据库设计中进行 了视图、存储过程的优化 [ 5 ] ,并且针对 O racle本身 进行了全局缓冲区以及高速缓冲区的大小调整 ,缩 短了数据库的响应时间。 2. 2 引入公文流转设计 在邮政物流系统中 ,几乎每个业务都包括流程 审批和业务单据的查看。按照传统的方式 ,这需要 在 OA系统和单据系统中分别记录数据 ,而这样显 然不适合本系统。该系统参考工作流 (Workflow)设 计 ,实现了简单审批流程与业务单据的融合。例 如 ,当库存人员审核入库清单时 ,既可以看到入库 清单进行修改 ,也可以执行审批通过、审批不通过 等流程操作 ,同时库存人员可以查看入库审核流程 中的各个审批环节 (如受理部门、运输部门审批等 ) 的意见 ,包括审批未通过原因等。 2. 3 系统安全设计 本系统的安全设计从以下三个方面来考虑 : (1)系统访问控制。分为用户身份的鉴别以及 用户权限控制 ,这些操作都是在友好的管理员使用 界面中进行。 (2)数据的加密。分为数据传输加密和存储加 密 ,在数据传输时采用 VPN 技术 ,采用 SSL、HTTP 等协议 ,利用加密机对传输的数据加密 ,保证传输 数据的安全。信息系统在接收到数据后要验证数 据的可靠性和有效性 (即不可修改性 ) 。而且对敏 感数据要实施数据加密存放。 (3)日志与审计。具有完备的日志功能 ,通过 周期性审计、实时审计和事后审计等审计策略 ,以 发现非法违规操作 ,进而发现网络安全漏洞并及时 采取补救措施。需要进行日志记录的内容包括 :各 类操作人员的关键操作信息、前后台业务交易和清 算处理的关键信息、用户及机构变更等与安全管理 相关的信息等。并且限制业务操作员对日志数据 的访问权限。 3 系统实施 本文设计的邮政物流管理系统在某省邮政总 局得到成功实施 ,并且系统在运行中也取得了良好 的效果。 (1)实现对物流全过程的实时监控。物流部门 以及客户可随时查询货物的状态。 (2)实现库存、运输的统一管理。将分散在各 地的仓库和各种运输方式视为虚拟的统一体 ,进行 集中的管理或调度。 (3)实现分布式物流信息管理 ,为各部门领导 进行决策提供信息保证。该地区的仓储部门人员 由于可以随时查看到库存信息 ,使得制定的采购计 划 (针对大客户 ) 更加符合需求 , 库存积压大大 降低。 (4)由于审批流程在网络上进行 ,大大节省了 审批花费的时间 ,提高物流的流通效率 ,缩短物流 周期。 (5)提供网络统计打印功能 ,对于原来需要手 工进行统计的繁琐报表 ,目前只需要在系统中选择 时间和相应条件 ,即可在任意一个网络终端进行报 表的打印 ,这就大大节省了数据统计和分析的时间。 4 结束语 本文基于邮政物流公司对可缩放的、可扩展 的、灵活的软件系统的需求以及邮政局物流公司及 所属各级物流生产部门的生产和管理需求 ,提出了 基于 J2EE邮政物流系统的总体结构 ,并详细描述 了系统功能。该系统的巨大效益表明 ,邮政物流系 统的实施 ,可以提高各级物流生产部门的生产管理 自动化水平 ,促进物流安全运转 ,降低成本 ,提高效 729419期 肖  杰 ,等 :基于 J2EE的邮政物流系统的设计与实现   率 ,具有显著的经济效益和社会效益。 参  考  文  献 1 Allamraju S, Buest C,Davies J, et al. Profession Java server program2 ming J2EE 1. 3 Edition. Sun M icrosystems Inc. 2002: 649—692, 757—829 2 Gamma E, Helm R, Johnson R,等. 设计模式 2可复用面向对象软 件的基础. 李英军 ,等译. 北京 :机械工业出版社 , 2000 3 Bodoff S. The J2EETM tutorial. 北京 :中国铁道出版社 , 2003 4 Crawford W , Kaplan J. J2EE design patterns. America: W rox, 2003: 41—49 5 [美 ]W illiam G Jr. Oracle 8 /8 i开发使用手册. 北京 :机械工业 出版社 , 2000 Post L ogistics System Design and Im plem ent Based on J2EE X IAO Jie, CHEN Xiang1 , HE Hai2jiang, ZHANG He1 (Computer Teaching Center, Changsha Univercity, Changsha 410003, P. R. China; Department of Computer Science and Technology1 , Changsha Univercity, Changsha 410003, P. R. China) [ Abstract]  The 42level architecture applicable for post logisticsmanagement is presented based on the investiga2 tion of the practical work in post logistics, a provincial post according to the problem s existing in logistics manage2 ment. A multi2tier application software system is developed with distributed component based on J2EE technique, which improves the share capability of logistics information and the efficiency of work coordination with each other in different departments. Especially, the cost of the software is reduced because of its advantages such as preferable expansibility, maintenance, deployment, etc. [ Key word]  post logistics  multi2tier architecture  J2EE  EJB  component 8294 科  学  技  术  与  工  程 7卷
还剩5页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf