李 山曾
安徽中澳科技职业学院信息技术与艺术传媒系,安徽合肥,230041
LI Ceng
Information Technology and Media Arts Department,Anhui ZHONG-AO Institute of Technology,Hefei Anhui,230041,China
Web服务是一种平台无关、松散耦合、自包含的Web应用程序,适合在互联网这种异构、分布的环境中发布[1]。随着业务复杂性的提高,单一的Web服务无法满足业务需求,往往需要调用若干个Web服务形成一个Web服务组合完成某项具体的业务。Web服务组合的正确性是有效利用这些服务的基础,对Web服务组合的分析和验证成为当前的一个研究热点。
Petri网是一种适用于多系统的、基于状态的建模方法,它具有直观的图形表示、形式化的语义定义和丰富的分析技术等优点[2],在工作流建模分析上已经有了比较成熟的应用。由于工作流和Web服务流程存在很多相似之处,可以将工作流技术作为Web服务组合的基础,对 Web服务组合进行建模和分析。
Web服务组合网借鉴工作流网的定义,在Petri网的基础上提出。基于Petri网的Web服务组合可定义如下[3]:
一个Petri网PN=(P,W,F)满足以下两个条件,则被称为Web服务组合网,其中P为库所集合,W为Web服务集合,F为库所到Web服务的弧的集合。
(1)PN有两个特殊的库所:起始库所i和终止库所o,i的前驱库所为空,o的后继库所为空,形式化表示为
(2)如果在PN中加入一个新的服务w,使w连接库所i与o,则w的前驱库所为i,后继库所为o,形式化表示为:·w={i},w·={o}。
Web服务组合模型将单一的Web服务用库所和弧连接在一起,其中,Web服务使用矩形表示,库所使用圆形表示;每个Web服务之前有一个前驱库所,之后有后继库所;……