深入biztalk中各种端口绑定方式(七)-- 直接绑定之Partner Orchestration

原创 2007年09月28日 14:31:00

1、 Partner Orchestration

合作伙伴业务流程直接绑定端口提供业务流程之间通过端口就行通讯的能力。跟自相关不同,合作伙伴业务流程直接绑定是一个流程的端口把消息发送到另一个流程的端口,消息并不需要返回到发送流程。

可以建立两种模式的合作伙伴业务流程直接绑定:

前向合作伙伴业务流程直接绑定

这是合作伙伴业务流程直接绑定的典型模式,这种情况有一个预设的接收orchestration ,前向合作伙伴业务流程直接绑定允许有多个发送流程把消息发向同一个预设的接收流程。

逆向合作伙伴业务流程直接绑定

这是合作伙伴业务流程直接绑定的非典型模式,这种情况有一个预设的发送orchestration ,逆向合作伙伴业务流程直接绑定允许有多个接收流程接收同一个预设的发送流程发送的同一消息。

     本测试源代码:/Files/chnking/PartnerOrchestrationSamples.rar

1.1.        测试场景

有这样一个xml文档:

<ns0:Root xmlns:ns0="http://PartnerOrchestration.InputSch">

  <OrcheA></OrcheA>

  <OrcheB></OrcheB>>

  <OrcheC></OrcheC>

  <OrcheD></OrcheD>

</ns0:Root>

经过下面过程的处理:


Figure 26.  
Panter Orchestration测试项目示意图

 

消息被OrchestrationA从输入文件夹接收,在OrchestrationA中把消息的OrcheA元素置为“A”。

OrchestrationA把消息通过前向合作伙伴业务流程直接绑定端口把消息发送到OrchestrationB

这里OrchestrationB的接收端口是预设的前向合作伙伴业务流程直接绑定接收端口,它可以接收多个通过合作伙伴业务流程直接绑定发送端口发来的消息,不过本例中没有使用多个发送流程发送消息到同一个接收端口。

OrchestrationB中把消息的OrcheB元素置为“B”。

OrchestrationB把消息通过逆向合作伙伴业务流程直接绑定端口把消息发送到两个流程。

OrchestrationCOrchestrationD接收到来自OrchestrationB的同一个消息,各自分别处理,分别把OrcheC元素置为“C”和把OrcheD元素置为“D”。

OrchestrationCOrchestrationD把消息都发送到输出文件夹中。

1.2.        项目设计

四个流程实现的功能都很简单,都是把接收到的消息中的一个可分辨字段赋一个相应的值,然后发送初五。流程设计这里就不一一说明了,要仔细描述的是OrchestrationB中的两个合作伙伴业务流程直接绑定端口和跟这两个端口相关的几个端口的设置。

1.2.1   前向合作伙伴业务流程直接绑定端口设置

前向绑定模式是先预设一个接收端口,以这个接收端口为中心,可以有多个发送端口发送消息到这个预设接收端口。

接收端设置:

新建预设接收端口,在向导中新建一个端口类型。

端口绑定:选择Direct

三种直接绑定模式中:选To receive messages from other orchestrations, select this port here and in those orchestrations

合作伙伴业务流程上的端口:选这个端口自身。选择自身表示这是个预设端口,也决定了这个绑定是前向的或者是逆向的。这里把接收端口设置为预设端口,表示跟这个端口绑定就是前向合作伙伴业务流程直接绑定。

发送端设置:

端口类型:选择上面步骤预设的接收端口类型

端口绑定:选择Direct

三种直接绑定模式中:选send messages to other orchestrations, select this port here and in those orchestrations

合作伙伴业务流程上的端口:选上面步骤预设的接收端口。发送端可以有多个。

1.2.2   逆向合作伙伴业务流程直接绑定端口设置

逆向绑定模式是先预设一个发送端口,以这个发送端口为中心,可以有多个接收端口接收从这个预设发送端口发布的消息。

发送端设置:

新建预设发送端口,在向导中新建一个端口类型。

端口绑定:选择Direct

三种直接绑定模式中:选send messages to other orchestrations, select this port here and in those orchestrations

合作伙伴业务流程上的端口:选这个端口自身。

接收端设置:

端口类型:选择上面步骤预设的发送端口类型

端口绑定:选择Direct

三种直接绑定模式中:选To receive messages from other orchestrations, select this port here and in those orchestrations

合作伙伴业务流程上的端口:选上面步骤预设的发送端口。接收端可以有多个。

1.3.        查看订阅

1.3.1   前向合作伙伴业务流程直接绑定的订阅

OrchestrationB接收端口订阅OrchestrationA发送端口的订阅是前向绑定,查看它的订阅关系,主要看订阅条件:


Figure 27.   Panter Orchestration
前向订阅条件

 

Subscription

{

    ORGroup0

    {

BTS.Operation == Operation_1 

And

BTS.PartnerPort == Port_ReceivePartner 

And

BTS.PartnerService == PanterOrchestration.OrchestrationB, PanterOrchestration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=380d269ec565a18c 

And

BTS.MessageType == http://PartnerOrchestration.InputSch#Root 

}

}

BTS.Operation:接收端口接收消息的那个Operation

BTS.PartnerPort:接收端口名。

BTS.PartnerService:接收端口所在的Orchestration的完全名称。

BTS.MessageType:订阅的消息类型。

 

