已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于esb的供应链信息共享的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 在供应链管理中,如何在供应链中各个企业之间实现快速、准确地信息共享 已经成为关系到企业经济效益的一个至关重要的因素。实现供应链中信息共享的 传统方式有文件传输、共享数据库、远程过程调用等,它们都存在着一定的局限。 近年来,基于消息传递的e s b ( e n t e r p r i s es e r v i c eb u s ) 产品不断涌现,它 为实现供应链中信息共享提供了一种新的解决方案。 e s b 是一种基于消息传递的中间件,它采用了“总线”这样一种模式来管理 和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间 在消息、事件和服务的级别上动态的互连互通,它将s o a 、w 曲s e r v i c e 和x m l 等技术融合到统一的分布式架构中,既可以集成新的应用服务,也可以通过分解、 包装遗留系统,使其提供服务接口,从而集成已有的应用。 本文做了大量的关于在供应链中进行信息共享的研究工作,并利用开源e s b 产品m u l e ,将e s b 技术、w e b 服务技术、j m s 技术、j d b c 等技术结合在一起, 实现了一个制造企业与其众多的零件供应商之间的信息共享,其主要功能如下: 1 制造企业端采购订单的自动生成。 2 制造企业自动发送采购订单到相应的零件供应商。 3 制造企业自动接收来自各个零件供应商的发货信息。 4 制造企业与各个零件供应商共享需求预测信息。 5 制造企业追踪采购订单的状态。 关键词i 信息共享,e s b ,m u l e ,w e b 服务,j m s a b s t r a c t i nt h em a n a g e m e n to fs u p p l yc h a i n ,r a p i da n da c c u r a t ei n f o r m a t i o ns h a r i n gh a s b e c o m eo n eo ft h eg r e a t e s tf a c t o r so fe c o n o m i cb e n e f i t s t r a d i t i o n a l l y , t h em e t h o d so f i n f o r m a t i o ns h a r i n gi ns u p p l yc h a i ni n c l u d ef i l et r a n s p o r t i n g ,d a t a b a s es h a r i n ga n d r e m o t ep r o c e d u r ec a l l t h e ya l lh a v es o m ed r a w b a c k s i nr e c e n ty e a r s ,e s bp r o d u c t sw h i c hb a s eo nm e s s a g et r a n s p o r t a t i o ne m e r g e d t h e yg a v ean e ws o l u t i o nt om e s s a g es h a r i n gi nt h es u p p l yc h a i n e s bi sam e s s a g e m i d w a r ew h i c hu s e sab u sm o d et om a n a g et h ei n t e g r a t i o na n di tm a k e ss o a ,w e b s e r v i c ea n dx m lw o r kt o g e t h e ri nad i s t r i b u t e df r a m e w o r k e s bc a ni n t e g r a t en e w a p p l i c a t i o n sa n da l s oc a ni n t e g r a t eo l da p p l i c a t i o n sb yd e c o m p o s i n gt h el e g a c y s y s t e m s i n t h i sp a p e r , w eh a v ed o n eal o to fr e a s e r c ho i li n f o r m a t i o ns h a r i n gi ns u p p l y c h a i na n da c h i e v e dt h ei n f o r m a t i o ns h a r i n gb e t w e e nam a n u f a c t u r i n ge n t e r p r i s ea n d i t sp a r tp r o v i d e r sb yu s i n ge s b ,w 曲s e r v i c e ,j m sa n dj d b c t h em a i nf u n c t i o n sa r ea sf o l l o w s : f i r s t l y ,m a n u f a c t u r i n ge n t e r p r i s eg e n e r a t e so r d e rf o r m sa u t o m a t i c a l l y s e c o n d l y , m a n u f a c t u r i n ge n t e r p r i s e s e n d so r d e rf o r m st o p a r tp r o v i d e r a u t o m a t i c a l l y t h i r d l y , m a n u f a c t u r i n ge n t e r p r i s er e c e i v e st h eg o o d si n f o r m a t i o ns e n tb yp a r t s p r o v i d e r sa u t o m a t i c a l l y f o u r t h l y , m a n u f a c t u r i n ge n t e r p r i s e s h a r e st h e p r e d i c t i o n i n f o r m a t i o no f r e q u i r e m e n tw i t hp a r t sp r o v i d e r s f i n a l l y , m a n u f a c t u r i n ge n t e r p r i s e t r a c e st h es t a t u so fo r d e rf o r m s a u t o m a t i c a l l y k e yw o r d s :i n f o r m a t i o ns h a r i n g ,e s b ,m u l e ,w e bs e r v i c e ,j m s 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤盗盘堂或其他教育机构的学位或证 书而使用过的材料。与我同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了访 意。 学位论文作者签名:刘振乐 签字f i 期: ? 。罗年罗月夕r 学位论文版权使用授权书 本学位论文作者完全了解苤盗盘鲎 有关保留、使用学位论文的规定。 特授权墨洼盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:动撮乐 导师签名:乏、f ;乙 i 签字r 期:2 。7 年9 月尹只 签字同期:2 0 t ,了年气月丫r 第奄绪论 1 1 研究背景 第一章绪论 供应链是围绕核心企业,通过对信息流、物流、资金流的控制,从采购原材 料开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的 将供应商、制造商、分销售、零售商,直到最终用户连成一个整体的功能嘲链结 构【1 1 。 供应链管理是对供应、需求、原材料采购、市场、生产、库存、订单、分销 发货等的管理,包括了从生产到发货、从供应商的供应商到顾客的每一个环节【2 】。 供应链管理中包含采购管理、库存管理、分销管理等多个环节,其中的每一 个环节都需要供应链中的企业进行快速、准确的信息共享【3 】。 通常情况下,在供应链中需要共享的信息包括以下几个方面【4 】: 1 共享库存。共享库存信息是供应链中成员问比较常用的协作方式之一, 通过获取供应链的库存情况可以降低供应链的库存水平。 2 销售数据共享。通常供应链中的成员仪通过订单传递需求信息,其后果 往往是出现“牛鞭效应”。可以通过销售数据来分析销售趋势,顾客偏好和顾客 分布等,从而决定库存水平、货架布置和新产品开发。 3 订单信息。供应链中的成员之间往往通过订单来传递需求信息,它是供 应链中最重要的信息之一。 4 销售预测。通过供应链中成员的共同销售预测,可以减少“牛鞭效应” 和库存水平。 1 2 研究现状 供应链中的信息共享主要有以下几种方式【5 - 1 1 】: 1 文件传输:信息共享由上传数据和下载数据组成。上传数据时,供应链 中各企业根据协商后所规定的本企业的上传数据文件把应该上传的共享数据送 往共享平台。下载数据时,共享平台根据系统或应用程序之间的数据交换请求, 并结合系统或应用程序具有的数据下载权限从共享数据库中把符合要求的数据 第一章绪论 发送给指定系统或应用程序。使用文件传输的关键在于确定文件的格式。一个应 、用的输出正好是另一个应用所需要的情况很少碰到,因此在传输过程中必须对文 件进行一定的处理,使用文件的应用不但要读它,而且还要使用工具加以处理。 当前普遍采用的方法是使用x m l 格式的文件。 采用文件传输方式比较简单,因为它不需要额外的处理工具或集成软件包, 但开发人员必须自己完成大量的处理工作。应用必须协商建立共同的文件名约定, 还要确定文件放在哪些目录中。文件的书写器必须实现一个策略,以保证文件名 是唯一的。应用还必须协商好由谁删除旧文件,而且负责删除文件的应用必须清 楚什么时候文件才会过期,不会再使用。应用还要实现锁定机制或遵循某种定时 约定,以确保一个应用不会在另一个应用写文件时读这个文件。采用文件传输的 缺点是可能造成系统的不同步。 2 共享数据库:利用文件传输,应用能共享数据,但缺乏时间特性,然而 集成的时间特性往往是很关键的。如果数据修改不能迅速传递给所有的应用,那 么由于数据的过时,可能会造成错误。 共享数据库方式通过把应用的数据存储在一个共享数据库中来集成应用。企 业用户通过浏览器访问信息共享平台中的共享数据库。这种查询比较复杂,通常 是多表联合查询,甚至有时候还需要调用数据库的存储过程,而且查询条件的预 处理也较复杂。如果所有集成都依赖于相同的数据库,那么这些应用在任何时候 都能保持一致。不同的应用对同一数据进行更新时,数据库的事物管理系统能够 妥善地管理好数据的一致性。基于s q l 的关系数据库得到了广泛使用,因此更 适合作为共享数据库。 共享数据库面临的最大困难之一是要为共享数据库提出一个合格的设计。要 提出一个统一的数据库模式来满足多个应用的需要是很艰巨的任务。同时,当多 个应用通过共享数据库频繁地读取和修改相同的数据会使数据库成为一个性能 瓶颈。当应用分布在不同的位置、通过广域网访问同一个共享数据库时,访问速 度可能很慢,可能会不实用。 3 远程过程调用:通过文件传输和共享数据库,应用能够共享它们的数据, 这是应用集成的一个重要部分,但仅仅是共享数据往往还不够,数据的改变往往 需要不同的应用采取相应的动作。需要这样一种机制,能让一个应用调用另一个 应用的函数、传递要共享的数据,并调用函数来告诉接收应用如何处理数据。远 程调用运用封装原则来集成应用。如果某个应用需要其它应用拥有的一些信息, 它可以直接请求那个应用。如果某个应用需要修改另一个应用的信息,可以调用 那个应用提供的函数。采用这种方式,每个应用都维护自己数据的完整性。应用 可以改变内部数据格式,而不会影响其它应用。 第一章绪论 4 消息传递:这种模式起源于e d i 的交易方式,将e d i 向供应链的上下游 扩展,就可以在供应链中分享信息。它是电子供应链合作伙伴间通过自身建立的 信息系统,一方企业把从其他企业传递过来的信息存放在自己的数据库中,从而 方便、快捷地实现信息传递,并根据此信息做出决策的模式。运用消息传递可以 使用可定制的格式频繁地、立即地、可靠地、异步地传输数据包。消息传递系统 能保持文件传输的解耦合性。消息能在传送中得到转换,发送者和接收者都不需 要了解具体的转换。在这种情况下,可以把考虑的重点放在需要共享什么数据, 而不是如何共享数据。 基于对供应链管理中几种信息共享方式的比较,可以得出结论,利用消息传 递来实现供应链中的信息共享是最佳途径。 1 3 本文的主要工作 本文的主要工作如下: 研究了在供应链管理中常见的几种常见的信息共享的模式,对各种模式的优 点、缺点进行了比较。 研究了基于消息传递的企业服务总线( e s b ) 的基本框架,并在此基础上研 究了开源e s b 产品m u l e 的工作原理。 利用m u l e ,结合j d b c 、j m s 、w e b 服务等技术实现了一个制造企业与它的 多个零件供应商之间的信息共享。 1 4 论文结构 本文共分五章。 第一章为绪论。阐述了本文的研究背景和需要解决的问题。 第二章是相关理论和技术的研究。介绍了和信息共享、应用集成相关的技术, 包括x m l 技术、w e b 服务技术、j m s 技术、企业服务总线( e s b ) 的相关理论, 并研究了开源e s b 产品m u l e 的工作原理。 第三章详细说明了系统设计的过程。设计了在一个制造企业与它的各个零件 供应商之间进行信息共享的流程,并设计了该流程中各个环节实现的关键技术。 第四章为系统实现。通过把e s b 技术与w e b 服务技术、j m s 技术、j d b c 技术等结合在起,完成了制造企业与各个零件供应商之间的信息共享的具体实 第一章绪论 现。 第五章为总结与展望。对本文的主要内容进行了总结,并对今后的研究工作 提出了展望。 第一章相关理论和技术的研究 2 1x m l 技术 第二章相关理论和技术的研究 可扩展标记语言( e x t e n s i b l em a k e u pl a n g u a g e 。x m l ) 是由w 3 c 定义的一种 标记语言,它是通用标准标记语言( s t a n d a r dg e n e r a l i z e dm a k e u pl a n g u a g e , s g m l ) 的一个子集。x m l 是一套定义语义标记的规则,这些标记将文档分割成 很多部件并对这些部件加以标识,它是一种用来描述数据的类似于h t m l 的标记 语言,与h t m l 不同的是,x m l 中的标识不是在x m l 中预先定义的,使用者可 以根据需要定义自己的标记。如今,x m l 已经成为在w e b 上交换数据的重要技术 一【1 2 】 “一 o 一个x m l 文档由如下的声明开始,该声明指定了文档内容将要符合的x m l 版本: 。在x m l 声明之后是文档的根元素,它必须有且 仪有一个。接下来是元素,元素必须符合x m l 规范中预先描述的一套规则。为 了方便阅读,x m l 文档中同样可以像c + + 等编程语言那样加入注释,注释以 为结束。x m l 具有跨平台性、可扩展性、自描述性等优点。 与x m l 相关的主要技术有x s l t ( e x t e n s i b l es t y l e s h e e t l a n g u a g e t r a n s f o r m a t i o n s ) 、x m ld o m 、x p a t h 等,其中x s l t 用来将x m l 从一种格式 转换为另一种格式;x m ld o m 为访问x m l 文档提供了a p i ;x p a t h 用来完成 在x m l 文档中的导航查询。 在本文中,制造企业端的交换服务器运行的m u l e 的实例需要有配置文件, 该配置文件为m u l e c o n f i g x m l ,它控制着m u l e 中信息的流动。 2 2w e b 服务 2 2 1w e b 服务概述 简单地说,w 曲服务是一些可以通过h t t p 调用而获得的类的方法,它建立 在以x m l 为主的开放的w e b 规范技术基础之上,定义了应用程序如何在w e b 上实 现互操作 3 h 。用户可以使用任何语言、在任何平台上编写所需要的w 曲服务。对 于、e b 服务的使用者而言,w 曲服务实际上是部署在w e b 上的对象,它有以下的 第二章相关理论和技术的研究 一些优点 1 3 - 8 】: 1 。良好的封装性。既然w e b 服务是一种部署在w e b 上的对象,那么它自然 具备一般对象都具备的良好的封装性。对使用者来说,仅能看到该对象提供的所 有的方法,而不能看到该对象的具体实现细节。 2 松散耦合。当一个w e b 服务的内部实现机制发生改变时,对w e b 服务的 使用者没有任何影响。只要w e b 服务的调用接口不发生变化,w e b 服务的任何 实现细节对使用者都是透明的。这就使w e b 服务的提供者和w e b 服务的使用者 之间形成松散耦合。 3 使用标准的协议规范。作为w e b 服务,其所有公共的协议完全需要使用 开放的标准协议进行描述、传输和交换。 4 高度的可集成能力。由于w e b 服务采取简单的、易理解的标准w e b 协议 作为组件界面描述,所以屏蔽了各种不同的软件平台之间的差异,不管是c o r b a 、 d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了当前环境下 最高的可集成性。 2 2 2w e b 服务中的使用的关键技术 简单对象访问协议( s o a p ,s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是w 3 c 组织的一 个规范,它一种基于x m l 的、与编程语言无关的、描述在分布式环境中如何交 换信息的规范,是w 曲服务中的一个重要协议。s o a p 协议主要包括四个部分【l9 】: 1 s o a p e n v e l o p e :定义一个描述消息中的内容、发送者、接收者、处理者 以及如何处理的框架。 2 s o a p 编码规则:用于表示使用数据类型的实例。 3 s o a pr p c :表示远程过程调用和应答的协定。 4 s o a p 绑定:说明了底层使用的协议。 通常情况下,在应用程序之间传输的s o a p 消息由一个e n v e l o p e 元素附带 一个可选的h e a d e r 元素以及一个必须的b o d y 元素组成。 w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) n w e b 服务描述语言,它是一 个描述w 曲服务功能的协议,是由微软和i b m 联合开发的。w s d l 文档将w 曲服 务服务访问点或者端口的集合【7 】。w 3 c 已经把w s d l 3 t j 为w 曲服务描述的标准。 w s d l 描述了下列问题:服务是什么,服务的位置在哪里,服务如何被调用。 第二章相关理论和技术的研究 2 2 3w e b 服务的体系结构及工作原理 在w e b 服务的体系结构中有三种角色:w e b 服务提供者,w e b 服务注册中 心,w e b 服务使用者,它们之间的关系如下: w e b 服务提供者向w e b 服务注册中心注册自己的功能及访问接口。w e b 服 务使用者通过w e b 服务注册中心查找特定种类的w e b 服务。w e b 服务使用者根 据相应的w e b 服务描述文档的说明来使用w e b 服务。 在本文中,制造企业通过调用其中一类零件供应商端的w e b 服务给其发送 订单信息,该零件供应商通过调用制造企业发布的w e b 服务给其发送发货信息。 2 3j m s 和a c t i v e m o 消息中间件 j m s ( j a v a m e s s a g i n gs e r v i c e ) 是j a v a 平台上有关面向消息中间件的技术规 范,是一组j a v a 应用程序接口( j a v aa p i ) ,它提供创建、发送、接收、读取消 息的服务,是由s u n 公司和它的合作伙伴设计的。删sa p i 定义了一组公共的应 用程序接口和相应语法,使得j a v a 程序能够和其他消息组件进行通信。j m s 消 息由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组 成。消息主体包含要发送给接收应用程序的内容。 j m s 消息分为几种类型:简单文本 ( t e x t m e s s a g e ) 、可序列化的对象 ( o b j e c t m e s s a g e ) 、属性集合( m a p m e s s a g e ) 、字节流( b y t e s m e s s a g e ) 、原始 值流( s t r e a m m e s s a g e ) 、无有效负载的消息( m e s s a g e ) 等。j m s 消息有两种 传递模式,分别是点对点( p o i n t t o p o i n t ) 模式和布订阅( p u b l i s h s u b s c r i b e ) 模 式。 j m s 消息有两种类型的目的地,一种是队列,一种是主题。队列用于点对点 模式,这种情况下,一条j m s 消息只能被一个使用者使用,主题用于发布订阅模 式,所有订阅该消息的使用者都接收该消息 2 0 1 。 a c t i v e m q 是个开源的j m s 消息中间件。通过使用j m s 中间件,我们可 以确保可靠地传递j m s 消息。a c t i v e m q 默认使用t c p 的6 1 6 1 6 端口进行消息 传递,当然,可以根据需要进行改变。a c t i v e m q 具有如下特征: 1 很好地支持了j m s l 1 规范。 2 支持s p r i n g 。 3 能够保证消息的持续性。这保证了j m s 消息的可靠的传输。 在本文中,以a c t i v e m q 作为j m s 消息传递的中间件。 第章相关理论和技术的研究 2 4e s b ( 企业服务总线) 2 4 1e s b 概述 e s b ( e n t e r p r i s es e r v i c eb u s ) 即企业服务总线,是种基于消息传递的中间 件,它采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以 广为接受的开放标准为基础来支持应用之间在消息、事件和服务的级别上动态的 互连互通。它是一个完全面向企业级的中间件解决方案,它通过标准的整合技术, 将s o a 、w e bs e r v i c e $ 1 x m l 等技术融合到统一的分布式架构中,既可以集成新 的应用服务,也可以通过分解、包装遗留系统,使其提供服务接口,从而集成已 有的应用。e s b 还提供了连接企业内部和跨企业之间的新的和现有软件应用系统 的功能,通过集成松散耦合的、平台独立的服务接口,e s b 充当了服务使用者和 服务提供者之间的中介,实现服务组合和业务流程的自动化管理【2 1 1 。 e s b 明确强调消息( m e s s a g e ) 处理在集成过程中的作用。传统的e a i 的缺点 是各个应用都有自己的消息格式。作为基础架构的e a i 系统,必须能够对系统内 的所有消息进行解析。e s b 系统由于集成对象统一到服务,消息在应用服务之间 传递时格式是标准的,直接面向消息的处理方式成为可能。如果e s b o 匕够在底层 支持现有的各种通讯协议,那么对消息的处理就完全不考虑底层的传输细节,而 直接通过消息的标准格式定义来进行。这样,在e s b 中,对消息的处理就会成为 e s b 的核心,因为通过消息处理来集成服务是最简单可行的方式,这也成为e s b 中总线( b u s ) 功能的体现1 2 2 。 事件驱动是e s b 的一个重要特征。通常情况下,在服务之间传递的消息有两 种形式,一种是调用( c a u ) ,即请求回应方式,这种模式称为同步模式。还有 一种为单路消息( o n e w a y ) ,它的目的往往是触发异步的事件,发送者不需要 马上得到回复。因为有些应用服务是长时间运行的,因此,这种异步服务之间的 消息交互也是e s b 必须支持的 2 3 - 2 6 。 2 4 2e s b 的核心功能 通常情况下,e s b 提供下列这些核心功能: 1 位置透明性 服务使用者需要同服务提供者进行通信的时候它不需要知道服务提供者的 第章相关理论和技术的研究 实际位置。这意味着服务使用者和服务提供者之间消除了耦合。在e s b 中,可 以通过x m l 配置、数据库等来实现位置透明性。最简单的实现位置透明性的方 法是在一个静态x m l 文件中配置一个服务提供者端点。 2 传输协议转换 在很多情况下,服务使用者与服务提供者使用不同的传输协议。例如,遗留 系统为服务提供者,它只能以批处理的方式导入文件、导出文件,而客户应用程 序通过j m s 来通信,这时候就必须进行传输协议的转换。e s b 能够处理h t t p 、 j m s 、f t p 、s m t p 、t c p 等不同的协议之间进行转换。e s b 的这一核心功能称 为传输协议转换。 典型的e s b 并不能支持在复杂的集成解决方案中遇到的所有传输协议。我 们可以订购第三方软件或者自己开发传输协议转换的模块来完成特定的功能。 3 消息转换 很多情况下,服务使用者和服务提供者使用不同的消息格式,这就需要在服 务使用者和服务提供者之间进行消息转换。一种通用的进行消息转换的技术是 x s l t 。消息转换是在e s b 中使用的最多的功能。只有在少数情况下,输入消息 的格式恰好与目标应用程序所需要的格式相匹配,这种情况下不需要进行消息转 换。 4 消息路由 对到达e s b 的消息,e s b 必须首先确定该消息应该发送到的目的地,然后 进行消息发送,这一核心功能称为消息路由。不同类型的消息路由器之间存在着 很大的不同。 固定型消息路由器:这种类型的消息路由器的用来把接受到的消息发送到指 定的目的地址,通过使它可以消除源应用程序和目的应用之间的耦合。它的缺点 是只能提前配置源应用程序的位置和目标程序的位置,缺乏灵活性。 基于内容的消息路由器:这种类型的消息路由器可以根据消息的内容把它发 送到不同的目的地。 5 消息有效性确认 消息有效性的确认包括两个方面的内容:消息格式有效性的确认和按照各种 复杂的规则对消息内容有效性的确认。对x m l 消息有效性进行确认有一个规范: x m ls c h e m ad e f i n i t i o n ( x s d ) 。假口e s b 从消息提供者那里获得了消息并准备 把它发送给一个w e b 服务,那么在进行发送之前,必须确保消息的格式是w e b 服务所期望的,因此,要用x s d 对消息的有效性进行确认。 6 消息增强 消息转换用来把源应用发送来的消息转变成目标应用所需要的格式。但很多 第一章相关理论和技术的研究 时候,在把消息发送给目标应用之前,m u l e 需要在收到的消息的基础上增加数据。 通常情况下,要增加的数据要根据接收到消息中的指定元素值来从数据库中获得。 e s b 的这个功能被称为消息增强。它是和消息转换紧密地联系在一起的。它们的 主要区别是,消息转换只处理接收到的消息中已经存在的信息,而消息增强需要 处理的数据必须从外部数据源获得,比如数据库1 2 4 - 2 9 】。 2 4 3 当前主流的e s b 产品 近年来,不断有各种各样的e s b 产品涌现出来,其中包括m i c r o s o f t 的b i z t a l k 、 b e a 的a q u a l o g i cs e r v i c eb u s 等商业软件公司的产品,也包括i o n a 推出的c e l t i x , a p a c h e 推出的m u l e 、s e r v i c e m i x 等开源e s b 产品 2 7 - 3 0 。 2 5m u l e 的基本原理 2 5 1m u l e 的主要特点 m u l e 是一个轻量级的基于j a v a 的e s b 消息框架,它允许用户快捷地连接多个 应用并且在这些应用之间交换数据。尽管不同的应用可能使用包括j m s 、w 曲服 务、j d b c 、h t t p 等不同的技术,m u l e 能够使它们之间实现无缝交互。m u l e 的 框架提供了一个可扩展的环境,用户可以根据自己的需要将业务组件部署其中。 m u l e 的主要特点有 2 2 - 2 3 】: 1 m u l e 是基于j 2 e e l 4 的企业消息总线和消息代理。 2 m u l e 支持多种协议和技术,例如h t t p 、j m s 、f t p 、w e b 服务、s m t p 、 p o p 3 、t c p 、u d p 等。 3 m u l e 支持任何传输之上的异步、同步和请求响应事件处理机制。 4 m u l e 中的组件可以有很多类型。m u l e 可以很容易地把不同类型的组件 集成到一起,使它们协同工作。 5 m u l e 支持组件的重用。在m u l e 中可以不加修改地使用已经存在的组件。 在m u l e 中运行的组件不需要任何与m u l e 相关的代码,业务逻辑和消息传递是 完全分离的。 6 m u l e 中的消息格式可以有很多种形式,从s o a p 到二进制文件。m u l e 不在系统的体系结构上增加任何限制。 7 m u l e 支持a p a c h ea x i s 、a p a c h ec x f 、g l u e 等框架的w e b 服务。 第_ 章相关理论和技术的研究 2 5 2m uie 的核心部件及其工作原理 m u l e 由很多的功能部件构成,它们一起工作来完成e s b 应该提供的功能。 m u l e 中的功能部件主要包括通道、端点、转换器、服务组件、s e r v i c e 等。 1 m u l e 的端点 m u l e 通过端点与外部应用进行连接。m u l e 端点很容易理解,它们描述了使 用的技术、从那里读消息或往哪里发送消息,在端点定义的时候就同时指定了所 使用的协议。例如, 中使用的协议分别是:j m s 和p o p 3 ,消息接收或发送的地址分别为:o r d e r q u e u e 、 和l i u z h e n d o n g m a i l t j u e d u c n 。 2 通道 在m u l e 中通道为外部系统与m u l e 进行通信以及m u l e 的服务组件之间的通 信提供了途径。 3 连接器 m u l e 中的连接器用来从指定的通道读取消息,同时也用来把消息发送到指 定的通道。 4 转换器 使用e s b 就要把不同的应用和服务集成到一起,实现数据共享。然而,这 些应用程序和服务往往是独立进行开发的,消息格式往往不同,而消息的格式有 很多,如字符串、j m s 消息、s o a p 消息等等。m u l e 的转换器用来把消息从一 种格式转换为另一种格式。m u l e 提供了很多的默认的转换器,比如,为了方便 对j m s 消息进行处理,m u l e 提供了两个默认的转换器:o b j e c t t o j m s m e s s a g e 转换器接收j a v a 对象,然后创建j m s 消息类,然后把j a v a 对象作为j m s 消 息的内容:j m s m e s s a g e t o o b j e c t 转换器用来完成相反的工作,它把j m s 消息中 的内容提取出来,然后转换为j a v a 对象。 m u l e 也支持用户自定义的转换器,相应的功能需要用户通过书写代码来实 现,当用户为某两种类型的消息之间的转换定义了转换器之后,m u l e 提供的默 认的转换器将被覆盖,将不再起作用。用户自定义转换器时,实现代码的类必须 继承o r g m u l e t r a n s f o r m e r a b s t r a c t t r a n s f o r m e r ,这样m u l e 才能识别该转换器。 5 m u l e 的路由器 m u l e 的路由器有两种:入口路由器( i n b o u n dr o u t e r ) 和出口路由器( o u t b o u n d 第_ 章相关理论和技术的研究 r o u t e r ) 。入口路由器用来指定消息的来源,出口路由器用来指定消息经过处理之 后所要到达的目的地。 m u l e 提供的几种主要的入口路由器如下: ( 1 ) 聚合器:聚合器路由器用来把两条或更多的消息合并到一起,并作为 一条消息发送出去。 ( 2 ) 选择性的使用者:使用选择性的使用者,可以容易地指定是否接收某 些消息。 ( 3 ) 转发使用者:这种路由器直接把消息发送到出口路由器指定的地址, 而不调用任何服务组件。 除了提供一套标准的入口路由器之外,m u l e 还提供了一套标准的出口路由 器。 6 服务组件 服务组件( s e r v i c ec o m p o n e n t ) 是m u l e 中的一个关键概念,它是对消息进 行处理的功能模块,通常用来实现用户所需要的业务功能。服务组件可以由j a v a 语言来实现,其中的代码与m u l e 是不相关的。当入口路由器接收到消息并经过 所有的过滤器之后,服务组件被调用。在m u l e 中使用服务组件需要以下两步: 首先书写实现所需功能的类的代码,然后在m u l e 的配置文件中引用上述类。 通常情况下,在一个类中往往有多个函数,因此,m u l e 需要一种方法来确 定调用类中的哪个函数,可以有两种方法。 ( 1 ) 由m u l e 来决定。在这种方法中m u l e 逐一检查类中的各个函数,如果 找到一个参数类型与所需要的类型相匹配的函数,那么将调用该函数,如果找到 多个参数类型相匹配的函数或者找不到参数类型相匹配的函数,则m u l e 就会产 生运行错误。 ( 2 ) 显式地指出要调用的函数。在这种方法中需要在端点中通过属性值来 指定m u l e 需要调用类中的哪个函数。 7 m u l e 中的s e r v i c e : s e r v i c e 是m u l e 中最基本的单元,通常情况下,s e r v i c e 中要包含服务组件、 入口路由器、出口路由器、转换器、连接器等的定义。当m u l e 运行的时候,其 中的各个s e r v i c e 是并行运行的。 8 m u l e 的配置文件 m u l e 是在配置文件的控制之下运行的,通常情况下,m u l e 的配置文件为一 个文件名为m u l e c o n f i g x m l 的文件,当然,用户也可以根据自己的需要来选择 配置文件的文件名。m u l e 的配置文件主要包括连接器的配置、转换器的配置、 服务组件的配置等几个部分。 第一章相关理论和技术的研究 ( 1 ) 连接器的配置 在处理集成问题的时候通常会遇到不同的技术或者协议,要想使用这些技术 或者协议与其它应用协同工作,这需要通过设置连接器来实现。常用的几种连接 器如下: 1 ) 文件连接器:基于文件的集成是实现集成的一种常用的方法。 2 ) j a v am e s s a g es e r v i c e ( j m s ) 连接器:j m s 消息有两种传递模式,分别 是点对点( p o i n t t o p o i n t ) 模式和布订阅( p u b l i s h s u b s c r i b e ) 模式。通过使用j m s 连接器,可以向指定的端点发送j m s 消息,也可以从指定的端点接收j m s 消息。 3 ) j a v ad a t a b a s ec o n n e c t i v i t y ( i d b c ) 连接器:在很多集成案例中,需要 从数据库中获得数据或者向数据库中写入数据,m u l e 通过j d b c 来连接数据库, 完成对数据库的读、写。 ( 2 ) 转换器的配置 在m u l e 中提供了很多默认的消息转换器给用户使用,用户也可以定义自己 的转换器,当然这需要书写j a v a 代码来实现自己所定义的功能。用户同样需要 在配置文件对自己定义的转换器进行配置,然后才能够使用所配置的转换器。 ( 3 ) s e r v i c e 的配置 在配置文件中除了连接器和转换器的配置之外,还有s e r v i c e 的配置,s e r v i c e 的配置决定了m u l e 中消息传递的流程,它是整个配置文件的核心内容。通常情 况下,配置文件里有多个s e r v i c e 的配置信息,每一个s e r v i c e 的配置信息通常包 括以下几部分内容: 1 ) s e r v i c e 的名称:它是由用户根据自己的需要而定义的,当然一般应该为 服务组件指定有意义的名字,这样可以增加配置文件的可读性。 2 ) 入口路由器:入口路由器用来指定该服务组件接收消息的来源。通常情 况下,每个服务组件在入口路由器中只能配置一个端点地址。 3 ) 转换器:使用转换器将接收到的消息转换为服务组件本身所需要的消息 格式,以便使服务组件能够对该消息进行处理。 4 ) 服务组件:通过它来指出对消息进行处理时使用的类。 5 ) 出口路由器:指定经过该服务组件处理之后消息发送的目的地。每个服 务组件的出口路由器中可以不配置端点地址,也可以配置一个或者多个端点地址。 如果在出口路由器中不配置端点地址,那么经过服务组件处理之后,该消息就完 成了所有的处理流程,不需要再进一步进行处理。 第三章系统设计 3 1 系统的功能 第三章系统设计 本文以天津开发区捷马车业有限公司为背景,用来实现该企业和它的众多零 件供应商之间进行信息共享,主要包括以下几个方面: 1 采购订单的自动生成。不同零件的订货方式不同,有些零件根据订货点 订货,动态监测库存量,一旦库存量降低到订货点,就根据事先约定的订货数量 自动生成采购订单;有些零件根据销售订单、产品配置单和排产单计算当前零件 的需求,根据所需零件数量、零件表、零件供应商表产生采购订单。 2 采购订单的自动发送。制造企业端定期对数据库中与零件采购相关的数 据表进行查询,得到订单信息,然后把它发给相应的零件供应商,发送的方式因 零件供应商端技术平台的不同而不同,可以采用j m s 消息的方式发送,也可以 采用调用w e b 服务的方式发送。 3 采购订单的自动接收。各个零件供应商根据制造企业发送订单的方式的 不同而采取不同的方式接收订单信息,然后保存到数据库中相关的数据表中。 4 发货信息的自动发送。当零件供应商给制造企业实际发货后,要从数据 库中读取发货信息,然后把它发送给制造企业,可以通过j m s 消息的方式发送 发货信息,也可以采用调用制造企业端w e b 服务的方式来发送。 5 发货信息的自动接收。制造企业自动接收各个零件供应商通过j m s 消息 方式或者通过调用w e b 服务方式发送的发货信息然后保存到数据库中相关的数 据表中。 6 需求预测信息共享。生产企业每个月初要总结上个月的产品销售情况, 结合淡季旺季情况,预测本月产品销售情况,再预测零件需求,制定零件采购月 计划,提供给零件供应商。 7 采购订单的追踪。根据采购订单信息和零件供应商发送的发货信息随时 汇总所有订单中各种零件的已订货数量、已发货未收货数量、已收货数量。 8 错误处理功能。对消息传递过程中可能产生的错误进行处理,并将错误 信息记录。 第三章系统设计 3 2 系统的体系结构 该制造企业有上百个零件供应商分布在全国各地,通过i n t e r n e t 进行连 接,其中部分零件供应商不具备进行数据交换的条件,它们可以通过阿站的方 式与制造企业进行信息共享,制造企业通过访问零件供应商的网站绐其发送订单 信息,零件供应商通过访问制造企业的网站给其发迸发货信息。另一部分零件供 应商具备数据交换条件,可以与制造企业进行数据交换。 本文主要描述具备数据交换条件的零件供应商与制造企业间信息共享的过 程。系统的体系结构如图3 一l 所示。 制造企业运行的与数据交换有关的有两台服务器,其中一台属于e r p 系统, 其中保存若销售订单表、销售订单明细表、产品表、产品配置表、零件表、零件 供应商表等与生产、采购相关的各个数据表,另台为交换服务器其中运行 e s b 产品b t u le ,用来从e r p 系统数据库中读取采购订单表、采购订单明细表等与 零件采购有关的数据然后分别发送给相应的零件供应商,同时,交换服务器用 来接受各个零件供应商发送的发货信息,并利用m u l e 将其写入e r p 系统数据库 中。 图3 1 系统的体系结构 每十零件供麻商运行的与数据交换有关的服务器同样有两台,其巾一台属十 鞠 第三章系统设计 e r p 系统,用来保存所生产的产品的信息以及制造企业发送的与采购相关的信息, 另一台为交换服务器,用来接受制造企业发送的与采购相关的信息。 3 3 系统数据流程 1 制造企业自动生成采购订单。其中有有两种方式: ( 1 )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广告行业数字时代广告营销策略研究报告及未来发展趋势预测
- 2025年建筑行业绿色建筑设计与可持续发展模式研究报告及未来发展趋势预测
- 2025年电子商务行业数字化转型与跨境电商发展研究报告及未来发展趋势预测
- 2025年互动娱乐行业虚拟现实技术与游戏娱乐体验研究报告及未来发展趋势预测
- 2025年汽车行业智能网联汽车与自动驾驶技术发展研究报告及未来发展趋势预测
- 2025年共享出行行业共享单车与无人驾驶发展研究报告及未来发展趋势预测
- 2025年环保节能行业清洁生产与能源管理技术研究报告及未来发展趋势预测
- 2025年旅游酒店行业智能化服务应用报告
- 2025年化妆品行业数字化营销策略研究报告及未来发展趋势预测
- 2025年5G通信技术在智慧城市建设中的应用研究报告及未来发展趋势预测
- 医学检验技术专业大学生职业生涯规划书
- 学生宿舍管理服务方案介绍课件
- 网络流量调度与负载均衡解决方案
- 尿失禁管理新进展课件
- 提高患者口服药服用的准确率品管圈成果汇报ppt模板
- 巴斯夫-吡唑醚菌酯(凯润)课件
- 医院处方管理办法实施细则
- 广告牌计算程序
- GB/T 42340-2023生态系统评估生态系统格局与质量评价方法
- 化学热力学的初步概念与化学平衡
- 物理学史 物理的初创
评论
0/150
提交评论