已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文档标题元数据运行时用户手册版本 V1.0文 档 编 号保 密 等 级作 者段永见最后修改日期审 核 人最后审批日期批 准 人最后批准日期第 II 页 共 87 页IDE系统FS 元数据运行时修改记录日期版本作者/修改者描述审核人2011/09/13段永见初始建立目录1 元数据运行时定义51.1 概念51.2 功能52 元数据运行时系统配置52.1 解释引擎预加载52.2 报文字段格式处理62.3 系统参数73 元数据配置73.1 元数据概念73.2 元数据属性73.3 元数据配置文件74 元结构配置84.1 接口的元结构94.1.1 元结构点属性94.1.2 元结构根结点属性104.1.3 技术字段104.1.4 业务字段114.2 服务元结构124.2.1 服务元结构的定义125 拆组报文分类135.1 XML报文135.1.1 拆包135.1.2 组包145.2 CD报文145.2.1 拆包145.2.2 组包185.3 定长报文185.3.1 拆包185.3.2 组包185.4 ISO8583报文185.4.1 拆包195.4.2 组包205.5 自定义报文205.5.1 拆包215.5.2 组包211 元数据运行时定义1.1 概念元数据运行时是ESB运行时功能模块,设计时元数据运行时解释引擎基于接口和服务的元结构定义生成报文格式转换类,在运行时,元数据运行时根据不同的交易调用不同的报文格式转换类,完成报文格式的转换。1.2 功能元数据运行时主要给ESB容器提供报文拆组功能。具体描述如下:在IN容器中,元数据运行时首先将由渠道系统发送到IN容器的报文拆成ESB内部报文格式SDO,然后对SDO进行流化,将流化后的报文发送到核心路由,接着,报文进入OUT容器中,OUT容器处理完毕之后,IN容器将从核心路由接收到被流化的SDO响应报文之后,元数据运行时再将数据反流化成SDO,最后IN容器返回响应报文给渠道应用时,再从SDO转换成渠道响应报文的格式;在OUT容器中,元数据运行时将OUT容器从核心路由收到的被流化的SDO报文进行反流化成SDO,然后OUT容器接出到服务系统时,元数据运行时将SDO转换成服务系统所需要的报文格式,接着,元数据运行时再将从服务系统返回给OUT容器的响应报文转换成SDO,最后元数据运行时将SDO进行流化,OUT容器将流化后的SDO发送到核心路由,IN容器将从核心路由接受报文进行处理。2 元数据运行时系统配置元数据运行时配置主要包括以下几个方面:2.1 解释引擎预加载解释引擎是元数据运行时用来生成报文格式转换代码的解释器,不同类型的报文对应不同的解释引擎,解释引擎预加载配置文件中配置了不同类型的报文与解释引擎实现类的对应关系,元数据运行时为几种常用的报文类型提供了默认的解释引擎。配置文件路径:$容器配置根目录/metadata/preload.xml默认配置内容如下:发布ESB版本时,该配置文件的内容如上所示,默认配置了xml、定长、cd、8583和湛江fix报文(以开始控制字符分割)和SOAP报文所对应的组包解释引擎实现类和拆包解释引擎实现类。配置属性列表:属性名称注解type报文类型parser_generator拆包解释引擎实现类,实现接口erfaces.generator. IParserGeneratorpakcer_generator组包解释引擎实现类,实现接口erfaces.generator. IPackerGenerator如果默认提供的这几种报文类型不能满足需求,可以自己提供解释引擎,然后配置到该文件即可。2.2 报文字段格式处理在定长报文中,针对报文中不同的字段可以定义不同的格式处理类,通过不同的格式处理类来按照不同的格式对报文字段进行处理。这些格式处理类主要用来定义字段的编码格式、对齐方式、填充字符、字节序列到值的转换方式和值到字节序列转换方式。配置文件路径:$容器配置根目录/metadata/preload.xml配置文件默认没有配置任何格式处理实现类,示例配置如下: 配置属性列表:属性名称注解name格式处理类对应的名称,在定长报文接口元结构定义中,可以作为元结构点的属性,定义了该属性的元结构点,它所描述的报文在拆组过程中,将使用该属性对应的格式处理类进行处理。impl-class-name格式处理实现类,实现接口:erfaces.storemode.IDataStoreModeattribute可选属性列表encoding字符编码fill_char填充字符left_align是否左对齐2.3 系统参数元数据运行时所需要的系统参数配置文件路径如下:$容器配置根目录/metadata/perties属性列表:属性注解data.store.type元结构文件存储方式,目前支持file存储3 元数据配置3.1 元数据概念元数据是描述数据的数据,是一种数据实例,而不是一种规则或者范式。元数据是树状结构的,组成树的每一个节点我们称为元数据,树状结构我们称为元结构。元数据是具有唯一概念的实体,比如“客户”、“账号”、“姓名”等等。元数据表达的是业务单元,不是技术参数,区分的方法是技术参数通常可以适用于描述所有元数据的某个属性(比如数据长度)。为了管理方便,可以对元数据进行逻辑上的分组,这些分组在运行时刻没有意义,仅仅是为了管理方便。并不是所有的元数据都有“值”,通常没有“值”的元数据都是元结构中的非叶子节点,比如元数据“客户”。3.2 元数据属性元数据的属性用于描述元数据的技术参数,如精度、数据类型等。通常,每一个元数据都会有众多属性来描述。相对于元数据来说,每一个属性必须有确切的值,比如“数据类型=整型”、“精度=15”等。元数据属性列表:属性名称注解type数据类型length值的长度groupname分组的名称chinese_name中文别名remark注释3.3 元数据配置文件配置文件目录:$容器配置根目录/metadata/metadata.xml配置文件示例:4 元结构配置元结构是由元结构点组成的,每一个结构点可以有一个父亲和多个孩子,从而组成一棵结构树。每一个结构点引用一个元数据,将元数据用元结构来进行组织,从而形成对数据整体的描述。每一个结构点会有类似于元数据属性的结构属性,用于描述结构的特性和逻辑。元结构与元数据不同于,元数据描述的是业务元素,而元结构描述的则是结构规则。相对于业务元素的不可知性,结构规则是可抽象和有限的。因此,元结构属性是有限的。元结构从逻辑上划分,可以分为接口的元结构和服务的元结构。4.1 接口的元结构接口的元结构是用来描述渠道应用系统或者服务系统与ESB之间交互的报文所对应的元结构。渠道应用系统或者服务系统所对应的接口元结构包括两部分,请求接口的元结构和响应接口的元结构。接口元结构文件的命名规则:channel_渠道名_service_服务名.xml,service_服务名_system_服务系统名.xml。下面介绍接口元结构中元结构点的属性、元结构的根结点、技术字段和业务字段等。4.1.1 元结构点属性元结构点属性列表:属性名称注解type该元结构点所引用的数据的类型length该元结构点所引用的数据的长度metadataid该原结构点引用的元数据的IDexpression该元结构点对应值求值的表达式required该元结构点对应的值是否必输isSdoHeader该院结构点描述的值是否是技术字段,技术字段没有元数据引用(metadataid属性不存在)nullable该元结构点描述的值是否可以为nullbevirtual该元结构点是否是虚拟节点(默认否)format该元结构点所描述数据的格式串store-mode该元结构点所描述数据的处理类引用 表达式用法本小节对接口元结构中元结构点定义的表达式语法进行说明。 常量:字符串常量:以双引号开始和结束或者以单引号开始或结束;整形常量:一个或者多个0-9数字构成布尔常量:true或者false 变量命名方式:$xpath,其中xpath是该元结构点在接口元结构或者服务元结构中的路径。 运算类型:逻辑运算:and(&)、or(|)和not(!)位操作:and(&)、or(|)、xor()和complement()比较操作:=(eq)、!=(ne)、(gt)、算术运算:+、-、*、/(div)、%(mod) 内置函数:empty(var):是否为null,或者空字符串,或者集合元素个数为0;size(var):集合的大小,字符串的长度 自定义函数:自定义函数配置文件路径:%容器配置目录/metadata/functions.xml配置示例:属性列表:属性名称注解isstatic提供的该方法是否是静态方法class提供该方法的类profix定义表达式属性时,函数前面的前缀4.1.2 元结构根结点属性属性列表:属性名称注解package_type报文类型(xml、cd、fix等)impl_class自定义类型报文解释器实现类switchfield分支字段标示(分支字段的xpath),如果不存在该属性则认为是正常报文的元结构switchmode分支模式例如(000:normal;999:abnormal),如果不存在该属性则认为是正常报文的元结构4.1.3 技术字段技术字段不同与业务字段,它可以像业务字段一样在应用之间传递,但是它只在接口元结构中定义,而不需要在服务元结构中定义。技术字段的定义方式如下: 技术字段通过属性isSdoHeader=”true”来定义,技术字段没有metadataid属性,不需要引用元数据。另外,如果想在一个应用中获取另一个应用发送过来的技术字段,那么两个应用接口元结构中定义的技术字段在元结构中的XPATH路径必须一致。 动态路由动态路由就是基于报文内容的路由,例如,渠道应用根据请求报文中某个字段的取值访问不同的服务,这就是动态路由,这个字段称为路由字段。在定义接口元结构时,把描述路由字段的元结构点定义成技术字段,它与一般的技术字段相同,通过属性isSdoHeader=”true”来定义,不同的是,描述路由字段的元结构点的属性除了普通技术字段的属性外,还有两个特有属性cbrfield和cbrmode。例如,下面接口元结构中的元结构点就用来描述一个路由字段:cbrfield用来定义路由字段在元结构中对应的XPATH,而cbrmode用来定义路由的模式,上面接口元结构中描述路由字段的元结构点cbrmode值表示:如果该字段值为1,则访问服务QueryAccountInfo_public;如果值为2,访问服务QueryAccountInfo_individual。4.1.4 业务字段接口元结构中,含有属性metadataid的元结构点所描述的数据称为业务字段。接口原结构中,除了技术字段之外的字段,都是业务字段。例如,下面接口元结构中所有元结构点描述的都是业务字段: 元结构点引用的metadataid,必须在元数据配置文件中定义。4.2 服务元结构服务元结构是在ESB中定义的服务模型,服务元结构中定义的只有描述业务字段的元结构点。服务元结构文件的命名规则为service_服务名.xml。4.2.1 服务元结构的定义服务元结构定义文件中定义了三个元结构,服务请求的元结构、正确响应的元结构和错误响应的元结构,格式如下所示,例如: 根结点是服务的名称,request节点中是请求报文对应的元结构,response对应的是正常响应报文的元结构,而error是错误报文对应的元结构。request、response和error都以sdoroot做为子元结构点。服务元结构中元结构点所引用的metadataid,也必须在metadata.xml中定义。5 拆组报文分类拆包的含义是从其它格式的报文转换成ESB内部报文SDO,而组包则是从ESB内部报文SDO转换成其它报文格式。一个交易会对应某个渠道访问ESB的某个服务,然后再通过ESB接出到某个三方服务系统。以帐户余额查询交易为例,渠道名为ZZJJ,服务名为QueryAcctAmt,服务系统为HXXT2。那么就会存在以下几个元结构定义文件:channel_ZZJJ_service_QueryAcctAmt.xml:渠道ZZJJ到服务QueryAcctAmt请求报文接口元结构定义service_QueryAcctAmt.xml:服务QueryAcctAmt元结构定义service_QueryAcctAmt_system_HXXT2.xml:服务QueryAcctAmt到系统HXXT2请求报文接口元结构定义文件channel_HXXT2_service_QueryAcctAmt.xml:系统HXXT2到服务QueryAcctAmt响应报文接口结构定义文件service_QueryAcctAmt_system_ZZJJ.xml:服务QueryAcctAmt到渠道ZZJJ响应报文接口元结构定义。这几个元结构定义文件是在设计时通过服务治理界面配置生成,在运行时下发到ESB的IN和OUT容器。当接口和服务的元结构定好之后,就可以确定两个结构之间的映射和计算关系,从符合接口元结构定义的报文生成服务服务元结构定义的SDO,或者从符合服务定义的SDO生成符合接口元结构定义的报文,即完成拆包和组包的过程。报文的拆组大概分为以下几种类型。5.1 XML报文5.1.1 拆包将xml类型的报文转换成SDO称为xml的拆包。这种情况下,需要将接口元结构定义成描述xml报文类型的元结构。例如,下面这个接口元结构就是用来定义XML类型报文的元结构:接口元结构根结点的属性package_type用来描述该元结构所描述的报文类型,如果没有配置该属性,则默认为描述xml报文类型的接口元结构。接口元结构和服务元结构定义好之后,就可以通过xml类型报文对应的解释引擎生成基于硬编码实现的拆包类。拆包类所实现的功能可表述如下:先根据xml报文的tag(和)读取报文的内容,将报
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业生跟踪调查报告
- 2025年度旅游与Hospitality行业旅游资源保护技术准入考核试卷
- 2025年仓储安全管理员考试模拟试卷含答案解析
- 2025年工业互联网平台应用工业云服务用户满意度提升制造业继续教育考核试卷
- 2025年制酒设备5S发酵管理考核试卷
- 2025年循环经济(农业循环经济模式方向)资格考核试卷
- 2025年危险废物跨区域转移监管协作考核试卷
- 2025年传媒行业短视频内容创作资格考试(垂直细分领域短视频用户需求挖掘与满足)考核试卷
- 2026年四川职业技术学院单招职业倾向性考试必刷测试卷必考题
- 2026年安庆职业技术学院单招职业技能考试必刷测试卷附答案
- 腔隙性脑梗死课件教学
- 2025食品检验员知识初级考核题库及答案
- 2025至2030中国军工行业市场发展现状及发展趋势与发展趋势分析与未来投资战略咨询研究报告
- 2025-2030中国数控卧式车床行业运行动态及盈利前景预测报告
- 竹荪菌种制作技术
- 教科版(2024)科学二年级第一单元《5.建造小房子》教学设计
- 2025年注册安全工程师考试化工(中级)安全生产专业实务试卷及解答
- 四川旭虹光电科技有限公司曲面显示用盖板玻璃生产线(二期)环评报告
- 2025年秋招:工行笔试题库及答案
- 菏投热电(巨野)有限公司招聘笔试题库2025
- 武汉大学传感器技术课件
评论
0/150
提交评论