论文部分内容阅读
【摘要】 网格Portal作为网格系统的重要组成部分,是连接网格用户和网格系统的桥梁。本文介绍了一种基于网格Portal的网格文件传输服务,实现了文件的浏览、上传、下载,在很大程度上方便了用户的使用。
【关键词】 Globus Toolkit Portal Gridsphere Portlet 网格
网格是目前越来越重要的计算机科学研究领域,被称为是下一代的Internet。网格是一种关系科研、经济、社会、国防的重要国家基础设施,在国内外都引起了广泛的关注。网格计算不仅仅运用于科学研究, 在工业界与学术界联盟也得到了广泛的领域得到推广和应用。
由于网格技术的学习和使用都很难,用户需要记住各种服务命令和接口。因此,需要我们在网格技术基础上开发一个易用的网格门户界面,使用户更容易利用底层资源和网格技术。我们使用Web门户为网格用户提供了一个惯用的、一致的方法,使用标准的Web浏览器与复杂的底层网格工具和服务进行交互。这个Web门户就是我们所说的网格门户。网格门户(GridPortal)作为网格使用者的用户界面,屏蔽了网格环境的各种复杂特性,方便透明地为用户提供一个网格访问入口,帮助用户操纵网格资源。[1]
在本文中,我们将要介绍一种基于Portal的网格文件传输服务,它建立在网格门户开发框架Gridsphere之上,实现了网格环境中文件的浏览、上传、下载,使用户不必需要记住各种服务命令就可以实现文件的传输。
一、网格Portal
1.网格Portal介绍
Portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动。作为网格应用的基木组件之一,portal的功能是组织网格服务,为用户提供方便、完善的应用接口[2]。因此,portal设计的好坏,直接影响到用户的使用和应用程序设计者的开发工作。
网格Portal主要的目的是解决网格计算环境下资源共享的“好用性(Usability) ”问题,使得通过网格Portal可以在统一的环境中访问多种不同的网格应用,用户只需要与惟一的网格Portal打交道。
2.Portlet
Portlet是基于web的Java组件。它由Portlet容器管理,能够处理请求,产生动态内容。Portlet被Portal用作为可插拔的用户接口组件,为信息系统提供展现。由Portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个Portlet产生的内容和其他的Portlet产生的内容聚集在一起形成Portal网页。[3]
3.Portlet 容器
Portlet在Portlet容器中运行,Portlet容器为Portlet提供必需的运行环境。Portlet容器包含Portlet(组件)并且管理它们的生命周期,它也为Portlet的参数设置提供持久化的存储。Portlet 容器不是一个类似于Servlet 容器的独立容器。它是在 Servlet 容器上通过扩展方式实现的,并重用 Servlet容器提供的功能。
4.门户开发框架Gridsphere
GridSphere portal提供了一个基于Portlet的功能强大的开源Portal。 GridSphere提供了一个门户、一个 Portlet 容器和一组有用的核心Portlet,包括用户和组管理以及布局定制和 Portlet 订阅。
二、系统开发
1.GridSphere环境下开发网格Portal的步骤
基于GridSphere框架下开发网格Portal的步骤分8部(具体内容见参考文献[4]) 其中,前三个步骤是在应用程序中开发Portlet服务,为具体的Portlet提供基木服务支持:后而的步骤是在GridShere框架下开发和发布应用程序所必需的步骤。
2.网格文件传输服务
我们网格文件传输服务是建立在Globus基础上的,采用GridSphere中GridPortal作为中间件来建立的平台,用户通过和GridPortal中的Portlet交互信息,就可以方便的完成网格环境中基于第三方控制的文件的浏览、上传、下载。
网格Portal用户通过和网格文件传输服务中Portal界面下的Portlet进行交互,可以选择浏览主机,列出某个目录下的内容,改变浏览目录,对文件名进行更改,上传文件,下载文件,删除文件,以及控制其它两台机器,允许它们之间进行以上的操作。
下面是网格文件传输服务的类图:
下面对所使用的到的包进行一下概述,文件包包含所有对文件资源及其所管理的文件、文件集的操作定义,以及采用文件浏览器、文件任务来处理对文件、文件集的操作实现的所有接口和类。
我们将文件资源及其所管理的文件、文件集、文件任务的操作定义接口和实现直接放在file包中,而将与文件浏览器、文件浏览器任务相关的接口和类放在file包的一个子包tasks中,与文件句柄集相关的接口和类放在sets包中。
tasks包是对FileTask在文件浏览器中的具体定义,应该包含文件浏览器任务以及具体的任务--包括文件复制、删除、列表、创建目录、文件移动、文件或者文件夹重命名--的接口及具体实现类。
sets包是对FileSet接口在FileHandleSet中的具体实现,包含FileHandleSet接口及其具体实现类。
在接下来的工作中,我们还需要对FileBrowserPortlet进行设计,FileBrowserPortlet实现对文件的浏览、文件任务处理等事务逻辑。通过对文件浏览和文件任务处理实际需要的分析。
在完成了所有Portlet和Jsp页而设计之后,我们需要设计自己的Portlet部署描述文件(portlet.xml),确定所有Portlet在GridSphere portal中的访问名称、对应的类文件及其外观(如窗口是否允许最大化、最小化、定制大小,是否显示帮助信息等)。在完成以上工作后,我们也完成了文件传输服务。
四、结论
在理论研究的基础上,我们花费了大量的时间和精力进行了基于网格Portal的网格文件传输服务平台的搭建,在具体的Portal框架下进行了文件传输服务的设计与实现。实现了文件的浏览、上传、下载,在很大程度上方便了网格用户的使用。
参考文献:
[1]陈海勇,伏汉英,黄永忠,郭金庚.基于portlet的网格门户系统设计[J].计算机工程与设计,2007(10).
[2]Joson Novot nv,MichaelRussel,Cliver Wehrens.GridShere: An Advanced Portal Framework[M].2003.
[3]JSR168標准[EB/OL].http://jcp.org/en/jsr/all
[4]Jason Novotny.Developing grid portlets using the GridSphere framework portal[DB/OL].http://www-106.ibm.com/developerworks/grid/library/gr-portlets
【关键词】 Globus Toolkit Portal Gridsphere Portlet 网格
网格是目前越来越重要的计算机科学研究领域,被称为是下一代的Internet。网格是一种关系科研、经济、社会、国防的重要国家基础设施,在国内外都引起了广泛的关注。网格计算不仅仅运用于科学研究, 在工业界与学术界联盟也得到了广泛的领域得到推广和应用。
由于网格技术的学习和使用都很难,用户需要记住各种服务命令和接口。因此,需要我们在网格技术基础上开发一个易用的网格门户界面,使用户更容易利用底层资源和网格技术。我们使用Web门户为网格用户提供了一个惯用的、一致的方法,使用标准的Web浏览器与复杂的底层网格工具和服务进行交互。这个Web门户就是我们所说的网格门户。网格门户(GridPortal)作为网格使用者的用户界面,屏蔽了网格环境的各种复杂特性,方便透明地为用户提供一个网格访问入口,帮助用户操纵网格资源。[1]
在本文中,我们将要介绍一种基于Portal的网格文件传输服务,它建立在网格门户开发框架Gridsphere之上,实现了网格环境中文件的浏览、上传、下载,使用户不必需要记住各种服务命令就可以实现文件的传输。
一、网格Portal
1.网格Portal介绍
Portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动。作为网格应用的基木组件之一,portal的功能是组织网格服务,为用户提供方便、完善的应用接口[2]。因此,portal设计的好坏,直接影响到用户的使用和应用程序设计者的开发工作。
网格Portal主要的目的是解决网格计算环境下资源共享的“好用性(Usability) ”问题,使得通过网格Portal可以在统一的环境中访问多种不同的网格应用,用户只需要与惟一的网格Portal打交道。
2.Portlet
Portlet是基于web的Java组件。它由Portlet容器管理,能够处理请求,产生动态内容。Portlet被Portal用作为可插拔的用户接口组件,为信息系统提供展现。由Portlet动态产生的内容也被叫做fragment。fragment是遵循某种规则的标记(例如:HTML,XHTML,WML),可与其他的fragment一起建立一个完整的文档。一般一个Portlet产生的内容和其他的Portlet产生的内容聚集在一起形成Portal网页。[3]
3.Portlet 容器
Portlet在Portlet容器中运行,Portlet容器为Portlet提供必需的运行环境。Portlet容器包含Portlet(组件)并且管理它们的生命周期,它也为Portlet的参数设置提供持久化的存储。Portlet 容器不是一个类似于Servlet 容器的独立容器。它是在 Servlet 容器上通过扩展方式实现的,并重用 Servlet容器提供的功能。
4.门户开发框架Gridsphere
GridSphere portal提供了一个基于Portlet的功能强大的开源Portal。 GridSphere提供了一个门户、一个 Portlet 容器和一组有用的核心Portlet,包括用户和组管理以及布局定制和 Portlet 订阅。
二、系统开发
1.GridSphere环境下开发网格Portal的步骤
基于GridSphere框架下开发网格Portal的步骤分8部(具体内容见参考文献[4]) 其中,前三个步骤是在应用程序中开发Portlet服务,为具体的Portlet提供基木服务支持:后而的步骤是在GridShere框架下开发和发布应用程序所必需的步骤。
2.网格文件传输服务
我们网格文件传输服务是建立在Globus基础上的,采用GridSphere中GridPortal作为中间件来建立的平台,用户通过和GridPortal中的Portlet交互信息,就可以方便的完成网格环境中基于第三方控制的文件的浏览、上传、下载。
网格Portal用户通过和网格文件传输服务中Portal界面下的Portlet进行交互,可以选择浏览主机,列出某个目录下的内容,改变浏览目录,对文件名进行更改,上传文件,下载文件,删除文件,以及控制其它两台机器,允许它们之间进行以上的操作。
下面是网格文件传输服务的类图:
下面对所使用的到的包进行一下概述,文件包包含所有对文件资源及其所管理的文件、文件集的操作定义,以及采用文件浏览器、文件任务来处理对文件、文件集的操作实现的所有接口和类。
我们将文件资源及其所管理的文件、文件集、文件任务的操作定义接口和实现直接放在file包中,而将与文件浏览器、文件浏览器任务相关的接口和类放在file包的一个子包tasks中,与文件句柄集相关的接口和类放在sets包中。
tasks包是对FileTask在文件浏览器中的具体定义,应该包含文件浏览器任务以及具体的任务--包括文件复制、删除、列表、创建目录、文件移动、文件或者文件夹重命名--的接口及具体实现类。
sets包是对FileSet接口在FileHandleSet中的具体实现,包含FileHandleSet接口及其具体实现类。
在接下来的工作中,我们还需要对FileBrowserPortlet进行设计,FileBrowserPortlet实现对文件的浏览、文件任务处理等事务逻辑。通过对文件浏览和文件任务处理实际需要的分析。
在完成了所有Portlet和Jsp页而设计之后,我们需要设计自己的Portlet部署描述文件(portlet.xml),确定所有Portlet在GridSphere portal中的访问名称、对应的类文件及其外观(如窗口是否允许最大化、最小化、定制大小,是否显示帮助信息等)。在完成以上工作后,我们也完成了文件传输服务。
四、结论
在理论研究的基础上,我们花费了大量的时间和精力进行了基于网格Portal的网格文件传输服务平台的搭建,在具体的Portal框架下进行了文件传输服务的设计与实现。实现了文件的浏览、上传、下载,在很大程度上方便了网格用户的使用。
参考文献:
[1]陈海勇,伏汉英,黄永忠,郭金庚.基于portlet的网格门户系统设计[J].计算机工程与设计,2007(10).
[2]Joson Novot nv,MichaelRussel,Cliver Wehrens.GridShere: An Advanced Portal Framework[M].2003.
[3]JSR168標准[EB/OL].http://jcp.org/en/jsr/all
[4]Jason Novotny.Developing grid portlets using the GridSphere framework portal[DB/OL].http://www-106.ibm.com/developerworks/grid/library/gr-portlets