Web服务行为兼容性又称为服务交互协议的正确性,其主要针对Web服务交互过程而言。从图3.16中的3个服务的交互过程可以看出,对于多个服务的交互而言,服务交互行为可以转化为服务内部状态之间的迁移和消息的流转。
定义3.23 给定一个交互服务集合Sn及Sn中全部消息体的集合MB,令消息对mp=(MBs,MBa)满足如下条件:
(1)且MBs≠∅;
(2)MBa⊆MB;
(3)若mbsi∈MBs且mbsi=(gatesi,typesi,messi,numsi)(1≤i≤n),则typesi=send,即MBs中所有消息体通道类型都为消息发送通道;
(4)若mbaj∈MBa且mbaj=(gateaj,typeaj,mesaj,numaj)(1≤j≤m),则typeaj=accept,即MBa中所有消息体通道类型都为消息接收通道;
(5)若mbaj∈MBa,则必有消息体mbsi∈MBs使得mesaj=messi且gateaj=gatesi。
从定义3.23可以看出,消息对是交互服务在交互过程的一次交互,一些服务发送消息,而另一些服务接收发送消息的服务所发送的消息。其中当MBa=∅或MBs中与MBa相同消息的个数大于MBa中相同消息的个数时,表示没有服务接收所发送的这些消息或一些发送的消息没有被接收,即交互没有成功。因此,消息对既可以表示一次成功的交互,也可以表示一次失败的交互。(www.xing528.com)
定义3.24 给定一个交互服务集合Sn及Sn中的一个消息对mp=(MBs,MBa),如果MBs与MBa相同消息的个数相等,那么称消息对mp为有效消息对。
从定义3.24可以看出,有效消息对表示交互服务在交互过程中一次成功的交互,一些服务发送消息,另一些服务接收了发送的所有消息。
定义3.25 给定一个交互服务集合Sn及由Sn中所有服务的一个完全迁移序列所组成的完全迁移序列集合TSet,如果First是TSet中所有完全迁移序列的第一个状态迁移元的集合,从First的状态迁移元中找出一组存在有效消息对的状态迁移元,并将这些状态迁移元从TSet中除去,将First置空,重新将TSet中所有完全迁移序列的第一个状态迁移元放入First,依次往复,直到在First中无法找到一组存在有效消息对的状态迁移元为止,那么所找出的有效消息对中的消息集所构成的序列MS=<Mes1,Mes2,…>称为消息序列。
定义3.26 给定一个交互服务集合Sn,由Sn中所有服务的一个完全迁移序列所组成的完全迁移序列集合TSet和TSet产生的消息序列MS=<Mes1,Mes2,…>,如果产生MS后TSet=∅,那么就称MS为有效消息序列。
定义3.27 给定一个交互服务集合Sn,若Sn中存在有效消息序列,那么称组合服务集合Sn中的n个服务是可兼容的。
从定义3.26和定义3.27可知,对于服务集合中所有消息,如果既存在该消息的发送通道,也存在该消息的接收通道,且通道类型和消息数量相等,那么说明该服务集合中的服务是兼容的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。