在网格中实现 SOA 和 Web 服务(二)

日期: 2007-12-17 作者:Jeff Mausolf 来源:TechTarget中国

  GRAM 支持服务

  GRAM 提供了作业和执行管理服务来提交、监视和控制作业,但是这都依赖于用来传输文件和管理证书所使用的支持服务。GridFTP 所提供的文件服务用来帮助 GRAM 实现对输入和输出文件的分段传输。证书管理服务处理证书对其他服务和所需要的分布式网格资源的委托。

  GRAM 作业提交

  现在我们已经基本了解了这些功能和支持服务,接下来让我们讨论一下实际的作业提交系统。

  作业提交的基础知识

  可以使用应用程序编程接口(API)或者通过命令行工具,以编程的方式提交作业。命令行工具是用来测试 Globus 安装的一种简单方法,因此我们首先介绍一下这种方法。

  globusrun-ws 命令行工具取代了 managed-job-globusrun 命令,它用来提交、监视和控制作业。它可以协调文件的分段传输、证书委托和身份验证问题。信息可以使用命令行选项进行指定,也可以包含在一个基于 XML 的对象描述文件中。globusrun-ws 命令是同步执行的,因此作业在提交时并不会返回控制权。相反,它会通过显示作业的状态,以交互方式提供一些反馈。基于这些状态信息,您可以选择使用 Ctrl C 来取消某个作业。

  作业提交的前提条件

  所有的用户都必须通过身份验证并具有有效的证书才可以提交作业。这个作业可能需要将证书委托给他人来执行远程操作,例如分段传输文件。

  下面的例子假设已经使用 grid-proxy-init 命令生成了一个有效的代理。然而,证书也可以通过作业请求进行传输,或者上传到 Delegation 服务中。清单 1 是提交一个简单作业(用来获取日期)的例子。-c 选项指定要运行 /bin/date 命令。

  清单 1. 提交作业来获取日期

[globust@gt4-test ~]$ grid-proxy-init
Your identity: /C=US/O=UTAustin/OU=TACC/CN=Globus User/UID=globust
Enter GRID pass phrase for this identity:
Creating proxy ………………………………………. Done
Your proxy is valid until: Thu May 19 23:35:47 2005

[globust@gt4-test ~]$ globusrun-ws -submit -c /bin/date
Submitting job…Done.
Job ID: uuid:254e353e-c884-11d9-9304-0011435a15ac
Termination time: 05/20/2005 16:36 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job…Done.

  作业描述文件

  在命令行中指定多个作业参数可能会是一件令人讨厌的事情。当有多个参数与一个作业相关时,可以使用作业描述文件。

  作业是使用 -f 选项提交的,后面跟着作业描述文件名。在作业描述文件中可以使用变量。在提交作业时,GRAM 会处理作业描述文件,并替换变量的值。

  在下面这个例子中,变量 GLOBUS_USER_HOME 对应我的主目录。这个变量会被替换成解析后的值,这是到主目录的实际路径。在清单 2 中,我们提交了一个使用提交描述文件 simple_test.xml 描述的作业。这个作业使用 echo 命令将输入参数重定向到标准输出上。在这里,我们规定,应该将标准输出重定向到主目录中的 stdout 文件。

  清单 2. 使用作业描述文件

globust@gt4-test ~]$ globusrun-ws -submit -f simple_test.xml
Submitting job…Done.
Job ID: uuid:db96c126-c884-11d9-8a94-0011435a15ac
Termination time: 05/20/2005 16:41 GMT
Current job state: Active
Current job state: CleanUp
Current job state: Done
Destroying job…Done.

[globust@gt4-test ~]$ cat simple_test.xml
<job>
    <executable>/bin/echo</executable>
    <argument>Wow, we’re submitting Grid Jobs!</argument>
    <stdout>${GLOBUS_USER_HOME}/stdout</stdout>
    <stderr>${GLOBUS_USER_HOME}/stderr</stderr>
</job>

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。