ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:313.78KB ,
资源ID:83789      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-83789.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(业务数据集成.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

业务数据集成.docx

1、业务数据集成1.1.1.业务数据集成业务数据集成是指MDM Server与外围系统之间的数据交换时需要中间处理的模块应用层。如图所示,外围系统要紧通过三种模式与MDM Server交互(那个地点不考虑ETL):直截了当的web service访问 要紧通过 协议联机访问,一样不通过业务集成层而直截了当访问数据服务层近实时的消息通知 要紧通过MQ消息访问,需要在业务集成层进行必要的处理批量处理 要紧通过文件进行数据传递,需要在业务集成层进行处理业务集成服务层的要紧内容包括:近实时的消息通知数据标准代码的转换交易xml的拆分其他规则批量处理标准代码的转换入库方式判定处理,判定是否是新增依旧更换交易

2、拆分其他规则1.1.2.联机数据集成(基于MQ/XML)联机数据集成要紧处理近实时消息通知,处理模式如下图所示。MQ组件是所有的客户信息更新消息的载体,MsgReceiver组件负责接收MQ的消息,通过MsgParser组件进行xml格式解析,MsgReceiver转交到IntegrateFW组件,IntegrateFW组件是转发框架,负责业务集成层的差不多操纵,依照报文的类型调用必要的规则处理进行数据转换或者信息拆分,然后交由具体逻辑处理实现模块IntegrateImpl完成业务集成逻辑,并最终通过ServiceInvocation模块调用MDM的服务,完成交易。数据服务层要紧包括扩展服务和

3、组合服务。如上图,依照业务需求,一样性的顺序如下详述:1 ejbCreate MQ中的信息通知WAS容器,依照MsgReceiver组件的MDB情形,创建一个实例进入池态;2 onMessage WAS容器调用MDB的onMessage方法,并把消息作为参数传递到该方法;2.1 deliver onMessage方法中调用IntegrateFW组件的deliver方法,并传递消息;2.1.1 parse IntegrateFW组件调用MsgParser组件解析传入的消息体;2.1.1.1 Constructor MsgParser组件依照消息体解析,生成一个IBObj对象;2.1.2 pars

4、e parse方法返回生成的IBObj对象;2.1.3 getTCRMTxType 猎取IBObj对象的服务类型;2.1.4 getTCRMTxType 返回字符串结果;2.1.5 getRequestName 猎取IBObj的要求者;2.1.6 getRequestName 返回;2.1.7 Constructor IntegrateFW依照服务对象和要求者,实例化一个IntegrateImpl组件中集成服务实例;2.1.8 execute 调用具体实例的业务逻辑,并把IBObj作为参数传递;2.1.8.1 callRule 调用标准代码转换规则,进行必要规则处理;2.1.8.2 callR

5、ule 返回规则处理后的IBObj对象;2.1.8.3 matchRule 调用客户识别规则,进行识别2.1.8.4 matchRule 调用返回2.1.8.5 constructIBObj 在具体的业务逻辑处理中,依照具体需要调用MsgParser创建需要的IBObj对象;2.1.8.5.1 Constructor MsgParser构建新的IBObj实例;2.1.8.6 constructIBObj 返回具体的IBObj实例;2.1.8.7 setAttribute 处理具体的IBObj实例内容;2.1.8.8 setAttribute 处理内容返回;2.1.8.9 toServiceXm

6、l 处理完所有的IBObj实例内容后,调用方法转换为xml标准服务格式;2.1.8.10 toServiceXml 返回xml字节流;2.1.8.11 invoke 调用MDM服务;2.1.8.12 invoke 返回;2.1.9 execute 完成具体业务集成逻辑实例的执行;2.2 deliver 完成整个业务集成逻辑的执行;注:2.1.8到2.1.9之间可能有多次的callRule和invoke调用;2.1.8 到2.1.9 execute的调用需要包括在事务处理中;批量处理的业务集成层设计参见批量型章节。1.1.2.1.MsgReceiver组件MsgReceiver组件要紧由Inte

7、grateMDB组成,IntegrateMDB是一个MessageDriverBean,通过onMessage(Message)方法接收MQ的消息通知。信息接收组件要紧负责从MQ接收消息,参数Message使用BytesMessage类型,消息格式为XML形式,其具体的接口定义参见服务接口定义中的相关通过MQ接口部分。接口要紧包括:个险 增加客户(addPerson / CSCMQ)个险 保全修改客户(updatePerson / CSCMQ)电商网上销售 增加客户(addPerson / TOLMQ)电商网上销售 修改客户差不多信息(updatePersonBase / TOLMQ)电商网上

8、销售 保全修改客户(updatePerson / TOLMQ)注:以上括号中的服务名是指各个业务系统提交到MQ中的消息服务名,而不是MDM调用的标准服务名;组件调用IntegrateFW组件进行后续处理。public void onMessage(Message msg) if (msg instanceof BytesMessage) BytesMessage bm = (BytesMessage) msg; long length = bm.getBodyLength(); byte bs = new bytelength; bm.getBytes(bs); BytesInputStrea

9、m bis = new BytesInputStream(bs); IntegrateFW.deliver(bis); else 1.1.2.2.IntegrateFW组件IntegrateFW组件是框架组件,负责业务集成层的操纵调度。组件负责调用MsgParser组件,解析xml报文,然后依照报文类型调用具体的操纵处理逻辑,同时调用业务处理规则进行数据和业务处理,最后形成处理后的报文提交ServiceInvocation组件调用MDM Service,完成整个处理,同时假如在处理中发生专门,则交由IntegException组件处理专门结果。IntegrateFW组件中关于多个service

10、调用作为同一事务来治理,假如调用出错需要进行回滚处理。IntegrateFW组件暴露一个接口IntegrateLogic供IntegrateImpl组件实现,其接口方法如下。/* * 执行具体的业务集成任务. 用于MQ异步通知模式 * 在IntegrateImpl组件实现该方法,处理具体某一项接口的逻辑调用,一样包括 * 代码转换、服务拆分、服务变换、DSP判定等 * param is 输入流,是通过MQ接收到的消息内容,xml字节流 * throws ItegrateException 例外,假如发生例外需要到例外组件处理 */public void execute(IBobj obj) t

11、hrows ItegrateException;组件对外调用的Faade接口调用是IntegratFW类,使用静态方法。/* * 传递到IntegrateFW组件执行后续任务. 用于MQ异步通知模式 * param is 输入流,是通过MQ接收到的消息内容,xml字节流 */public static void deliver(InputStream is);1.1.2.3.IntegrateImpl组件IntegrateImpl组件是依照报文类型确定的具体的业务集成逻辑的实现。一期需求要紧包括:个险增加客户个险修改客户差不多信息个险保全修改客户信息网上销售增加客户参见个险增加客户,只是其接口

12、内容稍有差异网上销售修改客户差不多信息参见个险修改客户差不多信息,只是其接口内容稍有差异网上销售保全修改客户信息参见个险保全修改客户信息,只是其接口内容稍有差异此组件需要处理地址、 、电子邮件、客户标识等的格式变换,是把输入的对象格式变为标准的MDM扩展服务格式,包括:从粗粒度服务格式转换为updatePersonName服务格式转换为changePartyAddress服务格式 服务中确定具体调用correctPartyAddress依旧addPartyAddress依旧不做处理;转换为changePartyContactMethod服务格式 服务中定具体调用updatePartyConta

13、ctMethod依旧addPartyContactMethod依旧不做处理;从粗粒度服务格式转换为changePartyIdentifer服务格式 服务中定具体调用updatePartyIdentifer依旧addPartyIdentifer依旧不做处理;具体接口参见服务接口和MDM开发文档。服务逻辑参见相关在线服务组合服务设计;1.1.2.4.MsgParser组件信息解析要紧是依照xml报文解析其内容。MsgParser组件依照不同的报文类型解析不同的内容。MsgParser组件还负责输出变更后的报文结果。MsgParser是暴露在外的Faade调用界面,通过两个个方法接收外部调用。/*

14、* 解析xml. * param is 输入流,是通过MQ接收到的消息内容,xml字节流 */public static IBObj parse(InputStream is);/* * 把IBObj依照类型输出为标准的MDM service报文. * param obj 输入的IBObj * return 返回一个字节数组,组成xml,使用标准的iso-8859-1格式 */public static byte toServiceXml(IBObj obj);/* * 依照名称构建新的IBObj对象. * param name 输入的IBObj名称 * return 返回IBObj对象 */

15、public static IBObj constructIBObj(String name);IBObj是用于定义报文的bean,类似MDM中的BObj。IBObj要紧定义xml中的bobj对象,IBObj内部能够嵌套。其暴露的接口如下。/* * 设置IBObj的类型. 是指对象类型,如TCRMPersonBObj、* TCRMAdminContEquivBObj、TCRMPartyAddressBObj、TCRMAddressBObj等。*/public void setType(String name);public String getType();/* 设置服务的类型. */publ

16、ic void setTCRMTxType(String type);pubic String getTCRMTxType();/* 设置服务的对象类型. */public void setTCRMTxObject(String obj);public String getTCRMTxObject();/* 设置IBObj对象. */public void setIBObj(IBObj obj);/* 依照名字猎取IBObj对象. 只能猎取下一级对象.*/public IBObj getIBObj(String type);public String getAttribute(String t

17、ype);/* 设置属性. 自动区分处理Extension属性.*/public String setAttribute(String type, String value);/* 设置服务头. */public void setHeader(String header);public String getHeader();/* 设置要求操纵部分. */public void setRequestControl(String rc);public String getRequestControl();/* 设置要求操纵部分的要求名称. */public void setRequestName(

18、String rn);public String getRequestName();/* 设置要求操纵部分的LOB. */public void setRequestLOB(String rlob);public String getRequestLOB();1.1.2.5.DSP Rule组件处理DSP规则,具体参见DSP设计中在线可疑客户识别。1.1.2.6.CD Rule组件处理标准代码的转换,依照requestName来判定来源,并把源系统标准代码转换为MDM标准代码。CDRule组件由CDPool从数据库中装载标准代码数据映射。映射关系是各个源系统指向MDM。sources.prop

19、erites文件是每个源系统接口中的需要转换的代码定义,其格式如下:CSCMQ= GenderType|HighestEducationType|TCRMAdminContEquivBObj. AdminSystemType|TOLMQ= GenderType|格式以Key=Value方式存放,key为源系统提交的requestName,而值是以|分割的多个数据域,每个数据域都需要进行标准代码替换。假如该数据域是在接口的更底层,以.作为路径分割,如TCRMAdminContEquivBObj.AdminSystemType表示是在该对象中的TCRMAdminContEquivBObj对象下的A

20、dminSystemType需要进行代码转换。具体的实现类CDRule则依照输入IBObj对象和相应数据定义进行代码转换任务。RuleFW是对外暴露的调用类,提供静态方法。/* * 规则调用处理. * param type 规则类型,依照此类型确定是调用哪个规则实现 * param obj 输入输出对象,规则实现对其进行处理,并形成结果返回 */public static void callRule(Stirng type, IBObj obj) throws IntegrateException;一期需要进行的代码转换为:个险数据域源系统代码源系统值MDM代码MDM值GenderTypeM男

21、M男F女F女U未知U未知TCRMPartyIdentificationBObj.IdentificationType0身份证00其它1参字第10后字第11空文字第12北文字13护照14装字第15北文字第RelationshipType1本人2夫君3妻子4父亲5母亲6亲小孩HighestEducationType01文盲02小学03初中04高中05大专06本科07研究生及以上08中专未知MaritalStatusType0未婚0未婚1已婚1已婚2离婚2离婚3鳏寡3鳏寡AddressUsageTypeB单位地址2单位地址P邮递地址3邮递地址R家庭地址1家庭地址电商网上销售银保养老金团险1.1.2.

22、7.Utils组件Utils组件是工具类组件,要紧包括服务调用组件,负责进行MDM服务的调用通过IIOP方式访问MDM的EJB(DWLServiceController)来处理web service格式的要求,具体请参考MDM workbench中的com.ibm.mdm.training.testerDWLServiceControllerTester。数据库访问1.1.2.8.IntegException组件例外处理的组件,假如处理过程中有例外,则需要记录例外的缘故和状态,并把该服务要求xml储存到数据库。例外后需要储存的内容如下:字段代码类型备注错误流水号ERRLOGIDBigIntPK

23、,自增型时刻LOG_DTTimestamp错误返回消息ERRMESSAGEVarchar(255)exception.getMessage()或者业务逻辑错误说明,如找不到该客户等错误提交消息REQUESTXMLXml字段错误堆栈同样需要记录到log4j日志中。1.1.3.批量数据集成(基于批量/XML)批量处理的要紧内容类似业务数据集成章节的近实时处理部分,要紧是FileParser模块治理各个业务系统上传的批量文件,并调用MsgParser模块解析具体的数据内容,同样,依照规则处理各个业务逻辑规则,然后形成具体的批量文件,并调用MDM的BatchProcessor进行批量处理。具体模块关系

24、如下图所示。批量处理的部分将会复用较多的近实时处理部分的业务组件,包括:MsgParser组件IntegException组件CDRule组件1 detectFile 守护线程,检查各个系统相应名目下的上穿文件是否ready;2 Constructor 读入文件,形成文件输入流和输出流,并调用批量处理,依照源系统类型实例化具体的业务逻辑处理实例,传递输入流;3 readOneService 从输入流读取一个service块;4 readOneService 返回读取的service块;5 parse 调用MsgParser把servie块的xml格式解析成为一个IBObj;6 parse 返回

25、IBObj;7 callRule 调用代码转换rule,转换客户证件类型、地址类型、联系类型为MDM标准代码;8 callRule 调用返回;9 writeTmp 把客户关键信息写入数据库,内容参见临时表定义;10 writeTmp 返回;以上从3到10循环处理,直到文件输入流到尾端;11 resetFile 把文件输入流重新定位到开始;12 resetFile 返回重新定位后的文件输入流;13 callRule 调用批量客户识别的规则处理;13.1 updateTmp 依照规则处理结果更新临时表,确定客户增加、修改类型以及客户的地址、联系、证件类型更换类型;13.2 updateTmp 处理

26、临时表终止;14 callRule 调用规则返回;15 readOneService 从文件输入流读入一个service xml块;16 readOneService 返回service块;17 parse 调用MsgParser解析为一个IBObj;18 parse 返回IBObj;19 readTmp 读入一条与IBObj匹配的临时表记录;20 readTmp 读入返回数据;21 callRule 调用格式转换规则处理,依照临时表类型标志,转换IBObj的内容为标准服务的IBObj;22 callRule 返回转换完毕的IBObj;23 toServiceXml 把IBObj转换为标准的x

27、ml格式;24 toServiceXml xml结果;25 writeXml2File 把xml结果写入文件输出流;26 writeXml2File 返回;以上15到26循环处理,直到文件处理完毕;27 runbatch.sh 关闭相应资源,调用MDM的BatchProcessor进行批量处理,完成后处理相应输入输出及中间文件;1.1.1.1.批量处理接口批量处理要紧包括三个外部系统接口:银保增加客户养老金增加客户团险增加客户具体接口格式参见服务接口外部系统输出符合接口规范的数据文件,并FTP到规定的名目,具体参见服务接口中“批量接口模式”。1.1.1.2.FileParser组件FilePa

28、rser组件是解析文件的处理,其要紧处理客户的上传数据文件,同时新建输出结果文件。解析整体文件格式;包括输入输出,输出文件每个service xml只能是一行;FileParser调用IntegrateFW组件以处理不同的业务集成逻辑。FileParser组件暴露一个抽象类IntegrateBatchLogic供IntegrateImpl组件实现,其抽象方法如下。/* * 执行具体的业务集成任务. 用于批量模式 * 在IntegrateImpl组件实现该方法,处理具体某一项接口的逻辑调用,一样包括 * 代码转换、服务拆分、服务变换、DSP判定等 * param is 输入流,是通过MQ接收到的消息内容,xml字节流 * throws ItegrateException 例外,假如发生例外需要到例外组件处理 */public abstract void executeBatch(InputStream is,OutputStream os) throws ItegrateException;在IntegrateBatchLogic中还实现必要方法:resetFile 重置文件指针到文件头;callBatchSDP 调用批量客户识别规则;callRule 调用代码转换规则;getService 猎取文件的下一个service块;callMDMBatch 调用MDM的runb

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2