论文部分内容阅读
随着以AJAX为技术特征的Web2.0应用的发展,越来越多的Web服务提供者对外开放可编程接口(API),使得基于Web的聚合(Mashup)应用成为可能。Mashup是一种RIA(Rich Internet Application)应用,用户可以像操作桌面应用程序一样使用Web资源,用户体验更好。网格计算环境是一个广域的分布式计算环境,旨在无缝聚合分布在广域网中的中间件、Web服务、数据库、应用程序和系统软件等软件资源以及服务器、存储设备、传感器等硬件资源,提供一个可靠性更高、性能更好、成本更低的应用协同和资源共享基础设施,但是传统网格应用的运行需要在客户端安装、部署、维护大量的文件,不利于网格应用的普及。因此,基于Web的聚合应用(Mashup)成为网格应用前进的一个方向。
但是,目前的Mashup应用主要使用传统的Web工具开发。其中或者以提供丰富的客户端呈现为主,对可操作的后端资源支持不够,用户操作服务时仍需要手工编写大量的底层代码;或者侧重于服务和应用逻辑的组合,而忽略了用户端的表现和协作。其次,目前存在的Mashup构建工具,只用来做简单逻辑的聚合应用,不支持复杂应用。
Grid Service Markup Language(GSML)是织女星网格团队提出的一种网格服务编程语言,它包括启发自x演算的若干概念,并使用这些概念统一描述用户端编程组件和网格资源之间的交互关系,同时把他们连接成为完整的网格应用。GSML是一种基于XML的标记语言,语法简单,帮助网格一般用户像编写HTML网页一样编写网格应用。
本文基于GSML语言的基本概念,针对Web聚合应用做部分扩展,设计、实现了一种支持网格资源聚合的Mashup应用开发框架和运行时环境。通过把种类丰富、结构各异的网格资源统一抽象为同构的组件—Funnel,隐藏了底层的实现细节,方便用户使用统一的方式去操作网格资源,提高了资源的复用性。另外,采用基于事件的应用逻辑组合方式,这种松耦合结构满足网格动态环境的易变更特性。最后,还实现了基于Web的网格应用运行时环境,使得复杂的网格应用只需打开浏览器即可运行,降低了最终用户安装、维护的时间成本。
在具体实现过程中,使用网格资源层-应用逻辑层-用户界面层的三层设计模式完成对网格资源Mashup应用开发框架的设计。采用JavaScript脚本语言对网格组件进行封装,以AJAX为主要技术实现了运行时平台的执行引擎。