版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/基于J2EE体系的连锁企业供给链管理系统(SCM)分析与设计目录TOC\t"论文1.1,2,论文1,1,论文2,1,论文2.1,2,论文3.1,2,论文4,1,论文4.1,2,论文5,1,论文5.1,2,论文6,1,论文6.1,2,论文附录,1,论文文献,1"1 引言 11.1 连锁企业SCM系统现状以及存在的问题 11.2 J2EE体系的国内外最新研究与应用 31.3 基于J2EE的连锁企业SCM系统研究现状 41.4 论文的主要工作和研究思路 62 连锁企业SCM系统分析 72.1 连锁企业SCM系统的特点 72.2 连锁企业SCM系统的需求分析 92.3 连锁企业SCM系统业务逻辑 112.4 运用J2EE技术设计SCM系统 113 连锁企业SCM系统设计 133.1 多个独立MIS系统的信息集成与发布 133.2 系统实现原理和拓扑图设计 153.3 基于中间件的多层系统结构 183.4 SCM系统模块分析 223.5 数据库的逻辑设计和物理设计 304SCM系统软件结构设计 334.1 多类型用户界面Java程序的一般设计模式及存在的问题 34MVC模型的引入 354.3 结合J2EE对MVC模型的改良 364.4 模型的建立 384.5 新模型在SCM系统结构设计中的应用 395 系统的开发和部署 415.1 J2EE小组开发模式 415.2 EJB组件的开发和部署 435.3 Web应用的集成和发布 436 结论 446.1 本文的主要工作与成果 456.2 尚待解决的问题的讨论 46参考文献 47附录一 50附录二 54引言连锁企业SCM系统现状以及存在的问题经过十几年的开展,我国连锁经营取得长足的进步,目前全国连锁企业达2100家,店铺数达3.2万个,年销售总额达2300亿元。尤其是近5年来开展迅猛,全国连锁企业数、店铺数均增加了7倍多,连锁企业销售额的增长速度已远远高于社会商品零售总额的增长速度,占社会商品零售总额的比重已从1995年的0.72%增加到目前的6.7%。[1]一个行业的高速而健康开展,必然离不开现代化技术和管理的支持。连锁行业以规模优势取胜,它的高速增长,急需配套管理制度和信息技术的强劲支持,尤为急缺的是建立在现代信息技术基础之上的统一采购和配送技术。[2]连锁企业通常要对90%以上的商品选择中央采购制度,由总部的采购部门或授权的配送中心负责整个企业大局部商品的采购,商品的引入与淘汰、价格制定及促销方案也完全由连锁企业总部统一规划实施。各店铺的销售信息及库存资料需及时、准确、分类地向总部传递,总部必须对商品的购、销、存、退、调等信息进行连续分析,以便使总部采购商品的品种、结构、数量符合各店铺的销售需要。由此看到,虽然中央采购制度带来了集中议价、降低商品采购本钱的好处,但对企业的业务配合、信息传递、商品配送提出了更高的要求。
连锁企业集中采购后的商品质检、计量、储运、分拣是在总店的仓储环节中进行的,一般由配送中心负责。而配送中心的中心库存和配送能力必须与店铺的销售相适应,既要保证不出现断货,又要尽可能减少各店铺和中心的库存。减少库存不仅是出于财务管理上减少资金占压的需要,而且也是为了降低配送本钱,提高仓库库容利用效率。据调查,我国连锁企业普遍采用单店经营时的仓库作业流程,配送本钱较高,影响作业的效率。这是我国连锁企业目前亟待解决的另一个难题[4-6]。这些难题的解决方案都集中在供给链管理(SCM)系统之上,拥有一个高效的、先进的、稳定平安的供给链管理系统是国内连锁企业在与国外连锁巨头们竞争中开展、取胜的基石。目前国内连锁企业SCM系统的现状是:各连锁企业门店不同程度实现了基于Intranet的POS/MIS系统,但门店和门店之间、门店和总部之间,总部和供给商之间根本上还处于信息孤岛状态。无法实现信息共享,统一采购和统一配送技术也相当落后,而且,各连锁企业对SCM系统的认识和利用水平有限,大多数企业并没有自身独立的SCM系统,而只是依据MIS系统提供的局部信息来决定自己的采购方案。既消耗了大量的人力时间本钱,更不用谈实现真正意义上的实时经营,有效降低库存本钱。这种经营模式必然产生以下问题:[7]信息孤岛。总部与分店、分店与分店之间无法实现信息实时交换,企业集团化管理困难。业务重复、力量分散。每个分店都需要一批人与供给商洽谈业务,造成人力资源浪费,同时企业无法充分发挥集团采购的优势,享受最大折扣率。商场与供给商之间信息渠道不畅通,供给量效率低。一方面供给商无法及时获取商品销售、库存情况;另一方面,商场无法获取最新最全的商品供给信息,在一定程度上影响双方的经营效率。参加WTO后,面对国外连锁巨头们也已成熟的全球化供给链管理系统,国内连锁企业也可以说处于技术上的竞争劣势。国内连锁企业最终要实现商务的信息化、电子化,实现实网和虚网、外网和内网的统一。POS和MIS相对是封闭的,只有走向外网,通过互联网走向社会,才能与供给商和客户真正携起手来。这就是供给链管理系统的意义所在。将来的便利店就是网络公司,只有与网络完全融为一体,才会降低本钱,快捷准确地实现交易,未来的连锁企业将成为冲破传统观念的高科技企业[8-9]。综上所述,对构建连锁企业供给链管理系统的研究有其现实意义和巨大的经济意义。名词解释: 连锁企业:(ChainStore)经营若干同行业或同业态的店铺,以同一商号、统一管理或授予特许经营权方式组织起来,共享规模效益的经营组织。[10] 供给链(SupplyChain):供给链是围绕核心企业,相互间通过提供原材料、零部件、产品、效劳的厂家、供给商、零售商等组成的网络[10]。供给链管理(SupplyChainManagement)SCM:供给链管理是以同步化、集成化生产方案为指导,以各种技术为支持,尤其以Internet/Intranet为依托,对供给链中的信息流、物流和资金流进行设计、规划和控制,从而增强竞争实力,提高供给链中各成员的效率和效益。[11]J2EE体系的国内外最新研究与应用J2EE是由SUN引导,各厂商共同发起的,并得到广泛认可的工业标准。业内‘企业计算’领域的大企业如:IBM,BEASystems,Oracle等都有参与。现在已经超过25个不同的效劳器端平台支持J2EE标准。[12]最新研究概述:2000年3月23日SunMicrosystems发表了Java2Platform--EnterpriseEdition(J2EE)的最新版本“1.2〞。J2EE标准和核心应用程序接口标准根本成型。如表1.1:[13-20] 2001年9月24日J2EE“1.3〞推出。该版本简化了业务集成操作、提高了面向企业的WWW效劳开发和导入的功能。 2002年1月31日J2EE最新版本1.3.1发布,进一步加强WebService功能并加大对XML的支持力度。其新增主要内容如下:[12]Java连接器体系(JavaConnectorArchitecture,JCA)1.0。提供了一个新的、简化了的元件库,将简化与包含EnterpriseResourcePlanning(ERP)和CustomerResourceManagement(CRM)等应用程序在内的原来的系统的综合。预计JCA将会开展出一个更易于构建的适配器新类,使应用效劳器能承当更多的负荷,而这些负荷目前由价格昂贵的企业应用集成软件来担负。Java消息效劳(JavaMessagingSerivce,JMS)1.0.2。最新引入了消息驱动MDB(Message-DrivenBean)的JMS,该组件与其它应用程序或组件以异步消息方式通信。MDB的松散交互对现存的系统的继续使用非常理想。[20]“EnterpriseJavaBeans(EJB)2.0〞:简化分散的应用程序的开发,融入了与面向对象协议Inter-ORBProtocol(IIOP)间的互操作性。[13]提高XML的综合功能:可以提高与“JavaAPIforXMLProcessing(JAXP)〞的综合性能,以XML记述“JavaServerPages(JSP)〞。[14]“JSP1.2〞的框架及Servlet。[15]J2EE体系结构提供中间层集成框架高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了平安机制,提高了性能。由于采用开放的协作制定标准,J2EE表达了众多企业计算领域供给商的知识和专业技术。这意味着产品解决方案能够满足任何商业需求。由于有大量的厂商支持,所以用户的选择范围会更广泛(与此相比,WINDOWSDNA架构是由微软单独制定并完成的。)。[12]二十一世纪,随着Internet日益成为主要的商业交易平台,具有可伸缩性、灵活性、易维护性的商务系统是人们关注的焦点。而J2EE恰好提供了这样一个机制。在企业级商务应用领域,J2EE技术越来越受到企业的青睐,基于J2EE架构的新应用不断涌现,从电子商店到网上交易市场,从MIS系统到CRM、ERP、SCM,而应用J2EE的行业也越来越多,从新兴的信息产业、电信到传统的银行业、保险业,纷纷将J2EE技术作为大型BtoB市场和海量交易处理的平安稳定的端到端平台。从J2EE应用的开展势头来看,J2EE技术将成为未来十年企业级应用的主流技术[21-22]。基于J2EE的连锁企业SCM系统研究现状基于传统EDI(ElectronicDataInterchange)的供给链系统传统企业往往在EDI平台上建立供给链系统,EDI是为支持事务处理而在异构的平台或应用间用电子格式进行数据交换。这种交换无需手工介入,而由计算机系统自动处理。为了实现数据交换的自动化,EDI将企业的业务规则包含在固定事务集中。也就是说传统EDI是以固定事务集合的传递为基础的,事务集合种定义了字段的长度、顺序和一定的商业规则。通过EDI可以将数据信息标准化、格式化,有利于通过网络互联处理,便于企业与供给商之间的数据交流和交换。但EDI的自身特点也是其在企业间供给链集成方面存在许多缺陷[23]:模式僵化,不同的商业伙伴需要不同的接口和方案本钱昂贵,数据通过VAN传输维护困难,难以增加新的产品和应用基于J2EE技术的企业应用系统 随着J2EE平台的日益成熟,利用J2EE技术构建SCM系统,象构建其它企业商务应用系统如ERP、CRM、E_MarketPlace、E_Channel一样,越来越受到人们的重视,各大机构和应用效劳提供商陆续推出自己基于J2EE的行业解决方案,较有代表性的又Oracle、IBM、SAP等。国外大型IT厂商如IBM、DELL、Araba等开始逐步建立和完善自己的SCM系统,并在有效降低生产、运营本钱等方面显示出越来越大的作用。传统行业的代表如GE、Ford也已经在J2EE平台上构建了自己的采购系统[24]。基于J2EE技术连锁企业的SCM系统连锁行业是传统行业,由于其行业要求统一采购、统一配送、统一结算的特点,连锁企业的开展与壮大对先进信息技术的要求特别迫切,建立在传统EDI技术之上的供给链系统已不能适应业务高速膨胀的需要。连锁企业已开始认识到建立一个平安、高效的供给链平台对于自身至关重要的战略意义。也因为行业特点,它的SCM系统的业务逻辑和其它行业的SCM系统业务逻辑有很大不同,也就是说,SCM的J2EE通用解决方案并不适合于连锁行业。目前,国内对基于J2EE的连锁企业SCM系统的理论研究才刚刚开始,而对构建基于J2EE的连锁企业SCM系统的应用研究还是一片空白。论文的主要工作和研究思路本文依据一个典型工程(某跨国连锁集团中国公司SCM系统)实施成功的经历,试图在运用J2EE技术,对连锁企业SCM系统的分析和设计,并提出一个可行的解决方案。论文首先分析了连锁企业的SCM系统业务逻辑和需求,并对现有MIS的利用、数据集中与分析、订单汇总、统一配送等问题提出合理的解决方案。接下来,运用J2EE技术设计系统,给出拓扑图和实现原理,并细化到多层模型设计、模块分析、数据库逻辑设计、物理设计等。重点针对系统为多类型用户界面的特点,提出基于J2EE的MVC新模式,并运用于SCM软件逻辑结构设计中。然后文章对系统在开发、部署过程中的关键步骤做了简要说明。最后,文章简要介绍了依据上述方法设计开发的供给链管理系统在运行中为连锁企业带来的实际效果,以及系统的性能特点。 研究思路如下列图1.1:连锁企业SCM系统分析连锁企业SCM系统的特点 连锁企业的单位构成如下列图所示: 在现有MIS基础上开发连锁企业以分店为根本运营单位,每个分店拥有自己相对独立的MIS系统。在系统所属局域网内,前端以电子扫描仪、POS机为商品售卖工具,后端为数据库效劳器和MIS效劳器,配以财务、仓库、采购等客户机、构成日常商品的进、销、存作业系统。如图2.2所示:MIS系统一般采用客户端/效劳器(C/S)结构,所有的商品信息、采购信息、库存信息、销售信息均存于效劳器端的数据库中。这些数据是连锁企业SCM系统的基础数据。在选择SCM的构建方式时,一方面因为C/S模式在局域网内仍有自身速度快、稳定等优势,另一方面出于保护已有IT投资的需要,SCM系统必须构建在各分店现有的MIS系统基础之上。如何融合已有MIS系统是在设计SCM系统是要解决的第一个问题[25-27]。数据分布连锁企业的各分店一般处于不同的城市或同一城市的不同地方,彼此相距较远,不可能用局域网的方式将他们与总部都连起来。因而,各自MIS系统的数据库根本上是分布各地的,而SCM系统的基础数据来源与各分店,自然要解决分布数据的集中问题。统一采购统一采购使连锁企业实现低价策略的有效保障。对于采购商品的品种、结构、型号、范围、数量,每个分店都会根据库存和预测提出自己的采购订单,只有将各店订单汇总,实施大批量采购才是经济的。面对种类庞大的商品类目,即便总部拿到各店的订单,依靠人工也很难完成手工汇总,更不用说准确地完成筛选供给商与商品、比照采购价格等实际问题。
统一配送统一配送既是连锁企业降低本钱的手段,也是总部有效调节商品、加强控制的手段。在统一配送过程中,对商品的挑选、储存、整理、拆零、再包装检测和贴标签、拼配是连锁企业实现商品增值的手段。目前,连锁企业存在的问题是:尚缺乏现代物流与配送的观念。物流作业缺乏标准,各种编码缺乏标准,商品盘点作业缺乏电子扫描装置,配送中心内部缺乏必要的计算机设备,计算机软件不完善,数据有时需要屡次重复录入等。所以,集中采购虽然能减少采购本钱,但如果配送管理落后所加大的本钱抵消掉了集中采购的好处,这对企业来讲是绝对不合算的[27-28]。所以,制定合理的统一配送策略是SCM系统业务设计的难点统一结算统一采购必然带来统一结算,统一结算增强了连锁企业与供给商谈判的能力,也加快了资金的流动。随着网上支付平台日益成熟、平安,统一结算的方式会局部通过网上银行进行。SCM系统要预留此项功能的接口。与供给商之间的数据交换供给链是连接连锁企业和供给商之间的一条纽带,不管是商品信息还是销售分析数据,读要通过合理的通用的数据交换格式来促进交易,基于XML的WebServices是SCM系统的另一项特点。连锁企业SCM系统的需求分析 连锁企业的SCM系统除了上述6点需要解决外,还包含如下需求:供给商管理、连锁店管理、商品管理、采购管理、库存管理、退货管理、换货管理、用户权限管理、信息发布,结算管理和综合查询。供给商管理通过供给商管理,为实现商品发布、集中采购、统一结算准备了条件。企业可以发挥网上招商的优势,供给商通过SCM系统申请,经总部审批后取得资格。连锁店管理管理连锁店的加盟,为处理连锁店的经销数据、订单、用户等准备条件。商品管理供给商商品信息的发布和更新功能,提供商品的比照采购分析,统一编码,为采购库存准备条件。采购管理各分店订单汇总,按分类商品分解订单,下单、跟单并在SCM系统内完成商品采购流程,为入库和结算做准备。库存管理入库、出库、配送方案、库存分析、库存预警等功能。退货/换货管理分店与总店之间的退换货,总部与供给商之间的退换货。用户权限管理按用户、组、角色、权限进行管理,精确控制用户能做的事、不能做的事。信息发布内部新闻、促销信息、分店、经销商反应信息的发布与管理。结算管理即统一结算,提供线下、网上多种方式与供给商结算功能。综合查询基于SCM数据得报表分析功能,提供给总部、分店和供给商用于辅助经营和决策。 SCM系统涉及大笔的商务交易信息,平安功能始终应放在第一位。系统的平安功能虽然没有包含在这些功能之中,但上述功能的实现处处需要平安功能的支持。除了权限控制外,SCM系统还通过硬件防火墙、网络平安协议、数字签名等策略保证交易的平安性。连锁企业SCM系统业务逻辑 总店把收集到的数据分为两种情况处理:对供给商.可以提供配送效劳的,直接向供给商提出每日的补货与配送方案;对需要由自己配送的商品,先进行库存检索,可用库存量满足补货需求直接计算配送方案,否则,向供给商发出定单补货[2,4,6]。
供给商接到中央采购方案和独立采购方案后,向总店配送中心配送,或者根据要求,直接向门店配送。
总店的配送中心接到配送方案后,完成配货准备,并规划配送路线,完成装车作业和运输。
门店负责对接收的商品进行计数、计量、质检、贴标签、商品上架;配送人员负责将需要退、换、残、次商品拉回配送中心集中处理。
门店定期将销售的货款存入总店银行帐户或与总店结算货款;总店与供给商定期结算应付货款。对销售滞缓的商品定期考虑是否予以淘汰。
从上面所描述的流程看到:由DRP系统收集、传递各门店的业务数据是整个系统的起点与关键点,它最有意义的功用是将前端所反映的需求信息集中起来,并依此带动其他工作系统来满足前端的需求,这就实现了大家所盼望的“拉式〞连续补货方案。而在此基础上的采购、库存、配送系统不过是用来满足、执行该方案的工作流程。运用J2EE技术设计SCM系统基于连锁企业对于SCM应用系统的实际需求以及考虑到系统的未来拓展性、可维护性,SCM应用系统各个模块中分店MIS可以做成客户/效劳器(C/S)体系模式之外,其他局部都应该做成瘦客户端(浏览器)/效劳器(B/S)模式。经过了反复的论证并且通过与别的技术方式的比较,我们最终确定采用在J2EE平台上开发SCM应用系统的技术方案。一方面是因为作为一种比较成熟的技术标准,相对于微软的.NET来说,它的开发要更加平安、本钱更低,另一方面,在于其优异的性能。传统ASP、CGI、PHP编程方式的缺点在J2EE结构出现以前,基于Web的应用系统多数使用ASP、CGI、PHP等编写。随着电子商务的迅速开展,这些传统编程方式的缺点越来越突出,这些传统编程方式正在被业界淘汰。主要的缺点包括[29-34]:1、不适合企业级应用2、系统稳定性差3、维护困难4、升级困难5、系统响应缓慢6、没有标准的平安体系7、不能跨平台、分布式应用运用J2EE技术设计SCM系统J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅稳固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBCAPI、CORBA技术以及能够在Internet应用中保护数据的平安模式等等,同时还提供了对EJB(EnterpriseJavaBeans)、JavaServletsAPI、JSP(JavaServerPages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持EnterpriseJavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了平安机制,提高了性能[21]。连锁企业SCM系统对于平安性、可扩展性、快速开发等要求非常高,另外还要求对和供给商之间的标准数据交换格式XML提供支持,并希望本钱/性能比非常合理,而J2EE恰好非常吻合这些条件。所以在J2EE平台基础上构建系统有广泛地应用前景。 用J2EE技术设计的SCM系统的开发模式是:从集团化管理出发,整合各分店现有MIS系统,设计总部SCM数据库模式,标准总部与各分店现有MIS的数据接口、传输流程;利用VisualAgeforJava开发JavaBean,把数据库连接、后台处理、商业逻辑等系统需要重复使用的功能封装成独立组件,一共JSP页面、Servlet调用;利用Servlet效劳器端编程能力强的优点,控制系统流程和处理后台事务;优点有四:SCM数据库模式面向全组织,具有完整性、稳定性,容易与各分店业务系统实现数据交换,为web程序开发打下良好的数据结构基础。利用面向组件程序设计的思想,提高软件的重用性,节省了开发时间。表现逻辑和商业逻辑、系统流程、后台处理分开、增加程序的可读性、健壮性。由于用户界面采用JSP,Servlet等开发,系统维护修改都很方便。连锁企业SCM系统设计多个独立MIS系统的信息集成与发布上面提到,融合已有MIS系统是在设计SCM系统是要解决的第一个问题。同时,还有分布数据的集中问题。因为各分店的局域网并没有互相联通,所以解决数据集中问题首先要解决局域网的互连。局域网的互联不外乎如下几种方式(表3.1):采用DDN数据专线数字数据网络(DigitalDataNetwork),DDN即数字数据网。它是利用光纤(数字微波和卫星)数字传输通道和数字交叉复用节点组成的数字数据传输网,可以为用户提供各种速率的高质量数字专用电路和其它新业务,以满足用户多媒体通信和组建中高速计算机通信网的需要。DDN业务区别是于传统模拟电话专线的显著特点是数字电路传输质量高,时延小,通信速率可根据需要选择;电路可以自动迂回,可靠性高;一线可以多用,即可以通话、传真、传送数据,或组建自己的虚拟专网,设立网管中心,自己管理自己的网络[35]。采用VPN虚拟专用网虚拟专用网(VPN-Virtual
Private
Network)指的是在公用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络效劳商所提供的网络平台(如INTERNET,ATM,FRAME
RELAY等)之上的逻辑网络,用户数据在逻辑链路中传输。目前VPN主要采用四项技术来保证平安,这四项技术分别是隧道技术(Tunneling)、加解密技术(Encryption&Decryption)、密钥管理技术(KeyManagement)、使用者与设备身份认证技术(Authentication)[36]。
拨号互联即用电话拨号的方式接入互联网。名称优点缺点方式一DDN专线平安实时费用高维护较难方式二VPN(虚拟专用网)技术成熟容易扩展节省费用21%-45%平安风险较大管理工作量大方式三拨号互联1.费用低廉1.平安风险极大2.管理工作量大3.维护困难由表3.1分析可以得出结论:在用于网络连接的费用充足时,方式一由于其平安、快速性无疑是最好的选择;而从性价比考虑,采用方式二即VPN最好,VPN是一项成熟的技术,目前已得到广泛的商业应用,我们可通过完善的平安策略,严格的管理有效躲避平安风险;至于方式三,由于其平安性太差,且极不稳定,并不适合商业用途。本方案采用VPN技术作为各分店局域网与总部的互联方案,如图3.1所示:系统实现原理和拓扑图设计SCM系统针对连锁企业具体应用,采用C/S与B/S相结合的混合体系结构。即对各分店原有的MIS系统仍采用C/S计算模式。而对于供给商信息管理、与供给商交换经销存信息等新应用,则更多的采用B/S计算结构。这种混合计算模式的优越性在于:采用C/S计算模式,保证了各分店原有MIS系统不变,使用方法不变,保护了企业的前期投资;采用B/S模式,客户端仅需一个浏览器,就可随时随地登陆网站,进入系统,操作使用都很方便;B/S模式中,所有的网页和程序都存放在web效劳器上,应用系统的设计、维护都只需在web效劳器上进行。连锁企业SCM系统的总体设计思想是:通过在连锁总部构建电子商务网站,每天从现有各分店MIS系统采集当天的经销存业务数据汇总到总部的数据仓库,保证总部数据仓库的实时更新。利用Java开发Web应用程序,实现总部、分店、供给商之间的信息畅通,经销存数据共享,业务流程网络自动化。SCM系统的逻辑结构如图3.2所示。分布数据集中流程设计如下:SCM系统需要从各分店收集数据,其数据仓库与各个数据采集点之间的数据传输采用文本文件传输方式。即由各分店的MIS系统定期生成SCM需要的业务数据,以事先约定的规则和格式保存为文本文件,经加密、压缩、打包后以电子邮件的形式通过VPN发送到总部的邮件效劳器,在总部邮件效劳器上运行的代理程序定时检测收到的邮件,发现是SCM的数据邮件时,则将该邮件解密解压缩到数据库效劳器上的指定目录中。然后由数据库效劳器上运行的专用程序定时将相应文件中的数据倒入SCM数据仓库,最终形成SCM业务数据的采集与传输流程为:数据采集开始;分店业务系统当日22:00之前结束本店事务处理;分店业务系统已事先约定的规则和格式生成当日需要传输的文本文件,并加密、压缩、打包;分店网络通讯机通过Internet以电子邮件的方式将数据文件发送到总部;总部邮件效劳器通过代理程序检测到该邮件,并解压缩解密该邮件,然后将数据文件存到预先指定的目录;IBM的数据导入工具VisualWarehouse从当日24点开始,从指定的目录检测数据文件,并将数据导入数据仓库;运行专用程序将指定目录中的数据文件复制到备份目录,并删除原始文件;运行专用程序对数据仓库中的数据作预处理,以优化数据库系统性能,提高查询速度;数据采集和传输结束。在SCM数据采集和传输过程中,当各分店同时向总部邮件效劳器发送大量数据邮件时,容易给网络和效劳器造成压力,因此应结合实际情况给个分店分配不同的邮件发送时间,以缓解网络和效劳器的负荷,但所有邮件都应在当日23:30,即数据导入程序VisualWarehouse开始运行前半小时传送结束。考虑到数据采集和数据传输过程中可能产生失败,系统需要做好数据备份和日志纪录。文件压缩可以采用常用的文件压缩程序,如Winzip等,文件加密可以购置第三方的加密算法及产品,也可自行设计加密算法。 在SCM系统中,考虑到各分店每天需要传送单品销售(通常有几十万条记录)、入库明细、订单明细和结算费用明细等大量数据到总部SCM数据仓库,为了提高响应性能,系统在每天凌晨利用效劳器空闲时间,对数据仓库中的数据作预汇总统计,并把预汇总统计的结果保存在临时数据表中,这样当浏览器查询相应信息时,系统可直接丛临时数据表中读出数据,而不用再处理大量原始记录,从而提高了系统响应速度。 SCM系统采用数据文本文件,而不是XML文件来传输交换数据的原因是:XML作为数据交换的通用标准,需要在数据文件中添加大量的标记来描述数据,这无疑将使原本庞大的数据文件变得更加庞大,从而增加数据文件的传输时间以及数据文件在传输过程中被破坏的可能性。由于数据文本文件仅限于系统内部使用,系统很容易制订一套统一的数据存储格式,实现系统内部数据交换。由第三方工具VisualWarehouse支持从文本文件数据源导入数据到SCM数据仓库。基于中间件的多层系统结构 为什么要采用多层体系结构?传统的基于Web的系统结构图如图3.4所示: 此系统结构固然能满足企业的信息发布、数据访问等需要,但是,在SCM系统的地方——业务系统的设计、实现和部署上,存在严重的缺陷[24,37]。效劳器端简单的层次结构使应用系统中的页面生成与业务逻辑互相交织,没有相应的别离手段,当页面表示逻辑或业务逻辑发生变化时,往往需要调整整个应用系统,增加系统维护的困难。传统层次结构的效劳器端实现使应用的扩展变得相应复杂,SCM系统应用的瓶颈可能出现在在WWW效劳上,也可能在页面生成上,当然更可能出现在业务逻辑、数据访问以及与其他系统的集成上,当应用系统要增加投资扩充应用系统负载能力时,由于设计、实现方式等技术上的限制使珍贵的投资不能集中在系统的瓶颈上,造成投资的浪费。对访问、业务处理等负载压力的承受能力的提高过于集中在昂贵的硬件投资上,由于软件实现的欠缺,使SCM系统在面对用户高并发访问请求时占用系统过多的进程资源,翻开过多的数据库通道,造成系统资源的急剧紧张和数据访问性能的迅速下降。连锁企业的SCM系统平台往往缺乏与其它供给商信息系统互联的有效手段,也无法将不同网站的资源结合在一起以便提供使用者更丰富更有效的效劳。SCM系统平台必须具备方便、平安和快速的与异构系统集成的能力,系统的高可用性往往沿用传统的、单一的硬件思路解决,不能利用当今Internet领域流行的分布组件概念实现SCM系统的高可用性,系统平台设计的不当给企业造成沉重的经济压力。一切从零开始,不善于依靠组件技术,充分利用企业或业界现有的成熟的应用,对SCM系统应用中已经完全成型的业务模型依然完全依赖自己的技术力量开发,或由于在系统设计阶段没有充分利用组件技术的重要性,使得在企业的SCM系统开发中,不能充分利用已有的功能,将企业珍贵的技术人员的大局部精力浪费在开发底层应用的技术细节上,而不是用在突出企业竞争优势的个性化效劳上。增加的电子商务系统的开发周期、维护难度和开发本钱,降低了开发效率。因此,我们采用多层的体系结构设计,使SCM系统的各个功能层次有相对明确的界限,如图3.5:系统工作原理如下[37]:WEB效劳器:处理Internet客户提出的HTTP请求,调用后台的网页生成效劳,并将网页生成效劳所生成的动态页面通过HTTP协议返回给Internet客户。网页生成器:通过符合业界标准的程序接收WEB效劳提交的效劳请求,访问后台提供的业务逻辑效劳,提取业务数据,生成动态页面,返回给WEB效劳。(有时网页生成器层需要通过应用集成效劳层访问业务数据)应用效劳器:通过运行由组件或高效的中间件上的应用程序,执行电子商务的业务逻辑并进而访问数据库,更新或提取业务数据,并将结果返回给表达逻辑层。(有时应用效劳器层需要通过应用集成效劳层访问业务数据)MIS系统/数据库集成:接收来自表达逻辑层或业务逻辑层的请求访问同构或异构(此时需要遗留/应用集成层能自动执行协议转换)资源,并将业务数据返回给效劳调用者。 采用多层标准体系结构设计连锁企业SCM系统,为连锁企业用户在其业务系统中从平台的选型到业务的设计、实现、扩展、平安和维护上都带来了很大的好处:在SCM系统的各个实现层次上应当完全遵循业界相关标准,使得连锁企业用户的业务系统具备充分的平台无关性,当其应用从一家产品转换到另一家产品时,其业务系统的程序代码不需任何改动或只须做极少的必要调整,以最大限度地保护用户的投资。多层的结构设计使SCM系统在设计和实现上可以分别实现,各个功能层次相互之间相对独立,其设计、实现和维护的工作可以分步和独立完成,不会出现互相干扰的现象,简化SCM系统的设计、开发和维护。SCM系统由于业务模式和开展周期的不同,系统可能出现运行瓶颈,而瓶颈的出现可能发生在多层结构中的任一层。这时企业可以根据实际情况,在发生瓶颈的位置增加投资(扩充硬件资源:CPU,内存或者增加新的效劳器),实现整个系统性能的提升,将有限的资金用在关键的位置,充分提高企业投资的利用率。随着技术的不断进步,各个从事系统平台开发的厂商之间的竞争不断加剧,在多层结构的各个方面可能出现不同厂商各领风骚的局面,这对连锁企业的用户来讲当然是件好事,但传统的实现模式无法充分利用这一有利条件优化其系统性能,而多层的体系结构允许企业在SCM系统的各个层次选择不同厂商的产品,使自己的SCM系统平台到达尽可能完美的组合,而不是只能捆绑在一家厂商的产品之上。多层的体系结构允许企业灵活地部署其SCM系统应用,在系统的各个层次之间安装平安产品,提高整个SCM系统应用系统的平安性。SCM系统模块分析连锁企业的SCM系统通过有效的供给链管理系统解决方案,能更有效地评估和确定供货商,以便建立长期战略资源合作关系。通过高效的企业内部和企业之间运作,连锁企业可以为供给商和顾客提供全新的、协作式的效劳,从而减少日常开销,增加市场流水,降低采购本钱和营销本钱。供给链管理系统的主要管理功能包括:供给商管理、连锁店管理、商品管理、采购管理、库存管理、退货管理、换货管理、用户权限管理、信息发布,结算管理和综合查询等。如图3.6:供给商管理通过供给商管理,商场可随时获取整个集团的供给商信息,为实现集中采购、统一结算准备了条件。同时商场还可以发挥网上招商的优势,供给商通过Internet,向商场提交开户申请,商场经过一定审批手续后,接受或拒绝供给商的申请,并把审批结果在晚上发布或以E-mail方式通知供给商。通过网上招商,一方面,商场可以打破供给商选择的地理限制,有利于商场争取信誉好的供给商,从而更好地为顾客提供优质优价的适销商品。另一方面,供给商可以减化开户手续,提高工作效率。如下列图:供给商管理详细设计例如:增加一个供给商删除一个供给商修改供给商信息得到一个供给商类供给商目录的显示。供给商list的显示。具体某一个供给商的显示。供给商显示目录的管理
a、目录的增加
b、目录的删除
c、目录的移动
d、将一供给商参加到目录中
e、将一供给商从目录中删除连锁店管理 通过连锁店管理,可以处理加盟连锁店信息,指定该店的SCM管理员,为处理连锁店的经销数据、订单、用户等准备条件。如下列图3.8:商品管理提供商品信息的发布和更新功能,商场可以将所需的商品信息在网上发布。供给商经过身份验证后,不仅可以获取相应数据,而且可以主动向商场发布商品供给信息,例如供给商品的价格、型号、数量等。商场通过比较分析这些信息,有选择地向最适宜的供给商发送订单。系统还提供商品的比照采购分析,统一编码,为采购库存准备条件。如图3.9:采购管理分店做出采购方案后,通过SCM系统递交订单,总部审核后将订单汇总,并按商品类别分解订单。总部下单后,供给商受到订单,通过SCM系统对订单进行确认。总店能对生效的订单随时查询和跟踪。SCM系统将供给商确认后的订单转化为入库单,下传到相应分店的MIS系统作进一步处理。如图3.10:库存管理对总部统一配送的商品提供入库、出库、配送方案、库存分析、库存预警等功能。如图3.11:退货/换货管理 分店与总店之间的退换货,总部与供给商之间的退换货。如图3.12:用户权限管理按用户、组、角色、权限进行管理。在总部系统管理员角色以下,设分店管理员、分店使用者、经销商管理员、经销商使用者等多个角色,并为每个角色赋予不同的权限。每个用户属于特定的组、特定的角色,自然便拥有指定的权限。用户凭密码登陆后,系统自动识别身份和权限,在会话有效期内,精确控制用户能看到的信息、不能看到的信息,能做的事、不能做的事。如图3.13:信息发布分店、总部、经销商三者之间的沟通渠道,提供内部新闻、促销信息、分店、经销商反应信息的发布与管理。如图3.14:结算管理SCM系统根据数据仓库中供给商信息和商品经销存信息,在适当时候自动生成结算通知单,通过网站发布或以E-mail方式传给供给商,供给上可通过浏览器进行销售对帐,结算单确认。确认后的结算单经系统审核后,下传到相应分店的MIS系统作进一步确认。如图3.15:综合查询通过SCM系统,各分店商品销售、库存信息于第二天在晚上发布。总部可对相应信息汇总分析,为企业预测决策提供依据。通过身份验证后的供给商,即可查询自己供给的商品昨天在各分店的销售、库存情况,还可实时下载或邮件订阅各分店在任意时段内的经销存数据。为了方便供给商把这些极为珍贵的数据倒入自己的MIS系统,以便作进一步的分析挖掘,SCM系统采用web上数据交换的标准格式XML来描述这些信息。如图3.16:数据库的逻辑设计和物理设计逻辑设计实体-关系图以最具典型性的用户权限表为例,如图3.17:关系模型描述 用户权限数据表的设计见附录一数据视图描述略数据库一致性设计生成用户权限数据表SQL语句见附录二物理设计数据库效劳器采用AS400平台,运用数据库DB2/400,在QSYS下建立SCM系统自己的library(SCM),并将数据表的物理文件Object置于其中。赋予数据库的连接者相应Object的所有权。SCM系统软件结构设计SCM系统的软件平台设计为(图4.1):操作系统:IBMAIX4.3.3AS/400V4R5数据库:DB2/400IBMDB2(通用数据库)是一个可高度扩展的适用于网络的解决方案,它可以管理传统商业资料和电子商务所要求的多媒体内容。它可以提供交易过程和商务智能应用的操作性能处理客户信息。适用于从桌面系统,部门级系统到并行处理的UNIX平台或大型主机。应用效劳器:IBMWebSphere应用效劳器是一个完整的,开放的Web应用效劳器。它是IBM电子商务应用架构的核心。WebSphere应用效劳器严格地遵循普遍流行的开放标准,象HTTP,HTML,JSP,JNDI和IIOP。从而支持非常广泛的流行平台。它基于一个JavaServlet引擎,将通常的Web效劳器(象Apache效劳器,MicrosoftIIS,Netscape企业效劳器和LotusDominoGoWebServer)增强为基于Java的Web应用效劳器。作为IBM电子商务应用架构的核心,WebSphere应用效劳器提供了无限的扩展性,允许用户利用IBM或其它厂商提供的Java类扩展其运行环境[38-40]。根据对连锁企业SCM系统的应用进行分析,系统属于多类型用户界面Java程序。分店用户,供给商通过基于web的浏览器客户端访问系统;总部内部的管理员采用JFC/GUI独立桌面客户端进行管理和分析;还应给供给商提供XML形式数据交换文件;将来随着无线应用的开展,SCM系统可能会提供基于WAP网关WML形式的应用,因此也要预留接口。多类型用户界面Java程序的一般设计模式及存在的问题 目前采用J2EE技术开发的应用程序,从UserInterfaces(用户界面)上看,常见的类型有浏览器客户端的、JFC/Swing独立桌面客户端的、无线客户端的和基于XML的WebServices形式等,如图4.2所示。其中,以基于web的浏览器客户端最为常见。其实现原理概括如下:JSP调用JavaBean;JavaBean调用EJB;EJB通过JDBC连结池访问企业信息系统层或关系数据库。或者,省掉EJB层直接用JavaBean通过JDBC连结池访问企业信息系统层或关系数据库[12]。企业内部的分布式应用适合采用JFC/GUI独立桌面客户端。其实现原理简述为:Swing/AWT组件调用ModelDriver,ModelDriver通过JDBC实现与数据库的交互。基于WAP的无线客户端的实现原理与基于web不同在于:WAP客户端与WebServer之间增加了一个WAP网关,JSP/Servlet生成的是WML/WMLScript页面。B2B交易采用的XML形式的WebServices原理同上,不同的是,JSP/Servlet生成的是XML格式的文件。当开发的应用程序只需支持类型单一的客户界面时,数据访问逻辑与界面相关性逻辑混在一起,有时是利于表达和控制的,特别是在简单应用无需考虑过多扩展时。然而,当这种方法用于设计多类型用户界面复杂的连锁企业SCM系统时,各种界面实现过程完全独立,从表现层到企业信息系统层纵向自成体系,就存在许多弊端,原因如下:需要为每种用户界面开发一种不同的应用界面无关性代码在每一种应用中重复出现,造成开发、实施、修改、测试、维护时的重复劳动。界面无关性代码与界面相关性代码混在一起,因而需消耗大量时间判断哪些代码重复。工作重复则不可防止带来缺陷,渐渐的,原本认为可提供同样核心功能的系统必然产生差异性。[42][43]为此,在进行设计时,我们引入MVC模型。MVC模型的引入 M-V-C模型源于传统的面向对象语言Smalltalk,在Smalltalk-80中,类的模型/视图/控制器(Model/View/Control)三元组(MVC)被用来构建用户界面,即将传统的输入、处理、输出任务映射到图形用户界面模式(Model)[41][44],如图4.3所示。Model:业务逻辑模块,表示应用领域有关的类别、物体、数据结构以及企业业务逻辑等。通常,Model是企业业务流程的软件近似模型,所以,在定义Model时只需对企业业务流程中的对象进行合理抽象、封装对象的属性和对象隐含的业务逻辑即可。View:用户视图模块,一方面,它为用户提供了输入手段,并触发Controller运行;另一方面,它通过Model访问企业数据,并用某方式显示这些数据。同时,当Model变化时,它做出相应变化。用两种方法之一:Push(推)模式,让View在Model处注册,以便在Model变化时获得提醒;Pull(拉)模式,View在需要获得最新数据时调用Model。Controller:流程控制模块,将用户与View的交互转换为基于应用程序行为的标准业务事件,再将标准业务事件解析为Model应执行的动作。Model执行的动作包括激活业务逻辑和改变Model的状态。根据用户交互信息和Model执行动作的结果,Controller选择一个适宜的View.展现给客户。传统的MVC模型只是从概念上将视图从流程控制、业务逻辑独立出来,并定义了相互间作用的机制,使各个模块的开发相对独立,但是它没有针对不同视图类型,解决流程控制等对象的统一问题。 连锁企业的SCM系统是基于J2EE平台的应用,在进行软件结构时,试图结合J2EE对MVC模型进行改良。结合J2EE对MVC模型的改良 以Java为核心J2EE体系结构提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序。Java突出的组件技术(包括EJB、JavaBean、Servlet、定制的JSPTag等),非常适合实现业务逻辑、视图、流程控制模块的别离,另外,它是完全意义上的OOP,概念结构非常清晰,因此用Java组件技术,并合理运用MVC模型设计Multi-interfaces程序是非常理想的。通过图1对不同界面客户端应用实现原理的分析可知:在概念上,Java应用程序均可以按三类逻辑对象来划分,负责应用程序表现局部的对象View、处理业务逻辑和数据的对象Model、接受和解释用户请求并控制业务对象满足这些请求的对象Controller。统一Model是对SCM系统应用数据和用于更改这些数据的业务逻辑的抽象。Model要能被所有类型的客户端所共享,它必须保持一致性,并且包含所有可能更新数据的方法。而且,当不同类型的客户端代表对系统不同授权水平时,可以把对底层Model的访问隐藏在平安的中间对象内,这样,既保持访问控制的灵活性时,又允许Model为所有类型客户端共享。统一Controller定义了Java应用程序的行为,它解析用户的操作并将这些操作跟Model执行的动作对应起来。每一拥有不同功能的客户端需要自己的Controller。例如,网上商店的管理客户端和购物客户端需要不同的Controller。而不同类型的客户端,如果功能相同或相似,可以共享提供此功能的Controller。即便它们提供的功能有轻微差异,仍可以用一个类实现共同的功能,用子类实现不同的功能,做到Controller的重用。例如:银行应用系统中,web客户端与独立桌面客户端的唯一区别是表现界面的不同,所以它们共用同一Controller。但是Controller直接与View交互,所以不能完全不受View类型变化的影响。如果,将View对象的参数固化在Controller内就使它难以被重新部署。为了设计一个大局部可供共享的Controller,我们必须研究View和Controller的接口,并找到减少对Controller交互影响的方法。Controller通过View接受用户的操作,如在JFC界面,用户操作会是“点击按钮〞事件或“鼠标移动〞事件等,在Web界面,用户操作表现为对URL的get或post请求,在通讯交流时,用户操作采用异步消息的形式。为了尽可能保持Controller的重用性,Controller必须尽快解析用户操作并转换为标准业务事件——形式统一、与View无关且能表达用户请求的行为。用一个Java类可以实现用户对View的操作到标准事件的转换,Controller的其余局部则只需处理此标准业务事件,这样,对标准业务事件的处理可在其它类型View开发时重用。如果在已有web应用基础上,再开发一个基于JFC的客户界面,则只需增加一种转换类,将JFC操作转换为标准业务事件即可。Controller选择View的逻辑,往往取决于此View用作客户界面的载体。如,JFC客户端由panel,list,table等Swing组件构成,Web客户端则由浏览器加载的JSP页面实现。为了尽可能保持Controller的重用性,Controller要以一种与客户界面无关的形式来选择View并尽可能晚的转换为界面相关的View。所以,我们需要把负责View选择的Controller组件分层,这些组件最初用对象表示View,接着转交给特定类型的View生成器。如:商品列表View会包含这些商品的所有必要的信息,此对象被交给一个View生成器,生成器根据特定用户界面生成表现数据的View。根据用户界面的不同,生成器有可能在Server端(JSP/Servlet),也有可能在客户端(JFC)。模型的建立根据上面分析,利用J2EE强大的组件技术和MVC灵活的结构可以建立如图4.4所示结构模型。Model(业务逻辑模块)为所有客户端共享,包含企业数据和对数据的增、删、改、查等根本业务逻辑操作。EnterpriseJavaBean(EJB)正是把商务逻辑封装在了管理平安、事务、状态等细节的组件框架中,其EntityBean和SessionBean的结合可以非常好的实现Model模块。EntityBean对关系型数据库的操作通过统一的JDBC连结池来实现。Controller(流程控制模块)分为两层,EJBController和Controller代理。前者主要由JavaBean构成,后者根据客户端的特点选择Servlet或者ActionConvertToEventBeans。EJBController负责与EJB交互,Controller代理负责与View交互。增加新类型的应用客户端(如JFC),EJBController无需改动即可共用,只要将Controller代理重构就能实现Controller的功能。ActionConvertToEventBeans是特定的Controller代理,它解析用户操作并转换为标准业务事件,然后交给EJBController处理。View生成时,基于JFC的View选择组件ActionConvertToEventBeans要重新注册它的事件侦听器,这样侦听器才会把这些事件递交或播送给Controller的其它局部。Servlet是Controller代理的另一种,它适合接收用户请求和输入,并控制用户访问流程,调用适宜的view展现给用户,自身无需向客户端输出信息。 View(用户视图模块)侧重于应用程序用户界面的表现。JSP页面非常适合动态生成HTML、WML、XML等多种视图反应。它可根据不同视图的特点,与定制的Controller代理接口,并充当View生成器,调用共享的Model对象,按特定用户界面生成特定的View。另外,在底层Model对象复杂时,定制的JSPTag可使JSP页面易于利用JavaBean组件,也有助于封装表现逻辑使之更模块化和便于重用。当用户界面为JFC/Swing时,View生成器在客户端,对Model的表现相对要简单。 别离稳定的代码和易变的代码是OOP设计的一个原则,通常负责控制局部的对象要比负责表现局部的对象稳定,而负责业务逻辑和业务数据的对象比前两类对象更稳定。流程控制模块的分层,较好的实现了共用的、稳定的EJBController局部紧耦合,个性的、易变的Controller代理局部的松耦合,表达了OOP设计的思想。模型性能和特点分析:经济性。模块的高度可重用性节省了企业的开发本钱,别离稳定的代码和易变的代码使Multi-interface程序更易于实现、测试、维护。灵活性和可扩展性。易于支持新形式的用户界面,要增加一种新形式的用户界面,只需编写View和局部Controller代理代码,然后将它们与已有的EJBController、企业Model集成即可。平安性。不管何种形式的客户端,都通过统一封装的企业Model对象访问企业信息系统层,隐藏实际的数据接口,保障了数据平安。授权控制。不同的客户类型,对企业信息系统层访问的授信权限不同,通过Controller和View生成器中的双层控制得到确保。企业逻辑、流程控制与视图表现别离,开发人员的分工更明确、易于并行开发。新模型在SCM系统结构设计中的应用将上述模型和软件平台相结合,从而SCM系统模型的实现图如图4.5所示: 将传统的MVC模型加以改造,并结合J2EE组件技术,用于Multi-interfaces程序设计的解决方案,有效的降低了连锁企业SCM系统的开发本钱和时间,易于随着新技术出现增加新形式的应用。而且,增强了SCM系统的平安性和授权控制。此模式已在上文提到的工程中得到成功应用。实践证明,此设计模式有较高的理论与应用价值,并为多类型用户界面的复杂应用程序的总体设计提供了一个统一的、标准的设计模式。系统的开发和部署J2EE小组开发模式基于J2EE的连锁企业SCM系统采用小组开发模式,因为系统为多层体系结构,并大量采用组件技术,所以代表商品Catalog,订单等业务逻辑EJB组件、流程控制的JavaBean、Servlet组件和表现层的客户端、Web组件可以并行开发。这样大大的缩短了系统的开发时间。当然,并行的开发模式对小组的分工更加明确[45](如图5.1):EnterpriseBean创立阶段人员:Java程序员任务: *编写及编译EnterpriseBean需要的Java源代码 *标准EnterpriseBean的分布描述 *生成.class文件和分布描述到EJB.jar文件可发布文件:包含EnterpriseBean的EJBl.jar文件WebComponent创立阶段人员:网络设计者(JSPcomponent),Java程序员(servlets)任务: *编写及编译Servlet的源码 *编写.jsp及.html文件 *捆绑.class,.jsp,.html和分布描述到.war文件可发布文件:包含WebComponent的.war文件J2EE应用程序的客户端创立人员:Java程序员任务: *编写及编译客户端必需的Java源代码 *标准客户端的分布描述 *捆绑.class文件和分布描述到作为客户端的.jar文件可发布文件:包含J2EE应用程序客户端的.jar文件J2EE应用程序的装配人员:Java程序员任务: *装配在上一阶段生成的EnterpiseBean文件(EJB.jar)和WebComponent(.war)文件到J2EE应用程序文件(.ear) *标准J2EE应用程序的分布标准可发布文件:包含J2EE应用程序的.ear文件J2EE应用程序的分布人员:系统管理员任务: *添加过程中的J2EE应用程序文件(.ear)到J2EE效劳器中 *通过修改分布J2EE应用程序的描述文件配置J2EE应用程序的可选环境变量 *布置(安装)J2EE应用程序到效劳器分工的关键在于:1、商务逻辑一定要划分的非常合理,原则是一个组件中应该只含有一种商务逻辑,一般的商务逻辑应该是通过几个组件的协同合作来实现的。2、分工一定要明确,尽量防止EJB创立者与Web组件创立者的脚色互换,否则很可能造成商务逻辑组件之间的耦合,而这是绝对不允许的,否则随着开发过程的进行,就会发现越来越难以控制应用的开发。所以在开发过程中一定要注意组件的商务逻辑的独立性与唯一性,系统分析员和工程负责人一定要严格把关,这一点非常非常重要[46]。EJB组件的开发和部署 EJB组件包含连锁企业SCM系统所有的业务逻辑,使整个应用系统的核心和基石。因此,EJB组件的开发和部署非常关键。其流程如图5.2所示: 开发的要点有二:1.使用合理的EJB类型,实体Bean适合于描述数据库中对象和业务逻辑,会话Bean适用于处理与用户的交互以及局部控制功能。实体Bean中又要合理运用Bean管理和Container管理两种EJB,后者有更大的灵活性;会话Bean则需区分使用持久型Bean和无状态型两种EJB,后者适用于多用户共享。2合理运用分布描述得XML文件,一方面它和EJB的性能有关,另一方面,遵循标准的描述文件可以方便的部署于各种J2EE应用效劳器平台。Web应用的集成和发布 SCM系统开发的最后关键环节是组件的集成和发布,如图5.3所示,EJB和JavaBean被打包成.jar文件,同时,Web组件和客户端应用打包成.war文件。然后将.jar文件和.war文件合并,配以相应的xml描述文件,统一打包成.ear文件并发布到应用效劳器上,即完成系统最后的集成与发布[47]。要说明的是,符合J2EE1.3标准的应用效劳器支持群集,也支持EJB组件的群集。软件层的双群集策略,大大地加强了系统的可扩展性。使连锁企业可以随业务量的开展随时灵活的扩展其SCM系统。这是运用J2EE技术带来的好处。结论本文的主要工作与成果分析了连锁企业的SCM系统业务逻辑和需求,并对现有MIS的利用、数据集中与分析、订单汇总、统一配送等问题提出合理的解决方案。接下来,运用J2EE技术设计系统,给出SCM系统的拓扑图和实现原理,并细化到多层模型设计、模块分析、数据库逻辑设计、物理设计等。最后,重点针对系统为多类型用户界面的特点,提出基于J2EE的MVC新模式,并运用于SCM软件逻辑结构设计中。运用上述方案构件的连锁企业的SCM系统,已成功运用于某大型跨国连锁集团。目前使用良好,平均每日的网上采购近千万元,占到集团总采购额的近70%,并且这个比例还在增加。利用SCM系统进行统一采购、统一配送、统一结算,有效的降低了集团总库存量,加速资金的周转;订单汇总后使集团采购的价格优势更明显,节省了采购本钱;而且,集团的采购部门节省了约40%的采购人员,总部对各分店的控制能力加强了。数据从昔日的数据孤岛汇总到总部,在数据仓库中做完汇总分析后,即时将经销存报表呈给集团的决策层和相关财务人员,为企业的管理、经营提供了及时的、准确的、详细的数字依据。同时,企业的供给商也可及时通过SCM系统的外部接口,了解自己商品在各分店的总体销售、库存情况,便于及时供货,制定有效的促销策略。为连锁企业提供了更好的效劳。在运行过程中,基于J2EE技术的连锁企业SCM系统,实践证明具有如下特点:平安、健壮,有效的实现效劳失效转移,采用了组策略,权限、角色和、数字签名、加密等技术。优秀的稳定性,因为采用Servlet,EJB,JSP,模块化结构,中间件负责事务处理等设计,保证系统稳定性。轻松处理海量用户请求,较好的实现了动态负载均衡,动态效劳启动;并可在将来实现效劳器群集。采用JDBC连接池示对数据库读取更迅速。快速开发和部署,因为采用了模块化设计,应用逻辑和表现别离,有效实现小组内并行开发;另外利用J2EE部署工具可实现快速部署。跨平台应用,可支持多种操作系统Windows,AIX,Unix,Linux和多种应用效劳器WebLogic,WebSphere,JRun等。可扩展性,随业务量增加可选择硬件群集、应用效劳器群集、EJB群集满足性能要求;应用逻辑和表现别离,易于增加新的的应用。尚待解决的问题的讨论每种技术都有自己的局限性,本系统采用纯Java技术,Java语言虽然。。。。。,然而。。。。。。其它面向对象的分布式技术交互上存在缺乏,如:Java技术由SUN公司提供,没有解决好与COMCORBA,如果将J2EE技术与CORBA、COM等分布式技术结合起来,开发出既具有跨平台性能,又能实现与其它分布式对向交互的能力,监视系统具有更大的生命力和前景,这也是今后研究努力的方向有待进一步研究。统一配送的策略问题,本系统较好的解决了统一采购和统一结算问题,并尝试优化统一配送问题,但目前只能依据各分店的订单,结合各供给商的入库单制订出各店的配送单,配送策略上因为时间关系没有过多吸收当前先进的配送研究成果。在系统升级使会考虑重构此项功能。再就是对数据仓库的中的数据分析还不够完善,特别是没有预测功能。先进的SCM系统应能在分析历史经销存数据的基础上,结合系统的外部因素如季节、天气、人们的消费习惯等,预测商品的销售趋势,提前制定合理的采购方案。还有就是统一结算的方式仍在线下进行,因为网络交易的平安性等因素,系统目前只是打印出统一结算单,与供给商手工进行结算。但是系统预留了网上结算的标准J2EE接口,一旦网上交易的外部环境成熟,系统可用预留接口和网上银行、第三方认证机构相接,在SCM系统中完成统一结算功能。参考文献韩德宗,叶春华,向凯.步入连锁经营时代──评批发和零售贸易类上市公司2000年度报告.商业经济与管理,2001,118(8):22-26张学艺.供给链管理在我国连锁经营配送中的应用.物流管理,1998,93(6):76-79李志峰.管好物流配送开展连锁经营.物流配送,2001,7:21-22刘海霞.加强我国连锁企业配送中心的物流管理初探.西南民族学院学报.哲学社会学版,1999,20:180-182李玉辉,邵光亚.连锁经营的供给链管理..商业研究,2001,227(3):44-46张子贤,黄立平.连锁超市的开展之路──浅谈供给链管理中的电子商务应用.上海微型机算机,2000,230:22魏国辰,李彩丽.浅议连锁配送正常运行的物流条件.物流配送,1998,93(6):18-19赫连志巍.我国连锁业开展态势、存在的问题以及环境机遇.技术经济与管理研究,2001,4:78-79连锁超级市场、便利店管理通用要求术语标准,HYPERLINK2000中国连锁经营协会)缪云霞,供给链理论HYPERLINK)Java2Platform,EnterpriseEditionSpecificationVersion1.3.SunMicrosystemInc.,AvailableatEnterpriseJavaBeansTM2.0specification.SunMicrosystemInc.,AvailableatJavaServerPagesTM1.2specification.SunMicrosystemInc.,AvailableatJavaServlet2.3specification.SunMicrosystemInc.,AvailableatJavaTransactionService1.0.SunMicrosystemInc.,AvailableatJavaNamingandDirectoryInterfaceTM(JNDI)1.2specification.SunMicrosystemInc.,AvailableatJDBCDataAccessAPI3.0Specification.SunMicrosystemInc.,AvailableatJavaTransactionAPI(JTA)1.0.1Specification.SunMicrosystemInc.,AvailableatJavaTMMessageServiceAPI1.0.2.SunMicrosystemInc.,AvailableatSunMicrosystems,J2EE(TM)Blueprints1.1.2.SunMicrosystemsInc.,PaloAlto,California,2000.万助盛,侯文永.j2ee企业计算平台.计算机应用研究,2000,12:38-42施俊浩,梁浩,吴启迪.面向电子商务的供给链管理系统的研究.计算机工程,2001,27(1):21-22江左文,李淑芝,左坤隆.利用j2ee开发企业平台的结构分析.计算机系统应用,2001,02:30-32顾国建.新世纪中国连锁业五大变化趋势.超市连锁,2001,4:13-16方家平,陈胜利.中国连锁经营弱在哪里.中外管理导报,2001,9:35-37万丰,王化文,朱雅音,段靖荒.基于JSP的零售业scm系统.计算机应用,2001,21(7):43-45何宁..HYPERLINK零售业从scm入手.市场与电脑,2001,8:26-29赵东,周明天.分布对象技术述评.计算机应用,2000,20(10):7-10陆亦斌,王金中.基于DCOM的分布式应用建构.计算机工程,1999,25(6):14-16刘艳梅,赵敬中,黄建春,宋瀚涛.基于COMdcom组件标准集成异构数据库.北京理工大学学报,2000,20(5):598-601Rezayat,M.TheEnterprise-Webportalforlife-cyclesupport.Computer-AidedDesignVolume:32,Issue:2,February1,2000,pp.85-96Egyedi,TinekeM.WhyJava™was-not-standardizedtwiceComputerStandardsandInterfacesVolume:23,Issue:4,September,2001,pp.253-265Sousa,J.P.;Garlan,D.FormalmodelingoftheEnterpriseJavaBeans™componentintegrationframework.InformationandSoftwareTechnologyVolume:43,Issue:3,March1,2001,pp.171-188徐大伟,汪跃.浅谈计算机接入INTERNET的几种方式.长春大学学报,2001,11(2):16-19潘建国,陈海强.基于vpn技术的网络应用.计算机应用研究,2001,1:87-88林林.BEA中间件应用技术.,2001Raptis,Konstantinos;Spinellis,Diomidis;Katsikas,Sokratis.Multi-technologydistributedobjectsandtheirintegration.ComputerStandardsandInterfacesVolume:23,Issue:3,July,2001,pp.157-168.Lunney,T.F.;McCaughey,A.J.Componentbaseddistributedsystems–CORBAandEJBincontextComputerPhysicsCommunicationsVolume:127,Issue:2-3,May10,2000,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论