上图示意了WS-BPEL的编程模型,在 每个Web服务(下面简称WS)中定义1个或多个伙伴链接类型(PartnerLinkType,下面简称PLT),PLT分为双向PLT和单向PLT两类,双向PLT规定了参与双方的端口(Port),单向PLT只规定了本方的端口。业务流程(Business Process,下面简称BP)若要使用WS功能,首先要在WS提供的PLT集合中选择一个,然后根据选中的PLT,提供本方满足PLT的端口(如果选中的是单向PLT,则无需提供本方端口),从而建立具体的伙伴链接(PartnerLink,以下简称PL),最后通过PL访问WS的相应端口,使用其功能。对于双向PLT,被调用的WS可以通过PL回调BP的相应端口;对于单向PLT,被调用的WS不能回调BP。
BP可被当作WS使用,它可以定义自己的PLT,使其可以被其他的BP或WS调用。
可见:借助WS-BPEL可以用类似乐高玩具的方式组合服务。