[BTS]BizTalk学习之Functoid篇(ID Cross-References)
早在三周前,就已经收集了所有有关Cross-Reference Functoid的资源,虽然现在看来,它并不是很难,但想真正的应用它,还是需要花费一些心思的研究一下,不过,托了三周时间,还是写完了。
任务目标
1.数据如何导入
2.使用Get Application ID Functoid
3.使用Get Common ID Functoid
4.测试Mapping
5.总结应该场景
一. 数据导入
就象前面的《[BTS]BizTalk学习之Functoid篇(Database Lookup) 》一样,Cross-Reference也是需要数据库表的,只不过,它的数据定义有自己的规则,并且数据是保存在BizTalkMgmtDB中,表以xref_开头。
定义Application Type数据
ApplicationType:应用类型,可以理解成应用程序名或系统名。
我是程序员,我把它当成类名(Class MyClass)
这个名称必须是唯一的,不能重复。
下面是一个AppType的定义文件。
定义AppInstance数据
instance:应用实例,一个应用的实例名,也必须是唯一的。
type:就是前面我们定义的应用名称
我理解成一个类的实例(MyClass c1 = new MyClass())
数据定义文件如下:
定义关联
name:关联的名称
(没想好怎么说)
定义具体的数据
commonID:通用ID号
appID:应用ID号
我理解成类中的一个索引。
在后面,我们需要这需ID,来相互转换。
数据定义文件如下:
定义导入数据文件
内容比较简单,对应相应的文件路径就可以了。
执行导入指令
BTS提供了BTSXRefImport.exe工具。
导入后,数据可以在BTSMgmtDB中找到。我简单使用了一个视图,显示它们的关系和数据。
二 开始定义Schema和Mapping
定义输入Schema。
输出的Schema
创建一个Mapping文件,托入一个Get Application ID Functoid。
Functoid中的赋值
使用先前网友给我提的意思,直接用Mapping中的Test功能来测试。
定义一个输入消息实例
执行测试后执行结果如下:
如果我用数据库查询的方式显示一下,就是下面的样子。
Get Application ID 就是取上面视图中appID的值,而Get Common ID就是取commonID的值 。
下面列举了三次执行结果。为了直观一些,我都放在一起了。
Get Common ID 测试, 与Get Application ID的方式差不多,这里,只需要修改一下输入数据, 修改Mapping中的functoid,这里就不再详细说明了。
看看图就懂了。
测试结果如下,相当于是Get Application ID的反操作。
总结
Cross-Reference适合应用于一个消息中某节点的值,在不同应用程序或系统中的显示值不一至时的映射中。
比如都是表示优先级的节点,可能在App1中用1,2,3,4,5表示;在App2中用最高,高,一般,低,极低;
当你要从App1的消息映射成App2的消息时,用Cross-Reference是最适合的了。
经过测试,直接修改数据库中的记录后,新的数据可以直接被Mapping中使用。
感谢
网友 upzone 的 《Cross Reference Functoid 》
[BTS]BizTalk学习之Functoid篇(ID Cross-References)相关推荐
- MySQL学习笔记-基础篇1
MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...
- 计算机视觉面试宝典--深度学习机器学习基础篇(四)
计算机视觉面试宝典–深度学习机器学习基础篇(四) 本篇主要包含SVM支持向量机.K-Means均值以及机器学习相关常考内容等相关面试经验. SVM-支持向量机 支持向量机(support vector ...
- Vue学习笔记进阶篇——Render函数
本文为转载,原文:Vue学习笔记进阶篇--Render函数 基础 Vue 推荐在绝大多数情况下使用 template 来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编 ...
- Vue学习笔记入门篇——数据及DOM
本文为转载,原文:Vue学习笔记入门篇--数据及DOM 数据 data 类型 Object | Function 详细 Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter ...
- MonoRail学习-介绍篇(一)
MonoRail学习-介绍篇 刚刚结束了使用Castle MonoRail的一个项目,所以想将在项目中的一些片段大家一起共享一样.由于这是一个网站项目,所以使用Monorail,因为他使用MVC模式, ...
- Nhibernate学习之many-to-many篇
学习目的: 通过进一步学习Nhibernate基础知识,掌握用Nhiberate实现多对多的业务逻辑 开发环境+必要准备 开发环境: windows 2003,Visual studio .Net 2 ...
- Vue学习笔记进阶篇——多元素及多组件过渡
本文为转载,原文:Vue学习笔记进阶篇--多元素及多组件过渡 多元素的过渡 对于原生标签可以使用 v-if/v-else.但是有一点需要注意: 当有相同标签名的元素切换时,需要通过 key 特性设置唯 ...
- Kubernetes学习-K8S安装篇-Kubeadm安装高可用K8S集群
Kubernetes学习-K8S安装篇-Kubeadm高可用安装K8S集群 1. Kubernetes 高可用安装 1.1 kubeadm高可用安装k8s集群1.23.1 1.1.1 基本环境配置 1 ...
- 渗透学习-SQL注入篇-基础知识的学习(持续更新中)
提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...
最新文章
- Hibernate缓存原理与策略 Hibernate缓存原理:
- 独家 | 零售业中的惊涛骇浪——人工智能、机器学习和大数据
- 北京周聪项目客商支付join用法
- java和python的语法有什么区别?
- peewee创建mysql_python – peewee MySQL,如何创建包装SQL构建的ins的自定义字段类型?...
- html字段隐藏,如何刮取动态隐藏的HTML字段(UuViewState)值?
- Caffe中的卷积实现
- 2022中国物联网行业研究报告
- 如何识别一个人是web前端程序员
- mysql主从同步触发器_Mysql 主从复制触发器问题
- [渝粤教育] 广东-国家-开放大学 21秋期末考试市场营销10256k2
- CentOS 7.x 安装教程、硬盘分区、LVM、网络配置、软件源配置、制作USB Disk、U盘安装、网络安装...
- Android 编写测试用例
- 计算机公式计算误差,如何在Excel2016中计算方差和均方误差?
- libcef-框架架构中概念介绍-进程-线程-引用计数-字符串等(一)
- 苹果服务器是不是在维修,苹果维修中心玩转这些才是真懂iPhone
- Macbook安装双系统的方法
- Kafka精华问答 | 为什么要用Message Queue?
- UICollectionView 自定义布局教程: Pinterest
- oracle double 两位小数点,【Oracle】number类型保留小数位
热门文章
- nyquist图怎么画matlab,用MATLAB绘制Nyquist图
- cent卸载mysql_centos 7.x 安装/卸载MySQL
- Python制作当年第一款手机游戏-贪吃蛇游戏(练习)
- python难学?对初学者不友好?进来看看,每30s就能学会一个小技巧,你get到了嘛?
- 简单介绍C语言使用四种方法初始化结构体
- Shell脚本逐行处理文本文件技巧
- Centos8中恢复根目录为默认权限
- 【MySQL】Java中的 JDBC 编程
- HDU4920(矩阵连乘)
- 可持久化普通线段树 ---- P2839 [国家集训队]middle 可持久化普通线段树 + 二分 求中位数最大值