级别: 初级 娄丽军, 软件部工程师, IBM
2004 年 12 月 01 日 文本将以银行领域的某个用户的具体需求为例,向大家介绍一个完整的基于WBI InterChange Server的多银行业务系统整合的解决方案及其开发和实现。
目前金融领域的信息系统面对银行企业业务与企业资源整合的需求,在新的金融产品不断开发以及电子商务的冲击下,已经面临信息处理方式的改变,信息部门也已经深切地体会到重新规划及整合现有的应用系统信息处理流程的重要性。同时,各营业单位也一再要求对一些业务做整合服务,各使用者(包括对公用户及对私用户)也希望银行能够提供更加快速、简易的服务接口,如网络银行、电话银行、MMS、ATM等,以便让他们能快速完成与银行的交易或业务往来,如此多渠道、多品种的整合服务需求,信息部门站在领导全行进入以客户服务为经,以新的信息流整合服务为纬的目标下,必须快速找到解决方案,以适应新一代信息处理的需求。
IBM的WebSphere Business Integration(简称WBI)解决方案作为企业业务整合领域的一个端到端的解决方案,涵盖了从应用系统连接、应用整合以及业务流程整合的各个方面,已经在银行领域获得了广泛应用,利用WBI作为银行各个业务系统的统一业务整合平台,可以将银行相关系统,如:网银系统、客户服务系统(包括Call Center)、信用卡系统、后台银行核心业务(Core Banking)系统以及其它系统等进行有机互连,并实现银行企业的业务流程重组。
文本将以银行领域的某个用户的具体需求为例,向大家介绍一个完整的基于WBI InterChange Server的多银行业务系统整合的解决方案及其开发和实现。
1 系统总体框架
在本例中,某银行主要面临如下几大系统之间的整合,其中包括:网上银行系统,该系统基于特定的商业软件包实现,其对外的接口方式采用Web Service的标准;电话银行(Call Center)系统,该系统采用Siebel应用软件实现;后台核心交易系统,该系统运行于IBM主机平台,通过主机前置系统访问,其前置系统的通讯访问方式主要有MQ, CICS和TCP/IP三种。这些系统的的建设都不是一个个独立的系统,必须和相关系统进行集成,才能发挥协同工作的巨大效能。以网上银行系统为例,它不仅需要访问银行后台核心业务系统(信贷、零售、信用卡、基金系统等)来完成交易;也需要和Call Center协同工作,充分利用现有的客户信息资料;同OA系统结合,将客户服务中心的用户接触界面和银行内部工作流结合起来,完成如申请、投诉等内部工作流比较复杂的交易;将来可以和商务智能(BI)系统进行集成,将后台经营分析所得到的结果用于前端用户访问渠道,如客户服务中心等等。为了实现这些系统间的有效整合,我们采用了WBI InterChange Server(简称ICS)解决方案。
WBI产品包主要包括InterChange Server、Message Broker、MQ Workflow等业界领先的产品,这些产品可以从不同的角度和方面来满足客户的需求。其中MQ Workflow用于有人工参预参与的业务流程管理,Message Broker用于大批量的系统间的数据路由和格式转换,而ICS实现多系统间的业务流程整合。这里根据该银行的切实需求,我们选用了ICS的解决方案。
WBI提供强大的连接性,它既提供各种与现有商业应用连接的Adapter,可以将企业内部各种应用系统进行无缝连接,如SAP, Notes, Sibel, SWIFT, People Soft, I2 等,又支持各种标准数据格式或应用的接口,如Web Services, JDBC等,对于这些应用可以不必开发新的接口,减少开发的工作量;同时提供适配器的开发工具软件包,用以开发客户化的适配器。
这里,我们将利用WBI提供的相关的适配器与具体的应用系统进行连接,其中包括:使用WBI Siebel Adapter用于整合Call Center的Siebel系统;使用WBI SOAP Adapter用于整合网银系统;WBI MQ Adapter用于整合后台主机系统以MQ为接口的应用等;对于以TCP/IP和CICS为接口的前置系统,我们将为其开发特定的适配器等。
WBI的适配器(Adapter,也称Connector)架构提供了对于信息和流程整合解决方案成功与否的关键的、卓越的功能。适配器是ICS中的流程(Collaboration)和应用程序的接口,它分为适配器控制器,适配器代理两部分。适配器控制器和ICS运行在相同的系统上,并且和流程直接交互以及实现数据映射(Data Mapping)。适配器代理和应用程序运行在不同的系统上,它负责与外围应用程序直接交互。适配器控制器和适配器代理协同工作,不仅提供了一个统一接口,在该接口上,数据对象(Business Object,简称BO)互相通讯;并且通过数据对象的通讯将各个应用系统整合到ICS整体的系统解决方案中。
接下来,我们将详细阐述系统中主要采用的几类重要的适配器的设计原理,使用ICS的客户化开发过程,以及三个典型业务流程的开发步骤和方法。
2 与Call Center系统的连接
2.1 WBI与Siebel的多种连接方式概述
到目前为止,Siebel应用系统主要提供三种与外界接口的连接方式,其中包括EAI, ASI, UAN等。
首先,是大家所熟悉的eAI接口,即Siebel eBusiness Application Interface(简称eAI)提供Siebel应用与外部应用程序的接口,eAI提供了三种接口机制:
a)eAI通讯(eAI Transports):
它使用业界标准技术通过同步和异步的通讯模式,使得Siebel应用与外界交互,这种方式可以提供:
双向的数据交换;运行在Siebel Object Manager框架内;调起/被调起Workflow Process Manager和eAI Dispatch Service;以XML格式发送/接收数据等功能。
它有IBM MQ, MSMQ,HTTP,DLL和文件连接等几种连接方式。
b)对象接口(Object Interface):它主要的两种连接方式为Microsoft OLE DB Provider和Java Data Beans。
c) 数据库级别接口/批处理(Database Level Interface/Batch Loading):除了上述两种方式之外,Siebel提供Enterprise Integration Manager(简称EIM)方式进行大数据量交换和批(Batch)处理。
对于eAI接口,从其使用模式上,有另外一种分类方法,它也可以分为实时处理模式和批量处理模式,
另外,从Siebel V7.5版本开始,Siebel又推出了两种对外的接口方式,分别是Application Services Interface(简称ASI)和Universal Application Network(简称UAN)。ASI通过业界一些标准格式与外界接口,包括XML DTD,Web Services Descriptive Language/XML Schemas Definition(WSDL/XSD)。而UAN提供了与业界著名的EAI产品平台的集成,其中包括IBM,并且IBM是其全球战略性联盟伙伴。在UAN中,Siebel提出了其产品组成框架,其中包括Common Object Model, Business Process Controller, Transformation, Adapter, Integration Server等,IBM的WBI平台可以对其提供充分的支持。
WBI对Siebel eAI,ASI和UAN这三种接口方式都提供了很好的支持。
a) 对于eAI方式,WBI提供若干种连接方式:例如:
对于其eAI Transport方式,可以使用WBI MQ Adapter通过MQ方式与其相连;对于其Object Interface方式,可以使用WBI Siebel Adapter直接与其相连。
b) 对于ASI方式,WBI也提供了多种连接方式:
对于从外界到Siebel方向的连接,有如下几种方式:
对于从Siebel到外界方向的连接,有如下几种方式:
c) 对于UAN方式,IBM已经与Siebel达成协议,IBM成为其全球战略联盟。
2.2 WBI Siebel Adapter工作原理
在此,根据该银行的实际情况,我们选择使用WBI Siebel Adapter来与Call Center系统连接。
在Siebel应用系统架构中,包含了如下三个层面:
a) 用户接口对象层(User interface objects layer):该层包含了与用户交互的可视化组件
b) 业务对象层(Business objects layer):该层包含业务组件(Business Components)和业务对象(Business Objects),Business Component由若干字段组成,是业务实体的基础;而Business Object是相关Business Component的组合。
c) 数据对象层(Data Objects layer):该层提供了底层物理数据库的逻辑表示对象的定义。
WBI Siebel Adapter使用Siebel Java Data Bean与Business objects层通讯。
其工作原理如下图所示:
WBI 适配器由两部分组成:
特定于应用的组件(Application Specific Component):直接与用户某种具体的应用系统交互,负责提取和更新应用系统中的数据。对于源端系统而言,它需要通过Event Notification Mechanism(事件发现机制)来捕获源应用系统中的数据;对于目标系统而言,它需要接收来自ICS的数据处理请求,对目标应用系统中的进行相应的数据操作。
适配器统一框架(Adapter Framework):实现适配器控制器和适配器代理之间的通讯,所有类型的适配器拥有共同的框架结构。统一框架提供的服务主要有:一方面,从适配器控制器接收数据对象或将数据对象发送给适配器控制器;另一方面,负责适配器控制器和适配器代理之间关于代理启动信息和管理信息的交互。采用统一框架的好处在于:当开发某个适配器的时候,开发人员不必考虑以与ICS系统连接的方式以及配置信息的获得方式,而只需要将精力集中在如何与应用系统交互上。
WBI Siebel Adapter使用Siebel Java Data Bean提供的Java API与Siebel Object Manager交互以实现数据交换。在Siebel应用架构中,Siebel Java Data Bean是与Siebel数据对象的接口。
2.3 关于Siebel系统中ASBO的设计和开发
WBI为我们提供了如下几种方式来实现数据对象的开发:
a) 使用图形工具Business Object Designer,这是一个强大的开发工具
b) WBI随产品向用户提供常用的数据对象,如在SAP,Siebel等系统中用到的数据对象,并且,随着这些系统的变化和升级,IBM会及时更新这些数据对象,并把它们放在网站上,供用户直接下载使用
c) 使用WBI提供的Object Discovery Agent(ODA)的工具,自动发现和生成数据对象。ODA是一个功能强大、简便易行的数据对象生成工具,可以支持从多种应用系统中直接提取数据对象的定义,从而直接生成相关的数据对象。如:JDBC ODA用于直接从数据库系统中提取数据对象的定义,I2 ODA分别用于从I2系统中提取数据对象的定义,SAP ODA用于直接从SAP系统中提取数据对象的定义等,并且,目前IBM正在开发越来越多的针对其他应用系统的ODA工具。
这里,对于Call Center系统中的数据结构我们采用WBI Siebel ODA来提取数据对象的定义,这可以节省我们非常多的工作量,缩短开发周期,这是WBI Adatpter以及IBM Business Integration解决方案的重要优势之一。
对于与其它应用相关的数据结构,我们采用ICS提供的数据对象设计工具BO Designer来创建。
3 与网银系统的连接
由于用户的网银解决方案平台采用了标准的SOAP协议作为与外界的接口,我们采用WBI for Web Services (或称SOAP) Adapter来实现与网银系统的连接。在WBI的最新版本V4.2中,本身就包含了这个适配器。
WBI Adapter for Web Services包含下列组件:
- SOAP Adapter:用于从Collaboration中调用外部的Web Services
- Data Handler:用于SOAP消息与数据对象(Business Object)之间的格式转换
- 工具集:用于将某个将特定的Collaboration封装为Web Services, 并产生其Proxy Class和WSDL描述。
当调用外部的Web Services时,需要用到下列组件:SOAP Adapter、SOAP Data Handler、Business Objects、Apache SOAP implementation等。
当封装一个流程以供外部调用时,需要用到下列组件:Server Access Interface以及生成Web Services的工具等。
其中SOAP Adapter的功能主要为:接收来自ICS 流程的请求;调用SOAP Data Handler实现Business Object和SOAP消息的互相转化;使用SOAP API调用外部的Web Services。
因此,使用WBI for Web Services Adapter可以实现与网银平台的双方向的连接。
4 与后台主机前置系统的连接
针对该银行的现状,主要核心业务都运行在IBM的大型主机平台上,同时提供了大前置平台调用主机系统交易,外部系统与大前置的连接有三种需要连接的方式,既MQ, CICS, TCP/IP;针对这三种连接方式,我们将采用不同的解决方案。
4.1 与MQ的连接
对以MQ为接口的大前置,我们利用WBI for MQ Adapter与其进行整合。
在WBI中,ICS与MQ整个产品家族都有着无缝的集成,它不仅提供MQ Adapter, 还提供Message Broker Adapter, MQ Workflow Adapter。 MQ Adapter使用MQ的JMS Interface与MQ系统交互,它可以从指定的MQ队列中读取消息,调用Data Handler将其转化为相应的数据对象,发送给流程; 另外,它可以获取来自流程的数据对象,将其转化为MQ的消息,然后将其发送到指定的MQ队列中。
4.2 与CICS和TCP/IP的连接
对于开放平台上的CICS, 由于WBI只提供与主机平台上的CICS连接的适配器,因此,在此,我们需要开发客户化的适配器来实现。
对于TCP/IP,也需要开发客户化的适配器来实现。
对于适配器的开发,WBI提供了Adapter Development Kit开发工具,并且支持Java、C++等编程接口。
如前所述,Adapter分为适配器控制器和适配器代理两部分,对于所有类型的适配器其控制器代码都是相同的,不需要做额外的开发。因此,对控制器的开发,都是指对适配器代理的开发。通常而论,适配器代理直接与应用程序接口,因此针对每一个应用有其唯一性。但是,虽然不同的应用有不同的实现方式,所有的适配器代理共享一套通用的系统架构功能。所有的适配器代理用轮巡(Polling)的方式监控它们的应用的相关事件。在源端,适配器代理获得应用的事件通知。当某一事件被发现,适配器代理利用在ASBO定义中的Application Specific Information将该事件同一个特定的ASBO联系起来。适配器代理创建ASBO的实例,将它发送给适配器控制器,然后适配器控制器进行ASBO到GBO的映射,之后将GBO发送给某一个流程。在目的端,适配器代理对从目的端的适配器控制器接收来的ASBO进行解析,将数据变化更新到目标系统中。
ICS提供了一个统一的适配器开发框架,在该框架内主要完成两方面的开发,一方面是实现源端事件发现机制并且从具体应用系统数据中创建出数据对象,另一方面是在目的端接收ICS的请求,对其请求进行处理,在目的应用系统中完成对数据的相应操作。
它的开发框架如下:
public class ***Agent extends CWConnectorAgent{
public ***Agent() {}
public String getVersion(){}
public void agentInit(){}
public CWConnectorBOHandler
getConnectorBOHandlerForBO(String BOName) {
return new ****BOHandler(); }
/ * 实现对来自collaboration的处理 * /
public int pollForEvents() {}
/ * 实现事件发现机制 * /
public int terminate(){}
}
|
5 基于WBI ICS的客户化开发过程
使用ICS进行应用系统间整合时,要遵循如下的一个客户化开发过程:
1. 设计业务对象
ICS采用通用数据对象模型(Common Data Model)来进行不同系统之间的数据转换,在ICS中采用数据对象(Business Object)来表示应用系统数据。这里,它将数据对象分为两种,将以之相连的不同应用的数据格式统一抽象为通用业务对象(Generic Business Object,简称GBO),而把与各种应用相关的数据实体用特殊业务对象(Application Specific Business Object,简称ASBO)来表示,利用二者的数据映射来实现ASBO和GBO之间的数据转换。
下面针对本案例举例说明。在网银与其它各个系统连接时,将会涉及到相关的很多数据结构,比如客户信息就是一个重要的数据结构,而不同的系统对于客户信息的数据结构定义可能各不相同,在WBI中,我们将针对网银、Siebel、大前置系统,定义不同的客户信息数据对象,即三个不同的ASBO:IB_CustomerInfo、Siebel_CustomerInfo、Switch_CustomerInfo;此外,我们在这三个ASBO基础之上,将会给出一个通用数据对象:Generic_CustomerInfo,它是IB_CustomerInfo、Siebel_CustomerInfo、Switch_CustomerInfo的并集,囊括了网银、Siebel、大前置三方面相关的所有数据结构中的字段。
综上所述,由于ICS内部数据以数据对象的方式进行信息交互,在本阶段需要进行两种数据对象的设计,一是针对不同应用系统开发相应的特殊业务对象,二是设计ICS内部处理的通用业务对象。
2. 设计数据映射,实现异构系统之间的数据转换
ICS通过数据映射(Data Mapping)的功能,实现不同系统之间的数据转换。比如,假设在涉及CustomerInfo的某个流程中我们要连接网银和大前置系统,我们将定义两个数据映射:Map1_IB_TO_Switch和Map2_Switch_TO_IB,利用Map1_IB_TO_Generic实现IB_CustomerInfo和Generic_CustomerInfo之间的数据转换,然后,利用Map2_Generic_TO_Switch实现Generic_CustomerInfo和Switch_CustomerInfo之间的数据转换。我们可以看出,Generic_CustomerInfo是IB_CustomerInfo和Switch_CustomerInfo之间的桥梁。
因此,在本阶段我们需要根据不同数据格式的关系,利用图形化工具Map Designer开发出相应的数据映射,以实现GenBO与ASBO不同数据格式间的格式转换。如有需要,还会通过ICS提供的Relationship Designer开发所需的关系(Relationship),实现数据间的交叉引用(Cross Referencing)。
3. 设计与开发适配器
对于ICS缺省没有提供的适配器,我们需要利用ICS提供的适配器软件开发包(Adapter Development Kit)来设计和开发,如本例中的Adapter for CICS 和Adapter for TCP/IP。一旦设计开发完毕,每次使用只须作简单配置,即可重复在各种业务场景的实施中被使用。由于适配器为Java语言开发,可以实现适配器跨平台的优势。
4. 配置现有的适配器,参照前面的阐述,选择适合的适配器与各系统相连。
5. 设计与开发流程模板(Collaboration Template),实现业务逻辑。
在WBI ICS中,使用流程(Collaboration)来描述企业的业务流程处理逻辑,流程在ICS中被执行,它包含了对业务进行处理和整合的逻辑来协调所有流程中的操作和数据传输。WBI提供了图形工具,用于定义普通的业务流程或企业特有的业务流程的各个步骤。
在本案例中,将会存在很多各种各样的业务处理流程。例如:对客户联系地址信息的修改就是一个流程,由于客户联系地址同时存在于网银和电话银行系统的客户信息中,因此在流程中,我们要实现二者的同步,即任何一个系统中的修改需要同步更新另一个系统的数据。
对于类似这样的流程,我们可以使用WBI提供的Process Designer定义出其流程模板,在模板的基础上创建流程对象(Collaboration Object),从而在运行环境中,生成流程实例,ICS流程处理引擎便可实现上述客户信息在两个系统中的同步。
上述开发过程中,Adapter的开发与配置可以与数据对象及流程的开发并发进行。由于WBI提供了可视化的测试连接器工具(Visual Test Connector, 简称VTC)可以充分的利用资源,独立进行流程的开发和调试,从而提高开发效率和项目实施质量。
6 典型流程和开发过程举例
在了解了使用ICS进行应用整合所需要的系统开发基本过程之后,我们将针对本案例中,各个系统间交互所涉及到的3个典型业务流程来深入描述我们的开发过程和实现方法。这三个典型业务流程分别是:客户开户和下挂帐户维护流程、客户联系地址信息修改流程和客户投诉求决跟踪流程。
1) 客户开户和下挂帐户维护(客户信息同时存在于网银和电话银行系统中,外部系统对客户信息的修改需要同时通知两个系统):客户必须到柜面上去作开销户和帐户维护(增加、删除下挂帐户)操作,柜面系统在验证完客户信息后,会通过大前置系统触发电话银行和网上银行的交易,以更新客户信息(CIF)。
基于ICS解决方案的业务场景开发步骤如下:
a) 业务对象的设计
对业务对象的设计,要包括特殊业务对象设计和通用业务对象设计两部分。
i. 特殊业务对象(Application Specific Business Object, ASBO)的设计:
- 通过大前置传递的柜面客户账户信息(Switch_CustomerAccount)的分析,利用BO Designer进行特殊业务对象Switch_CustomerAccount的设计
- 网银系统客户帐户信息(IB_CustomerAccount)ASBO的设计:
通过XML Object Discovery Agent(XML ODA),利用图形化工具BO Designer,快捷方便地对网银系统的Web Services所处理得网银客户地址SOAP/XML格式的数据进行解析,生成特殊业务对象IB_CustomerAccount.
- 电话银行客户帐户信息(Siebel_CustomerAccount)ASBO的设计:
通过Siebel Object Discovery Agent(Siebel ODA),利用图形化工具BO Designer快捷方便的发现和生成特殊业务对象Siebel_ CustomerAccount.
ii. 通用业务对象(Generic Business Object, GBO) - 客户地址(Generic_CustomerAddress)的设计
根据通用业务对象的设计原则,结合Switch_CustomerAccount、IB_CustomerAccount和Siebel_CustomerAccount的数据结构特点,通过BO Designer设计开发Generic_CustomerAccount。
b) 数据映射的设计
根据不同数据格式的关系,利用图形化工具Map Designer开发出以下6个Map,以实现GBO与ASBO不同数据格式间的格式转换。
i. Generic_CustomerAccount → Switch_CustomerAccount
ii. Switch_CustomerAccount → Generic_CustomerAccount
iii. Generic_CustomerAccount→IB_CustomerAccount
iv. IB_CustomerAccount → Generic_CustomerAccount
v. Generic_ CustomerAccount → Siebel_CustomerAccount
vi. Siebel_CustomerAccount → Generic_CustomerAccount
c) 适配器设计与开发:
需要利用WBI提供的适配器软件开发包(Adapter Development Kit)来设计和开发Adapter for CICS 和Adapter for TCP/IP。
i. Adapter for CICS,利用CICS Transaction Gateway与Switch实现双向的CICS通讯。实现后台系统通过Switch与网银系统及Call Center系统的通信。
ii. Adapter for TCP/IP,在适配器代理中利用TCP/IP与大前置Switch通信,读取数据。同时利用WBI提供的Data Handler来实现对数据的解析。WBI提供了Fixed-Width, Name-Value等Data Handler来处理字串,提高了开发的效率。
d) 适配器的使用与配置:
参照前面的阐述,选择适合的Adapter与各系统相连。
- 网银系统:WBI Adapter for Web Services
- Call Center系统: WBI Adapter for Seibel
- Switch:根据Switch的传输方式选择,WBI Adapter for WebSphere MQ, WBI Adapter for CICS(客户化Adapter), WBI Adapter for TCP/IP (客户化Adapter)
e) CustomerAccountSync 流程模板的设计与开发,实现业务逻辑。
WBI提供了可用的CustomerSync的流程模板。根据本场景的业务逻辑,确定流程的触发条件及业务规则,在CustomerSync的基础上定制CustomerAccountSync Collaboration模板. 同时支持多种子业务场景,创建/查询/修改/删除(Create/Retrieve/Modify/Delete)。
f) 基于CustomerAccountSync 流程模板,创建运行实例Collaboration Object CustAccSync,并绑定至对应的Adapter。
2) 客户联系地址信息修改(联系地址同时存在于网银和电话银行系统的客户信息中,任何一个系统中的修改需要同步更新另一个系统的数据):客户通过网银修改自己的联系地址,网银系统在更新自己系统中的客户信息的同时需要更新电话银行系统中的客户信息;客户通过电话修改自己的联系地址,电话银行系统更新自己的客户信息的同时,还需要通知网银系统更新客户信息。
基于ICS解决方案的业务场景开发步骤如下:
a) 业务对象的设计
i. 特殊业务对象(Application Specific Business Object, ASBO)的设计
- 网银系统客户地址(IB_CustomerAddress)ASBO的设计
通过XML Object Discovery Agent(XML ODA),利用图形化工具BO Designer,快捷方便地对网银系统的Web Services所处理得网银客户地址SOAP/XML格式的数据进行解析,生成ASBO IB_CustomerAddress.
- Call Center系统中客户地址(Siebel_CustomerAddress)ASBO的设计
通过Siebel Object Discovery Agent(Siebel ODA),利用图形化工具BO Designer快捷方便的发现和生成ASBO Siebel_CustomerAddress.
ii. 通用业务对象(Generic Business Object, GenBO) - 客户地址(Generic_CustomerAddress)的设计
根据GenBO的设计原则,结合IB_CustomerAddress和Siebel_CustomerAddress的数据结构特点,通过BO Designer设计开发Generic_CustomerAddress。
b) 数据映射的设计
需要根据不同数据格式的关系,利用图形化工具Map Designer开发以下4个Map,以实现不同数据格式间的格式转换。
i. Generic_CustomerAddress → IB_CustomerAddress
ii. IB_CustomerAddress → Generic_CustomerAddress
iii. Generic_CustomerAddress → Seibel_CustomerAddress
iv. Siebel_CustomerAddress → Generic_CustomerAddress
c) 适配器的使用与配置
i. CallCenter系统:WBI Adapter for Siebel
ii. 网银系统:WBI Adapter for Web Services
d) CustomerAddressSync 流程模板的设计与开发,实现业务逻辑。
WBI提供了可用的ContactSync的流程模板。根据本场景的业务逻辑,确定流程的触发条件及业务规则,在ContactSync的基础上定制CustomerAddressSync 流程模板。
e) 基于CustomerAccountSync 流程模板,创建运行实例,并绑定至对应的适配器。
i. CustAddrSync 流程对象:从网银系统到Call Center系统CustomerAccount的实时更新。由于此子业务场景中,WBI提供Web Services,需要通过WBI Adpter for Web Services所提供的工具,将流程对象CustAddrSync封装为Web Service 发布于支持Web Services的Web Server中(WebSphere Application Server),以供网银系统调用。
ii. CustAddrSync1 流程对象:从Call Center系统到网银系统CustomerAccount的实时更新。
从网银系统到Call Center系统CustomerAccount的实时更新:
从Call Center系统到网银系统CustomerAccount的实时更新:
3) 客户投诉求决跟踪(投诉记录保存在电话银行系统Siebel中):客户可以通过网银或者电话银行新增投诉求决记录,如果通过网银渠道的话,网银系统需要实时更新电话银行的数据库,以让电话银行人员能够查询和处理这些投诉记录;客户可以随时通过网银或电话银行查询目前自己的投诉处理情况,或者补充投诉/意见内容。
基于ICS解决方案的业务场景开发步骤如下:
a) 业务对象的设计
i. 特殊业务对象(Application Specific Business Object, ASBO)的设计
- 网银系统客户投诉信息(IB_CustomerComplaint)ASBO的设计
通过XML Object Discovery Agent(XML ODA),利用图形化工具BO Designer,快捷方便地对网银系统的Web Services所处理得网银客户地址SOAP/XML格式的数据进行解析,生成ASBO IB_CustomerComplaint.
- Call Center系统客户投诉 (Siebel_CustomerComplaint)ASBO的设计
通过Siebel Object Discovery Agent(Siebel ODA),利用图形化工具BO Designer快捷方便的发现和生成ASBO Siebel_CustomerAddress.
ii. 通用业务对象(Generic Business Object, GenBO) - 客户地址(Generic_CustomerComplaint)的设计
根据GenBO的设计原则,结合IB_CustomerComplaint和Siebel_CustomerComplaint的数据结构特点,通过BO Designer设计开发Generic_CustomerComplaint。
b) 数据映射的设计
需要根据不同数据格式的关系,利用图形化工具Map Designer开发以下4个Map,以实现不同数据格式间的格式转换。
i. Generic_ CustomerComplaint → IB_ CustomerComplaint
ii. IB_ CustomerComplaint → Generic_ CustomerComplaint
iii. Generic_ CustomerComplaint → Seibel_ CustomerComplaint
iv. Siebel_ CustomerComplaint → Generic_ CustomerComplaint
c) 适配器的使用与配置
i. CallCenter系统:WBI Adapter for Siebel
ii. 网银系统:WBI Adapter for Web Services
d) CustomerComplaintSync 流程模板的设计与开发,实现业务逻辑。
根据本场景的业务逻辑,确定流程的触发条件及业务规则,设计和开发CustomerCompaintSync Collaboration模板。支持多种业务场景,包括创建/修改(补充)/查询(Create/Update(Append)/Retrieve)。网银通过对Web Services的调用,可以实现实时的创建/查询/修改(补充)Siebel中的客户投诉数据。
e) 基于CustomerComplaintSync 流程模板,创建流程对象CustComplaintSync,并绑定至对应的适配器。
此业务场景中,需要将流程对象CustComplaintSync封装为Web Service 发布于支持Web Services的Web Server中(WebSphere Application Server),以供网银系统调用。
至此,我们完成了使用ICS实现该银行网上银行系统、Call Center系统和核心业务系统之间的高效整合,从中可以看出使用ICS进行系统设计和开发的全过程以及技术优势。
结束语
WBI为各个行业都提供了相应的具有行业特点的解决方案,并且提供了行业中典型业务系统的参考流程模板,通过本文,我们结合一个具体实例,学习到了WBI在银行领域的应用场景和开发实现过程,希望对大家有所帮助。
关于作者  | |  | 娄丽军,IBM公司软件部售前工程师,1998年加入IBM公司软件部,四年来一直从事IBM通讯及业务整合中间件(WebSphere Business Integration家族)产品的技术支持工作,是软件部从事该领域技术支持时间最长的工程师之一,拥有WebSphere Business Integration相关的产品经验,这些产品包括WebSphere MQ家族的所有产品:MQSeries, MQ Integrator, MQ Workflow以及CrossWorlds等,并具有很多大型项目的支持经验,曾参与国家税务总局,人民银行清算系统、华夏银行电子联行系统、中国联通计费系统、海关与国家税务总局互连系统,以及公安部、铁道部、中信实业银行、电信等重要客户的有关项目的技术支持。 |
对本文的评价
|