货运主干消息传送架构的制作方法

文档序号:6468805阅读:216来源:国知局
专利名称:货运主干消息传送架构的制作方法
技术领域
本公开涉及用于跨越包括多个系统和技术的企业的通信的消息传送架构。

背景技术
商家面临着日益增长的压力不仅要销售日益多样的产品,而且还要将这些产品以及时、成本有效和高效的方式运送给客户。然而,信息技术架构传统上实现销售订单系统与货运和运输系统之间的明显分离。结果,商家无缝地协调销售与运送的能力以及从中央点处查看运送状态信息的能力受到限制。同时,买家获得状态信息以及收到其购买产品将及时送达的保证的能力受到限制。
尽管公司在新的系统和技术可用时实现了这些系统和技术,但是相同的公司通常还继续保持其原有的系统不变。将原有系统与新技术和系统进行整合可能是高代价的、技术上具有挑战性的并且耗时的过程。此外,即使实现了新技术,每当系统中需要微小改变时,可能都需要进行冗长的配置。这些问题使得改进运送和货运系统架构的尝试受挫。
需要一种解决上述问题以及先前所经历的其他问题的消息传送架构。


发明内容
本发明公开了一种消息传送架构,其扩展了现有企业中复杂系统的通信能力。该架构实现了在通常相异的订单管理系统系统与订单运送系统之间的复杂的消息传送能力。该架构改进了对运送和购买信息的集中式访问,其方式还在重配置任务期间防止了主订单管理系统停机时间过长。结果,该架构极大地流水线化了订单处理和运送,提高了生产率,增加了系统正常运行时间,并且提供了可广泛应用的整合解决方案。
在一个实施方式中,该架构包括出站(outbound)通道。该出站通道建立出站异步变换过程、以及围绕该出站异步变换过程的同步封装过程。该同步封装过程接受出站消息,将出站消息传递至出站异步变换过程,并且等待来自出站异步变换过程的对接收到出站消息的确认。
出站异步变换过程从同步封装过程接受出站消息,并且将针对接收到出站消息的确认发送至同步封装过程。出站异步变换过程还通过对出站消息应用出站变换规则集来将出站消息变换为已变换的出站消息。出站异步变换过程继而将已变换的出站消息异步地传送给接收方。
在研究下文的附图和详细描述之后,其他的系统、方法、特征和优点对于本领域技术人员而言将变得显而易见。意在将所有这些其他的系统、方法、特征和优点包括在本说明书之内,包括在本发明的范围之内,以及受到所附权利要求书的保护。



参考下文的附图和描述将更好地理解该架构。附图未必是按照比例绘制的,而是将强调的重点放在说明本发明的原理上。而且,在附图中,贯穿不同的视图,相似的标号表示相应的部分。
图1示出了一个系统实现,在该实现中,企业系统通过消息传送架构来进行通信。
图2示出了包括消息传送架构的系统实现的详细视图。
图3示出了出站异步变换过程。
图4示出了同步封装过程。
图5示出了入站(inbound)消息过程。

