论文部分内容阅读
面对当今日趋多变的业务需求,如何让业务用户直接从业务角度按需和快速地构建应用已经成为人们研究的热点。结合面向服务的计算技术,本人所在项目组提出了业务端编程语言VINCA,以支持业务用户组合大粒度的服务来应对需求;同时提出了如何高效、可靠地执行VICNA语言编写的应用的关键问题。在该问题的解决中,如何充分借助并兼容当前软件层的Web服务组合技术(如BPEL4WS语言),实现两种不同形态的服务组合技术的良好结合(特别是重用软件级服务组合技术来完善业务端编程方法),成为支持业务用户按需即时构造应用研究的关键所在。本文依托“服务网格下业务端编程方法研究”项目,对VINCA语言到BPEL4WS的自动转换技术进行了研究,实现了基于BPEL4WS引擎来执行VINCA程序的VINCA系统。本课题的主要工作和贡献如下:1)提出了VINCA语言元素到BPEL的四种转换模式。本课题详细分析了VINCA语言的业务特性以及如何用静态的服务组合来表示它们,得到了各种元素的转换方法,并总结为转换模式。使用这些转换模式得到的BPEL程序仍能保持VINCA语言的业务特性。2)提出了VINCA应用到BPEL程序的转换算法。本课题将四类模式融合并细化成三个实用的算法,能够根据VINCA应用自动生成对应的软件实现。三个算法分别是:带有交互和用户上下文敏感特性的业务服务的转换算法;带有用户敏感特性和用户参与的业务流程的转换算法; VINCA应用到BPEL程序的转换算法;3)实现了基于上述转换算法的VINCA引擎,支持面向服务的应用的即时构造。该系统采用了通用的转换描述语言,使得两层的转换可配置,系统适应性强。同时,本课题以该系统作为参照对象,定量分析了它和解释型VINCA引擎在系统开发上的工作量,验证了上述转换技术的实用性和优越性。