对于运用工业标准和服务定位,IFX 支付参考是一个很好的实践指南。从以支付处理作为参考的IFX规范中可以我们看出 web服务如何能被构建和分解的。这个参考证实了服务定位目标与银行工业标准的一致,同时举例说明了如何将消息模型和服务整合到BizTalk Server商业过程管理中去。
应用于:面向服务的体系架构的交互式金融交易平台 (IFX)
点击here可以下载本文的源代码。
介绍 多年以前,交互式金融交易平台(IFX)从 OFX 银行组织派生出来,OFX 银行组织的目的是为个人理财市场的客户提供解决方案和标准。IFX的形成增强了商业银行、自动柜员机、银行之间、以及商业支付线的工作能力。几年来, IFX 规范取得了巨大成功并被广泛采用, 最显著的表现是其被大多数ATM厂商和OEM所应用。客户和经销商以不同方式选择采用IFX 规格。但最关键的是,他们可以在银行机构内外使用被行业认可的数据标准和信息模式来传输数据。
几年以前,当Web services开始掌控技术界时,显然数据标准成为了在基于SOAP 和 XML信息基础构造之上传输商业信息的关键。最近几年,这些数据标准正努力迎合新出现的体系架构。这种体系架构目前被称之为服务定位。在这种努力下,目前已经形成更颗粒化的,以信息为基础的商业信息构架。此框架有更多的组成数据元素,并有公共安全框架支持。
对于这研究方向,IFX也不例外。在IFX 商业信息规范现在和过去的版本中,都经历了DTD和早期的XSD时代,他们从从DTD模式继承了相同整体结构。目前,为了与服务定位达成一致,IFX 的发展致力于捕捉信息的粒度。从MSDN文章Architecting Industry Standards for Service Orientation中可以看到有关标准状况和一些目前权威机构设计变化的更深入讨论。
一年以前, IFX 努力开始与其他的标准组织合作,在交叉领域中定义" 交易内核 " 。核心的数据信息被压缩成跨行业共同认可的格式,这种格式支持金融机构之间的货币交易。此内核是一个可扩充的基础信息, 但是其本身又包含必要的处理指令和汇款信息用以在两个机构之间处理交易和支付。这个交易内核的真正价值在于协同互用性和行业接受度,这点对于任何类型交易都非常重要。这个跨行业的成果被称为 IST Harmonization,全球的银行组织都可以采用它,就如同SWIFT、 RosettaNet 和 IFX 标准一样。
随着交易内核和服务定位的出现,Microsoft以展示IFX标准粒度和将交易内核包括在从消费者到银行,银行到银行的普通商业过程为概念依据开始工作,POC 的目标是:
1.
> 通过继承XML集成标准,为创建服务定位的信息提供参考
2.
为相同信息、校正信息的载入和服务提供了服务分析参考
3.
整合WSE安全与交易内核
4.
运用BizTalk Sverver 2004进行IFX规范的商业处理
参考手册文档,代码和VPC可以从Microsoft Architecture Center的多种渠道获得。
IFX 标准用法 在每个特定的IFX BMS商业信息中都有数以百计的数据单元。每条信息都会产生一个对象分级请求,它们在服务执行过程中被处理。每条信息的大多数元素都是可选的,因此每次商业处理都必须决定它们需要选择哪些元素加以使用。在 POC 中,我们仅仅选择从客户到银行和银行间传递一条支付信息的所必需最小部分。
IFX 标准也包括许多帮助银行进行内部交易处理商业银行信息。比如:将资金在两个账户之间转帐。POC证明了上述商业信息是如何推动了被称之为No Fail Bill Pay的新的交易模式。在这个模式里消费者可以通过设置参数允许银行系统查看其他帐户资金,并且做出适度调整弥补帐户支付来避免透支和NSF的责令。
POC只需少量的步骤就可将服务定位适用于当前的IFX1.7规范。首先, 我们使用的交易信息必须被分割成单个的请求应答信息模式。为了支持这种模式,我们同时创建了两个可被称为数据字典的关键参考的模型。其一是全球的通用类型持有者,那些元素通常可以应用到 POC的所有的模式中, IFX BMS 也是有这些元素组成的。第二种支持模型是一个对象库,它被指定为更高级的商业功用: 比如,交易对象库。
图 1. IFX标准支持模型
这些层的分离允许通用类型的单模式维护,避免了冗余而且为订制信息提供了更好的组合。LOB对象库为一个特定商业路线的所有类型提供了一个高层节点,允许特定商业路线必要元素的隔离。
在IFX BMS中允许如下的信息从1.7 规范中抽取出来,放入个人的请求应答消息模型:
1.
BalInq*-是一个余额查询信息设置,用于在指定的帐户中查询余额。
2.
CustPayeeInq*-消费收款人查询。用于查询收款人名单、名单中的消费者有或重新获得、创建一个交易权限。
3.
PmtAdd*-支付附加信息是一个关键信息。它通知银行建立一个带有收款人和消费者数据的支付信息,并向支付帐户申请借出。
4.
XFerAdd*- 转账附加信息是一个内部信息,在银行内部它把钱从一个帐户划转到另外一个账户。
5.
支付初始化模型就是本文前面提到的交易内核,它是从PmtAdd*信息数据中建立的。
上述这些不包括对象库模型(用<import>声明)和通用类型。他们也是 POC 对于XML的支柱。
服务定位 IFX POC 的目标之一是示范分解服务和信息到服务的接口队列。前面所列出的每条信息都和SOAP的操作类型相一致,并且以请求信息作为输入以应答信息作为输出。在WSDL中,该操作被严格定型,并允许设计时间绑定和在开发环境中查看。
在 POC 里面有六个服务。这些服务被分解为与预先指定的请求/应答组相对应,对IFX标准来说,这样就建立了大约100个服务机会。当然当汇集到了中心HUB (像Microsoft BizTalk Server 2004)的时候,也就不能再超过分派的任务。
每种服务都被严格归类为从IFX规范抽取出的模型。每种服务有一个获取请求信息的输入端口和输出应答信息输出端口。每条信息都有一个相关的ID号,允许使用BizTalk Server 2004对异步长时的交易事务进行处理和关联。
每条信息都与一个包含在其中的服务绑定。这些服务包含有如下的参数:
1.
IFXDemoIntraBankServices.BalInq-检查目标帐户的余额。
2.
IFXDemoIntraBankServices.CustPayeeInq-得到一个指定消费者的收款人列表和清单
3.
IFXDemoIntraBankServices.DebitAdd-向一个目标帐户申请借款
4.
IFXDemoIntraBankServices.PmtAdd—为银行间的转账创建一个支付对象,此对象可以用
【中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页】