具体实施例方式 图1示出了系统实现100,其中,多个系统通过消息传送架构102进行通信。系统实现100可以包括任意数目的系统,每个系统的实现和目的可以有很大变化。在图1所示的例子中,订单管理系统104和电子商务系统106通过消息传送架构102与货运系统108和客户联系系统110进行通信。消息传送架构102促进系统104-110之间的信息流,这将在下文进行更详细的描述。
订单管理系统104可以实现订单接受、订单处理和/或运送请求功能。作为一个示例,订单管理系统可以是Siebel(TM)客户关系管理系统。电子商务系统106可以实现在线(例如,基于web的)购买和订单履行功能。货运系统108可以实现运费定价、路线确定、调度和其他运送功能。在一个实现中,由Oracle(TM)运输管理器来实现货运系统108。客户联系系统110可以实现客户反馈、通信以及其他客户联系功能。可以在定制的Oracle(TM)Fusion中间件层中设计和实现消息传送架构102中的逻辑。多种其他类型的系统可以包括在系统实现中,并且可以通过消息传送架构102进行通信。作为一个示例,作为订单管理系统104的附加或者作为替代,客户关系管理(CRM)系统可以使用架构102来进行通信。
消息传送架构102可以针对所有运输模式对货运转运者和基于资产的发货人的现金周期报价的多种情境实现自动化。例如,在第一情境中,消息传送架构102促进单分支、口岸到口岸的行程,包括通过订单管理系统104的订单进入将订单发送至货运系统108,在货运系统108中执行运送计划,以及在货运系统108中执行定价,其中将定价信息从货运系统108发送回订单管理系统104。在第二情境中,消息传送架构102促进多分支、多模式情境,包括通过订单管理系统104的订单进入将订单发送至货运系统108,在货运系统108中执行运送计划,在货运系统108中执行定价(其中将定价信息从货运系统108发送回订单管理系统104),以及运送执行,其中,运送行为和状态在货运系统108中更新并且在订单管理系统104中查看。可以实现门户(portlet)以提供从订单管理系统104到货运系统108的数据(例如,运送计划、运送执行或者运送定价)可视性。此外,消息传送架构102可以促进其他情境的实现。
图2示出了系统实现100的详细视图,其关注点在于订单管理系统104和货运系统108。特别地,订单管理系统104通过消息传送架构102与货运系统108通信。
消息传送系统102建立出站通道202,其包括出站异步变换过程204和围绕出站异步变换过程204的同步封装过程206。同步封装过程206接受出站消息208,并将出站消息208传递至出站异步变换过程204。此外,同步封装过程206等待来自出站异步变换过程204的对接收到出站消息208的确认。
出站异步变换过程204接受来自同步封装过程206的出站消息208,并且将针对接收到出站消息208的确认发送至同步封装过程206。异步变换过程204将出站消息208变换为已变换的出站消息210。在一个实现中,变换根据异步变换过程204在变换出站消息208时所遵循的出站变换规则集来进行。异步变换过程204将已变换的出站消息210异步地传送至接收方,在此示例中,接收方是货运系统108。
订单管理系统104包括系统接口214。系统接口214包括出站消息处理机216。出站消息处理机216将出站消息208发送至同步封装器206,其被配置用于接受出站消息208。出站消息处理机216可以包括web服务、进程间通信机制或者其他消息传递机制。
类似地,货运系统108包括系统接口218。系统接口218包括入站消息处理机220。入站消息处理机220接收已变换的出站消息210。入站消息处理机220可以包括web服务、进程间通信机制或者其他消息传递机制。
货运系统108在系统接口218中还包括出站消息处理机222。出站消息处理机222可以包括web服务、进程间通信机制或者其他消息传递机制。货运系统108对从订单管理系统104接收到的信息进行处理,并且生成相应的入站消息(例如,返回订单管理系统104的消息)。在图2中,将一个入站消息标记为224。入站消息可以源于在触发(例如,由订单创建或者运送终结来触发)时执行的自动代理226或者其他逻辑,或者源于当被对货运系统108内的运送细节进行手动修改时触发执行的自动代理228或者其他逻辑。
消息传送架构102还建立入站通道230,其包括入站异步变换过程232。入站异步变换过程232从出站消息处理机222获取入站消息224。入站消息224的产生可以是响应于已变换的出站消息210以及货运系统108响应于已变换的出站消息210的接收而执行的过程。入站异步变换过程232通过在变换入站消息224时遵循入站变换规则集236来将入站消息224变换为已变换的入站消息234。
订单管理系统104中的系统接口214还包括入站消息处理机236。入站异步变换过程232被配置用于将已变换的入站消息234传送至第一系统入站消息处理机236。入站消息处理机220可以包括web服务、进程间通信机制或者其他消息传递机制。入站消息处理机220还可以触发订单管理系统104中的更新,诸如利用已变换的入站消息234中的信息来更新货运定价视图、更新相关的数据库记录、或者进行其他动作。
此外,订单管理系统104建立门户238。该门户可以通过web接口或者其他通信机制与货运系统108直接通信。该门户还可以建立图形用户界面,操作者通过该图形用户界面来查看存储在货运系统中的运送细节。
上文提到的变换过程204、232可以按照多种不同的方式来实现。例如,可以利用商业过程执行语言(BPEL)来实现变换过程204、232。类似地,消息处理机216、220、222、236可以按照多种不同的方式来实现,而无需在每个架构中按照相同方式实现或是在相同架构中按照相同方式实现。规则集212和236可以定义用于在消息格式之间进行转换的映射。例如,规则集212和236可以建立订单管理系统104所使用的格式与货运系统108所使用的格式之间的映射。规则集可以规定消息字段的添加、删除、修改或者重新排序,或者数据修改、数据创建、数据导出、数据重排序、数据格式转换、数据字段默认值、或者从源格式消息开始、得到目标格式消息的其他数据操作选项。
操作的一个示例包括操作者将销售订单输入到订单管理系统104中。操作者可以使用用户接口元件经由出站消息208来将该销售订单发送给货运系统108,通过订单管理系统104也可以自动地发送该销售订单。出站消息处理机216在该时间点被触发,其继而调用出站通道202(其包括同步封装器206和异步变换过程204),来将订单管理系统数据变换为货运系统108可识别的格式。
出站消息通道202(具体地,异步变换过程204)调用入站消息处理机220,其在货运系统108中触发创建订单发布。作为响应,自动逻辑226被触发。自动逻辑226可以执行以下操作创建任务报告(例如,以可扩展标记语言(XML)),构建运送,应用支付条款,为运送指派总账编码,更新订单状态以反应计费,将任务报告发送至出站消息处理机222,以及向受托人发送通知表明发送了任务报告。
出站消息处理机222调用入站通道230。异步变换过程232将入站消息224中传递的任务报告中的定价细节变换为订单处理系统104可识别的货运定价细节。出站消息处理机230继而调用入站消息处理机236。作为该调用的结果,在订单管理系统104中更新货运定价。如上所述,订单管理系统104中还配置有门户238,其给出从货运系统108对运送细节的访问。对货运系统108中运送细节的人工修改可以触发自动代理228,其经由入站通道230将已更新的任务报告重新发送给订单管理系统104。
操作者可以通过按键动作(例如,点击销售订单屏幕中的“发货”按钮)来激活出站消息处理机216。当出站消息处理机216是web服务时,其可以通过导入web服务定义语言(WSDL)文件来创建。订单管理系统104继而可以创建整合对象、业务服务、元数据XML文件以及日志文件。对整合对象以及业务服务进行编译,得到已更新的存储库(SRF)文件。对于Siebel(TM)客户端而言,配置订单管理系统104可以包括导航到Sitemap(站点地图)→Administration(管理)→Web Service(Web服务)→Outbound WS(出站WS),以及导入上述元数据XML。配置还可以包括导航到Sitemap(站点地图)→Administration(管理)→Integration(整合)→Data Map Editor(数据映射编辑器)以及将“Internal Order Interface(内部订单接口)”映射至所生成的整合对象,配置用于附加于“发货”按钮的信号的工作流,以及映射出站web服务,将其发送至工作流的企业应用整合节点。
图3示出了出站异步变换过程204的示例实现。出站异步变换过程204从同步封装过程206接收订单细节(例如,在出站消息208中)(302),并且将订单细节从订单管理系统104的格式变换为货运系统108的格式(304)。例如,可以将来自订单管理系统104所使用的销售订单字段的订单细节映射为货运系统108中使用的订单发布字段。Siebel(TM)消息可以作为输入模式(schema),而Oracle(TM)传送管理器传输XML消息可以作为输出模式。
在将已变换的消息210发送至货运系统108之前,异步变换过程204指派并且检查用于进一步处理的变量。在“Send and Forget(发送并忘记)”消息传送范例的意义上,出站异步变换过程204可以是异步的。出站异步变换过程204调用入站消息处理机220(308),并且将已变换的消息210发送至货运系统108。这一过程可导致货运系统108中的订单发布。在将已变换的消息210发送至货运系统108之后,异步变换过程204指派并检查用于进一步处理的变量(310)。
因为货运系统108可能花费可观的时间来获取运送细节,出站异步变换过程204在货运系统108返回运送信息之前并不进行等待。相反,出站异步变换过程204完成,其中处理返回到同步封装过程206(312)。当运送信息可用时,货运系统108通过出站消息处理机222将运送信息发送回订单管理系统104。货运系统108中的工作流可以触发消息处理机222。
入站消息处理机220可以是响应于例如超文本传输协议(HTTP)之上的简单对象访问协议(SOAP)的web服务。可以使用业务过程执行语言“Invoke Activity(调用行为)”特征来调用入站消息处理机220,其中引用该web服务的合作者链接实现入站消息处理机220。货运系统108还可以发送回传输标识符作为确认。传输标识符可以充当对向货运系统108的传输的状态的检查。
图4示出了同步封装过程206的示例实现。围绕异步变换过程204的同步封装过程206提供具有技术优点的消息传送架构102。具体地,同步封装过程206将消息传送架构102与影响到货运系统108的消息流的改变隔离开。这种改变例如包括对WSDL文件中定位入站消息处理机220的端点统一资源定位符(URL)的改变。
在没有同步封装过程206的情况下,端点URL的改变需要在订单管理系统104中重新配置。停止并且重新配置订单管理系统104是耗时、昂贵以及低效的操作。同步封装过程206提供了中间架构性结构,其中,可以在封装过程层而不是在订单管理系统104处进行改变(例如,端点URL的改变)。例如,同步封装过程206可以更新,以反应目标服务的任何改变,例如指明入站消息处理机220的端点URL的改变。由此,同步封装过程206允许消息传送架构102避免订单管理系统104处不必要的重新配置。
同步封装过程206接收出站消息208(402)。在接收到出站消息208之后,同步封装过程204指派并且检查用于进一步处理的变量(404)。同步封装过程206调用出站异步变换过程204,传递出站消息206(406)。
同步封装过程206接收来自出站异步变换过程的对接收到出站消息206的确认(408)。在接收确认之后,同步封装过程206指派并检查用于进一步处理的变量(410)。同步封装过程206还向出站消息处理机216返回状态回复(412)。
由此,订单管理系统104调用同步封装过程206,且继而调用出站异步变换过程204。这种间接调用使得订单管理系统104和出站消息处理机216对于出站通道202的任何改变是透明的,同时维护了用于订单管理系统104的同步接口。
同步封装过程206提供用于订单管理系统104的服务抽象。从订单管理系统104调用web服务涉及复杂的配置。所调用的web服务的任何改变(例如,端点URL的改变)通常需要在订单管理系统104侧的重新配置。同步封装过程206提供了固定的封装web服务,以供订单管理系统104调用。货运系统108侧的任何改变可以被并入同步封装过程206,而不是改变订单管理系统104。
图5示出了入站异步变换过程232。入站异步变换过程232将货运定价细节传递至订单管理系统104(例如,在已变换的消息234中)。入站异步变换过程232接收入站消息224(502)。在接收到入站消息224之后,入站异步变换过程232指派并检查用于进一步处理的变量(504)。
入站异步变换过程232继而将入站消息224变换为出站消息234(506)。结果,货运系统108中的定价细节被转换为与订单管理系统104兼容的信息。入站异步变换过程232继而将出站消息234发送给订单管理系统104(例如,通过调用入站消息处理机236)(508)。处理继而在出站消息处理机222处继续(510)。
自动逻辑226、228可以调用入站异步变换过程232。入站异步变换过程232将来自货运系统108任务报告的定价细节(例如,XML形式)映射到订单管理系统104中的货运定价视图字段。为此,入站异步变换过程232可以将针对出站消息处理机222而定义的传输XML作为输入模式,并将入站消息处理机236WSDL文件中嵌入的模式作为输出模式。在将传输XML相关的字段映射到订单管理系统104字段之后,入站异步变换过程232调用入站消息处理机236,并且订单管理系统104更新定价细节以进行响应。
入站消息处理机236可以是web服务。创建web服务可能需要在订单管理系统104中创建IO。该IO可以包括在订单管理系统104中定义的货运定价视图的相关字段。创建web服务还可以包括,利用该新IO以及作为响应而生成的WSDL文件来更新订单管理系统104中的应用服务接口(ASI)。入站异步变换过程232使用WSDL文件来调用web服务。Web服务可以将定价细节插入或者更新到“货运定价”视图或者支持订单管理系统104的其他接口或者数据库。此外,web服务可以将从货运系统108传送的任务标识符作为整合标识符而插入订单管理系统104。门户238可以使用该整合标识符来标识、获取以及查看货运系统108上的相关联货运细节。
下面给出用于源(例如,订单管理系统104)与目标(例如,货运系统108)之间通信的消息模式。可以使用XML样式表(XLST)或者其他变换语言来完成从源系统消息格式到目标系统消息格式的变换。两个消息流方向包括从订单管理系统104到货运系统108的前向消息流,其用于货运系统108处的订单创建;以及从货运系统108到订单管理系统104的反向消息流,其用以提供价格或者其他细节。
表1示出了在去往货运系统108的前向流中使用的示例订单管理系统104元素。


