论文部分内容阅读
随着以Ajax为重要特征的Web2.0技术体系的迅速发展,许多网站从传统的Web应用向富互联网应用(RIA)转型,并从中获得了丰厚的收益。这又反过来促进了Web2.0的发展,形成了Web开发的一种良性循环。对于RIA开发,在客户端通常采用Ajax技术,在服务器端可以采用PHP、JSP或ASP等技术,对于数据库则可以使用MySQL、SQL Server或Oracle等。一般地,一个这样的应用程序会在客户端为用户加载一个Ajax引擎,它使用JavaScript编写。当用户与通过浏览器与应用程序交互时,该引擎向服务器发出请求。服务器收到请求后,会根据提交的各个参数进行处理,在必要时操作数据库,并把处理结果返回给客户端。客户端收到结果后,通过局部刷新网页,来展现这一处理结果。因为这一点,开发人员通常手工地对客户端和服务器端分别编码、调试和维护。Grid Service Markup Language(GSML,网格服务标记语言)是一种基于XML语法的标记语言,由中国科学院计算技术研究所提出,它是一种网格服务编程语言。该语言使用户能够通过统一的方式描述各种软件与网格资源的关系。GSML语法简单、功能强大,网格用户可以像使用HTML一样方便地使用GSML编写网格应用。
本研究提出了一种WebFuse开发框架。其基本思想是使用GSML语言为Web应用预先设置组件定义,通过程序读入、分析使用模板,生成Web应用的在客户端和服务器端的文件。WebFuse程序是一个离线工具,它先在本机上生成Web应用。同时,我们还提供抽取模板工具,它比较相似网页的语法树,输出相同部分的源代码,并标记出不同的代码片断。在实现采用Windows脚本宿主技术,并结合XML DOM技术编写主程序和模板抽取器,采用GSML作为组件定义语言。抽取模板工具使用最长公共子序列比较相似网页的源代码,分析它们的相同之处和不同之处。与其它RIA开发框架相比,WebFuse具有知识门槛低,开发效率高和编写代码少等特点,解决了RIA开发中的代码分离带来的维护困难等问题。