1 研究背景和相关工作
1.1 Web服务描述语言(WSDL)
1.2 简单对象访问协议(SOAP)
1.3 统一描述、发现和集成协议(UDDI)
1.4 业务流程编排语言(BPEL)
2 缺陷描述
2.1 服务文件静态缺陷模式检测
表1 静态分析结果统计 |
| 静态缺陷 检测文档 | 发现规 范类别 | 发现错误类型 | |
|---|---|---|---|
| 海军服务化描述语言(WSDL)静态检测 | 符合XML 格式 | 无根元素,namespace不正确,属性必须加引号,无关闭标签,对大小写敏感,正确的嵌套(6类,15个) | |
| 符合WSDL 规范 | 必须包含WSDL namespace声明,targetNamespace要设置正确,找不到messge名称,缺少有效的属性数据,如服务地址等,对于有唯一性要求的元素,不能出现重复,WSDL的restriction限制要合理,schema中minOccurs、maxOccurs设置要合理,Message中不能同时设置元素和类型,Binding中的style和use设置必须正确,交叉链接信息要正确(10类,24个) | ||
| 海军信息传输语言文档(SOAP)静态检测 | 符合SOAP 规范 | 缺少Envelope元素,缺少body元素,未使用SOAP encoding命名空间,未使用SOAP Envelope命名空间(4类,18个), | |
| 海军服务化注册中心(UDDI)静态检测 | 符合UDDI 规范 | 无根元素,对大小写敏感,无关闭标签,属性必须加引号,元素名称不能有空格,正确的嵌套(6类,12个) | |
| 海军业务流程编排文档(BPEL)静态检测 | 符合XML 格式 | 检查一个正确的BPEL文件,无根元素,无关闭标签,关闭标签不匹配,对大小写敏感,正确的嵌套,属性必须加引号,注释错误(7类,26个) | |
| 符合BPEL 规范 | 服务体中不能有多个顶层的活动,对assign进行验证,assign的name错误,对branches进行验证,condition expressionLanguage错误,invoke的输入变量,invoke中的接口portType须正确,invoke中的操作须有效,invoke中的name改变,invoke中partnerLink不匹配,flow活动的link同步须正确设置,No PartnerLinks,import导入wsdl操作要正确,变量必须包含正确的声明信息,variable name不配套,无效的BPEL模式文件URL,suppressJoinFailure值有错,对于唯一元素,不可以多增加(18类,25个) | ||
2.2 业务流程组合缺陷模式检测
3 缺陷检测框架
3.1 服务文件静态缺陷模式检测流程
3.2 业务流程组合缺陷模式检测流程
4 缺陷检测模型
4.1 服务描述文件静态缺陷检测机制
4.2 业务流程编排算法
5 缺陷检测原型工具及应用验证
5.1 缺陷检测原型系统
5.2 应用实例分析
表2 静态缺陷检测结果 |
| 静态缺陷文档 | 覆盖故 障类型 | 注入 故障数 | 发现 错误数 | 发现错误描述 |
|---|---|---|---|---|
| WSDL(XML规范) | 6 | 15 | 15 | 无根元素等 |
| WSDL规范 | 10 | 24 | 24 | 缺少服务地址等 |
| SOAP规范 | 4 | 18 | 18 | 缺少Envelop元素等 |
| UDDI规范 | 6 | 12 | 12 | 不正确的嵌套等 |
| BPEL(XML规范) | 7 | 26 | 26 | 无关闭标签等 |
| BPEL规范 | 18 | 25 | 25 | 含有多个顶层活动等 |
| BPEL流程编排 | 4 | 6 | 6 | 未初始化变量等 |
中国指挥与控制学会会刊 