图2示出了在去往货运系统108的前向流中使用的示例货运系统108元素。


表1和表2分别记载了订单管理系统104和货运系统108模式的元素。在从订单管理系统104向货运系统108移动前向流的消息以在货运系统108中创建订单时,涉及这些元素。规则集212可以从源模式向符合表1和表2所示元素的目标模式进行编码变换。Transport元素的“Release(ReleaseId)”用于发布货运系统108中的订单细节,有时将其称为发布接口。
表3示出了在从货运系统108到订单管理系统104的反向流中使用的货运系统108模式元素。

表4示出了在从货运系统108到订单管理系统104的反向流中使用的订单管理系统104模式元素。

表3和表4示出了规则集236在反向流期间,在入站异步变换过程232中,在货运系统108和订单管理系统104之间执行数据变换的针对货运细节的模式元素。例如,将来自货运系统侧的每个运送成本映射为FbOrderEntry-FreightPricing,其子元素根据该元素的功能进行映射。
表5-a到表5-b示出了针对去往货运系统108的消息流的规则集212可以在订单管理系统字段和货运系统字段之间实现的数据映射。表5-a和表5-b从左到右示出了货运系统XML(发送至货运系统)、相应的订单管理系统XML(发送至出站异步变换过程204)、标题(订单管理系统前端字段)、后端字段(订单管理系统中的数据库表列)以及评述。例如“ReleaseGid/Gid/DomainName”可被硬编码为不具有相应标题的“FWD”。






