1.3 论文的组织结构
后面的章节大致安排如下:第二章主要介绍一些关于软件服务,BPEL以及死路径消除,并发静态单赋值(Concurrent Static Single Assignment, CSSA)等预备知识;第三章主要介绍了BPEL控制流图BCFG、从BPEL到BCFG的转化以及基于CSSA模型的路径可行性分析;第四章给出了一个案例;第五章介绍了路径可行性分析相关的研究,并和我们的方法作比较;第六章是对全文的一个总结以及展望; 最后是致谢和参考文献。
第二章 相关知识
我们使用的技术是在死路径消除语义下用SMT求解器针对BPEL过程来分析路径可行性。为了使读者更好地理解我们的技术,在这一部分,我们简短地介绍一下死路径消除(DPE)[4]、并发静态单赋值(CSSA)[ ]的概念和其他相关知识。
2.1 软件服务
软件即服务(SaaS)是现在服务计算潮流下的典型应用模式,其实软件服务的最主要的实现方式是Web服务。Web服务(Web Service)是基于HTTPS和XML的一种服务,其通信协议主要基于SOAP,服务的描述使用WSDL,通过UDDI来发现和获得服务的元数据。它在网络上能够提供给客户端各种各样消息的一个实体,为了能够让客户端访问服务,使用Web服务描述语言WSDL描述服务信息以及用户如何访问它。W3C在对Web服务定义为:每个单个的Web服务,就可以支持通络中进行交互的各种软件系统。Web服务可以使用计算机特有的描述形式来定义其接口,另外的一些系统就可以根据定义的接口,通过SOAP协议与软件服务进行交互。W3C纳入了一些Web服务相关的规范协议,如SOAP、WSDL、UDDI等,强调Web服务的平台无关性和语言无关性。因此,可以说Web服务是一个自包含、无状态的实体,并通过结构描述语言对外提供统一的接口,而隐藏其内部的其体实现细节,Web服务最基本的形式是在互联网上让不同的计算机程序或者系统之间的信息交换更加方便。它是以一套开放的标准为基础的,允许任何人开发或者使用。总体来说,Web服务主要有下列特点:文献综述
1. 封装完整性,作为部署在网络上的单个软件服务,具有完整的封装特性,对于软件服务的使用者或请求者而言,他仅能看到该软件服务的接口及功能描述列表。
2. 松耦合性,该特性继承了对象/组件技术,当一个软件服务的实现方式发生变化的时候,使用者是不会知道这一点的,对于使用者来说,只要软件服务的接口和功能列表没有改变,则软件服务的任何实现细节上的改变对使用者来说都是黑盒。
3. 使用协议的规范性和标准化,作为Web服务,所有的操作都是通过前面讲到的WSDL、UDDI、SOAP等开放的协议进行描述、注册和绑定。以上这些开放性标准协议可以由任何人进行实现。
4. 高度集成性,由于Web服务采取简率的、易理解的标准Web协议作为组件,所以具有高度集成性。
SOA是一套面向服务架构的标准规范。Web服务则是一套技术体系,可以用来建立应用解决方案,解决特定的消息通信和应用集成问题。换言之,Web服务实现了面向服务的架构(SOA)。理论意义上,Web服务可以用来实现SOA,但是如果没有Web服务,也可以很好地实现SOA。但是,由于Web服务与SOA中倡导的服务概念完全吻合,因此被公认为实现SOA的最佳支撑技术。例如,IBM的SOA技术和策略总监Mark Colan先生就认为“Web服务是实现SOA的一条最好的路”。