发送端口跟预设的接收端口绑定后,会在发出的消息中加入指向这个接收端口的三个属性:BTS.PartnerServiceBTS.PartnerServiceBTS.Operation,加上消息类型,这些消息的属性正好能和预设接收端口产生的订阅条件配合,发送端口发布的消息就能被预设接收端口接收到了。

1.3.2   逆向合作伙伴业务流程直接绑定的订阅

OrchestrationCOrchestrationD的接收端口订阅OrchestrationB发送端口的订阅是逆向绑定,查看它们的订阅关系,看订阅条件:


Figure 28.   Panter Orchestration
逆向订阅条件

 

Subscription

{

    ORGroup0

    {

BTS.Operation == Operation_1 

And

BTS.PartnerPort == Port_SentPartner

And

BTS.PartnerService == PanterOrchestration.OrchestrationB, PanterOrchestration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=380d269ec565a18c 

And

BTS.MessageType == http://PartnerOrchestration.InputSch#Root 

}

}

BTS.Operation:发动端口发送消息的那个Operation

BTS.PartnerPort:发送端口名。

BTS.PartnerService:发送端口所在的Orchestration的完全名称。

BTS.MessageType:订阅的消息类型。

 

其它的接收端口跟预设发送端口绑定后,会产生上面这样的订阅。预设发送端口在发出的消息中消息中加入表示这个发送端口的三个属性:BTS.PartnerServiceBTS.PartnerServiceBTS.Operation,加上消息类型,预设发送端口发出消息的属性正好能和跟这个端口绑定的所有接收端口产生的订阅条件配合。

 

参考资料:BizTalk Server 2004: Direct Binding models in BizTalk

Starting BizTalk Server 2004 orchestrations using the MessageAgent

 

深入biztalk中各种端口绑定方式(五)-- 直接绑定之MessageBox

一、  绑定方式 – direct(直接)直接绑定有MessageBox、Self Correlating、Panter Orchestration等三种模式,之所以这三种模式的绑定会被放在一起叫做直...
  • chnking
  • chnking
  • 2007年09月28日 14:27
  • 792

深入biztalk中各种端口绑定方式(六)-- 直接绑定之Self Correlating

1、 Self Correlating自相关直接绑定是这样的一种绑定:一个Orchestraion实例可以调用另一个Orchestraion,并且把自身的一个接收端口作为参数传递到被调用的Orches...
  • chnking
  • chnking
  • 2007年09月28日 14:29
  • 806

Debug Orchestration

有人在问,Biztalk 开发是否算得上RAD有人回答,如果可以在开发环境对Orchestration进行调试,Biztalk就算RAD了确实,即使熟练的运用了我下面将要介绍的几种调试方式,稍微再回味...
  • yhwebus
  • yhwebus
  • 2004年07月31日 14:43
  • 776

深入biztalk中各种端口绑定方式(四)-- dynamic(动态)

一、  绑定方式 – dynamic(动态)动态绑定这种绑定方式只有orchestration发送端口有,orchestration接收端口不具有这种绑定方式。所谓动态,就是跟orchestratio...
  • chnking
  • chnking
  • 2007年09月28日 14:25
  • 982

Linux网络编程——绑定( bind )端口需要注意的问题

所谓绑定(bind)是指别人连接我只能通过我所绑定的端口,相当于,我买了一个手机,别人要想联系我,必须要知道我的手机号码,这时候,我需要怎么办呢?我需要给手机插上电话卡,固定一个电话号码,这样别人就能...
  • tennysonsky
  • tennysonsky
  • 2015年03月04日 16:10
  • 31359

CISCO交换机上实现MAC和端口、IP和端口、IP和MAC的绑定

原文地址:http://chezw.blog.51cto.com/67821/134572 一、针对于目前ARP病毒肆虐,利用ARP协议进行欺骗的网络问题也日渐严重。在防范过程中除了VLAN...
  • kepa520
  • kepa520
  • 2017年08月28日 15:36
  • 966

IP与交换机端口绑定

在Cisco catalyst 2950交换机上,通过配置extended ACL来实现端口与IP的绑定。     配置如下:2950#show runCurrent configuration : ...
  • xml634633445
  • xml634633445
  • 2010年04月03日 17:11
  • 533

深入biztalk中各种端口绑定方式(一)-- 背景知识订阅机制

Biztalk中orchestration端口的绑定方式多种多样,有以后指定、现在指定、动态、直接绑定四种大的绑定方式,直接绑定中又分为MessageBox、Self Correlating、Pant...
  • chnking
  • chnking
  • 2007年09月28日 14:21
  • 1000

交换机MAC地址与端口的绑定------学习笔记

实验一:交换机MAC地址与端口的绑定   1 实验目的   (1)理解二层交换机MAC地址绑定技术的意义及作用。   (2)掌握配置交换机MAC地址绑定的方法   2 实验设备    计...
  • maguilong1014
  • maguilong1014
  • 2013年06月01日 19:06
  • 728

深入biztalk中各种端口绑定方式(三)-- specify now(现在指定)

一、  绑定方式 – specify now(现在指定)这种绑定方式跟Specify later绑定类似,只是把绑定物理端口的工作提前到设计时,在设计时就指定要绑定端口的适配器类型、URI和物理端口使...
  • chnking
  • chnking
  • 2007年09月28日 14:24
  • 694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入biztalk中各种端口绑定方式(七)-- 直接绑定之Partner Orchestration
举报原因:
原因补充:

(最多只允许输入30个字)