表5a和表5b以及表6建立用于变换消息的规则集。作为一个示例,发送给货运系统108的“Xid”应当映射为来自订单管理系统104的“OrderNumber(订单号)”。订单管理系统104前端名称为“BookingNo(订货号)”,并且匹配的数据库表列是“Order Number(订单号)”。
表6示出了规则集236可以在订单管理系统字段和货运系统字段之间实现以用于返回订单管理系统104的消息流的数据映射。


货运主干技术的基础是埃森哲在为高性能业务提供异常解决方案中的经验。该领域的思想领袖是Jason Ringgenberg、Sergio Nogueira和Chuan Neo Chong。
尽管已经描述了本发明的各种实施方式,但是对于本领域技术人员显而易见的是,在本发明的范围内可以有更多实施方式和实现。因此,本发明仅受所附权利要求及其等价项的限制。
权利要求
1.一种用于促进多个支持系统之间的协调通信的消息传送架构,所述消息传送架构包括
出站通道,包括
出站异步变换过程;以及
围绕所述出站异步变换过程的同步封装过程;
所述同步封装过程被配置用于
接受出站消息;
将所述出站消息传递至所述出站异步变换过程;以及
等待来自所述出站异步变换过程的对接收到所述出站消息的确认;
所述出站异步变换过程被配置用于
从所述同步封装过程接受所述出站消息;
将针对所述出站消息的所述确认发送至所述同步封装过程;
通过对所述出站消息应用出站变换规则集来将所述出站消息变换为已变换的出站消息;以及
将所述已变换的出站消息异步地传送给接收方。
2.根据权利要求1所述的架构,进一步包括
第一系统接口,其包括
第一系统出站消息处理机;以及
其中,所述同步封装过程被配置用于
从所述第一系统出站消息处理机接受所述出站消息。
3.根据权利要求2所述的架构,进一步包括
第二系统接口,其包括
第二系统入站消息处理机;以及
其中所述接收方包括
所述第二系统入站消息处理机。
4.根据权利要求3所述的架构,其中,所述第二系统接口进一步包括
第二系统出站消息处理机。
5.根据权利要求4所述的架构,其中,所述架构进一步包括
入站通道,其包括
入站异步变换过程,其被配置用于响应于所述已变换的出站消息,从所述第二系统出站消息处理机获取入站消息。
6.根据权利要求5所述的架构,其中,所述入站异步变换过程进一步被配置用于
通过对所述入站消息应用入站变换规则集来将所述入站消息变换为已变换的入站消息。
7.根据权利要求6所述的架构,其中,所述第一系统接口进一步包括
第一系统入站消息处理机,以及
其中,所述入站异步变换过程被配置用于将所述已变换的入站消息传送至所述第一系统入站消息处理机。
8.根据权利要求3所述的架构,其中
所述第一系统出站消息处理机、所述第二系统入站消息处理机、或者二者包括web服务。
9.根据权利要求5所述的架构,其中
所述入站异步变换过程、所述出站异步变换过程、或者二者包括
异步业务过程执行语言变换过程。
10.根据权利要求1所述的架构,其中,所述出站变换规则集包括
订单管理系统到传送管理系统的消息变换规则集。
11.根据权利要求6所述的架构,其中,所述入站变换规则集包括
传送管理系统到订单管理系统的消息变换规则集。
12.一种用于对多个支持系统之间的通信进行协调的方法,所述方法包括
执行出站异步变换过程;
执行围绕所述出站异步变换过程的同步封装过程;
在所述同步封装过程中
在所述同步封装过程中接受出站消息;
将所述出站消息传递至所述出站异步变换过程;以及
等待来自所述出站异步变换过程的对接收到所述出站消息的确认;
在所述出站异步变换过程中
从所述同步封装过程接受所述出站消息;
将针对接收到所述出站消息的所述确认发送至所述同步封装过程;
通过对所述出站消息应用出站变换规则集来将所述出站消息变换为已变换的出站消息;以及
将所述已变换的出站消息异步地传送给接收方。
13.根据权利要求12所述的方法,其中接受包括
从第一系统出站消息处理机接受所述出站消息。
14.根据权利要求12所述的方法,其中异步地传送包括
将所述已变换的出站消息异步地传送至第二系统入站消息处理机。
15.根据权利要求14所述的方法,进一步包括
执行入站异步变换过程;以及
响应于所述已变换的出站消息,从第二系统出站消息处理机获得入站消息。
16.根据权利要求15所述的方法,进一步包括
通过对所述入站消息应用入站变换规则集来将所述入站消息变换为已变换的入站消息。
17.根据权利要求16所述的方法,进一步包括
将所述已变换的入站消息传送至第一系统入站消息处理机。
18.一种产品,包括
机器可读介质;以及
存储在所述介质上的逻辑,其包括
出站异步变换逻辑;
同步封装逻辑,所述同步封装逻辑可操作用以
接受出站消息;
将所述出站消息传递至所述出站异步变换过程;以及
等待来自所述出站异步变换过程的对接收到所述出站消息的确认;
所述出站异步变换逻辑可操作用以
从所述同步封装逻辑接受所述出站消息;
将针对接收到所述出站消息的所述确认发送至同步封装逻辑;
通过对所述出站消息应用出站变换规则集来将所述出站消息变换为已变换的出站消息;以及
将所述已变换的出站消息异步地传送给接收方。
19.根据权利要求18所述的产品,其中,所述逻辑进一步包括
入站异步变换逻辑,其可操作用以通过对入站消息应用入站变换规则集来将所述入站消息变换为已变换的入站消息。
20.根据权利要求19所述的产品,其中
所述入站变换规则集包括订单管理系统到传送管理系统的消息变换规则集,并且其中
所述出站变换规则集包括传送管理系统到订单管理系统的消息变换规则集。
全文摘要
一种消息传送架构,其扩展了现有企业中复杂系统的通信能力。该架构实现了在通常相异的订单管理系统和运送系统之间的复杂的消息传送能力。结果,该消息传送架构极大地流水线化了订单处理和运送,提高了生产率,并且为期望集成订单处理和运送的客户提供了基础解决方案。
文档编号G06Q10/00GK101477646SQ20081018684
公开日2009年7月8日 申请日期2008年12月31日 优先权日2007年12月31日
发明者H·李, S·K·阿格拉沃尔, J·克里施南, R·帕坦卡尔, P·辛拉 申请人:埃森哲环球服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1