﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-狼爱上狸-随笔分类-Globus</title><link>http://www.blogjava.net/waterjava/category/23444.html</link><description>我胡汉山又回来了!</description><language>zh-cn</language><lastBuildDate>Fri, 30 May 2008 07:18:52 GMT</lastBuildDate><pubDate>Fri, 30 May 2008 07:18:52 GMT</pubDate><ttl>60</ttl><item><title>GT4中的globus-start-container和globus-stop-container所遇到的问题 </title><link>http://www.blogjava.net/waterjava/archive/2008/05/28/203450.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 28 May 2008 04:05:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2008/05/28/203450.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/203450.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2008/05/28/203450.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/203450.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/203450.html</trackback:ping><description><![CDATA[今天在使用GT4时，采用<strong style="color: black; background-color: #ffff66">globus-start-container</strong>启动容器和globus-stop-container终止容器时遇到一些问题，现归纳如下：<br />
1.首先采用<strong style="color: black; background-color: #ffff66">globus-start-container</strong> -nosec启动容器，这个命令在运行GT4例子程序中会经常用到。<br />
2.然后使用globus-stop-container终止容器。<br />
但是发现，如果我采用globus-stop-container命令终止容器的使用，会出现：connection refused的错误。<br />
另外一个窗口采用<strong style="color: black; background-color: #ffff66">globus-start-container</strong> -nosec启动容器的时候，却说Address in use。<br />
<br />
百思不得其解，最后参考Globus网站，并通过自己的实践，终于解决了这个问题：<br />
1.首先关于<strong style="color: black; background-color: #ffff66">globus-start-container</strong>，globus.org上是这样描述的：<br />
<br />
Starts a standalone container. By default a secure container is started on port 8443 and is accessible via HTTPS. On successful startup a list of services will be displayed on the console. By default the non secure (HTTP) container is started on port 8080.<br />
<br />
2.如果为<strong style="color: black; background-color: #ffff66">globus-start-container</strong>加上-nosec参数时，即使用<strong style="color: black; background-color: #ffff66">globus-start-container</strong> -nosec命令时<br />
<br />
Starts a non secure (HTTP) container. Please note that this option only disables transport security. Message security still can be used.<br />
<br />
3.然后关于globus-stop-container，globus.org上是这样描述的：<br />
<br />
Stops a standalone container. By default this command will attempt to stop a container running on <span><strong class="command">localhost:8443</strong></span> and perform a <span><strong class="command">soft</strong></span> shutdown. <br />
<br />
这样就可以明白为什么采用<strong style="color: black; background-color: #ffff66">globus-start-container</strong> -nosec是在8080端口启动的container，而globus-stop-container要去8443端口关闭container，就会出现connection refused的错误，而且container也没有真正关闭。<br />
而这个时候再次去启动container时，因为上次的container没有关闭，仍然回占用它所使用的端口，所以就会出现address in use的错误了。<br />
所以在一般情况下，直接采用Ctrl-C关闭container是一个好方法。<br />
如果要想通过globus-stop-container来关闭container的话，在启动的时候需要采用<strong style="color: black; background-color: #ffff66">globus-start-container</strong>不加-nosec参数。<br />
<br />
在使用globus-stop-container来关闭container时还要注意一个问题，就是关于权限问题。<br />
<p>By default <code class="computeroutput">globus-stop-container</code> must be executed with the same credentials as the container it is running with. If the <span class="emphasis"><em>ShutdownService</em></span> or the container is configured with separate private key and certificate files (usually <code class="computeroutput">/etc/grid-security/containercert.pem</code> and <code class="computeroutput">/etc/grid-security/containerkey.pem</code>) do the following to stop the container: </p>
<pre class="screen"> $ grid-proxy-init -cert /etc/grid-security/containercert.pem \
-key /etc/grid-security/containerkey.pem \
-out containerproxy.pem
$ setenv X509_USER_PROXY containerproxy.pem
$ globus-stop-container
$ unsetenv X509_USER_PROXY
$ rm containerproxy.pem
<br />
<br />
上面这段话的含义是globus-stop-container使用和container一样的证书来执行该命令，这里使用<br />
containercert.pem和containerkey.pem来生成一个containerproxy.pem，最后使用这个代理证书来关闭<br />
container。如果你遇到说找不到/tmp/x509up-u<strong><em>uid</em></strong>（uid是你用来执行globus-stop-container的用户的uid）<br />
文件的情况，可以试图采用上面的方式来解决这个问题。</pre>
<img src ="http://www.blogjava.net/waterjava/aggbug/203450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2008-05-28 12:05 <a href="http://www.blogjava.net/waterjava/archive/2008/05/28/203450.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网格开发人员：值得关注的组织和项目</title><link>http://www.blogjava.net/waterjava/archive/2008/05/23/202340.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Fri, 23 May 2008 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2008/05/23/202340.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/202340.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2008/05/23/202340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/202340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/202340.html</trackback:ping><description><![CDATA[<h1>
<p>级别： 初级</p>
<p><a href="http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/#author" cmimpressionsent="1">Edna Nerona</a> (<a href="mailto:edna@legacystudios.biz?subject=网格开发人员：值得关注的组织和项目" cmimpressionsent="1">edna@legacystudios.biz</a>), 顾问, Legacy Studios, Inc.<br />
</p>
<p>2007 年 8 月 09 日</p>
<blockquote>之前，我们向您提供了一份 <a href="http://www.ibm.com/developerworks/cn/grid/gr-read/index.html" cmimpressionsent="1">&#8220;网格开发人员推荐阅读清单&#8221;</a> 和 <a href="http://www.ibm.com/developerworks/cn/grid/gr-start/index.html" cmimpressionsent="1">&#8220;面向网格开发人员的入门级开源工具&#8221;</a>。现在我们又编著了一份代表网格计算未来发展的产品项目和组织清单。本文提供了在目前在不同领域（例如癌症研究、天文学和物理学）中开展的项目的详细清单。本文还介绍了工具包、安全性和数据管理。它们都是从各种在线资源获得，向程序员、管理员和新用户介绍了与使用、部署和开发网格基础设施有关的具体信息和项目。</blockquote><!--start RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--end RESERVED FOR FUTURE USE INCLUDE FILES-->
<p><a name="Production Grid Organizations"><span class="atitle">开发网格的组织</span></a></p>
<p>本节将介绍开发网格产品的组织，它们所解决的问题，以及它们是如何影响网格技术的。网格部署产品可以划分为几类：通用网格、科学和社区网格、国家网格、地区网格和大学网格。</p>
<p><a name="st1"><span class="smalltitle">国家和国际通用网格</span></a></p>
<dl>
<dt><strong><strong><a href="http://www.deisa.org/" cmimpressionsent="1">Distributed European Infrastructure for Supercomputing Applications</a> </strong></strong>
<dd>作为一个领导国家超级计算中心的协会，DEISA（Distributed European Infrastructure for Supercomputing Applications）部署并操作了一个具有安全产品质量的分布式超级计算环境。通过增强欧洲在高性能计算方面的能力，该研究组织促进了各种科学和技术领域中的科学发现。DEISA 对现有国家高端平台进行了高度集成，使用了专用的网络，并获得了新型系统和网格软件的支持。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.dutchgrid.nl/" cmimpressionsent="1">DutchGrid</a> </strong></strong>
<dd>成立于 2000 年，DutchGrid 拥有很多成功的研究成果和计划，跨越多个科学协作领域。作为一个学术和研究网格计算的开放平台，DutchGrid 为荷兰的网格用户提供了可全球识别的身份证书。DutchGrid CA 是一个完全中立的项目。任何非盈利的研究人员和学术界用户都可以获得个人和服务器或主机证书来使用网格应用程序。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.eu-egee.org/" cmimpressionsent="1">Enabling Grids for E-science</a> </strong></strong>
<dd>Enabling Grids for E-science （EGEE）项目将来自 32 个国家的 90 多个机构的科学家和工程师组织在一起，为科学家使用的电子科学（e-scinece）提供了一个无缝的网格基础设施。EGEE 网格包含了超过 30,000 个 CPU，它们可以一周 7 天、每天 24 小时地使用，另外还提供了大约 5 PB（5 百万个 GB）的存储空间，平均要维护 30,000 个并发作业。拥有如此众多的资源改变了科学研究所采用的方法。EGEE 是由欧盟建立的一个为期 4 年的项目。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.grid5000.fr/" cmimpressionsent="1">Grid5000</a> </strong></strong>
<dd>Grid5000 项目的目标是建立一个高度可配置的具有可控性并可监视的实验网格平台，网格研究人员可以使用它来试验从网络协议层到应用程序层之间的所有软件。Grid5000 将法国地理上分布的 9 个城市连接在一起，提供了 5,000 个 CPU。这 9 个城市包括：Bordeaux、 Grenoble、 Lille、 Lyon、 Nancy、 Orsay、 Rennes、 Sophia-Antipolis 和 Toulouse。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://latinamericangrid.org/" cmimpressionsent="1">LA Grid</a> </strong></strong>
<dd>LA Grid 的发音是 &#8220;lah grid&#8221;，它是第一个全面的计算网格，将来自美国、拉美和西班牙各个机构的职员、学生和研究人员联系在一起，协作开发可满足医疗服务行业内商业和社会需求的复杂行业应用程序。除了大学之外，LA Grid 还吸引了全球工业界的参与，从而增强了在很多领域内的创新，包括卫生保健、生命科学和飓风灾难以及灾难防御。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.opensciencegrid.org/" cmimpressionsent="1">Open Science Grid</a> </strong></strong>
<dd>Open Science Grid （OSG）是科学研究使用的一个分布式计算基础设施。OSG 联盟是惟一一个由各大学、国家实验室、科学协作组织和软件开发人员将海量计算和存储资源组成一个共享的统一网络基础设施的联盟。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://teragrid.org/" cmimpressionsent="1">TeraGrid</a> </strong></strong>
<dd>TeraGrid 是由 National Science Foundation 创建的一个开放科学研究基础组织。将 9 个合作站点的业界领先的资源组合起来，TeraGrid 创建了一个集成的持久计算资源。通过采用国家专用网络的一条高速千兆网络彼此连接，TeraGrid 提供了超过 150 teraflops 的计算能力、以及接近 2 PB 的循环存储空间、无数的科学数据集、专用的数据分析工具、科学网关、以及用来简化对有价值资源和可视化资源访问的用户门户。 </dd></dl>
<p><a name="st1"><span class="smalltitle">科学和社区网格</span></a></p>
<dl>
<dt><strong><strong><a href="http://www2.astrogrid.org/" cmimpressionsent="1">AstroGrid</a> </strong></strong>
<dd>AstroGrid 是一个开源项目，它的建立是为英国和国际天文学家创建一个工作用的虚拟天文台（Virtual Observatory，VO）。AstroGrid 是由英国政府建立，它通过 International Virtual Observatory Alliance （IVOA）与国际上其他 VO 项目紧密协作。作为这个社区的领导成员之一，AstroGrid 提供了国际通用的接口标准，用来促进天文数据的科学集成，并在全球范围内处理资源。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://cabig.nci.nih.gov/" cmimpressionsent="1">cancer Biomedical Informatics Grid</a> </strong></strong>
<dd>cancer Biomedical Informatics Grid （caBIG）是一个自发组织的网络或网格，它将个人和机构联系在一起，可以共享很多数据和工具，它创建了一个全球范围的癌症研究资源。caBIG 的目标是为了加速癌症预防和治疗方面的创新方法的迅速问世。caBIG 所创建的基础设施和工具在癌症社区之外也有很广泛的应用。caBIG 目前正在 National Cancer Institute 的 Center for Bioinformatics 的领导下进行开发。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.ivdgl.org/" cmimpressionsent="1">International Virtual Data Grid Laboratory</a> </strong></strong>
<dd>International Virtual Data Grid Laboratory （iVDGL）是一个全球的数据网格，用于物理和天文领域的前沿实验。它的计算、存储和网络资源分布于美国、欧洲、亚洲和南美，提供了一个独特的实验环境，可用来测试和验证国际的和全球范围的网格技术。位于欧洲和美国的站点通过一个由 European DataTAG 项目创建的数千兆每秒的跨越大西洋的链接链接在一起。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.worldcommunitygrid.org/" cmimpressionsent="1">World Community Grid</a> </strong></strong>
<dd>World Community Grid 的使命是创建全世界最大的公共计算网格，研究对人类有益的项目。World Community Grid 的成功在于：集合了个体为实现更美好的世界而贡献出的未用的计算时间。World Community Grid 正在研究一些公共和非盈利组织才能使用的技术，从而开展一些人道主义研究；如果没有公共网格，高昂的计算基础设施将使研究无法完成。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://lcg.web.cern.ch/LCG/" cmimpressionsent="1">Worldwide Large Hadron Collider Computing Grid</a> </strong></strong>
<dd>Worldwide Large Hadron Collider（LHC）Computing Grid 的目的是处理 2007 年前 CERN 的 LHC 所开展的实验所产生的空前数据量。LHC 开展的实验的计算需求极为庞大。每年大概会生成 12 到 14 PB 的数据，这大约相当于 2 千万张 CD。对这些数据进行分析大约需要 70,000 台目前最快的 PC。通过部署一个全球范围的计算网格，将分布在欧洲、美国和亚洲的科学计算中心的资源集成到一个全球虚拟化计算服务中，LHC Computing Grid 可以满足这些需求。 </dd></dl><br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N1012B"><span class="atitle">美国地区的网格</span></a></p>
<dl>
<dt><strong><strong><a href="http://www.nwicgrid.org/" cmimpressionsent="1">Northwest Indiana Computational Grid</a> </strong></strong>
<dd>Northwest Indiana Computational Grid（NWICG）是来自 Purdue University-West Lafayette、 Purdue University-Calumet 和 University of Notre Dame 的合作研究和教育组织。NWICG 重点关注的是国家科学和研究活动，其创建的网络基础设施可以支持重大问题的解决方案，以及在高性能计算底层技术领域启用保持世界领先的技术。它们正在 Department of Energy's Argonne National Laboratories 的协助下，在这 3 个大学之间为 Northwest Indiana 开发一个可扩充的高速、高带宽的科学驱动计算网格。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.sura.org/programs/sura_grid.html" cmimpressionsent="1">SURAGrid</a> </strong></strong>
<dd>Southeastern Universities Research Association（SURA）是一个组织协作联盟，它合并各种资源以将网格技术上升到无缝的共享基础设施。SURAgrid 着重关注的是对大量分布式能力的直接访问，从而用于研究和教育社区。SURAgrid 促进了以下领域的开发：所贡献的资源、项目特有的工具和环境、高度专门化访问、通往国家和国际的网络基础设施网关。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.hipcat.net/Projects/tigre" cmimpressionsent="1">Texas Internet Grid for Research and Education</a> </strong></strong>
<dd>Texas Internet Grid for Research and Education （TIGRE）项目的使命是将整个得克萨斯州的计算系统、存储系统、数据库、可视化实验和显示以及仪器和传感设备整合在一起，创建一个计算网格。通过集成强大的计算能力，为得克萨斯州在学术、政府以及工业界的研究人员提供增强的计算能力，TIGRE 希望能够对生物医学、能源和环境、航空宇宙、材料科学、农业和信息技术的进步提供帮助。 </dd></dl><br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="Open source grid projects"><span class="atitle">开源网格项目</span></a></p>
<p>这些网格项目覆盖了很多领域，包括网格基础设施工具包、中间件工具包、数据工具、安全等。下面给出了一些迅速发展的网格项目和工具。经常访问这些站点可以了解有关它们领导网格技术不断发展的最新消息。</p>
<p><a name="GridInfrastructureProjects"><span class="smalltitle">网格基础设施项目 </span></a></p>
<p>帮助建立自己网格的开源网格基础设施项目。 </p>
<dl>
<dt><strong><strong><a href="http://boinc.berkeley.edu/" cmimpressionsent="1">Berkeley Open Infrastructure for Network Computing</a> </strong></strong>
<dd>Berkeley Open Infrastructure for Network Computing （BOINC）是项目使用的一个软件平台，例如 distributed.net 和 SETI@home，它使用了数百万台志愿者计算机组成一个并行的超级计算机。可以获得该平台的源代码，并且鼓励感兴趣的 C++ 开发人员帮助开发平台代码。BOINC 目前可以支持 Windows&#174;、Linux&#174;、UNIX&#174; 和 Mac OS X。 CPU 平台的需求可能在使用 BOINC 的项目客户机之间会有所不同。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.unicore.eu/" cmimpressionsent="1">Uniform Interface to Computing Resources</a> </strong></strong>
<dd>Uniform Interface to Computing Resources（UNICORE）提供了一个可随时运行的网格系统，包括客户机和服务器软件。UNICORE 让分布的计算和数据资源在内部网和互联网上以一种无缝的安全方式使用。UNICORE 设计的重点是几个核心原则：无缝访问异构环境、安全性、站点自治、易于使用的强大的 GUI 客户机，以及可以进行简单安装的快速启动包。 </dd></dl>
<p><a name="GridMiddlewareProjects"><span class="smalltitle">网格中间件项目 </span></a></p>
<p>以下项目已经为美国和国际项目提供了一些高级工具，可以简化访问大量网格功能，例如计算、可视化和存储资源。您可以与不同的网格进行交互，或者为自己的网格进行定制。</p>
<dl>
<dt><strong><strong><a href="http://glite.web.cern.ch/glite/" cmimpressionsent="1">gLite</strong> </strong>
<dd>gLite 是网格计算使用的下一代中间件，它诞生于 12 个学术机构和行业研究中心的 80 多个工作人员的联合努力，是 EGEE 项目的一部分。gLite 充分利用分布在 Internet 上的计算和存储资源，为构建网格应用程序提供了一个最佳框架。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.naregi.org/index_e.html" cmimpressionsent="1">National Research Grid Initiative</a> </strong></strong>
<dd>National Research Grid Initiative（NAREGI）位于日本，它着重于网格中间件的研究和开发，为广泛分布的、高级研究和教育目的实现大规模的计算环境。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://ninf.apgrid.org/" cmimpressionsent="1">Ninf-G</a> </strong></strong>
<dd>Ninf 也是日本的一个项目，正在开发编程中间件，使用户能够通过一个简单易用的接口来访问各种资源，例如网格中的硬件、软件和科学数据。Ninf-G 是一个开源软件，支持开发和执行分布式计算资源中使用 Grid Remote Procedure Call（GridRPC）的启用网格的应用程序。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.nordugrid.org/middleware/" cmimpressionsent="1">NorduGrid</a> </strong></strong>
<dd>NorduGrid 中间件，也称为 Advanced Resource Connector（ARC），是一个按照 GPL 许可发布的开源软件解决方案，可以实现保证产品质量的计算和数据网格。ARC 为基本网格服务提供了一个可靠实现，例如信息服务、资源查找和监视、作业提交和管理、代理和数据管理，以及资源管理。大部分服务都是通过 GSI 的安全层提供的。中间件是在诸如 OpenLDAP、OpenSSL、SASL 和 Globus Toolkit（GT）之类的开源解决方案基础上构建的。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.ogsadai.org.uk/" cmimpressionsent="1">OGSA-DAI</a> </strong></strong>
<dd>OGSA-DAI 项目着重关注的是中间件的开发，从而有助于对网格中不同来源的数据进行访问和集成。这个项目与 Globus、OMII-Europe、NextGRID、SIMDAT 和 BEinGRID 紧密协作，确保 OGSA-DAI 软件可以在各种网格环境中很好地工作。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www-sop.inria.fr/oasis/proactive" cmimpressionsent="1">ProActive</a> </strong></strong>
<dd>ProActive 是 Java&#8482; 网格中间件库（其开源代码具有 LGPL 许可），可用于进行并行、分布式和多线程计算。通过采用一个简单元语的精简集，ProActive 提供了一个详尽的 API 来简化网格计算应用程序的编程，这些程序均分布在 LAN、工作站集群和 Internet 网格中。 </dd></dl>
<p><a name="SecurityProjects"><span class="smalltitle">安全项目 </span></a></p>
<p>为了保护重要的基础设施和信息，安全性需求一直以来都随网格计算的发展而演变。这些项目代表了一些网格安全解决方案的一些最先进的安全标准和实现。 </p>
<dl>
<dt><strong><strong><a href="http://gridshib.globus.org/" cmimpressionsent="1">GridShib</a> </strong></strong>
<dd>GridShib 是在 NCSA 和 University of Chicago 之间开展的由 NFS 创建的项目，用来将联合授权基础设施（Shibboleth）与网格技术（Globus Toolkit）进行集成，从而为分布的科学社区提供基于属性的授权。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://grid.racf.bnl.gov/GUMS/" cmimpressionsent="1">Grid User Management System</a> </strong></strong>
<dd>Grid User Management System（GUMS）是一个网格身份映射服务（Grid Identity Mapping Service）。当站点资源不使用本地网格凭证，而是使用一种不同的机制来标识用户时（例如 UNIX 帐号或 Kerberos 准则），就需要使用身份映射。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://computing.fnal.gov/docs/products/voprivilege/prima/prima.html" cmimpressionsent="1">PRIvilege Management and Authorization</a> </strong></strong>
<dd>PRIvilege Management and Authorization（PRIMA）是一个提供增强的网格安全的系统。PRIMA 是一个全面的网格安全模型和系统。在 PRIMA 中，特权是一种与平台无关的、细粒度权限的自包含表示。PRIMA 通过从资源内部表示来具体化对资源对象的细粒度访问权限实现了特权的平台无关性。 </dd></dl>
<p><a name="ResourceManagement"><span class="smalltitle">资源管理和调度 </span></a></p>
<p>网格的一个基本部分就是在资源之间管理和调度作业。下面这些项目展示了有关的一些策略。</p>
<dl>
<dt><strong><strong><a href="http://www.globus.org/grid_software/computation/csf.php" cmimpressionsent="1">Community Scheduler Framework</a> </strong></strong>
<dd>Community Scheduler Framework（CSF）是一个基于 OGSA 的元调度器的开源实现。它可以支持最新的 WS-Agreement 规范和 Globus Toolkit 的 GRAM 服务。CSF 填补了现有资源管理现状的不足，并集成了 Platform LSF 和 Platform Multicluster。CSF 开源项目已经包括到了 Globus Toolkit V4.0 发行版中。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://spruce.teragrid.org/" cmimpressionsent="1">Special Priority and Urgent Computing Environment</a> </strong></strong>
<dd>高性能建模和仿真在决策制定和预测方面起到了推动作用。对于时间关键型的应急应用程序，例如灾害天气预报、洪水建模、流感建模，任何延时会使结果变得毫无用处。这需要使用专用的基础设施快速、自动而且可靠地提供计算资源。Special Priority and Urgent Computing Environment（SPRUCE）是一个用来在传统超级计算机和分布式网格上支持紧急或事件驱动计算的系统。 </dd></dl>
<p><a name="GridResourceMonitoring"><span class="smalltitle">网格资源监视 </span></a></p>
<p>对资源和应用程序的监视是网格成功的关键。通过一个简单易用的接口，这些复杂工具可以帮助用户搜集、分类和监视各种类型的资源。另外，系统管理员还可以监视网格的健康状况。这些不断发展的网格项目列出了几个开源选择。</p>
<dl>
<dt><strong><strong><a href="http://www.ivdgl.org/gridcat/home/index.html" cmimpressionsent="1">GridCat</a> </strong></strong>
<dd>GridCat 是一个在地理图上使用状态点以及编目的高级网格编目系统。这个图可以帮助调试站点问题。编目中包含了有关站点的准备信息，以及每个站点的很多其他有价值的信息，帮助应用程序用户和网格调度器开发人员进行作业提交和作业调度。GridCat 尝试在其最简单的状态表示中表示网格站点。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.gridbus.org/gridscape/" cmimpressionsent="1">Gridscape II</a> </strong></strong>
<dd>Gridscape II 是一个定制的门户组件，可以在其自身的网格门户中使用，也可以插入到现有网格门户中。Gridscape II 负责从各种异构和分布式资源中搜集信息，并在单个界面中无缝地将它们呈现出来。它充分利用了 Google Maps API 来提供一个高交互性的用户界面。Gridscape II 非常简单易用，为那些不希望大量投资以从头开始开发自己的监视门户的用户提供了一个解决方案，也为那些希望简化定制内容的用户提供了一种解决方案。 </dd></dl>
<p><a name="Storage"><span class="smalltitle">存储和数据管理 </span></a></p>
<p>从开源高性能文件系统到无缝地访问异构环境中的数据，以下项目集合了各种存储和数据管理解决方案并进行了优化。这种趋势强调的是资源之间的数据存储、管理和移动，以及通过网络对数据资源的连接。</p>
<dl>
<dt><strong><strong><a href="http://www.lustre.org/" cmimpressionsent="1">Lustre</a> </strong></strong>
<dd>Lustre File System，这是一个来自 Cluster File Systems Inc. 的高性能开源文件系统，它是一个分布式文件系统，消除了很多传统分布式文件系统中存在的性能、可用性和可伸缩性问题。Lustre 是一个高度模块化的下一代存储架构，它将现有的开放标准、Linux 操作系统和创新协议组合成一种可靠的、网络中立的数据存储和检索解决方案。通过在集群和数据共享环境中提供高 I/O 吞吐量，Lustre 还提供了与物理存储上的数据位置无关的独立性，防止单点失效，并且可以从集群的重新配置和服务器或网络故障中快速恢复。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://www.cs.wisc.edu/condor/nest/" cmimpressionsent="1">NeST</a> </strong></strong>
<dd>NeST 是一个软件网络存储设备，为特定时间段提供了安全的存储分配。分配单元或份额（lot）的大小和持续时间可以在 NeST 和用户或应用程序之间进行协商。这些份额的大小也可以扩充，时间可以扩展，或者划分成不同的层次。另外，NeST 还为份额和文件访问提供了访问控制列表。NeST 提供了多种协议接口，包括内部使用的 Chirp、HTTP 和 GSI-FTP。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://projects.fnal.gov/samgrid/" cmimpressionsent="1">SAMGrid</a> </strong></strong>
<dd>SAMGrid 是一个通用数据处理系统，它被设计为用来测试大量数据（PB 级）集和广泛分布的产品和分析工具的一个关键设备。当前产品的组件提供了大量的服务，可用于分布式系统中的数据传输、数据存储和进程记录。 </dd></dl>
<dl>
<dt><strong><strong><a href="http://dims.ncsa.uiuc.edu/set/uberftp/index.html" cmimpressionsent="1">UberFTP</a> </strong></strong>
<dd>UberFTP 是在 GridFTP 基础上构建的，它是第一个启用 GridFTP 的交互式 FTP 客户机。基本的 GridFTP 客户机不是可交互式的，它一次只允许传输一个文件。UberFTP 提供了交互式工具，工作方式与流行的 NCFTP 工具类似。它支持 GSI 认证、并行数据通道以及第三方传输功能。 </dd></dl><br />
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br />
            <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td>
        </tr>
    </tbody>
</table>
<table class="no-print" cellspacing="0" cellpadding="0" align="right">
    <tbody>
        <tr align="right">
            <td><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br />
            <table cellspacing="0" cellpadding="0" border="0">
                <tbody>
                    <tr>
                        <td valign="middle"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br />
                        </td>
                        <td valign="top" align="right"><a class="fbox" href="http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/#main" cmimpressionsent="1"><strong>回页首</strong></a></td>
                    </tr>
                </tbody>
            </table>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<p><a name="N102EB"><span class="atitle">结束语</span></a></p>
<p>网格计算是最令人兴奋的技术之一，它在很大程度上影响了我们解决复杂问题和共享各种资源的方式。除了癌症和物理学之外，它对于安全和认证、查找、监视、信息服务、数据管理、资源管理和调度也有重大影响。</p>
<br />
<br />
<p><a name="resources"><span class="atitle">参考资料 </span></a></p>
<strong>学习</strong><br />
<ul>
    <li>您可以参阅本文在 developerWorks 全球网站上的 <a href="http://www.ibm.com/developerworks/grid/library/gr-gridorgs/index.html?S_TACT=105AGX52&amp;S_CMP=cn-a-gr" target="_blank" cmimpressionsent="1">英文原文</a>。<br />
    <br />
    <li>查看 developerWorks 中的 &#8220;<a href="http://www.ibm.com/developerworks/cn/grid/library/technical/grid.html" cmimpressionsent="1">网格计算文档库</a>&#8221;。<br />
    <br />
    <li>要收听面向软件开发人员的有趣访谈和讨论，请查看 <a href="http://www.ibm.com/developerworks/podcast/?S_TACT=105AGX52&amp;S_CMP=cn-a-gr" cmimpressionsent="1">developerWorks podcasts</a>。<br />
    <br />
    <li>随时关注 developerWorks 的 <a href="http://www.ibm.com/developerworks/cn/offers/techbriefings/" cmimpressionsent="1">developerWorks 技术活动和网络广播</a>。<br />
    <br />
    <li>了解世界范围内面向 IBM 开源开发人员的即将召开的会议、商业展示、webcasts 和其他 <a href="http://www.ibm.com/developerworks/views/opensource/events.jsp?S_TACT=105AGX52&amp;S_CMP=cn-a-gr" cmimpressionsent="1">事件</a>。<br />
    <br />
    <li>请访问 <a href="http://www.ibm.com/developerworks/cn/opensource" cmimpressionsent="1">developerWorks 中国网站开源软件技术专区</a>，这里有丰富的 how-to 信息、工具和项目更新信息，可以帮助您使用开源技术进行开发，并与 IBM 产品一起使用。<br />
    <br />
    </li>
</ul>
<br />
<strong>获得产品和技术</strong><br />
<ul>
    <li>请下载 <a href="http://www.ibm.com/developerworks/cn/downloads/" cmimpressionsent="1">IBM 产品评测版</a>，尝试使用来自 DB2&#174;、Lotus&#174;、Rational&#174;、Tivoli&#174; 和 WebSphere&#174; 的应用程序开发工具和中间件产品。 <br />
    <br />
    <li>使用 <a href="http://www.ibm.com/developerworks/cn/downloads/" cmimpressionsent="1">IBM 试用软件</a> 改进您的下一个开源开发项目，这些软件可以从 developerWorks 下载或从 DVD 获得。</li>
</ul>
<br />
<strong>讨论</strong><br />
<ul>
    <li>请访问 developerWorks 上的 <a href="http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=531&amp;cat=52" cmimpressionsent="1">网格计算论坛</a>。<br />
    <br />
    <li>通过参与 <a href="http://www.ibm.com/developerworks/blogs?S_TACT=105AGX52&amp;S_CMP=cn-a-gr" cmimpressionsent="1">developerWorks blogs</a>，加入 developerWorks 社区。<br />
    <br />
    </li>
</ul>
<br />
<br />
<p><a name="author"><span class="atitle">关于作者</span></a></p>
<table cellspacing="0" cellpadding="0" width="100%" border="0">
    <tbody>
        <tr>
            <td colspan="3"><img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /></td>
        </tr>
        <tr valign="top" align="left">
            <td>
            <p><img alt="Edna Nerona" src="http://www.ibm.com/developerworks/i/p-enerona.jpg" align="left" valign="top" /></p>
            </td>
            <td><img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="4" /></td>
            <td width="100%">
            <p>Edna Nerona 是 Legacy Studios，Inc. 的所有人，这是一家位于 San Diego 的创新服务公司。她拥有 San Diego State University 的新闻学学士学位，曾经在 San Diego Supercomputer Center 和 Entropia，Inc. 工作过。她还是 Toastmasters International 的一名多才多艺的发言人。</p>
            </td>
        </tr>
    </tbody>
</table>
</h1>
<p><br />
<br />
来自: http://www.ibm.com/developerworks/cn/grid/gr-gridorgs/</p>
<img src ="http://www.blogjava.net/waterjava/aggbug/202340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2008-05-23 10:55 <a href="http://www.blogjava.net/waterjava/archive/2008/05/23/202340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>也谈GT4下Math的调试</title><link>http://www.blogjava.net/waterjava/archive/2007/07/12/129822.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 12 Jul 2007 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/12/129822.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/129822.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/12/129822.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/129822.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/129822.html</trackback:ping><description><![CDATA[<p>走了很多弯路，参考了很多文献，才把这个Math调试完毕。顺便记下，供需要的人参考。<br><br>一.软件<br>操作系统：Vista Ultimate<br><br>JDK: C:\Java\jdk1.5.0_03&nbsp; http://java.sun.com/javase/downloads/index_jdk5.jsp<br><br>Axis: C:\axis14&nbsp;&nbsp; <span>Axis</span><span>下载：</span><span><a href="http://archive.apache.org/dist/ws/axis/">http://archive.apache.org/dist/ws/axis/</a></span></p>
<p>Ant: C:\ant170&nbsp;&nbsp; <span lang="EN-US"><font face="Calibri">Ant</font></span><span style="font-family: 宋体;">下载：</span><span lang="EN-US"><a href="http://www.apache.org/dist/ant/binaries/"><u><font color="#0000ff" face="Calibri">http://www.apache.org/dist/ant/binaries/</font></u></a></span><br><br>Tomcat : C:\Tomcat5 版本是5.0.28&nbsp; <span>Tomcat</span><span>下载：</span><span><a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a> <br><br>Python: C:\Python24</span></p>
<p>axis需要的jar文件下载：<br><br>&nbsp;<span>activation.jar</span><span>下载：</span><span><a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">http://java.sun.com/products/javabeans/glasgow/jaf.html</a> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><font face="Calibri">&nbsp;Javamail.jar</font></span><span style="font-family: 宋体;">下载：</span><span lang="EN-US"><a href="http://java.sun.com/products/javamail/"><u><font color="#800080" face="Calibri">http://java.sun.com/products/javamail/</font></u></a><font face="Calibri"> </font></span></p>
<p>&nbsp;<span>Xmlsec.jar</span><span>下载：</span><span><a href="http://xml.apache.org/security/">http://xml.apache.org/security/</a> </span></p>
<p><br><br>二.环境设置：<br>ANT_HOME=C:\ant170<br><br>AXIS_HOME=%CATALINA_HOME%\webapps\axis<br><br>AXIS_LIB=C:\jdbc\axis_lib<br><br>AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\xalan.jar;%AXIS_LIB%\xmlsec-1.4.1.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;<br><br>CATALINA_HOME=C:\Tomcat5<br><br>classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;DBCLASSPATH;AXISCLASSPATH<br><br>DB_LIB=C:\jdbc\db_lib<br><br>DBCLASSPATH=%DB_LIB%\jconn2.jar;<br><br>GLOBUS_LOCATION=C:\globus<br><br>JAVA_HOME=C:\Java\jdk1.5.0_03<br><br>Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%ANT_HOME%\bin;%GLOBUS_LOCATION%\bin;%CATALINA_HOME%\bin;<br><br>三.安装<br><br>1.jdk安装<br><br>2.tomcat安装<br><br>3.axis安装<br><br>4.globus4安装<br><br>四.调试<br><br>1.调试好jdk<br><br>2.调试好tomcat<br><br>3.调试好axis<br><br>4.调试好globus<br><br>五math的调试<br><br>math下载地址：<a href="http://gdp.globus.org/gt4-tutorial/download/progtutorial-examples_0.2.1.tar.gz">http://gdp.globus.org/gt4-tutorial/download/progtutorial-examples_0.2.1.tar.gz</a><br><br>MathQNames.java/MathService.java下载：<a href="http://www.blogjava.net/Files/waterjava/globus_Math.rar">http://www.blogjava.net/Files/waterjava/globus_Math.rar</a><br><br>这部分参考了网上文献，红色部分是自己加上的：<br>step1&nbsp;&nbsp;<br>1 建wsdl文件<br>即C:\globus\schema\examples\MathService_instance\Math.wsdl<br>内容就直接从tutorial上拷.<br>2 建c:\globus\namespace2package.mappings<br>&nbsp;&nbsp;&nbsp;&nbsp;手册上是说的namespace2package..properties文件,但每次在编译的时侯,都是映射后的命名空间找不着,改成.mappings就OK了.这里注意每条记录只能占一行,而且"http\://"那一"\"不能乱删.<br>step2 写服务实现类<br>1 MathQNames.java<br>内容从手册上拷,文件建在C:\globus\org\globus\examples\services\core\first\impl\MathQNames.java处.<br>2 MathService.java<br>内容从手册上拷,文件建在C:\globus\org\globus\examples\services\core\first\impl\MathService.java处.<br>step3 建WSDD和JNDI部署文件<br>1 C:/globus/org/globus/examples/services/core/first/deploy-server.wsdd;<br>2 C:/globus/org/globus/examples/services/core/first/deploy-jndi-config.xml;<br>step4 生成gar文件<br>1 将下载的globus-build-service-gt4_0.2.5<span style="color: red;">里面几个文件（globus-build-service.py和build.xml）</span>先拷贝到C:\globus下 <br>2 在C:\globus下运行命令:<br>globus-build-service.py -d org/globus/examples/services/core/first/ -s schema/examples/MathService_instance/Math.wsdl<br>如果不成功,估计要先运行d:\ws\etc\globus-devel-env.bat;<br>成功的话,生成d:\gt4\org_globus_examples_services_core_first.gar<br>step 5 部署<br>1 C:\globus下运行:<br>globus-deploy-gar c:/globus/org_globus_examples_services_core_first.gar<br><span style="color: red;">2 关掉tomcat</span><br><br>3&nbsp;运行globus-start-container -nosec<br>如果看到你自己的MathServices服务,就说明成功了.<br><br>这样你不能通过IE看你的服务,如果要的话,我们可以把他发布到tomcat里面去,你得装Tomcat,然后用以下明明发布到tomcat里面去,<strong>ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir="C:\Tomcat5"</strong>（最后那个目录为你的tomcat的目录）<br>(注意)重新启动tomcat，输入<a href="http://localhost:8080/wsrf/services"><u><font color="#666600">http://localhost:8080/wsrf/services</font></u></a>你就可以看到你服务了！<br><br>客户端的开发,有一个问题要注意<br>System.out.println("Current value:" + math.getValue(new GetValueRP()));<br>math.getValue修改为math.getValueRP,估计这是作者笔误.<br>然后是客户端编译命令:<br>javac -classpath ./build/stubs/classes/;%CLASSPATH% org/globus/examples/clients/MathService_instance/Client.java<br><br><span style="color: red;">如果出现：软件包org.apache.axis.message.addressing不存在；要先运行C:\globus\etc\globus-devel-env.bat;</span><br><br>最后运行检验:<br>java -classpath ./build/stubs/classes/;%CLASSPATH% org.globus.examples.clients.MathService_instance.Client http://127.0.0.1:8080/wsrf/services/examples/core/first/MathService<br>出现期望的数字就说明成功了. <br>可以看到,用了globus-build-service-gt4_0.2.5,执行步骤要比以前少很多.另外,WSDL文件个人认为也可以用Java2WSDL生成,但没有做尝试.\<br>ps:上传了整个d:/gt4目录.补充一点, 要运行globus-build-service.py需要python环境支持.<br><br><br></p><img src ="http://www.blogjava.net/waterjava/aggbug/129822.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-12 14:03 <a href="http://www.blogjava.net/waterjava/archive/2007/07/12/129822.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Globus Toolkit 4 Programmer's Tutorial</title><link>http://www.blogjava.net/waterjava/archive/2007/07/10/129353.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Tue, 10 Jul 2007 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/10/129353.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/129353.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/10/129353.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/129353.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/129353.html</trackback:ping><description><![CDATA[The Globus Toolkit 4 Programmer's Tutorial&nbsp; 地址:http://gdp.globus.org/gt4-tutorial/
<img src ="http://www.blogjava.net/waterjava/aggbug/129353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-10 15:33 <a href="http://www.blogjava.net/waterjava/archive/2007/07/10/129353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GT4编程 First Step</title><link>http://www.blogjava.net/waterjava/archive/2007/07/10/129340.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Tue, 10 Jul 2007 06:41:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/10/129340.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/129340.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/10/129340.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/129340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/129340.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: GT4编程 First Step 1 开始前该文档针对Windows平台已经安装完ws-core-4.0.x的用户。在继续进行之前保证已经设置环境变量GLOBUS_LOCATION，指向ws-core-4.0.x的安装目录（在我的系统中为D:\ws-core-4.0.0）。同时，为了方便，最好将D:\ws-core-4.0.0\bin目录添加到系统目录PATH中。这样可以方便我们执行Glo...&nbsp;&nbsp;<a href='http://www.blogjava.net/waterjava/archive/2007/07/10/129340.html'>阅读全文</a><img src ="http://www.blogjava.net/waterjava/aggbug/129340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-10 14:41 <a href="http://www.blogjava.net/waterjava/archive/2007/07/10/129340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows XP下WS-core4.0.4Math实例调试(1)</title><link>http://www.blogjava.net/waterjava/archive/2007/07/10/129298.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Tue, 10 Jul 2007 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/10/129298.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/129298.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/10/129298.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/129298.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/129298.html</trackback:ping><description><![CDATA[<p align=left>最近在学习网格,还是感觉很抽象,所以想自己做个例子来加深理解.花了两天时间终于搞好了.</p>
<p align=left>首先,这里有详细的步骤,不过手册里面也有点点小错误<a href="http://gdp.globus.org/gt4-tutorial/multiplehtml/ch03s01.html"><u><font color=#666600>http://gdp.globus.org/gt4-tutorial/multiplehtml/ch03s01.html</font></u></a>.环境配置:ws-core-4.0.4,apache-ant-1.6.5,jdk1.5.0_09.globus-build-service-gt4_0.2.5.还有就是要运行globus-build-service.py需要python环境支持.所以得安装python.要编写、部署这样一个Web Service需要一下5个简单的步骤：</p>
<p align=left>1.通过编写WSDL文件，定义服务的接口.</p>
<p align=left>2.通过编写Java代码，实现上述接口定义的服务</p>
<p align=left>3.编写WSDD部署描述符和JNDI.</p>
<p align=left>4.使用ant编译并形成GAR（Globus ARchive）文件</p>
<p align=left>5.通过GT4自带的工具部署服务</p>
<p align=left><font face=宋体>JDK,ANT,TOMCAT的安装不用多说,可选：安装补丁，直接把tomcat-native-1.1.2.tar.gz拷贝到bin\下，备份原来的tomcat-native.tar.gz，<br>&nbsp;然后把tomcat-native-1.1.2.tar.gz改名tomcat-native.tar.gz(不过我没装)</font></p>
<p align=left><font face=宋体>注意:axis-bin-1_4.zip<br>&nbsp;解压，把解压出来的axix目录复制到tomcat目录下的webapps目录下；<br>&nbsp;将axis/WEB-INF/lib目录下的文件复制到tomcat目录下的common/lib目录下；<br>&nbsp;重新启动tomcat；<br>&nbsp;测试：在浏览器输入<a class=contentlink href="http://localhost:8080/axis/happyaxis.jsp" target=_blank><font color=#000050><u>http://localhost:8080/axis/happyaxis.jsp</u></font></a>；如果能访问表示设置成功。</font></p>
<p align=left>下面，我们分别介绍以上五个步骤：</p>
<p align=left>step1定义服务接口</p>
<p align=left>通过编写WSDL文件，来定义我们提供服务的接口。这样，客户端通过解析WSDL文件，从而了解服务的具体定义和调用情况。</p>
<p align=left>文件的代码:(Math.wsdl)可以从手册里拷贝.</p>
<p align=left>该文件被保存在<strong><em>EXAMPLES_DIR</em></strong>\schema\examples\MathService_instance目录下</p>
<p align=left>其中EXAMPLES_DIR=C:\gt4.</p>
<p align=left>2 建C:\gt4\namespace2package.mappings<br>&nbsp;&nbsp;&nbsp;&nbsp;手册上是说的namespace2package..properties文件,但每次在编译的时侯,都是映射后的命名空间找不着,改成.mappings就OK了.这里注意每条记录只能占一行,而且"http\://"那一"\"不能乱删.</p>
<p align=left>step2 写服务实现类<br>1 MathQNames.java<br>内容从手册上拷,文件建在C:\gt4\org\globus\examples\services\core\first\impl\MathQNames.java处.<br>2 MathService.java<br>内容从手册上拷,文件建在C:\gt4\org\globus\examples\services\core\first\impl\MathService.java处.<br>3建WSDD和JNDI部署文件<br>1 C:/gt4/org/globus/examples/services/core/first/deploy-server.wsdd;<br>2 C:/gt4/org/globus/examples/services/core/first/deploy-jndi-config.xml;</p>
<p align=left>step4 生成gar文件<br>1 将下载的globus-build-service-gt4_0.2.5里面几个文件先拷贝到C:\gt4下</p>
<p align=left>2 在C:\gt4下运行命令:<br>globus-build-service.py -d org/globus/examples/services/core/first/ -s schema/examples/MathService_instance/Math.wsdl 从而生成build文件夹.</p>
<p align=left>如果不成功,估计要先运行C:\gt4\etc\globus-devel-env.bat;(主要配置classpath,将c:\gt4\lib\*.jar,引入到classpath,),遇到<br>成功的话,生成d:\gt4\org_globus_examples_services_core_first.gar.</p>
<p align=left>step 5 部署<br>1 c:\gt4下运行:<br>globus-deploy-gar c:/gt4/org_globus_examples_services_core_first.gar(需要python支持)<br>这样,我们的服务就算发布了,可以运行给外面的人用了.但是它得在那个容器里面,可以直接用GT4带的java WS Core container发布,运行如下命令</p>
<p align=left>2 运行globus-start-container -nosec<br>如果看到你自己的MathServices服务,就说明成功了.</p>
<p align=left>这样你不能通过IE看你的服务,如果要的话,我们可以把他发布到tomcat里面去,你得装Tomcat,然后用以下明明发布到tomcat里面去,<strong>ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir="C:\Program Files\Apache Software Foundation\Tomcat 5.0"</strong>（最后那个目录为你的tomcat的目录）<br>(注意)重新启动tomcat，输入<a href="http://localhost:8080/wsrf/services"><u><font color=#666600>http://localhost:8080/wsrf/services</font></u></a>你就可以看到你服务了！</p>
<p align=left><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">客户端的开发</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">,</span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">有一个问题要注意</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">(</span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">有两处</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">)<br>System.out.println("Current value:" + math.getValue(new GetValueRP()));<br>math.getValue</span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">修改为</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">math.getValueRP,</span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">估计这是作者笔误</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">.<br></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">然后是客户端编译命令</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">:<br>javac -classpath ./build/stubs/classes/;"%CLASSPATH%" org/globus/examples/clients/MathService_instance/Client.java<br></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">最后运行检验</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">:java -classpath ./build/stubs/classes/;"%CLASSPATH%" org.globus.examples.clients.MathService_instance.Client http://127.0.0.1:8080/wsrf/services/examples/core/first/MathService<br></span><span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">出现期望的数字就说明成功了</span><span lang=EN-US style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Tahoma; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体" XML:LANG="EN-US">.&nbsp;</span></p>
<br><br>来自:http://blog.sina.com.cn/u/49ccf52b010008b5
<img src ="http://www.blogjava.net/waterjava/aggbug/129298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-10 11:45 <a href="http://www.blogjava.net/waterjava/archive/2007/07/10/129298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网格观点: Ian Foster 评价 Globus Toolkit 4.0 的意义</title><link>http://www.blogjava.net/waterjava/archive/2007/07/06/128470.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 05 Jul 2007 20:39:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/06/128470.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/128470.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/06/128470.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/128470.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/128470.html</trackback:ping><description><![CDATA[Globus Toolkit 4.0 是程序员相信代码质量已经足以满足企业需求的第一个版本。与 GT 以前的版本相比，GT4 包括很多 Web 服务和标准。网格先驱 Ian Foster 讨论了 Globus Toolkit 4.0 中的新增内容和重要内容。 <br>Globus Toolkit 4.0 的发布 <br>在 4 月 30 日，Globus Alliance 正式向开发社区发布了 4.0 版本。要下载这个版本，请参阅 参考资料。 <br><br>IBM developerWorks 抓住了机会，就这个新发行版的重要性，对开源网格先驱 Ian Foster 进行了采访。 <br><br>developerWorks：最新发布的 Globus Toolkit 4.0 被称为是距今为止&#8220;最能满足企业需求&#8221;的版本。您可以快速回顾一下 Globus Toolkit 的由来，并重点介绍一下 Globus Toolkit 4.0 中的新特性和功能吗？ <br><br>Foster：在开始从事 Globus 方面的工作时，大约是在 10 年之前，我们的研究重点是试图确认一些允许通过科学上的合作和资源共享来解决一些复杂问题的机制和软件。这个工作的成果就是 Globus Toolkit。大约在 2001 年，随着 GT2 的发布，我们开始看到业界中许多用户对此很感兴趣，所以我们花费了大量的时间，吸引 Globus 软件的潜在商业用户的注意。 <br><br>这些讨论对于我们来说是一剂强心针，使我们能更好地理解如何将科学界环境中的开发思想在 Web 服务框架中进行重塑，并且能够使用一种对业界非常有用的方法来提供这种重塑。在得到 IBM 的赞助之后，我们就可以真正开展工作了，随后推出的第一个产品是 2003 年 6 月发布的 GT3，这是第一个可以支持 Web 服务的 Globus Toolkit 版本，它利用了 OGSI（Open Grid Services Infrastructure），这是 WSRF（WS-Resource Framework）的前身。不幸的是，OSGI 不是一个业界普遍认可的标准，因此，坦白地说，GT3 软件并没有达到产品级别的质量。 <br><br>从 GT3 发布以后的最近两年的时间里，我们已经在很多前端都取得了进步。一些重要规范已经在 Global Grid Forum（GGF）、OASIS 和 W3C 中得到了改进 —— 特别是 WSRF。我们非常努力地开发 GT4，在此过程中，我们已经实现了最新的 Web 服务标准，其中包括 WS-Security 和 WSRF。我们已经开发了一个代码集，现在它已经达到了产品级别的质量。我们还与早期采用此软件的组织进行紧密合作，例如位于 North Carolina 的 Microelectronics Center（MCNC），他是 Globus Consortium 的成员之一；还与很多研究网格的人一起合作，他们非常努力地从事最新版本的压力测试工作。我们觉得现在这个软件的质量已经足以满足企业的设置需求了。这就是为什么 IBM、Sun、HP、Intel 和其他一些著名的公司现在都对 GT4 非常感兴趣的原因。 <br><br>GT4 中最引人注目的特性是：与 GT 以前的版本相比，GT4 包括很多 Web 服务和标准。GT4 基于 Web 服务实现了对各种资源类的标准接口，这一事实可以显著简化设计，从而增加这些标准被接受的可能。当然，通过开源社区开发人员和 Globus 社区中的用户的努力工作，与之前的版本相比，GT4 在测试质量、文档、性能和可靠性方面都得到了很大的提高。 <br><br>您可以认为 GT4 是一组支持创建 SOA（Service Oriented Architectures） 的核心功能。这些核心功能包括支配置应计算和数据资源的执行和数据管理功能 —— 大量数据的移动和管理，以及支持资源发现和监视的服务。 <br><br>developerWorks：哪些领域在推动 GT4 的开发？ <br><br>Foster：在过去 3、4 年中，促进 Globus 发展的一大领域是对大量数据驱动问题的关注，例如，以 CERN 的下一代监测器阵列为代表，它每年将产生数千兆字节的数据。人们需要从大型社区中获得这些数据，并对分布式复制、处理和数据驱动的任务流进行管理。 <br><br>几年前，我们最初是这样说的，&#8220;我们如何才能构建适当的协议和软件来管理大量数据在网络和机器之间的移动呢？&#8221;我们当时关注的是又大又昂贵的 SMP 机器，以及同样大型并且昂贵的存储解决方案，这也正是网格环境要解决的问题。 <br><br>因此我们怀疑是否可以使用集群，利用它的并行处理能力作为解决大量数据传输的方法。这个概念带来了一些突破性进展 —— 例如，使用 Grid FTP 作为一种条带化数据移动的基础设施。今年秋天，通过使用我们构建的新型服务器，我们展示了如何跨国家在 IBM Linux&#174; 集群之间使用 General Parallel File System（GPFS）实现 20 GB/s 的不间断的端到端数据传输。 <br><br>我们还开始开发对数据传输进行管理的各种功能。我们不用担心 A 点到 B 点之间可靠性的问题，而是相信网格会要求服务允许我们&#8220;开火之后就忘记&#8221;—— 让服务来负责&#8220;重试&#8221;、&#8220;备份&#8221;和&#8220;故障迁移&#8221;的工作。我们还开发了数据复制的技术 —— 分析如何对分布在社区中的数据副本进行跟踪和管理。有一个社区正在使用 Globus 软件将 1 TB 的数据复制到全球的 6 个站点上，平均故障时间是 1 个月。 <br><br>执行管理是 GT4 中的另一大特性，它的架构重新进行了设计，这让我们踏上了一条更好的途径。因此我们正在查看当某个组织有工作负载时，它是否希望在特殊的基础设施上运行，他们可以将必需的组件放在基础设施的适当位置上，以便运行这些组件。在 GT4 中，这个过程依然在进行之中 —— 但是我们最近已经开展了大量的工作，允许进行更多操作执行的管理 —— 可以根据需要为任务负载管理锁定整个堆栈，从 OS 到上层（通过虚拟机）。 <br><br>developerWorks：在网格/虚拟化领域中，最新的一些产品的使用情况如何？它们与网格（尤其是 Globus 所提供的功能）的关系如何？ <br><br>Foster：目前您可以看到的是很多人正在使用不同的方法来实现网格。通常，我们会看到一些允许我们对企业中或跨企业的资源进行聚合的软件，但是采用的一般都不是可以互操作的方式。因此这些解决方案大多是私有的，而且不必基于标准来开发。例如，如果您在自己的解决方案中使用 Platform 的 LSF —— 这是一个很好的产品，很好用 —— 但是之后又使用了另外一个使用不同工作负载管理器的应用程序，那么这两个应用程序不能对相同的底层资源进行共享。Globus 的目标是使您能够将网格基础设施部署到所有资源上，让高级的软件包来使用相同的公共基础设施组件。 <br><br>采用这种公共基础设施所需要的标准已经在标准社区中有大约 18 个月的时间了。现在可以采用一个开源的实现，人们可以开始构建自己的基于标准的基础设施，其他应用程序和系统可以在此基础上进行构建。 <br><br>developerWorks：因此，您是说诸如 Web 服务接口之类的开放标准对于网格的采用来说非常关键？ <br><br>Foster：对于网格社区，我们的观点和目标是：在其中建立一些标准的接口，使您可以以标准方式管理不同类型的资源。Globus Alliance 的目标是为这些接口提供一个高质量的开源实现。我们相信开放标准非常重要，开源软件可以成为这些开放标准的一个强有力的驱动工具。毕竟，我们已经具有 Internet 和 Web 方面的经验：通过 BSD UNIX 来提供 TCP/IP 通信，通过 Apache 提供 HTTP 服务。 <br><br>有关接口的一个优点是，它们可以启用多级的创新。可以通过创建不同的高级服务，在接口之上进行创新；但是也可以在接口之下进行创新，例如在网格环境中，通过创建更好的操作系统、文件系统和网络管理系统，所有这些都可以通过 Web 服务接口进行管理。这样，[Globus Toolkit] 本身就成为一种可以启用的技术。它不是一个固定不变的解决方案；而是一个平台和一组工具，您可以在此基础上可以构建其他工具和应用程序。 <br><br>developerWorks：安全性方面的情况如何呢？ <br><br>Foster：目前我们为安全性提供的是一组基于标准的授权和身份验证功能的一个很好的开源实现。我们实现了 WS-Security 及其相关规范，这使得用户在应用程序中只需进行一次身份验证，就可以访问整个企业或其他企业中的计算资源和数据资源，而不需要再进行任何身份验证。我们目前尚未提供（将来会解决）的功能是整合企业的单点登录解决方案。我希望那些关注 Globus 在企业中的应用情况的组织（例如 Globus Consortium 和 Univa Corp.）花费一些精力来解决这个问题。 <br><br>developerWorks：就 GT4 的采用情况来说，您认为什么是它取得成功的原因？ <br><br>Foster：目前的一个趋势是业界人士对 Web 服务的使用正在不断增加。因此，Globus Toolkit 的出现，以及它为各种资源类别实现了基于 Web 服务的接口的事实，引起了人们的共鸣。当然，Web 服务的使用显著简化了设计和实现，这也对它的采用有所促进。 <br><br>我认为采用 GT4 的一条重要途径是通过 ISV。目前您看到的主要是一些拥有相当多 IT 基础设施的公司（例如金融服务和制药公司）正在部署自己的网格项目，这些部署工作不但完全在本公司内部进行的，而且通常是与 IBM 和 HP 之类的公司合作进行的。对于很多（尤其是小型的）企业来说，通过将网格技术集成在自己的产品中的 ISV 来部署网格可能会更好一些。这一点在 GlobusWORLD 上得到了很好的展示，在 GlobusWORLD 中，SAP 显示了一些应用程序的实验原型，这些原型已经被修改，以便使用 Globus 软件为这些应用程序动态配置资源。我认为我们将从这个例子中看到更多的东西。 <br><br>GT4 是 Globus 进化的一个延续。其重要之处在于，这是我们第一次觉得可以告诉其他组织 —— 代码质量足以满足企业需求了。 <br><br>Globus Toolkit 4.0 的新特性 <br><br><br>GT4 遵守最新的 Web Services Interoperability Organization（WS-I） Web 服务标准，在不同环境之间提供了最大的互操作性。 <br>GT4 包含对一些重要授权标准的初步支持，其中包括 Security Markup Language（SAML）和 eXtensible Access Control Markup Language（XACML）。 <br>GT4 实现了 WSRF 和 WS-Notification 规范。 <br>GT4 具有复杂的授权和安全功能。Globus 在网格安全性方面一直非常努力，从安全性的观点来看，GT4 已经是&#8220;满足企业需求的&#8221;了。 <br>GT4 提供了高级的执行和数据管理功能。 <br><br>作者简介 <br><a href="http://www.ibm.com/developerworks/i/p-tvan.jpg" target=_blank><img title=用新窗口浏览原始图片 src="http://www.ibm.com/developerworks/i/p-tvan.jpg" onload="function anonymous()&#13;&#10;{&#13;&#10;function anonymous()&#13;&#10;{&#13;&#10;if(this.width>screen.width-333)this.width=screen.width-333&#13;&#10;}&#13;&#10;}" border=0></a>Travis Van 是硅谷的一位专注于新技术的技术 PR 宣传者。 <br><br><a href="http://www.ibm.com/developerworks/i/p-drosenberg.jpg" target=_blank><img title=用新窗口浏览原始图片 src="http://www.ibm.com/developerworks/i/p-drosenberg.jpg" onload="function anonymous()&#13;&#10;{&#13;&#10;function anonymous()&#13;&#10;{&#13;&#10;if(this.width>screen.width-333)this.width=screen.width-333&#13;&#10;}&#13;&#10;}" border=0></a> 除了自由撰稿和提供咨询服务之外，Dave Rosenberg 还负责 LinuxWorld 的会议程序。他所梦想的技术是在基于 Linux 的蜂窝电话上运行网格应用程序。 <br><br><a href="http://www-128.ibm.com/developerworks/cn/grid/gr-gt4/" target=_blank><font color=#003366><u>http://www-128.ibm.com/developerworks/cn/grid/gr-gt4/</u></font></a> 
<img src ="http://www.blogjava.net/waterjava/aggbug/128470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-06 04:39 <a href="http://www.blogjava.net/waterjava/archive/2007/07/06/128470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网格50题</title><link>http://www.blogjava.net/waterjava/archive/2007/07/06/128469.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 05 Jul 2007 20:38:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/06/128469.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/128469.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/06/128469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/128469.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/128469.html</trackback:ping><description><![CDATA[<p><span>主题：<span>网格</span></span></p>
<p><span><font color=#000000>关于题目难度的解释：</font></span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p><span>★</span><span>&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>了解概念，基础题目</span></p>
<p><span>★★</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>理解概念，有所扩展</span></p>
<p><span>★★★</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>引用实例，开放性问题（答案可能不唯一）</span></p>
<p><span><font color=#000000>针对难度的题目数目统计：</font></span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>★</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17</span><span>题</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>★★</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22</span><span>题</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>★★★</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11</span><span>题</span></p>
<h1 align=center><span>题目</span></h1>
<h3><span>1</span><span>，请解释五层沙漏结构的概念。★</span></h3>
<p><span>答：</span></p>
<p><span>五层沙漏结构是一种早期的抽象层次结构，以</span><span>&#8220;</span><span>协议</span><span>&#8221;</span><span>为中心，强调协议在网格的资源共享和互操作中的地位。通过协议实现一种机制，使得虚拟组织的用户与资源之间可以进行资源使用的协商、建立共享关系，并且可以进一步管理和开发新的共享关系。这一标准化的开放结构对网格的扩展性、互操作性、一致性以及代码共享都很有好处。下图为五层沙漏结构的典型结构图。</span><span> </span></p>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=192 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image001.jpg" width=373 resized="0"></span></p>
<p><span>五层结构之所以形如沙漏，是由各部分协议数量的分布不均匀引起的。考虑到核心的移植、升级的方便性，核心部分的协议数量相对比较少</span><span> (</span><span>例如</span><span>Internet</span><span>上的</span><span>TCP</span><span>和</span><span>HTTP)</span><span>，对于其最核心的部分，要实现上层协议（沙漏的顶层）向核心协议的映射，同时实现核心协议向下层协议（沙漏的底层）的映射。按照定义，核心协议的数量不能太多，这样核心协议就成了一个协议层次结构的瓶颈。在五层结构中，资源层和连接层共同组成这一核心的瓶颈部分，它促进了单独的资源共享。</span></p>
<h3><span>2</span><span>，请解释</span><span>OGSA</span><span>的概念。★</span></h3>
<p><span>答：</span></p>
<p><span>开放网格服务结构</span><span>OGSA</span><span>（</span><span>Open Grid Services Architecture</span><span>）是</span><span>Global Grid Forum 4</span><span>的重要标准建议，是继五层沙漏结构之后最重要、也是目前最新的一种网格体系结构，被成为下一代的网格结构。其中心思想是：以服务为中心的模型；同一的</span><span>Web Service</span><span>框架；突破科技应用领域。建造</span><span>OGSA</span><span>的两大支撑技术是网格技术（如</span><span>Globus</span><span>软件包）和</span><span>Web Service</span><span>。五层模型与</span><span>OGSA</span><span>都相当重视互操作性，但</span><span>OGSA</span><span>更强调服务的观点，将互操作性问题转化为定义服务的接口和识别激活特定接口的协议。</span></p>
<h3><span>3</span><span>，五层沙漏结构自下到上分别为（）。★</span></h3>
<p><span>（</span><span>A</span><span>）构造层、资源层、连接层、汇聚层、应用层</span></p>
<p><span>（</span><span>B</span><span>）构造层、连接层、资源层、汇聚层、应用层</span></p>
<p><span>（</span><span>C</span><span>）构造层、连接层、汇聚层、资源层、应用层</span></p>
<p><span>（</span><span>D</span><span>）资源层、连接层、构造层、汇聚层、应用层</span></p>
<p><span>（</span><span>E</span><span>）应用层、连接层、汇聚层、构造层、资源层</span></p>
<p><span>答：</span></p>
<p><span>选</span><span>B</span><span>。</span></p>
<h3><span>4</span><span>，下面对五层沙漏结构中各层作用描述错误的是（）。★</span></h3>
<p><span>（</span><span>A</span><span>）构造层：定义了一些对单个的资源共享操作协议</span></p>
<p><span>（</span><span>B</span><span>）连通层：定义了</span><span>Grid</span><span>网络事务处理的通信和验证协议，基于</span><span>Internet</span><span>协议</span></p>
<p><span>（</span><span>C</span><span>）资源层：提供一套对局部资源控制的工具和接口</span></p>
<p><span>（</span><span>D</span><span>）聚合层：提供多个资源协同工作</span></p>
<p><span>（</span><span>E</span><span>）应用层：提供</span><span>Grid</span><span>的系统开发和应用开发工具、环境</span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选</span><span>AC</span><span>。</span></p>
<h3><span>5</span><span>，</span><span>Ian Foster</span><span>提出的判断是否网格的三个标准是什么？★</span></h3>
<p><span>答：</span></p>
<p><span>网格必须同时满足三个条件：</span></p>
<p><span>（</span><span>1</span><span>）在非集中控制的环境中协同使用资源；</span></p>
<p><span>（</span><span>2</span><span>）使用标准的、开放的和通用的协议和接口</span></p>
<p><span>（</span><span>3</span><span>）提供非平凡的服务。</span></p>
<p><span>（参考</span><span>2002 </span><span>年</span><span>7 </span><span>月</span><span>Ian Foster</span><span>的《什么是网格？判断是否网格的三个标准》）</span></p>
<h3><span>6</span><span>，下面列出的网格服务接口中，（）是已有服务接口，其中（）接口是必须的。★</span></h3>
<p><span>（</span><span>A</span><span>）</span><span>GridService</span></p>
<p><span>（</span><span>B</span><span>）</span><span>Registry</span></p>
<p><span>（</span><span>C</span><span>）</span><span>Factory</span></p>
<p><span>（</span><span>D</span><span>）</span><span>WebService</span></p>
<p><span>（</span><span>E</span><span>）</span><span>HandleMap</span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选（</span><span>ABCE</span><span>），选（</span><span>A</span><span>）。</span></p>
<h3><span>7</span><span>，网格核心服务技术包括哪些？★</span></h3>
<p><span>答：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>高性能调度技术；</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>高吞吐率资源管理技术；</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>性能数据收集、分析和可视化技术；</span></p>
<p><span>（4）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>安全技术。</span></p>
<h3><span>8</span><span>，网格应用主要分为（）这几个主要部分。★</span></h3>
<p><span>（</span><span>A</span><span>）分布式超级计算</span></p>
<p><span>（</span><span>B</span><span>）分布式仪器系统</span></p>
<p><span>（</span><span>C</span><span>）分布式存储系统</span></p>
<p><span>（</span><span>D</span><span>）远程沉浸</span></p>
<p><span>（</span><span>E</span><span>）数据密集型计算</span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选</span><span>ABDE</span><span>。</span></p>
<h3><span>9</span><span>，</span><span>Globus</span><span>项目的实现目标是什么？</span><span>Globus</span><span>系统主要有哪些部分组成？★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Globus</span><span>项目发起于</span><span>20</span><span>世纪</span><span>90</span><span>年代中期，最初的目的是希望把美国境内的各个高性能计算中心通过高性能网络连接起来，方便美国的大学和研究机构使用，提高高性能计算机的使用效率。目前，</span><span>Globus</span><span>项目把在商业计算领域中的</span><span>Web Service</span><span>技术融和在一起，希望不仅仅局限于科学计算领域，还能够对各种商业应用进行广泛的、基础性的网络环境支持，实现更方便的信息共享和互操作，从而对商业模式、人员的工作方式和生活方式产生深远的影响。</span><span>Globus</span><span>目前的主要工作是建立支持网格计算的通用协议，开发支持网格计算的服务，实现支持网格计算环境的软件开发工具。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Globus</span><span>系统的主要组成部分有：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>网格安全基础设施（</span><span>GSI</span><span>），负责在广域网络下的安全认证和加密通信，提供单点登录功能、远地身份鉴别功能、数据传输加密功能等，提供了基于</span><span>GSI</span><span>协议的接口，是保证网格计算安全性的核心部分。</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>Globus</span><span>资源分配管理（</span><span>GRAM</span><span>），负责远程应用的资源请求处理、远程任务调度处理、远程任务管理等工作，负责对资源描述语言信息的解析和处理工作，是网格计算环境中的任务执行中心。</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>元计算目录服务（</span><span>MDS</span><span>），主要完成对网格计算环境中信息的发现、注册、查询、修改等工作，提供对网格计算环境的一个真实、实时的动态反应，是网格计算环境中的信息服务中心。</span></p>
<p><span>（4）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>全局二级存储服务（</span><span>GASS</span><span>），简化在</span><span>Globus</span><span>环境中应用程序对远程文件</span><span>I/O</span><span>的操作，使得使用</span><span>UNIX</span><span>和标准</span><span>C</span><span>语言</span><span>I/O</span><span>库的应用程序基本不用改动就可以在</span><span>Globus</span><span>环境中中兴，是一个支持网格计算环境远程</span><span>I/O</span><span>访问的中间件。</span></p>
<p><span>（5）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>网格</span><span>FTP</span><span>服务，是一个高性能、安全、可靠的数据传输协议，并对高带宽的广域网络环境进行了优化，是网格计算环境中的数据传输工具。</span></p>
<p><span>（6）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>Globus</span><span>复制管理，将部分相关数据只能的放置在距离科学应用程序最近的位置，使得科学应用程序可以快速的对数据进行访问。</span></p>
<h3><span>10</span><span>，什么是网格，网格的目标？★</span></h3>
<p><span>答：</span></p>
<p><span>网格是从电力网格中借鉴过来的一个概念，原本是希望计算力和计算资源能够象电力一样，</span><span>&#8220;</span><span>打开电源开关就可以使用</span><span>&#8221;</span><span>，不用去关心是谁、如何提供的这些服务。网格的目标是抽象并量化计算资源，随时随地能够通过网络</span><span>&#8220;</span><span>定额</span><span>&#8221;</span><span>完成</span><span>&#8220;</span><span>定量</span><span>&#8221;</span><span>的计算相关的工作。</span></p>
<h3><span>11</span><span>，网格的本质特征是什么？★</span></h3>
<p><span>答：</span></p>
<p><span>网格的本质特征是：分布与资源共享：分布是网格最本源的特征，网格是通过集中分散的资源来完成计算的，资源的共享是一种集中资源的手段高度抽象：把计算力和所有的计算资源高度抽象成为用户可见的</span><span>&#8220;</span><span>电源接线板</span><span>&#8221;</span><span>，其它的东西对用户透明。自相似：在大尺度上和小尺度上有相同或者类似的规律动态性和多样性：和电力网格一样，用户的需求是变化的，所以动态性是网格需要考虑的一个基本问题自治性与管理的多重性：网格节点内部的自治和外部的受控整合是网格的一个特征，分层的资源需要层次化的管理，而分层来自于网格节点的归属问题和性能方面的考虑。</span></p>
<h3><span>12</span><span>，网格在应用领域体现出来的优势主要是</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><u><span>、</span><span>&nbsp;&nbsp;&nbsp; </span></u><span>。★</span></h3>
<p><span>答：</span></p>
<p><span>高性能、低成本。</span></p>
<h3><span>13</span><span>，网格的主要有那些体系结构？★</span></h3>
<p><span>答：</span></p>
<p><span>Foster</span><span>等在早些时候提出的五层沙漏结构，从底层开始分别为构造层、连接层、资源层、汇聚层和应用层，这是早期的网格体系结构，后来</span><span>OGSA</span><span>的出现使得这种体系结构已经淡化了。美国</span><span>Globus</span><span>项目提出的网格体系结构模型采用本地服务层、核心服务层、高层服务与工具层、应用层四层结构。在此基础上，美国的</span><span>Argonne</span><span>国家实验室、芝加哥大学、南加州大学和</span><span>IBM</span><span>公司共同提出了开放式网格服务体系结构</span><span>(OGSA)</span><span>。</span><span>OGSA</span><span>采用纤维层、联络层、资源层、协作层、应用层五层结构。</span></p>
<h3><span>14</span><span>，网格（</span><span>Grid</span><span>）的起源是什么？★</span></h3>
<p><span>答：</span></p>
<p><span>&#8220;</span><span>网格</span><span>&#8221;</span><span>（</span><span>Grid</span><span>）一词来源于人们熟悉的电力网（</span><span>Power Grid</span><span>）。目前对计算力的需求正在持续不断地增长。高速网络、功能和性能更加强大的大规模计算系统、高性能存储系统以及高级数据分析软件的应用为解决商业领域和科学领域的计算问题带来了希望。但是利用这些新的能力意味着应付不断增加的工作负荷要求所带来的空前挑战。当一个组织机构在努力保持竞争力的时候他们面临许多前所未有的挑战：减少计算费用、增加计算吞吐量、加快对市场的响应、改进生产服务质量和产品创新等都是非常重要的。一个组织机构在硬件方面的投资需要谨慎地进行权衡，并且必须找到利用可得资源完成更多工作的方法。尽管对计算力的需求是非常大的，但是许多现有的系统都没有得到充分利用。其中一些单个服务器也许满负荷工作，但是大多数系统却不是满负荷工作的，使许多计算周期没有使用，而实际上这些计算周期可以用于满足不断增长的计算资源需求。网格计算使组织机构可以更加有效地和灵活地用他们的分布式计算资源，从现有的系统中获取更加有用的计算力，帮助组织机构获得竞争优势。</span></p>
<h3><span>15</span><span>，</span><span>Globus</span><span>项目的网格安全基础设施</span><span>GSI</span><span>重要集中在网络的</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>和</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>，并强调与现有分布式安全技术的融和。</span><span>GSI</span><span>基于</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>加密体系，采用</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>认证和</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>通信协议，并对它们进行了一定的扩展，使得</span><span>GSI</span><span>可以支持单点登录。★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>传输层、应用层、公钥、</span><span>X.509</span><span>、</span><span>SSL</span><span>。</span></p>
<h3><span>16</span><span>，下面选项中，哪些是常用网格应用程序开发工具（）。★</span></h3>
<p><span>（</span><span>A</span><span>）</span><span>CoG Kits</span></p>
<p><span>（</span><span>B</span><span>）</span><span>GT3</span></p>
<p><span>（</span><span>C</span><span>）</span><span>Java CoG Kit</span></p>
<p><span>（</span><span>D</span><span>）</span><span>MPICH-G2</span></p>
<p><span>（</span><span>E</span><span>）</span><span>CORBA</span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>选</span><span>ABCD</span><span>。</span></p>
<h3><span>17</span><span>，</span><span>Globus</span><span>的数据管理主要组成部分包括哪些内容？★</span></h3>
<p><span>答：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>全局二级存储服务</span><span>GASS</span><span>，通过</span><span>GASS</span><span>可以简化在</span><span>Globus</span><span>环境中应用程序对远程文件</span><span>I/O</span><span>的操作，使得使用</span><span>UNIX</span><span>和标准</span><span>C</span><span>语言</span><span>I/O</span><span>库的应用程序基本上不用改动就可以在</span><span>Globus</span><span>环境中运行；</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>网格</span><span>FTP</span><span>服务，</span><span>GridFTP</span><span>支持第三方传输、断点续传、并行传输、与</span><span>GSI</span><span>结合的安全认证、缓存等特性，是网格计算环境中的数据传输工具；</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>Globus</span><span>复制管理，复制管理是一大类科学应用程序中需要考虑的重要问题，由于存在对大型远程文件的访问，</span><span>Globus</span><span>复制目录通过把部分相关数据智能的放置在离科学应用程序最近的位置，使得科学应用程序可以快速的对数据进行访问。</span></p>
<h3><span>18</span><span>，首款用于网格计算的数据库应用服务器已经正式面市，这款产品是（）。★★</span></h3>
<p><span>（</span><span>A</span><span>）</span><span>Microsoft SQL 2004</span></p>
<p><span>（</span><span>B</span><span>）</span><span>Oracle 10g</span></p>
<p><span>（</span><span>C</span><span>）</span><span>GridBase</span></p>
<p><span>（</span><span>D</span><span>）</span><span>DB2 for Grid</span></p>
<p><span>（</span><span>E</span><span>）</span><span>Sybase</span></p>
<h3><span>19</span><span>，网格的五个主要应用领域：分布式超级计算、分布式仪器系统、数据密集型计算、远程沉浸和信息集成。实际上，这五个应用在现在的万维网上也能实现，那么网格在这些应用领域的优势体现在什么地方？★★</span></h3>
<p><span>答：</span></p>
<p><span>网格的优势体现在按需计算各取所愿上。按需计算的网格代表了量子化基本单元、格式化资源共享、形式化公共协议和公理化组合创新的思想。网格是可视、可谱、可拓和可控的策略性创新工具，能从体系结构上推动智能计算机和网络的发展。</span></p>
<h3><span>20</span><span>，网格体系结构的基本要求包括哪些内容？★★</span></h3>
<p><span>答：</span></p>
<p><span>（</span><span>1</span><span>）为应用提供单一分布资源全局视图和聚集各种分布的自治资源成为一个系统，不能破坏现有系统，不导致应用程序的重新编写；</span></p>
<p><span>（</span><span>2</span><span>）不同组织之间的资源共享互操作是必不可少的，可以对资源直接访问而不单单是文件共享和交换，具体体现在各种资源构件之间和机制之间；</span></p>
<p><span>（</span><span>3</span><span>）有一套标准的协议是至关重要的，在遵守标准协议的前提下，才能使允许跨节点的协同工作、允许基础下部组织共享成为可能；没有标准的协议，互操作和共享很难实现，重复开发和安装不可避免；</span></p>
<p><span>（</span><span>4</span><span>）从</span><span>Grid</span><span>实现者的角度来看，网格体系结构是一个层次型中间件服务集合，按照现代软件系统的设计原则，以服务的方式为应用工具和应用的开发提供支持，而服务的实现必须能够自由地使用各个层次上的功能和服务进行构造。</span></p>
<h3><span>21</span><span>，下图是一个数据挖掘的例子，它是基于</span><u><span>&nbsp;&nbsp;&nbsp;&nbsp; </span></u><span>结构实现的，认证是在图示中的第</span><u><span>&nbsp;&nbsp;&nbsp; </span></u><span>步完成的。★★</span></h3>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=258 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image002.jpg" width=341 resized="0"></span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OGSA</span><span>结构，</span><span>2</span><span>。</span></p>
<h3><span>22</span><span>，请解释网格计算和</span><span>Web Service</span><span>的关系。★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>网格计算与</span><span>Web Service</span><span>之间存在着密切的关系：</span><span>Web Service</span><span>的核心是在大的异构网络上将各种应用连接起来，借助于</span><span>Web</span><span>标准</span><span>UDDI</span><span>、</span><span>WSDL</span><span>和</span><span>XML/SOAP</span><span>等将</span><span>Internet</span><span>从一个通信网络进一步发展到一个应用平台。当越来越多的</span><span>Web Service</span><span>实现后，应用的各种特征将会随之改变。一些应用就可以根据需要或者是根据可以得到的功能，从可得的服务中来动态构造。</span></p>
<p><span>OGSA</span><span>吸纳了许多</span><span>Web</span><span>服务标准，如</span><span>Web</span><span>服务描述语言（</span><span>WSDL</span><span>）、简单对象访问协议（</span><span>SOAP</span><span>）、轻目录访问协议（</span><span>LDAP</span><span>）、</span><span>Web</span><span>服务探测（</span><span>WS-Inspection</span><span>）等。这些标准用于定位、调度计算资源并保证它们的安全。</span><span>OGSA</span><span>采用</span><span>Web</span><span>服务框架的优点是：一方面，通过注册和发现接口定义和终端实现描述以及动态产生特定接口绑定的代理，在异构环境中能够支持服务的动态发现和合成。另一方面，由于</span><span>Web</span><span>服务机制在商业应用领域广泛采用，</span><span>OGSA</span><span>采用</span><span>Web</span><span>服务框架使人们能够利用许多现有的开发工具和扩展服务，如产生语言绑定的</span><span>WSDL</span><span>处理器。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>有些人认为</span><span>Web Service</span><span>和</span><span>Grid Service</span><span>都需要发现服务，进而将服务绑定，以集成到应用之中，于是把</span><span>Web Service</span><span>和</span><span>Grid Service</span><span>当成一回事，这是错误的。</span><span>Web service</span><span>强调永久服务的发现和调用，</span><span>Web service</span><span>的服务是无状态的，但在网格环境中，必须也要支持瞬时服务实例</span><span>, </span><span>动态地创建和取消。可以说，</span><span>Grid Service</span><span>只是用了</span><span>Web Service</span><span>的一层外皮。</span></p>
<p>&nbsp;</p>
<h3><span>23</span><span>，下图是五层沙漏结构的系统还是</span><span>OGSA</span><span>的系统，并说出你的理由。★★</span></h3>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=202 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image003.jpg" width=371 resized="0"></span></p>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OSGA</span><span>结构。因为从图中可以看出，此系统实现了必须的</span><span>Grid Service</span><span>接口，并通过</span><span>Miner Factory</span><span>、</span><span>DataBase Factory</span><span>等接口</span><span>provider</span><span>的协作可以支持创建临西服务。</span></p>
<h3><span>24</span><span>，</span><span>OGSA</span><span>有四个主要层次：物理与逻辑资源、定义网格服务的</span><span>Web</span><span>服务与</span><span>OGSI</span><span>扩展、基于</span><span>OGSA</span><span>架构的服务，以及网格应用程序。你怎样理解这句话？★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>不完全正确。这句话描述的应该是服务网格，但对其他网格不一定合适，例如计算网格。</span></p>
<h3><span>25</span><span>，网格与分布式系统有何区别？★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>网格计算是一种新的高性能的分布式计算方法。网格计算作为新一代的分布式计算方法，与传统分布式计算的主要区别在于在没有集中控制机制的情况下，通过对计算资源进行大规模共享，满足应用对高性能计算要求，并且这种对计算资源进行大规模共享是动态的、柔性的、安全的和协作式的。</span></p>
<h3><span>26</span><span>，调度的目的在于使运行的大量应用在共享网格各种资源的同时获得最大的性能。网格调度相对传统高性能计算中的调度策略和技术不同之处在什么地方？★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>相对于传统的高性能计算中的调度技术和策略，网格调度更加复杂。这是因为任何一个网格调度器都无法对所有的网格资源进行管理，而只能使针对一定范围内的网格资源。另外，网格资源还是动态变化的。由于其他应用引起的资源竞争对性能影响很大，而且会经常出现，网格资源的复杂多样，不同类型的资源会展示出不同的性能特征，而且相同类型的资源由于共享等原因所展示的性能也是随时间变化的。因此网格的调度，需要建立随时间变化的性能预测模型，充分利用网格的动态信息来表示网格性能的波动，而且网格的调度必须考虑到多种多样的环境和条件，这是由网格异构性和多样性等特征所决定的。在网格调度中，还存在着移植性、扩展性、效率、可重复性以及网格调度和本地调度结合等问题，这些都是网格技术需要解决的问题。</span></p>
<h3><span>27</span><span>，</span> <span>阐述一下你对集群和网格之间相同和不同之处的理解。★★</span></h3>
<p><span>答：</span></p>
<p><span>他们都是分布式系统，目标很多相近的地方，共享和协同，所以技术上也有相似的地方。但是条件和环境不同，集群一般是同构（也有异构的），地域上十分近，要想性能越强就需要越近。一般是在一个屋子里面，至少也是在一个局域网范围内。网格的范围就广的多了。无论从地域的广度，还是系统组成的复杂性。网格的组成可以很复杂，包括专用存储器，各种仪器设备等，当然其中也包括集群，各种类型的硬件，各种不同的系统软件，还有功能复杂的中间件。从分布式系统来说，最集中的方式就是集群，最分散的方式就是网格。属于分布式的两端。</span></p>
<h3><span>28</span><span>，请问网格如何分类，并分别进行解释。★★</span></h3>
<p><span>答：</span></p>
<p><span>（</span><span>1</span><span>）计算网格：强调计算力获取、管理等的网格；</span></p>
<p><span>（</span><span>2</span><span>）数据网格：强调数据存储、管理、传输、处理的网格；</span></p>
<p><span>（</span><span>3</span><span>）访问网格：强调信息存储、管理、传输、处理的网格；</span></p>
<p><span>（</span><span>4</span><span>）信息网格：强调数据存储的网格；</span></p>
<p><span>（</span><span>5</span><span>）服务网格：强调应用服务集成的网格；</span></p>
<p><span>（</span><span>6</span><span>）知识网格：强调知识存储、管理、传输、处理的网格；</span></p>
<p><span>（</span><span>7</span><span>）语义网格：强调语义解析的网格，实现语义互操作；</span></p>
<p><span>（</span><span>8</span><span>）访问网格：提供单一访问通道获取网格资源的网格；</span></p>
<p><span>（</span><span>9</span><span>）网格门户：提供网格单一访问通道。</span></p>
<h3><span>29</span><span>，介绍一些国外的主要网格项目的状况？★★</span></h3>
<p><span>答：</span></p>
<p><span>美国科学格网项目的目标是建立基于格网中间件</span><span>Gridware</span><span>）和系统工具的高级分布式计算基础设施（</span><span>ADCI</span><span>）使能源部科学计算体系的可伸缩性满足能源部内部科学研究任务要求。</span><span>&nbsp;&nbsp;&nbsp; </span><span>远程分布式计算与通信项目的目标是创建一个用于访问美国能源部三个武器实验室的具有可操作性的格网，以支持国防计划中远程计算和分布式计算这两个关键战略领域复杂的分析、设计、制造、认证功能。</span></p>
<p><span>地球系统格网（</span><span>Earth System Grid II</span><span>，</span><span>ESG</span><span>）项目由阿贡国家实验室（</span><span>Argonne National Laboratory</span><span>）等五个国家实验室的科学家联合承担。主要目标是解决从全球地球系统模型分析和发现知识所面临的巨大挑战，为下一代气候研究提供一个无缝的强大的虚拟协同环境。</span> </p>
<p><span>国家地震工程仿真格网的目标使地震研究人员能够进行各种地震工程实验数据分析的大规模计算任务。</span></p>
<p><span>此外，目前美国正在进行的格网计算研发项目还包括</span><span>Globus</span><span>、美国航空航天局（</span><span>NASA</span><span>）的信息动力格网（</span><span>Information Power Grid</span><span>，</span><span>IPG</span><span>）、美国国家技术格网（</span><span>National Technology Grid</span><span>）、虚拟实验室项目（</span><span>Virtual Laboratory Project</span><span>）、天体物理仿真合作实验室（</span><span>Astrophysics Simulation Collaboratory</span><span>，</span><span>ASC</span><span>）、国际虚拟数据格网实验室（</span><span>International Virtual Data Grid Laboratory</span><span>，</span><span>iVDGL</span><span>）等。</span></p>
<p><span>Globus</span><span>目标构建一个格网软件基础设施。研究内容包括资源管理、数据访问、应用开发、格网安全等。目前全球许多用户利用</span><span>Globus</span><span>工具包创建格网和开发格网应用。</span></p>
<p><span>信息动力格网的目标是为国家航空航天局科学研究任务提供持续、可靠的计算动力源。</span></p>
<p><span>美国国家技术格网项目的目标是创建一个无缝集成的协同计算环境原型系统。</span></p>
<p><span>虚拟实验室项目致力于研究、设计、开发能够帮助解决数据密集的、涉及大规模计算的分子生物学问题的格网技术。</span></p>
<p><span>天体物理仿真合作实验室项目的主要目标利用</span><span>Cactus</span><span>和</span><span>Globus</span><span>格网计算的研究成果为高级可视化交互和元计算提供大规模并行计算能力，实现在相对论天体物理学领域的大规模仿真。</span></p>
<p><span>国际虚拟数据格网实验室项目由欧盟的数据格网（</span><span>DataGrid</span><span>）、美国的格网物理网络（</span><span>Grid Physics Network</span><span>）和粒子物理数据格网（</span><span>Particle Physics Data Grid</span><span>）协作创建。</span></p>
<h3><span>30</span><span>，什么是</span><span>P2P</span><span>计算，与网格有什么关系？★★</span></h3>
<p><span>答：</span></p>
<p><span>对等（</span><span>P2P</span><span>）计算是在</span><span>Internet</span><span>上实施分布式计算的新模式。在这种模式下，服务器与客户端的界限消失了，网络上的所有节点都可以</span><span>&#8220;</span><span>平等</span><span>&#8221;</span><span>共享其他节点的计算资源。</span><span>IBM</span><span>为对等下了如下定义：对等系统由若干互联协作的计算机构成，且至少具有如下特征之一：系统依存于边缘化（非中央式服务器）设备的主动协作，每个成员直接从其他成员而不是从服务器的参与中受益；系统中成员同时扮演服务器与客户机的角色；系统应用的用户能够意识到彼此的存在，构成一个虚拟或实际的群体。网格采用</span><span>P2P</span><span>计算体系结构。</span></p>
<h3><span>31</span><span>，何为元计算，与网格是什么关系？★★</span></h3>
<p><span>答：</span></p>
<p><span>元计算技术是将一组通过广域网连接起来的性质不同的计算资源集合起来，作为一个单独的计算环境向用户提供计算服务。元计算系统的目标是使用户能够共享其中的计算资源并以合作的方式进行计算。元计算前端主要解决最终用户通过统一的界面来使用广域网上各类计算资源的问题；元计算内核主要解决计算任务在广域网中各种超级计算机上协作完成的问题，提供一个完整的程序开发和运行环境。当用户提出计算请求时，计算问题的执行代码在系统内部的计算资源上进行合理的调度和管理，最后得出运行结果并通过元计算前端反馈给最终用户。一个良好的元计算系统主要由三个部分组成：一是尽量简单而又可靠的使用界面；二是资源管理系统；三是良好的编程模型和高效可靠的运行时环境。其中资源管理系统处于核心地位，它负责整个系统中各个资源的描述、变动、分配与保护，与运行时系统密切合作，保证整个系统的正常运行。资源管理系统需要为不同级别的系统管理员提供强有力的工具或界面来对这些资源进行控制和保护。元计算是网格计算的初级形态。</span></p>
<h3><span>32</span><span>，网格跟</span><span>.net</span><span>、</span><span>corba,</span><span>、</span><span>jini</span><span>、</span><span>java</span><span>的</span><span>rmi</span><span>、</span><span>J2EE</span><span>都是什么关系？★★</span></h3>
<p><span>答：</span></p>
<p><span>网格融合了</span><span>.net</span><span>、</span><span>corba</span><span>、</span><span>jini</span><span>和</span><span>java</span><span>的</span><span>rmi</span><span>、</span><span>J2EE</span><span>思想，并从软件集成扩展到</span><span>CPU</span><span>、存储设备、仪器等硬件的集成。</span></p>
<h3><span>33</span><span>，</span><span>OGSA</span><span>与</span><span>OGSI</span><span>有什么关系★★</span></h3>
<p><span>答：</span></p>
<p><span>OGSI</span><span>规定了向网格发送处理请求时所使用的接口，相当于</span><span>Web</span><span>服务中的</span><span>WSDL</span><span>，在网格计算相关标准中处于核心地位。开放式网格服务体系结构采用纤维层、联络层、资源层、协作层、应用层五层结构，网格是通过调用服务来构造应用的，这就涉及接口问题。</span></p>
<p><span>OGSA</span><span>是一个抽象的东西，里面没有具体的内容，</span><span>OGSA</span><span>的推出要比</span><span>OGSI</span><span>早，</span><span>OGSI</span><span>是对</span><span>OGSA</span><span>的主要方面具体化、规范化。</span><span>Globus</span><span>是基于</span><span>OGSI</span><span>标准的一个实现。</span><span>WSRF</span><span>是和</span><span>OGSI</span><span>同一个层次的东西，是吸收了</span><span>Web Service</span><span>最新成果后，对</span><span>OGSI</span><span>的重构和发展。</span></p>
<h3><span>34</span><span>，网格与中间件是什么关系？★★</span></h3>
<p><span>答：</span></p>
<p><span>网格中间件（</span><span>Gridware</span><span>）就是一种在网格中应用的中间件；现在的</span><span>Globus Toolkit</span><span>就是一种网格中间件，连接异质的主机节点构成</span><span>Globus</span><span>网格。</span></p>
<h3><span>35</span><span>，网格跟</span><span>IBM</span><span>提出的自主计算有什么关系？★★</span></h3>
<p><span>答：</span></p>
<p><span>&#8220;</span><span>自主计算</span><span>&#8221;</span><span>的设想是将日益复杂的</span><span>IT</span><span>系统管理后台化、自动化和智能化，通过强大的中间件将异构网络改造成真正意义上的和谐自主的数字神经系统。网格本身就是一种自主计算。</span></p>
<h3><span>36</span><span>，国内的网格有那些项目，每个项目的目标如何，目前进展如何？★★</span></h3>
<p><span>答：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>ACI</span><span>工程的目标是把分布在不同地理位置的高性能计算机、贵重仪器、数据库等用高速网络连接在一起构成一台虚拟计算机，用户通过</span><span>ACI</span><span>共享资源、共同讨论、合作开展科研项目。</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>织女星计划，</span><span>Vega</span><span>计划以元数据、构件框架、智能体、格网公共信息协议和网格计算协议为主要研究突破点。</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>上海网格，海市政府将与</span><span>IBM</span><span>公司合作建立</span><span>&#8220;</span><span>城市网格</span><span>&#8221;</span><span>，整合全市范围内的政府信息化资源，提高政府的公共服务能力和效率。</span></p>
<h3><span>37</span><span>，下图是网格环境下安全认证证书的获取过程示意图，请在图中圆圈中标注证书获取过程的步骤。★★</span></h3>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=150 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image004.jpg" width=433 resized="0"></span></p>
<p><span>答：</span></p>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=152 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image005.jpg" width=442 resized="0"></span></p>
<h3><span>38</span><span>，下图是</span><span>Globus</span><span>环境中的安全鉴别过程示意图，并用数字标注了过程各步的次序，请为各步加上说明。★★</span></h3>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=390 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image006.jpg" width=437 resized="0"></span></p>
<p><span>答：</span></p>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=385 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image007.jpg" width=431 resized="0"></span></p>
<h3><span>39</span><span>，网格的安全问题的研究主要包括哪些内容？★★</span></h3>
<p><span>答：</span></p>
<p><span>（</span><span>1</span><span>）集成方案：</span>&nbsp;<span>着重解决如何充分利用现有的服务以及接口并对其进行抽象为可扩展的体系；</span></p>
<p><span>（</span><span>2</span><span>）协同工作能力解决方案：着重解决如何在有着不同安全机制和策略的虚拟组织中的服务的互相调用问题；</span></p>
<p><span>（</span><span>3</span><span>）信任策略方案：着重解决如何在动态网格环境下定义、管理、执行信任策略。</span></p>
<h3><span>40</span><span>，下图</span><span>GSI</span><span>认证过程的示意图。图表示了主机</span><span>B</span><span>认证主机</span><span>A</span><span>的过程，但是在示意图中圆圈里面标注的认证过程步骤次序被人涂掉了，请填入正确的步骤次序。★★★</span></h3>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=276 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image008.jpg" width=392 resized="0"></span></p>
<p><span>答：</span></p>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=278 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image009.jpg" width=395 resized="0"></span></p>
<h3><span>41</span><span>，你认为</span><span>GSI</span><span>授权还存在有哪些不足？★★★</span></h3>
<p><span>答：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>GSI</span><span>要求每一个访问资源的全局用户都需要在本地资源服务器上拥有一个自己的账号，每一个资源服务器都需要维护一个庞大笨拙的全局</span><span>/</span><span>本地映射表，这种授权机制难以扩展到拥有大量资源和大量用户的大规模环境中。</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>GSI</span><span>缺乏基于全局策略的具有良好扩展性的访问控制机制。</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>针对目前大规模网格环境中授权机制存在的问题，我们提出了虚拟组织中的社区授权策略。</span></p>
<h3><span>42</span><span>，说说你对建造网格的建议。★★★</span></h3>
<p><span>答：</span></p>
<p><span>（1）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>争取国家、政府的支持。</span></p>
<p><span>（2）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>争取大公司的支持。</span></p>
<p><span>（3）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>创造商机，利用市场与经济杠杆。</span></p>
<p><span>（4）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>从局部到整体。</span></p>
<p><span>（5）<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>同一的协议、规范。</span></p>
<h3><span>43</span><span>，有人提出网格作为一种计算能力，是否能提出一个计量单位，作为网格使用量的度量。就像电力网一样，用户拥有独立的电表，根据电力的使用量付费。说说你对这种观点的看法。</span> <span>★★★</span></h3>
<p><span>答：</span></p>
<p><span>（答案</span><span>A</span><span>）应该付费。服务好的网格可以收取适当的费用。如：对计算网格可以按照使用的计算能力付费，对存储网格可以按照存储大小和服务时间收取费用。</span></p>
<p><span>（答案</span><span>B</span><span>）不应该付费。网格号称是下一代互联网，可以参考当前互联网来判断网格是否可以收费使用。互联网上，人们提供资源和服务大多是资源的，其他人使用这些资源和服务是不用付费的，所以网格也不应该付费。</span></p>
<h3><span>44</span><span>，网格</span><span>n</span><span>年以后会不会取代现在的</span><span>internet</span><span>而成为网络的最基础设施？说说你的看法。★★★</span></h3>
<p><span>答：</span></p>
<p><span>一种答案：<span>不会，就像</span></span><span>internet</span><span>没有取代</span><span>PC</span><span>一样。他们处于不同的层次，解决不同的问题。网格是以</span><span>Web</span><span>为基础的，必然是建立在</span><span>internet</span><span>上。</span></p>
<h3><span>45</span><span>，网格被成为下一代互联网。请你参考网格技术分析一下，网格时代下作为网格设备的计算机相对于现在的计算机应该在那些方面进行提高？★★★</span></h3>
<p><span>答：</span></p>
<p><span>1</span><span>，</span>&nbsp;<span>安全性：与对网络环境相比，网格环境中，计算机更加地于网格，对于以网格设备的面貌出现的单个计算机，具有更高的安全性能要求。</span></p>
<p><span>2</span><span>，个体与集体关系：每一个计算机（网格设备）都是网格集体中的成员，对于网格应用而言，网格是一个整体，不管任务（或应用）从什么设备提交，都是利用整个网格的资源来执行的。即一个在大型计算机上运行的任务可以通过甚至手机来运行。在网格中，个体的特色将被最大限度地淹没在网格社会中。</span>&nbsp;<span>即我们可以在</span><span>PC</span><span>计算机上运行某个应用，如</span><span>Word</span><span>，也可以在手机上运行同一个应用，甚至可以把在</span><span>PC</span><span>机上运行一半的</span><span>Word</span><span>，移植到手机上继续运行下去，而网格应用本身并没有察觉这个变化。</span></p>
<p><span>因此，为了适应网格环境，现在的计算机需要提高安全性，并方便于进行分布式计算，就需要从硬件、操作系统、应用程序体系结构、通信等方面进行提高。</span></p>
<h3><span>46</span><span>，某单位需要上一个系统，需求是：</span><span>1</span><span>，绝大多数需要集成的系统是数据库系统；</span><span>2</span><span>，对信息的变化要求能够有实时响应的能力；</span><span>3</span><span>，机构的组织要求分级。请考虑该单位是否适合使用网格平台来解决这个问题？★★★</span></h3>
<p><span>答：</span></p>
<p><span>网格对数据库的支持现阶段还不够好，针对具体的应用开发</span><span>grid service</span><span>好像不是很合适，完全不具备普遍性；网格大多还是属于一个被动式的系统，即要求用户主动去申请服务，是一种拖的方式，而该单位的需求更多的需要是一种拉的方式；而网格中用的模型更多的是一种对等的模型，而不是分级模型。</span></p>
<p><span>该单位的问题应该有现成商业软件能够完成，不过价格应该比较昂贵。没有现成的网格平台能够简单的把该单位的系统集成进去并满足要求，想做也要自己做开发，考虑到开发成本、维护等问题，代价势必更高，所以使用网格平台是不合适的。</span></p>
<h3><span>47</span><span>，如果把网格比作一台虚拟的超级计算机，网格计算类似</span><span>CPU</span><span>的功能，数据网格类似磁盘的功能，那么数据线、主板、显卡这些又是什么呢？★★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>这里存在一个误区：我们不能在把网格当成网格计算机的时候，又把网格看成中间件的形式。当把网格看成中间件的时候，网格就不能是一个计算机，因为原有计算模型没有改变。</span></p>
<p><span>网格计算机是在</span><span>&#8220;</span><span>分布式</span><span>&#8221;</span><span>系统之上构筑的虚拟计算机，因此其计算模型要有根本改变，即不是冯络伊曼机构，也不应该是图灵机模型。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>如果一定要给网格环境下的</span><span>&#8220;</span><span>数据线、主板、显卡</span><span>&#8221;</span><span>等概念匹配到具体的网格设备上，可以这样理解：</span><span>&#8220;</span><span>数据线、主板</span><span>&#8221;</span><span>则是通信网络和服务注册站，</span><span>&#8220;</span><span>显卡、显示器</span><span>&#8221;</span><span>则是</span><span>PC</span><span>终端。不过这样的匹配就有些牵强了。</span></p>
<h3><span>48</span><span>，网格是一种新技术，任何新技术或多或少都会带有泡沫的成分？你是否赞成？网格技术是否也带有泡沫的色彩？从总体上看，网格技术目前的发展，是处在一个什么状况？网格离实际应用，离商业应用还有多远？网格需要经历几个阶段，才能走向真正的商用？网格想要得到广泛的商业应用，是否会遇到一些阻碍？★★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>（</span><span>1</span><span>）不赞成，技术本身没有泡沫，泡沫是商业炒作产生的。现在已经开始商业炒作了。</span></p>
<p><span>（</span><span>2</span><span>）技术上出于研究开发阶段，商业上出于炒作期，即处于预热期。</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>（</span><span>3</span><span>）</span><span>2</span><span>到</span><span>3</span><span>年时间。</span></p>
<p><span>（</span><span>4</span><span>）原型应用系统开发、网格标准化（规范、协议）、成熟的商业模式。</span></p>
<p><span>（</span><span>5</span><span>）是的，例如安全问题、计费问题等。</span></p>
<h3><span>49</span><span>，国际上所设想的计算网格的普遍形式是任务可以跨结点进行分布运算，但是目前阶段的网络条件和研究水平尚不能有效地支持这一设想，于是有人提出可以用网格构成</span><span>&#8220;</span><span>计算池</span><span>&#8221;</span><span>。</span><span>&#8220;</span><span>网格计算池</span><span>&#8221;</span><span>有以下特点：（</span><span>1</span><span>）计算资源共享；（</span><span>2</span><span>）不把一个任务分解成</span><span>N</span><span>个子任务，而只是安排在其中一台合适的机器上运行；（</span><span>3</span><span>）通过</span><span>Web</span><span>提交任务和查看结果。请你对</span><span>&#8220;</span><span>网格计算池</span><span>&#8221;</span><span>的这三个特点给出你的评价。★★★</span></h3>
<p><span>答：</span></p>
<p><span>（</span><span>1</span><span>）计算资源共享可以提高资源的利用率和服务质量，但需要实验证明；</span></p>
<p><span>（</span><span>2</span><span>）现在只有极少的任务是任何单台高性能计算机都无法处理的。这条限定可以避免分解任务的复杂性（同时降低用户使用高性能计算的门槛），而且更重要的是，避免任务子模块之间频繁通信造成的性能下降。</span></p>
<p><span>（</span><span>3</span><span>）通过</span><span>Web</span><span>提交任务和查看结果。这可以大大方便用户访问高性能计算机：用户不必出差，不必到实验室排队，在家中就可以</span><span>24</span><span>小时提交和运行任务。而且一般来说，任务提交和返回结果的通信量相比计算时的内部通信量是很小的。</span></p>
<h3><span>50</span><span>，根据你对存储网格的理解，设计一个应用在局域网内部的虚拟化存储系统。★★★</span></h3>
<p><span>答：</span></p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>系统结构如图所示</span></p>
<p align=center><span><img onmousewheel="return bbimg(this)" onclick=ImgClick(this) height=215 src="http://learn.tsinghua.edu.cn/homepage/2004210982/paper/网格50题.files/image010.gif" width=381 resized="0"></span></p>
<p><span>整个系统主要包括存储服务点</span><span>SSP(Storage Service Point)</span><span>、</span><span> </span><span>全局命名服务器</span><span>GNS ( Global Name Server)</span><span>、资源管理器</span><span>RM(Resource Manager)</span><span>、认证中心</span><span>CA(Certificate Authority)</span><span>、</span><span> </span><span>客户端、存储代理</span><span>SA(Storage Agent)</span><span>以及可视化管理。</span></p>
<p><span>SSP</span><span>是整个系统的入口，对系统所有模块的访问都通过</span><span>SSP</span><span>，它主要提供</span><span>FTP</span><span>接口、</span><span>CA</span><span>接口、</span><span>RM</span><span>接口和</span><span>GNS</span><span>接口；系统中</span><span>SSP</span><span>的个数可以根据需要动态增加；</span><span>SSP</span><span>接管了传统方案中</span><span>GNS</span><span>的部分功能，减轻了</span><span>GNS</span><span>的负载，提高了系统的可扩展性。</span></p>
<p><span>GNS</span><span>负责系统的元数据管理，主要包括元数据操作接口、元数据容错系统、元数据搜索系统。</span></p>
<p><span>RM</span><span>包括资源调度模块和副本管理模块，其主要负责资源的申请和调度，同时提供透明的副本创建和选择策略。</span></p>
<p><span>客户端目前支持三种形式：通用</span><span>FTP</span><span>客户端、文件访问接口和特制客户端。用户通过系统提供的特制客户端，不但能够进行用户组操作，具有搜索和共享等功能，还可以获得更高性能的服务。</span></p>
<p><span>CA</span><span>包含证书管理系统，主要负责系统的安全性和数据的访问控制，同时它记录了用户的注册信息。</span></p>
<p><span>SA</span><span>屏蔽了存储资源的多样性，为系统提供统一存储访问接口，同时提供了文件操作方式和扩展的</span><span>FTP</span><span>操作方式，另外它对文件复制管理操作提供支持，为高效传输提供服务。</span></p>
<img src ="http://www.blogjava.net/waterjava/aggbug/128469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-06 04:38 <a href="http://www.blogjava.net/waterjava/archive/2007/07/06/128469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网格与 Web 服务的结合</title><link>http://www.blogjava.net/waterjava/archive/2007/07/05/128368.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 05 Jul 2007 07:35:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/05/128368.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/128368.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/05/128368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/128368.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/128368.html</trackback:ping><description><![CDATA[目前两项最热门的技术就是网格计算和 Web 服务，但是这两者是兼容的吗？在本文中，Martin C. Brown 告诉我们这两个系统实际上兼容程度是相当高的，并描述了在网格应用程序中使用 Web 服务的好处。为了确定网格计算和 Web 服务是否相互兼容，我们需要研究一下网格计算的工作方式，看看我们是否真的可以将一个典型的网格系统分解成若干个相对分散的单元。网格计算的架构依赖于相当基本的原理，即在多台客户机和多台服务器之间传送简单的请求。 Web 服务依赖于处理从一台客户机发送到一台服务器上的请求。<br><br>如果您尚未看到这一点是如何适应已有的网格结构的，本文将探讨两种最常见的网格系统：请求架构和分发架构。请求系统依赖于客户机请求工作，而分发系统依赖于代理直接给客户机提供工作。这两种系统在与 Web 服务结合的时候面对的是不同的问题，这一点我们也会讨论到。<br><br><a name=1><strong>网格通信</strong></a><br><br>在网格计算中，基本存在两种主要的组件类型 —— 服务器和客户机。服务器用于分发工作请求及保存有关构成整个工作的独立工作单元的信息。客户机（典型情况下有多个）负责处理独立的工作单元。这两者之间的通信方式有多种，但是系统的核心是对工作的分发。再次指出，系统采用两种工作方式中的一种，要么是客户机管理自己的工作流，并向服务器请求新的工作单元，要么是服务器将工作单元分发给客户机。<br><br>通信过程并不是到这里就停止了；通常还需要额外的服务器和服务来支持网格服务器的基础设施，它们相互之间需要进行对话，并交换信息。关键的问题在于，通常情况下网格解决方案中交换的是相当分散的信息片断。在客户机和服务器之间交换的是原始的工作单元和处理之后的响应。甚至在数据负载相当高的情况之下，如进行数据处理或视频呈现时，我们依然在交换信息包，而不是在客户机和服务器元素之间建立完全、双向、永久的通信。<br><br>新版的 WebSphere 扩展包中的网格思想更为激进，甚至允许将到 WebSphere 应用程序的 Web 请求通过 WebSphere 服务器进行分发。这个例子也证明了网格管理与实际的工作分发都可以通过相当简单的数据交换来完成。<br><br>规则中当然总有例外。并不是所有的网格系统都依赖于如此直接的简单包交换。比如说，资源网格通常依赖于网格提供者（客户机）之间相当繁重的相互通信，这样才能在网格上实现实时的存储请求。不过在这些情况下，即便当客户机之间直接进行通信时，依然是一种基本的信息交换。因此，如果我们仅仅在交换信息，当然就应该用一种标准的方法在服务器和客户机之间进行通信。这也就是 Web 服务的用武之地。<br><br><a name=2><strong>Web 服务概览</strong></a><br><br>在我们能够理解 Web 服务如何为我们的网格解决方案提供支柱之前，我们需要理解 Web 服务的工作方式。最简单的方法是将其想像成一种远程过程调用（RPC），通过这种方式我们可以从一台计算机（客户机）上调用某个功能，而代码和实际的功能是在另外一台计算机（服务器）上执行的。<br><br>各种各样的 RPC 中不存在新东西。一段时间以来，各种不同的平台上都有不同的实现。也许最有名的 RPC 实现是 UNIX 机上的。这一实现使用了一组复杂的函数，可以使客户机与服务器之间进行信息交换，它将一种基本的 C 结构转换成一种可以在网络上广播的标准化格式，即外部数据表示（External Data Representation, XDR）格式。这种方法对数据进行了序列化和标准化的处理，转换后的数据格式可以被该 RPC 架构下的任何客户机或服务器解码出来。<br><br>最近 Web 的爆炸式发展意味着，每当我们访问某个 Web 站点的时候，我们很自然就是在进行远程过程调用。我们的客户机就是浏览器，它向一台服务器（如 Apache, IIS 等）请求一个文件，然后，处理并显示得到的信息。这是一个简单的数据交换过程。有了公共网关接口（Common Gateway Interface, CGI）、JSP、ASP 这样的动态技术，我们才真正是在调用远程过程。交换过程是以 HTTP 请求和 HTML 响应的形式进行的，但是达到的效果一样：我们调用远程机器上的过程，然后获得一个响应。<br><br>通过以某种方式标准化信息的交换过程，我们就得到了 Web 服务。请求和响应都以 XML 编码。从基本相同的技术派生出两个变种：XML-RPC 的设计目标与它的缩写名所暗示的完全一样 —— 发送和接收用 XML 格式化的远程过程调用；简单对象访问协议（Simple Object Access Protocol, SOAP）更加高级。SOAP 的核心依然是一种 RPC 技术，但是这种技术经过增强，可以实现对一个对象的远程操纵。这样 SOAP 就不是一种简单的 RPC 调用，而是可以创建对象、操纵对象、并用这个对象在服务器和客户机之间进行更加确切和格式化的信息交换。<br><br>Web 服务可以由任何一种 Web 服务器提供，可以在几乎所有的支持平台上用几乎所有的语言书写，其中包括 Perl、Python、C/C++、Java 语言以及 Visual Basic。Web 服务的核心基本上是 Web 服务器上的一个动态组件，它能够正确地处理 Web 服务请求和响应。这意味着，在很多情况下，您可以很容易在您的已有系统中创建一个 Web 服务的接口。您需要做的只是在通常进行的常规系统调用外围编写一个包装器。<br><br><a name=3><strong>网格与 Web 服务之间的界限逐渐模糊</strong></a><br><br>到目前为止，我们已经探讨了通过交换信息而实现的网格技术，这种交换既可以在服务器和客户机之间进行，也可以直接在客户机之间进行，从而实现对信息的处理和分发。但是这种交换系统需要借用某种方式进行真正的信息交换。这些年来，人们使用了很多种系统，包括 FTP 协议和定制的协议系统。<br><br>目前，在 Web 服务阵营之中，我们已经拥有了一种通用的工具，可以用来在两台机器之间交换信息，比如说请求执行某项特定的功能（如 getnewworkunit()），或是简单地在这两者之间交换信息。因为 Web 服务是建立在 XML 等其他标准之上的，因此很容易开发并扩展到各种不同环境中，并且也容易部署。我们摆脱了不同系统间数据交换的所有问题，并且不需要担心处理器字节中的位次序（endian-ness），也不需要将我们传递的信息转换成中性格式，因为 Web 服务的标准已经替我们做了这些事情。<br><br>因为我们需要用某种类型的侦听程序/分发服务来处理请求、分发工作以及收集结果，所以 Web 服务就是最理想的选择。Web 服务系统带来的主要益处在于，因为它依赖于 HTTP 协议，因此很容易将 Web 服务集成到已有的 HTTP 平台、路由器、防火墙以及其他系统中。大多数组织已经运行了 HTTP 服务，因此您可以用已有的技术和安全系统来支持您的网格系统，而不需要对网络进行改造，也不会对网格系统中的设备造成限制。<br><br>这样，用 Web 服务开发网格系统就具有了一些无可比拟的优势，其中包括：<br>&#183;增强的兼容性。<br>&#183;增强的灵活性。<br>&#183;通过消除数据交换的复杂性，使跨平台开发成为可能。<br>&#183;很容易部署在已有的 Web 服务器上。<br>&#183;很容易通过已有的 HTTP 安全机制与防火墙的支持来提供安全性。<br>&#183;通过 Intranet 或 Internet 访问网格组件的难度降低，这样就使得通信变得容易，可访问性增强。<br><br>出于所有上面这些理由，以及更多的原因，Web 服务已经逐渐成为新的网格服务标准 —— 开放网格服务架构（Open Grid Services Architecture, OGSA）以及与之相伴的开放网格服务基础设施（Open Grid Services Infrastructure, OGSI）—— 的一个组成部分。Globus Toolkit 3.0 是第一个完全支持 OGSA/OGSI 标准的网格平台，它支持将 Web 服务作为数据交换的平台。IBM 作为 OGSA 标准和 Globus 系统的关键参与者，给 Web 服务提供了强有力的支持，现在正推荐人们在业务开发平台中广泛使用 Web 服务。Globus 支持 SOAP Web 服务协议。<br><br>Web 服务方法还带来其他一些好处。Web 服务可以通过多种不同的 Web 服务目录和系统发布，其中包括像统一描述、发现与集成（Universal Description、Discovery and Integration，UDDI）和 Web 服务描述语言（Web Services Description Language, WSDL）这样的系统。为了让网格计算能更容易部署，我们需要通过这样的目录和系统来发布服务。不管您是否选择 Globus Toolkit，都需要考虑如何在您的网格系统中应用 Web 服务。有两种 Web 服务可供使用，它们分别适应两种典型的网格服务结构：请求架构，在这种架构之下客户机与一个或者多个中央服务器进行联系；分发架构，服务器直接与客户机联系。对于每一种架构，在网格应用程序中使用 Web 服务之前您都必须考虑一些问题。下面几节将详细讨论。<br><br><a name=4><strong>支持请求架构</strong></a><br><br>Web 服务的主要应用位置是在分发和代理的一端，也就是说，点单元被分布到网格中的客户机（提供者）上，这就是一种请求架构的例子，其中客户机从网格代理那里请求工作。请求架构事实上是可以支持 Web 服务的最简单的系统，因为这样的系统可以像以前一样很好地工作：客户机向一个可用的服务器发送已经完成的工作单元，并从那里请求新的工作。您需要做的事情只是安装 Web 服务和 Web 服务器，可以单独安装，也可以直接安装在代理服务器上，然后添加代码以将您的 Web 服务连接到代理。整个系统的工作情况如图 1 所示：<br><br>
<center><img height=339 src="http://www.net130.com/netbass/grid/270632.gif" width=165><br><br>图 1. 请求架构运行图</center><br><br>Globus 对于这种架构是一个理想的解决方案，因为 Web 服务组件可以很方便地对系统中的客户机和服务器提供支持。<br><br><a name=5><strong>支持分发架构</strong></a><br><br>分发架构与传统的网格服务模型相反，它直接从服务器向客户机分配工作。这种架构尽管不常用，但是如果某种环境中的工作是受到控制的，并可以仔细地分配到特定的执行单元，并分别监控，那么这种架构对于分发工作就是很实用的方法。然后，由服务器负责单独管理和分配每一个单元。<br><br>分发模型对于时间要求高的任务分配是一种好办法，因为工作单元可以根据机器的负载和代理上的服务器队列分配到独立的机器上。这种模型特别适合用于 Intranet 和封闭的网络中，因为访问和通信都很方便，因此系统的效率也相对较高。这种模型还适用于工作提供者（即客户机）完全用来处理网格工作的情况。<br><br>分发系统惟一的问题是实现难度比较大。这种模型不是由服务器运行 Web 服务系统，客户机作为 Web 服务的客户机，而是调了个头。网格提供者（通常应该是&#8220;客户机&#8221;）需要支持一个 Web 服务的服务器接口。这时，代理（通常是&#8220;服务器&#8221;）成为网格提供者的 Web 服务客户机。您可以从图 2 中看到这种模型的运行情况：<br><br>
<center><img height=339 src="http://www.net130.com/netbass/grid/270633.gif" width=174><br><br>图 2. 分发模式下的 Web 服务</center><br><br>在这里的 Web 服务机制的基础之上还存在以下问题：<br>&#183;代理需要确切知道哪些机器是网格的一部分，因为它需要能分别访问这些客户机。<br>&#183;每一个客户机都必须支持 Web 服务模型，该模型又依赖于客户机提供 HTTP 服务。<br>&#183;每一个客户机都必须能够确定自己的负载和性能，这样才能在代理请求的时候将这些信息提供给它。<br><br>尽管需要解决上面的每一个问题，分发架构使用起来依然相对简单。然而 Globus Toolkit 目前并不支持这种模型。这并不意味着我们不能在其他领域内使用 Globus Toolkit，但是却意味着您必须重新考虑客户机和代理之间是如何交换任务的。<br><br><a name=6><strong>结束语</strong></a><br><br>将网格应用程序和 Web 服务集成实际上并不像刚开始看上去那么复杂。大多数网格应用程序的基础使它们很容易转移到 Web 服务的架构上来，但是您需要考虑对您的网格应用程序设计的影响，以保证您的后端系统（包括代理、工作单元管理器以及其他组件）都能与您所期望的客户机工作方式兼容。<br><br><strong>关于作者</strong> Martin C. Brown 以前担任过 IT 主管，在跨平台集成方面有丰富的经验。他作为一名目光敏锐的开发人员，一直为特殊的用户制作动态站点，并兼任 Foodware.net 的技术主管。现在他是一名自由作家和顾问。他更出名的地方是作为一名 SME 和微软公司的紧密合作。此外，他还是 LinuxWorld 杂志的 LAMP 技术编辑，以及 AnswerSquad.com 团队的核心成员。他撰写的书籍有 XML Processing with Perl、Python and PHP 以及 Microsoft IIS 6 Delta Guide，等等。您可以通过 questions@mcslp.com 与 Martin 取得联系。<br><br>来自:http://www.net130.com/netbass/grid/wg20040410033.htm
<img src ="http://www.blogjava.net/waterjava/aggbug/128368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-05 15:35 <a href="http://www.blogjava.net/waterjava/archive/2007/07/05/128368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网格基础概念FAQ</title><link>http://www.blogjava.net/waterjava/archive/2007/07/05/128365.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 05 Jul 2007 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/05/128365.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/128365.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/05/128365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/128365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/128365.html</trackback:ping><description><![CDATA[　网格基础概念，大家一起商榷。这是任浩、pphu、数字中国、Rose(王跃宣)等网友的共同工作成果，在此代表网格社区对他们表示感谢!
<p><strong>1.什么是网格，网格的目标？</strong><br>　　网格是从电力网格中借鉴过来的一个概念，原本是希望计算力和计算资源能够象电力一样，&#8220;打开电源开关就可以使用&#8221;，不用去关心是谁、如何提供的这些服务。<br>　　网格的目标是抽象并量化计算资源，随时随地能够通过网络&#8220;定额&#8221;完成&#8220;定量&#8221;的计算相关的工作。</p>
<p><strong>2.网格的本质特征是什么？</strong><br>　　网格的本质特征是：<br>　　分布与资源共享：分布是网格最本源的特征，网格是通过集中分散的资源来完成计算的，资源的共享是一种集中资源的手段<br>　　高度抽象：把计算力和所有的计算资源高度抽象成为用户可见的&#8220;电源接线板&#8221;，其它的东西对用户透明。<br>　　自相似：在大尺度上和小尺度上有相同或者类似的规律<br>　　动态性和多样性：和电力网格一样，用户的需求是变化的，所以动态性是网格需要考虑的一个基本问题<br>　　自治性与管理的多重性：网格节点内部的自治和外部的受控整合是网格的一个特征，分层的资源需要层次化的管理，而分层来自于网格节点的归属问题和性能方面的考虑。</p>
<p><strong>3.网格计算中有哪些基础概念？</strong><br>　　资源发现：资源发现是网格主动去发现可用的资源，并注册、管理这些资源的过程<br>　　资源调度：如何充分利用网格收集的计算资源进行高效率地合理地使用是资源调度的研究范畴<br>　　异构：是抽象的本源动力<br>　　元计算：是关于&#8220;计算&#8221;的计算，就像&#8220;元语言&#8221;是描述语言的语言一样，元计算是为了进行计算而展开的计算活动，是网格对资源进行抽象的过程<br>　　计算网格：网格的重心在解决高密度的计算问题的网格结构<br>　　数据网格：重心在高密度、海量数据的储存和管理、使用过程的网格结构</p>
<p><strong>4.如何判断是否是网格</strong><br>　　还没有网格的确切定义出炉，只能根据网格的一些基本特征来判断。P2P严格来说也是一种网格。<br>　　根据Globus toolkit的创始人的观点，Globus就是网格，这个观点有些偏颇，姑且这么认为吧。</p>
<p><strong>5.网格目前有标准吗，有人在制定标准吗？</strong><br>　　OGSI和OGSA是目前关于网格的一个标准</p>
<p><strong>6.能用非常简单的例子说明什么是网格吗？</strong><br>　　例如P2P，目前已经实现了储存共享，以解决服务器资源限制（带宽和服务能力）的问题，但是目前的P2P 计算还在热门研究中。它的特点是通过分布式的共享储存和带宽资源，也包括部分计算资源的共享来提高服务的可用性，已经包括了网格的几个主要特征。<br>　　又如，国外一些如抗癌项目，充分发掘PC 的计算力来寻找治疗癌症的新药，也具有相应的特征，只不过其资源调度的粒度很粗，各节点的耦合很松散，只要计算任务和结果，节点只与中央节点交换数据，结构比较简单。</p>
<p><strong>7.如何在应用领域体现网格的优势</strong><br>　　高性能（大计算吞吐量）、低成本</p>
<p><strong>8.为什么要把网格比做电网</strong><br>　　不要考虑计算力从什么地方来，只管用就行了。</p>
<p><strong>9.网格如何分类</strong></p>
<p>　　分为计算网格、数据网格、访问网格、信息网格、服务网格等</p>
<p><strong>10.何为元计算，与网格是什么关系</strong></p>
<p>　　元计算技术是将一组通过广域网连接起来的性质不同的计算资源集合起来，作为一个单独的计算环境向用户提供计算服务。元计算系统的目标是使用户能够共享其中的计算资源并以合作的方式进行计算。元计算前端主要解决最终用户通过统一的界面来使用广域网上各类计算资源的问题；元计算内核主要解决计算任务在广域网中各种超级计算机上协作完成的问题，提供一个完整的程序开发和运行环境。当用户提出计算请求时，计算问题的执行代码在系统内部的计算资源上进行合理的调度和管理，最后得出运行结果并通过元计算前端反馈给最终用户。一个良好的元计算系统主要由三个部分组成：一是尽量简单而又可靠的使用界面；二是资源管理系统;三是良好的编程模型和高效可靠的运行时环境。其中资源管理系统处于核心地位，它负责整个系统中各个资源的描述、变动、分配与保护，与运行时系统密切合作，保证整个系统的正常运行。资源管理系统需要为不同级别的系统管理员提供强有力的工具或界面来对这些资源进行控制和保护。<br>　　元计算是网格计算的初级形态。</p>
<p><strong>11.什么是计算网格</strong><br>　　强调计算力获取、管理等的网格</p>
<p><strong>12.什么是数据网格</strong><br>　　强调数据存储、管理、传输、处理的网格</p>
<p><strong>13.什么是信息网格</strong><br>　　强调信息存储、管理、传输、处理的网格</p>
<p><strong>14.什么是存储网格</strong></p>
<p>　　强调数据存储的网格</p>
<p><strong>15.什么是知识网格</strong><br>　　强调知识存储、管理、传输、处理的网格</p>
<p><strong>16.什么是语义网格</strong><br>　　强调语义解析的网格，实现语义互操作</p>
<p><strong>17.什么是access&nbsp; grid </strong><br>　　简单来讲，是一个项目。目的是为网格用户提供简单有效的视频、音频会议功能，为e-science提供基础的工具。 提供单一访问通道获取网格资源的网格。</p>
<p><strong>18.什么是grid portal</strong><br>　　格网门户，提供格网单一访问通道</p>
<p><strong>19.什么是服务网格</strong><br>　　强调应用服务集成的网格</p>
<p><strong>20.目前有哪些应用网格</strong><br>　　美国科学格网（DOE Science Grid）、远程分布式计算与通信（Distance and Distributed Computing and Communication，DisCom2）和地球系统格网（Earth System Grid II，ESG）、TeraGrid和国家地震工程仿真格网（Network for Earthquake Engineering Simulation Grid，NEES Grid）、CrossGrid、天体物理虚拟天文台（Astronomical Virtual Observatory，AVO）、英国国家格网（U.K. National Grid）、德国的计算资源统一接口项目（Uniform Interface to Computing Resources，UNICORE）、亚太地区格网（APGrid）</p>
<p><strong>21.什么是P2P计算，与网格有什么关系<br></strong>　　对等（P2P）计算是在Internet上实施分布式计算的新模式。在这种模式下，服务器与客户端的界限消失了，网络上的所有节点都可以&#8220;平等&#8221;共享其他节点的计算资源。IBM为对等下了如下定义：对等系统由若干互联协作的计算机构成，且至少具有如下特征之一：系统依存于边缘化（非中央式服务器）设备的主动协作，每个成员直接从其他成员而不是从服务器的参与中受益；系统中成员同时扮演服务器与客户机的角色；系统应用的用户能够意识到彼此的存在，构成一个虚拟或实际的群体。</p>
<p>　　网格采用P2P计算体系结构</p>
<p><strong>22.网格与分布式计算是什么关系</strong></p>
<p>　　格网计算是一种新的高性能的分布式计算方法。格网计算作为新一代的分布式计算方法，与传统分布式计算的主要区别在于在没有集中控制机制的情况下，通过对计算资源进行大规模共享，满足应用对高性能计算要求，并且这种对计算资源进行大规模共享是动态的、柔性的、安全的和协作式的。</p>
<p><strong>23.网格与中间件是什么关系</strong><br>　　网格中间件（Gridware）就是一种在网格中应用的中间件<br>　　现在的globus toolkit就是一种网格中间件，连接异质的主机节点构成globus网格</p>
<p><strong>24.什么是web service，网格与web service是什么关系。</strong><br>　　OGSA吸纳了许多Web服务标准，如Web服务描述语言（WSDL）、简单对象访问协议（SOAP）、轻目录访问协议（LDAP）、Web服务探测（WS-Inspection）等。这些标准用于定位、调度计算资源并保证它们的安全。<br>　　OGSA采用Web服务框架的优点是：一方面，通过注册和发现接口定义和终端（endpoint）实现描述以及动态产生特定接口绑定的代理，在异构环境中能够支持服务的动态发现和合成。另一方面，由于Web服务机制在商业应用领域广泛采用，OGSA采用Web服务框架使人们能够利用许多现有的开发工具和扩展服务，如产生语言绑定的WSDL处理器。</p>
<p><strong>25.网格跟.net, corba, jini,java的rmi，J2EE都是什么关系。</strong><br>　　网格融合了.net, corba, jini或java的rmi，J2EE思想，并从软件集成扩展到CPU、存储设备、仪器等硬件的集成。</p>
<p><strong>26.网格和CSCW是什么关系</strong><br>　　CSCW可以定义为地域分散的一个群体借助计算机及其网络技术，共同协调与协作来完成一项任务。网格促进了这种工作模式。</p>
<p><strong>27.网格跟IBM提出的自主计算有什么关系</strong><br>　　&#8220;自主计算&#8221;的设想是将日益复杂的IT系统管理后台化、自动化和智能化，通过强大的中间件将异构网络改造成真正意义上的和谐自主的数字神经系统。<br>　　网格本身就是一种自主计算</p>
<p><strong>28.什么是网格的体系结构</strong></p>
<p>　　网格体系结构就是关于如何建造网格的技术描述。它给出了网格的基本组成与功能，描述了网格各组成部分的关系以及它们集成的方式或方法，刻画了支持网格有效运转的机制。</p>
<p><strong>29.网格的主要有那些体系结构，他们目前发展状况如何。<br></strong>　　美国Globus项目提出的格网体系结构模型采用本地服务层、核心服务层、高层服务与工具层、应用层四层结构。在此基础上，美国的Argonne国家实验室、芝加哥大学、南加州大学和IBM公司共同提出了开放式格网服务体系结构(Open Grid Services Architecture，OGSA)。OGSA采用纤维层、联络层、资源层、协作层、应用层五层结构。</p>
<p><strong>30.网格的起源是什么</strong><br>　　&#8220;网格&#8221;（Grid）一词来源于人们熟悉的电力网（Power Grid）。目前对计算力的需求正在持续不断地增长。高速网络、功能和性能更加强大的大规模计算系统、高性能存储系统以及高级数据分析软件的应用为解决商业领域和科学领域的计算问题带来了希望。但是利用这些新的能力意味着应付不断增加的工作负荷要求所带来的空前挑战。当一个组织机构在努力保持竞争力的时候他们面临许多前所未有的挑战：减少计算费用、增加计算吞吐量、加快对市场的响应、改进生产服务质量和产品创新等都是非常重要的。一个组织机构在硬件方面的投资需要谨慎地进行权衡，并且必须找到利用可得资源完成更多工作的方法。<br>　　尽管对计算力的需求是非常大的，但是许多现有的系统都没有得到充分利用。其中一些单个服务器也许满负荷工作，但是大多数系统却不是满负荷工作的，使许多计算周期（computing cycles）没有使用，而实际上这些计算周期可以用于满足不断增长的计算资源需求。格网计算使组织机构可以更加有效地和灵活地用他们的分布式计算资源，从现有的系统中获取更加有用的计算力，帮助组织机构获得竞争优势。</p>
<p><strong>31.网格目前的发展状况如何</strong></p>
<p>　　研究、开发、炒作，即处于预热期。</p>
<p><strong>32.国内的网格有那些项目，每个项目的目标如何，目前进展如何。</strong></p>
<p>　　ACI工程的目标是把分布在不同地理位置的高性能计算机、贵重仪器、数据库等用高速网络连接在一起构成一台虚拟计算机，用户通过ACI共享资源、共同讨论、合作开展科研项目。<br>　　织女星计划（Vega计划以元数据、构件框架、智能体、格网公共信息协议和格网计算协议为主要研究突破点。</p>
<p><strong>33.介绍一些国外的主要网格项目的状况</strong><br>　　美国科学格网项目的目标是建立基于格网中间件（Gridware）和系统工具的高级分布式计算基础设施（ADCI）使能源部科学计算体系的可伸缩性满足能源部内部科学研究任务要求。<br>　　远程分布式计算与通信项目的目标是创建一个用于访问美国能源部三个武器实验室的具有可操作性的格网，以支持国防计划中远程计算和分布式计算这两个关键战略领域复杂的分析、设计、制造、认证功能。<br>　　地球系统格网（Earth System Grid II，ESG）项目由阿贡国家实验室（Argonne National Laboratory）等五个国家实验室的科学家联合承担。主要目标是解决从全球地球系统模型分析和发现知识所面临的巨大挑战，为下一代气候研究提供一个无缝的强大的虚拟协同环境。 </p>
<p>　　国家地震工程仿真格网的目标使地震研究人员能够进行各种地震工程实验数据分析的大规模计算任务。<br>　　此外，目前美国正在进行的格网计算研发项目还包括Globus、美国航空航天局（NASA）的信息动力格网（Information Power Grid，IPG）、美国国家技术格网（National Technology Grid）、虚拟实验室项目（Virtual Laboratory Project）、天体物理仿真合作实验室（Astrophysics Simulation Collaboratory，ASC）、国际虚拟数据格网实验室（International Virtual Data Grid Laboratory，iVDGL）等。Globus目标构建一个格网软件基础设施。研究内容包括资源管理、数据访问、应用开发、格网安全等。目前全球许多用户利用Globus工具包创建格网和开发格网应用。信息动力格网的目标是为国家航空航天局科学研究任务提供持续、可靠的计算动力源。美国国家技术格网项目的目标是创建一个无缝集成的协同计算环境原型系统。虚拟实验室项目致力于研究、设计、开发能够帮助解决数据密集的、涉及大规模计算的分子生物学问题的格网技术。天体物理仿真合作实验室项目的主要目标利用Cactus和Globus格网计算的研究成果为高级可视化交互和元计算提供大规模并行计算能力，实现在相对论天体物理学领域的大规模仿真。国际虚拟数据格网实验室项目由欧盟的数据格网（DataGrid）、美国的格网物理网络（Grid Physics Network）和粒子物理数据格网（Particle Physics Data Grid）协作创建。</p>
<p><strong>34.网格的发展有哪些困难</strong><br>　　信息安全、商业模式等</p>
<p><strong>35.网格面临哪些技术问题</strong><br>　　格网资源管理、注册、预订、分配、调度、安全、计费等</p>
<p><strong>36.GGF主要的工作是什么</strong><br>　　应用程序及编程模型和环境（APME）。 <br>　　架构。 <br>　　数据。 <br>　　安全性。 <br>　　信息系统和性能（ISP）。 <br>　　端到端应用（P2P）。 <br>　　调度和资源管理（SRM）。 </p>
<p><strong>37.国内有类似GGF的组织吗</strong><br>　　没有，至少没有成规模、成气候、分工协作。</p>
<p><strong>38. OGSA,OGSI,Globus,WSRF有什么关系</strong><br>　　OGSI（Open Grid Service Ieterface，开放网格服务接口）规定了向网格发送处理请求时所使用的接口，相当于Web服务中的WSDL（Web服务描述语言），在网格计算相关标准中处于核心地位。<br>　　开放式格网服务体系结构(Open Grid Services Architecture，OGSA)采用纤维层、联络层、资源层、协作层、应用层五层结构，格网是通过调用服务来构造应用的，这就涉及接口问题。<br>　　OGSA是一个抽象的东西,里面没有具体的内容,OGSA的推出要比OGSI早,OGSI是对OGSA的主要方面具体化,规范化.Globus是基于OGSI标准的一个实现. WSRF是和OGSI同一个层次的东西,是吸收了Web Service最新成果后,对OGSI的重构和发展.</p>
<p><strong>39.网格是一种新技术，任何新技术或多或少都会带有泡沫的成分？你是否赞成？网格技术是否也带有泡沫的色彩？<br></strong>　　技术本身没有泡沫，泡沫是商业炒作产生的，现在已经开始商业炒作了。</p>
<p><strong>40.从总体上看，网格技术目前的发展，是处在一个什么状况？</strong><br>　　技术研究开发阶段</p>
<p><strong>41.网格离实际应用，离商业应用还有多远？</strong><br>　　2到3年时间</p>
<p><strong>42.一个新技术，从理论性的研究，到实际的商业的推广需要经历几个阶段，你认为&#8220;网格&#8221;需要经历几个阶段，才能走向真正的商用？<br></strong>　　原型应用系统开发、格网标准化（规范、协议）、成熟的商业模式</p>
<p><strong>43.网格想要得到广泛的商业应用，是否会遇到一些阻碍？<br></strong>　　是的，例如安全问题、计费问题等。</p>
<p><strong>44.任何一个新技术的发展趋势，都应该受到身在政府、行业、企业中的CIO所关注。你认为作为&#8220;网格&#8221;技术，这些CIO应该从哪几方面进行关注？<br></strong>　　网格在政府、行业、企业中的应用</p>
<p><strong>45.什么才算是Ian Foster三个checklist中的非平凡服务？</strong></p>
<p>　　大吞吐量、服务透明、高可靠性</p>
<p><strong>46.学习网格要学习哪些基础知识</strong><br>　　计算机原理、计算机网络、数据库、编程语言等</p>
<p><strong>47：什么是制造网格</strong><br>　　是现代集成制造哲理和敏捷制造模式在网络化经济环境下的一种具体物化形式，目标是快速设计、快速制造、快速检测、快速响应和快速重组，克服空间上的距离给不同企业间的协同带来的障碍，在最大程度上实现设计、制造、信息、技术资源的共享，以及协同制造过程中物流、信息流、价值流的优化运行，它能为实现敏捷制造和虚拟企业的运作提供支持，形成具有数字化、柔性化、敏捷化等基本特征的优势互补的协同企业。而在这样的制造网络支持下，整个制造网格系统中的制造企业群体将以较低的成本、较短的开发周期，制造出符合市场需求的高质量产品。</p>
<img src ="http://www.blogjava.net/waterjava/aggbug/128365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-05 15:27 <a href="http://www.blogjava.net/waterjava/archive/2007/07/05/128365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>学习Grid Service及其在Globus上的部署(GT4)</title><link>http://www.blogjava.net/waterjava/archive/2007/07/05/128338.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Thu, 05 Jul 2007 06:48:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/07/05/128338.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/128338.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/07/05/128338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/128338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/128338.html</trackback:ping><description><![CDATA[<div id=articleText4b7a232a01000904 align=left text?>
<div>
<p><span><a href="file:///F:/&#195;&#195;&#184;&#194;&#184;&#195;&#177;&#195;&#151;&#195;&#183;&#195;&#194;&#181;/&#194;&#179;&#195;&#195;&#195;&#178;&#195;&#195;&#195;&#195;&#194;&#189;&#195;&#167;&#195;&#195;&#166;.bmp" target=_blank></a></span></p>
<p>GT4教程<a href="http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html" target=_blank><font face="Courier New">http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html</font></a></p>
<p>所用软件：</p>
<p>操作系统：Win xp</p>
<p>gt4版本：ws-core-4.0.4-bin</p>
<p>j2sdk1.4.2_05</p>
<p>jakarta-tomcat-5.0.28&nbsp; apache-ant-1.7.0-bin&nbsp; axis-bin-1_4</p>
<p>python-2.5.msi</p>
<p>&nbsp;</p>
<p>部署环境变量：</p>
<p align=left>ANT_HOME= C:\Grid\ant-1.7.0</p>
<p align=left>CATALINA_HOME= C:\Grid\tomcat5.0.28</p>
<p align=left>CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar</p>
<p align=left>JAVA_HOME= C:\j2sdk1.4.2_05</p>
<p align=left>GLOBUS_LOCATION= C:\Grid\ogsa</p>
<p align=left>PATH=.;C:\Grid\ogsa\bin;%JAVA_HOME%\bin;%JAVA_HOME%\lib;%ANT_HOME%\bin;%CATALINA_HOME%\bin;%JAVA_HOME%\lib;</p>
<p align=left>&nbsp; 1、&nbsp; 将教材中的例子下载到本地f盘（F:\progtutorial-examples_0.2.1）</p>
<p align=left>2、更改服务名称(老师要求 与部署无关)：</p>
<p align=left>将$EXAMPLES_DIR/org/globus/examples/services/core/first/deploy-server.wsdd文件中，service的name属性进行更改：将service name="examples/core/first/MathService"变更为service name="examples/core/first/200628007427021MathService"。</p>
<p align=left>对$EXAMPLES_DIR/org/globus/examples/services/core/first/deploy-jndi-config.xml文件中，service的name属性进行更改，将<span XML:LANG="EN-US">&lt;service name="examples/core/first/MathService"&gt;</span>变更为<span XML:LANG="EN-US">&lt;service name="examples/core/first/200628007427021MathService"&gt;</span></p>
<p align=left>3、安装python for windows 。</p>
<p align=left>4、&nbsp;进入F:\progtutorial-examples_0.2.1，输入globus-build-service.py&nbsp; first。在该目录下编译生成gar文件。</p>
<p align=left>5、&nbsp; 部署gar文件：在根目录下F:下进行部署：globus-deploy-gar&nbsp; F:\progtutorial-examples_0.2.\org\gloubs_examples_services_core_first.gar</p>
<p align=left>6、进入%GLOBUS_LOCATION%\etc，输入globus-devel-env.bat，将GT4的lib下面的jar文件路径包括进去。</p>
<p align=left>7、运行正常后，就需要编译Client.java文件了。</p>
<p align=left>进入F:\progtutorial-examples_0.2.1，javac org\globus\examples\clients\MathService_instance\Client.java编译客户端程序。</p>
<p align=left>8、启动globus服务。</p>
<p align=left>Globus-start-container -nosec。运行界面如下：</p>
<p align=left><a href="http://blog.sina.com.cn/main/html/showpic.html#url=http://s8.album.sina.com.cn/pic/4b7a232a02000ptj" target=_blank><img src="http://s8.album.sina.com.cn/pic/4b7a232a02000ptj" border=0></a></p>
<p align=left>9、在F:\progtutorial-examples_0.2.1下运行客户端，</p>
<p align=left>Java org.globus.examples.clients.MathService_instance.Client <a href="http://127.0.0.1:8080/wsrf/services/examples/core/first/200628007427021MathService">http://127.0.0.1:8080/wsrf/services/examples/core/first/200628007427021MathService</a></p>
<p>将出现结果如下：</p>
<p><a href="http://blog.sina.com.cn/main/html/showpic.html#url=http://s9.album.sina.com.cn/pic/4b7a232a02000ptk" target=_blank><img src="http://s9.album.sina.com.cn/pic/4b7a232a02000ptk" border=0></a><br><br><br>来自:http://blog.sina.com.cn/u/4b7a232a01000904<br><a href="file:///F:/&#195;&#195;&#184;&#194;&#184;&#195;&#177;&#195;&#151;&#195;&#183;&#195;&#194;&#181;/&#194;&#179;&#195;&#195;&#195;&#178;&#195;&#195;&#195;&#195;&#194;&#189;&#195;&#167;&#195;&#195;&#166;.bmp" target=_blank></a></p>
</div>
</div>
<img src ="http://www.blogjava.net/waterjava/aggbug/128338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-07-05 14:48 <a href="http://www.blogjava.net/waterjava/archive/2007/07/05/128338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Globus Toolkit 4(GT4)构建WEB服务</title><link>http://www.blogjava.net/waterjava/archive/2007/06/29/127167.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Fri, 29 Jun 2007 14:08:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/29/127167.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/127167.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/29/127167.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/127167.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/127167.html</trackback:ping><description><![CDATA[<span style="COLOR: red">版权声明：任何获得Matrix授权的网站，转载时请<strong>务必</strong>以超链接形式标明文章原始出处和作者信息及本声明</span><br>作者:Birali Hakizumwami;<a href="http://www.matrix.org.cn/user.shtml?username=xzzhouhu" target=_new><u><font color=#0000ff>xzzhouhu</font></u></a><br>原文地址:<a href="http://www.onjava.com/pub/a/onjava/2005/10/19/constructing-web-services-with-globus-toolkit.html" target=_new><u><font color=#0000ff>http://www.onjava.com/pub/a/onjava/2005/10/19/constructing-web-services-with-globus-toolkit.html</font></u></a><br>中文地址:<a href="http://www.matrix.org.cn/resource/article/44/44032_Globus_Toolkit.html" target=_new><u><font color=#800080>http://www.matrix.org.cn/resource/article/44/44032_Globus_Toolkit.html</font></u></a><br>关键词： Globus Toolkit <br><br><strong>摘要：</strong><br>本文主要介绍了通过一种新的方法来构建企业软件，即通过调整Globus Toolkit 4实现的网格计算的概念来实现。GT4是一种可以通过开放网格服务架构（OGSI）来实施的开放资源。这种实施主要目的是为网格服务架构提供了依据，同时也可以为别的网格服务架构实施提供参考。本文详细介绍了GT4中JAVA的核心服务，这些服务具备提供代管网格服务实时运行环境的能力，当然这些网格服务都是由JAVA写的。实时运行环境在网格服务的应用和网络承载之间和传输协议引擎之间起到了协调的作用。<br><br><br><strong><span style="FONT-SIZE: 16px">一．网格的定义</span></strong><br><br>网格的定义：<br>网格就是将收集网络上所有可用的分布式计算资源提供给最终用户或组建成一个巨大的计算系统。网格计算给分布式计算提供了一种全新的方法，不仅在跨地区而且在跨组织，机器结构和软件限制，给连接到网格的每个用户提供更多的资源，计算机之间的协作和信息访问。分布式资源，像计算周期，存储和信息，可以在网格中的任何地区访问，同时也可以在网格中提供这些服务供其他用户访问。这就要通过在每个独立的组织或资源之间进行安全的协调资源共享，共同建立一个动态虚拟组织机构。<br><br><br><strong><span style="FONT-SIZE: 16px">二．Globus Toolkit Version 4</span></strong><br><br>在本文中，我们主要讨论GT4中JAVA的核心服务。（如图1），这些服裉峁┝舜芡穹袷凳痹诵谢肪车哪芰&#913;Ｊ凳痹诵谢肪吃谟没Фㄒ宓挠&#964;梅窈虶T4的核心服务之间，网络承载和传输协议引擎之间起到了协调的作用。GT4核心服务还提供了程序开发支持的功能，包括开放式开发模式和访问网格服务的实现，像GRAM(Grid Resource Allocation Management,网格资源管理)。应用GT4强有力的理由就是因为它是建立在现有的WEB服务标准和技术的基础上，像SOAP和WSDL。网格服务提供的接口都是通过WSDL来描述的。GT4提供了一个软件仓库，像安全支持，软件的探索，软件的资源管理，软件的调用，软件之间的通信，异常处理和数据管理等。 <br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt="" src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_005900_kHCbkFrcJz.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （图1）<br><br>图1主要描述了在服务器端的GT4中的主要组件结构。这只是GT4所提供功能的一部分，我们只是认为它很适合本文。GT4结构由一个网格容器组成，网格容器主要用来管理所有部署的WEB服务，贯穿于每个WEB服务的运行周期。GT4使用apache的axis作为它的WEB服务的引擎来处理所有的SOAP消息，JAX-RPC （Java API for XML-Based RPC）处理和WEB服务的配置。<br><br><br><strong><span style="FONT-SIZE: 16px">三．贷款偿还例子：</span></strong><br><br>我们列举这样一个例子，主要想向大家展示在企业内部如何通过Globus Toolkit 来解决不同类操作系统之间进行融合。在企业内部，有些应用可能是原来主机遗留下来的，技术比较落后，有些应用已经采用了现代技术，像J2EE。甚至我们采用最先进的技术在一个企业内部的应用之间进行信息共享也要面临巨大的挑战。图2给出了这样一个例子，在一个抵押机构内，在贷款偿还信息处理和会计部门信息处理之间的交互， <br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_010043_MrFtcWaPcx.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（图2）<br><br>会计部门使用申请贷款处理服务来申请贷款。<br><br>为了创建和部署网格服务，我们需要：<br>*通过创建WSDL文件来定义服务的接口<br>*用JAVA来实现<br>*通过创建WSDD文件来定义服务的部署参数<br>*使用ANT编译源代码并生成GAR文件<br>*用GT4分发工具部署GAR文件<br>我们必须使用从上往下的方法来创建网格服务，（图3）<br><br>这种方法首先从提供WSDL文件开始，在WSDL文件中包括对WEB服务的抽象定义，包括服务类型，消息类型和端口类型。从WSDL文档开始并根据WSDL文档创建了JAVA模型，从而导致与其他系统更好交互。<br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_010229_nDuFLrOeDV.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br><br>&nbsp;&nbsp;我们使用GT4 toolkit自带的工具来进行服务的绑定和产生客户段需要的根类。这种方法的下一步就是提供接口的实现。<br><br><strong>贷款偿还服务处理定义：</strong><br>对于贷款偿还服务处理的例子的接口类型我们定义为loan.wsdl，它描述了贷款偿还服务所提供的三个部分的操作（申请贷款，贷款处理和获得贷款）。首先我们描述贷款偿还服务的请求和响应：<br><br>
<pre class=overflow title="pre code">&lt;types&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="createLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="amountUPB" type="xsd:double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="createLoanResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="processLoanPayment"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="amount" type="xsd:double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="processLoanPaymentResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="getLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="getLoanResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="tns:LoanType"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&lt;/types&gt;</pre>
<br><br>我们在文件 loan.xsd.中定义了贷款的数据类型，我们通过使用&#8220; import &lt;xsd:import schemaLocation="loan.xsd"/&gt; &#8221;可以直接将loan.xsd.文件导入到文件loan.wsdl 中，并且用它作为获得贷款操作返回的类型<br><br>
<pre class=overflow title="pre code">&lt;complexType name="LoanType"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="loanNumber" type="int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="UPB" type="double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="status" type="string"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="createDate" type="string"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/sequence&gt;<br>&lt;/complexType&gt;</pre>
<br><br>下一步，我们要定义所有的消息服务。一条消息元素可能由一个或多个部分组成，消息元素的每个部分对应一个参数，并且还有一个类型属性。消息既可以是一个请求消息（输入消息），也可以是一个响应消息（输出消息）。<br><br>
<pre class=overflow title="pre code">&lt;message name="CreateLoanInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:createLoan"/&gt;<br>&lt;/message&gt;<br>&lt;message name="CreateLoanOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:createLoanResponse"/&gt;<br>&lt;/message&gt;<br><br>&lt;message name="ProcessLoanPaymentInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:processLoanPayment"/&gt;<br>&lt;/message&gt;<br>&lt;message name="ProcessLoanPaymentOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters"<br>&nbsp;&nbsp;&nbsp;&nbsp;element="tns:processLoanPaymentResponse"/&gt;<br>&lt;/message&gt;<br><br>&lt;message name="GetLoanInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:getLoan"/&gt;<br>&lt;/message&gt;<br>&lt;message name="GetLoanOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:getLoanResponse"/&gt;<br>&lt;/message&gt;</pre>
<br><br>最后我们定义所有的端口类型，每个接口类型定义了一个或多个操作来使用当前的操作元素，每个独立的操作元素又定义了一个操作和与操作有联系的消息的输入输出。在一个端口类型内操作元素定义了端口类型内所有调用方法的语法。<br><br>
<pre class=overflow title="pre code">&lt;portType name="LoanPortType"&gt;<br>&nbsp;&nbsp;&lt;operation name="createLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:CreateLoanInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:CreateLoanOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&nbsp;&nbsp;&lt;operation name="processLoanPayment"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:ProcessLoanPaymentInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:ProcessLoanPaymentOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&nbsp;&nbsp;&lt;operation name="getLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:GetLoanInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:GetLoanOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&lt;/portType&gt;</pre>
<br><br><strong>服务的实现：</strong><br>&nbsp;&nbsp;在前面的步骤中，终端贷款端口类型的接口已经产生，在定义这些端口类型的接口时，所有的远程操作都要设为public，并且抛出java.rmi.RemoteException。在本文中给出了LoanServiceImpl类，主要实现贷款端口类型的接口，这些实现要用到前面所讲到的用loan.wsdl文件所生成的根类。<br><br>
<pre class=overflow title="pre code">public class LoanServiceImpl implements LoanPortType</pre>
<br><br>其中LoanServiceImpl 所实现的方法定义在LoanPortType接口中，createLoan方法在产生一个createLoan对象的构造器中要获取一个贷款数字作为它的参数。<br><br>
<pre class=overflow title="pre code">public CreateLoanResponse createLoan(CreateLoan cl)<br>throws java.rmi.RemoteException <br>public ProcessLoanPaymentResponse processLoanPayment(ProcessLoanPayment plp)<br>throws java.rmi.RemoteException <br>public GetLoanResponse getLoan(GetLoan gl) throws java.rmi.RemoteException </pre>
<br><br>请参考完整代码详细描述方法的实现。<br><br>编译并创建贷款/偿还处理的WEB服务：<br>下面我们介绍通过以下步骤来创建易部署的GT4打包文档。Ant在编译本文所提供文件时所产生的build.xml中包含了ant的执行任务的步骤。在build.xml中ant的执行任务调用GT4中的ant任务，这些任务伴随着GT4的发布可以在编译文件中找到。<br><br>
<pre class=overflow title="pre code">%GLOBUS_LOCATION%/share/globus_wsrf_common/build-packages.xml<br>%GLOBUS_LOCATION%/share/globus_wsrf_tools/build-stubs.xml<br>%GLOBUS_LOCATION%/share/schema</pre>
<br><br><strong>编译GT4中易部署的GAR文件</strong><br>&nbsp;&nbsp; 为了创建易部署的网格打包文件，loan.gar，我们通过以下步骤来实现：（这些步骤与builder.xml中的ant任务是一致的）：<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与WSDL文件绑定<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过WSDL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件生成一个根类，在安装时，提供一个特殊文件来对不同的命名空间和包之间进行映射，这些包与表格中的目录结构一致。<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译根类<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译接口类<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用JAR压缩接口类，和根类一样(loan.jar and loan_stubs.jar).<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过创建部署描述文件deploy-server.wsdd.来生成易部署的GAR文件，loan.gar<br>请参考源代码中完整的build.xml文件，通过以上步骤来实现一系列的ant编译任务。GT4描述我们的WEB服务文件deploy-server.wsdd就想这样：<br><br>
<pre class=overflow title="pre code">&lt;service name="loan/impl/LoanService" provider="Handler"<br>use="literal" style="document"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="className" value="loan.impl.LoanServiceImpl"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;wsdlFile&gt;share/schema/loan/Loan_service.wsdl&lt;/wsdlFile&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="allowedMethods" value="*"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="handlerClass"<br>&nbsp;&nbsp;&nbsp;&nbsp;value="org.globus.axis.providers.RPCProvider"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="scope" value="Application"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="providers" value="GetRPProvider"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="loadOnStartup" value="true"/&gt;<br>&lt;/service&gt;</pre>
<br><br>让我们来介绍一下deploy-server.wsdd中的一些参数：<br>服务名称：指定我们所提供的WEB服务的路径，我们将它与WEB服务容器的地址相结合起来，我们会得到WEB服务的完整的URL。为了便于测试，使用独立的GT4容器，URL就像这样：<br><br><span style="COLOR: blue">http://localhost:8080/wsrf/services/loan/impl/LoanService</span><br><br>类名：指实现服务接口的类(LoanServiceImpl).<br>WSDL文件：告诉GT4中的WEB服务容器对于当前的WEB服务的WSDL文件在那里可以找到。WSDL文件Loan_service.wsdl是在GT4 从loan.wsdl进行ANT时自动产生的。<br>启动时装载：如果我们需要服务在WEB服务容器启动时就开始装载，允许我们控制服务的装载。<br><br><strong>部署GAR文件：</strong><br>GAR文件loan.gar包含了所有的文件和WEB服务器需要的部署信息，我们使用GT4部署工具：<br><br><span style="COLOR: blue">%GLOBUS_LOCATION%/bin/globus-deploy-gar $PROJECT_HOME/loan.gar </span><br><br>拷贝文档文件（loan.wsdl，编译的根类，编译的接口实现，loan.wsdd）到GT4容器的目录下适当位置。<br><br><strong>测试借贷款处理实例</strong><br><br>在图1描述了如何将贷款方的子系统和贷款结算子系统作为借贷款的WEB服务的客户端，现在我们就在GT4网格服务容器中创建和部署WEB服务，我们需要用一个客户端进行测试，测试用例模拟一个贷款事件，一个贷款月度偿还事件和一个贷款还清事件。作为客户端来说，他们希望WEB服务的URI（统一资源标识符）能够作为客户端访问WEB服务的依据。客户端的程序要独立的进行编译，下面来描述客户端访问WEB服务的主要步骤：<br><br>创建一终端引用类型对象，来代表终端引用的贷款服务。我们的终端引用只需要服务的URI：<br>EndpointReferenceType endpoint = new EndpointReferenceType();<br>endpoint.setAddress(new Address(serviceURI));<br><br>下一步，我们要获得引用服务的端口类型，这需要一个根类调用LoanServiceAddressingLocator, LoanServiceAddressingLocator主要是用来维持客户端与WEB服务之间的通信和获得引用贷款端口的类型。<br><span style="COLOR: blue">LoanServiceAddressingLocator locator = new LoanServiceAddressingLocator();<br>LoanPortType loanPT = locator.getLoanPortTypePort(endpoint); </span><br><br>一旦我们获得这个引用，我们可以作为本地对象来操作WEB服务。例如，调用远程的创建操作，我们仅仅需要在贷款端口类型中使用创建方法。<br><span style="COLOR: blue">CreateLoanResponse clr = loanPT.createLoan(new CreateLoan(amount, loanNumber));</span><br><br>请参考附件中完整的客户端代码。在编译客户端之前，请保证运行下面的脚本，以便于GT4的发布：<br><span style="COLOR: blue">%GLOBUS_LOCATION%/etc/globus-devel-env.bat</span><br><br>globus-devel-env.bat文件主要是将Globus的类库注册到系统的classpath中，因为客户端是作为独立的应用来编译的，同样，要保证在编译客户端的目录中所放置的已编译的根类时能通过classpath找到，因此我们的客户端可以访问服务器端的根类，像LoanServiceAddressingLocator。<br><br><strong>启动网格容器</strong><br>使用下面的命令来启动网格容器：<br><br><span style="COLOR: blue">%GLOBUS_LOCATION%/bin/globus-start-container &#8211;nosec</span><br><br>-nosec参数主要是为了简化测试，略去安全设置。如果网格容器启动成功，你将会看到已部署的服务的URI列表，如果LoanService正确的部署，在已部署的服务的列表中有下面的一行：<br><br><span style="COLOR: blue">[13]: http://localhost:8080/wsrf/services/loan/impl/LoanService</span><br><br><strong>测试借贷款处理的WEB服务</strong><br>通过客户端进行测试，我们假设有以下操作：申请贷款，偿还贷款，还清贷款。<br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建一个初始化贷款编号为100并且还有12000未还&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><span style="COLOR: red">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService createLoan 100 120000<br>Loan 100 created successfully.</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;假定两个月偿还，每个月还$1100（本例不考虑利息的计算）<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 1100<br>Loan 100 processed successfully.<br>java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 1100<br>Loan 100 processed successfully.</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看贷款的状态<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService getLoanData 100<br>Loan Data<br>Create Date Mon Jun 06 16:41:06 EDT 2005<br>Unpaid Principal Balance 117800.0<br>Status ACTIVE </span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第三个月还清余款（$117,800）<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 117800<br>Loan 100 processed successfully</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看贷款状态<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService getLoanData 100<br>Loan Data<br>Create Date Mon Jun 06 16:41:06 EDT 2005<br>Unpaid Principal Balance 0.0<br>Status PAIDOFF </span><br><br><strong><span style="FONT-SIZE: 16px">结束语：</span></strong><br><br>本文主要描述了在基于现有的WEB服务标准的基础上，如何调整GT4网格结构来创建一个网格服务应用。尽管GT4已经主要的应用在大型的科学计算问题上，但是在一个企业内部它可以作为实现面向服务结构（SOA）的一种方法。本文主要是通过一个简单的实例来描述如何使用GT4中的JAVA核心服务来创建和部署一个网格服务，但是并没有覆盖到更多的其他的更先进的关于如何使用网格服务概念，向网格服务的分配和管理，文件传输的可靠性，网格异常和安全。<br><br><strong>资源</strong> <br>&#183;<a href="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_015451_hIYxCRfmxu.zip" target=_new><u><font color=#0000ff>本文的示例代码</font></u></a><br>&#183;Matrix-Java开发者社区:<a href="http://www.matrix.org.cn/" target=_new><u><font color=#0000ff>http://www.matrix.org.cn</font></u></a><br>&#183;onjava.com:<a href="http://onjava.com/" target=_new><u><font color=#0000ff>onjava.com</font></u></a><br><br><br><br>
<p id=TBPingURL>Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=544636</p>
<img src ="http://www.blogjava.net/waterjava/aggbug/127167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-29 22:08 <a href="http://www.blogjava.net/waterjava/archive/2007/06/29/127167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于MDS_注册 Globus Toolkit 4 网格服务</title><link>http://www.blogjava.net/waterjava/archive/2007/06/20/125258.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 20 Jun 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/20/125258.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/125258.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/20/125258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/125258.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/125258.html</trackback:ping><description><![CDATA[<h4 class=TextColor1 id=subjcns!3469476c7ebe9183!185 style="MARGIN-BOTTOM: 0px">关于MDS_注册 Globus Toolkit 4 网格服务</h4>
<div class=bvMsg id=msgcns!3469476c7ebe9183!185>
<div><a href="http://www-128.ibm.com/developerworks/cn/grid/gr-mdsgt4/index.html"><font color=#78ba00>http://www-128.ibm.com/developerworks/cn/grid/gr-mdsgt4/index.html</font></a></div>
<div>摘要：</div>
<div>Monitoring and Discovery System（MDS）是 Globus Toolkit 的信息服务组件。它提供了有关网格资源的状态信息。其主要组件包括 Index service、Trigger service 和 Aggregator service。MDS 方便了资源的发现和描述，并监控服务和计算。本文解释了 Globus Toolkit 4（GT4）中 MDS 的基本设计和架构。我们还将通过一个示例服务，演示如何设置、配置并使用 MDS 来注册并查询服务。</div>
<div><a><span><font face=Arial color=#000000 size=4><font size=1>参考资料</font> </font></span></a></div>
<ul>
    <li>
    <div>您可以参阅本文在 developerWorks 全球站点上的 <a href="http://www-128.ibm.com/developerworks/grid/library/gr-mdsgt4/index.html"><u><font color=#5c81a7>英文原文</font></u></a>。<br></div>
    <li>
    <div>从 <a href="http://www-unix.globus.org/toolkit/mds/"><u><font color=#5c81a7>Globus Alliance</font></u></a> 上下载 Globus Toolkit 中的 Monitoring and Discovery System（MDS）。<br></div>
    <li>
    <div>阅读有关 <a href="http://www-unix.globus.org/alliance/publications/papers.php#Information Services Components"><u><font color=#5c81a7>信息服务中的 Globus 研究</font></u></a> 的知识。<br></div>
    <li>
    <div><a href="http://www-unix.globus.org/alliance/publications/papers/xuehaiMP04.pdf"><u><font color=#996699>Performance Analysis of the Globus Toolkit Monitoring and Discovery Service, MDS2</font></u></a> 是一篇不可错过的研究论文。<br></div>
    <li>
    <div><a href="http://www.globus.org/wsrf/"><u><font color=#5c81a7>WS-Resource Framework（WSRF）及其相关规范</font></u></a> 可供参考。<br></div>
    <li>
    <div>通过 developerWorks <a href="http://www.ibm.com/developerworks/views/grid/libraryview.jsp?search_by=understanding_wsrf&amp;type_by=Tutorials"><u><font color=#996699>教程</font></u></a> 学习有关 WSRF 的知识。</div>
    </li>
</ul>
</div>
<img src ="http://www.blogjava.net/waterjava/aggbug/125258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-20 10:37 <a href="http://www.blogjava.net/waterjava/archive/2007/06/20/125258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Globus Toolkit 4(GT4)构建WEB服务</title><link>http://www.blogjava.net/waterjava/archive/2007/06/20/125257.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 20 Jun 2007 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/20/125257.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/125257.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/20/125257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/125257.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/125257.html</trackback:ping><description><![CDATA[<span style="COLOR: red">版权声明：任何获得Matrix授权的网站，转载时请<strong>务必</strong>以超链接形式标明文章原始出处和作者信息及本声明</span><br>作者:Birali Hakizumwami;<a href="http://www.matrix.org.cn/user.shtml?username=xzzhouhu" target=_new><u><font color=#0000ff>xzzhouhu</font></u></a><br>原文地址:<a href="http://www.onjava.com/pub/a/onjava/2005/10/19/constructing-web-services-with-globus-toolkit.html" target=_new><u><font color=#800080>http://www.onjava.com/pub/a/onjava/2005/10/19/constructing-web-services-with-globus-toolkit.html</font></u></a><br>中文地址:<a href="http://www.matrix.org.cn/resource/article/44/44032_Globus_Toolkit.html" target=_new><u><font color=#0000ff>http://www.matrix.org.cn/resource/article/44/44032_Globus_Toolkit.html</font></u></a><br>关键词： Globus Toolkit <br><br><strong>摘要：</strong><br>本文主要介绍了通过一种新的方法来构建企业软件，即通过调整Globus Toolkit 4实现的网格计算的概念来实现。GT4是一种可以通过开放网格服务架构（OGSI）来实施的开放资源。这种实施主要目的是为网格服务架构提供了依据，同时也可以为别的网格服务架构实施提供参考。本文详细介绍了GT4中JAVA的核心服务，这些服务具备提供代管网格服务实时运行环境的能力，当然这些网格服务都是由JAVA写的。实时运行环境在网格服务的应用和网络承载之间和传输协议引擎之间起到了协调的作用。<br><br><br><strong><span style="FONT-SIZE: 16px">一．网格的定义</span></strong><br><br>网格的定义：<br>网格就是将收集网络上所有可用的分布式计算资源提供给最终用户或组建成一个巨大的计算系统。网格计算给分布式计算提供了一种全新的方法，不仅在跨地区而且在跨组织，机器结构和软件限制，给连接到网格的每个用户提供更多的资源，计算机之间的协作和信息访问。分布式资源，像计算周期，存储和信息，可以在网格中的任何地区访问，同时也可以在网格中提供这些服务供其他用户访问。这就要通过在每个独立的组织或资源之间进行安全的协调资源共享，共同建立一个动态虚拟组织机构。<br><br><br><strong><span style="FONT-SIZE: 16px">二．Globus Toolkit Version 4</span></strong><br><br>在本文中，我们主要讨论GT4中JAVA的核心服务。（如图1），这些服裉峁┝舜芡穹袷凳痹诵谢肪车哪芰&#913;Ｊ凳痹诵谢肪吃谟没Фㄒ宓挠&#964;梅窈虶T4的核心服务之间，网络承载和传输协议引擎之间起到了协调的作用。GT4核心服务还提供了程序开发支持的功能，包括开放式开发模式和访问网格服务的实现，像GRAM(Grid Resource Allocation Management,网格资源管理)。应用GT4强有力的理由就是因为它是建立在现有的WEB服务标准和技术的基础上，像SOAP和WSDL。网格服务提供的接口都是通过WSDL来描述的。GT4提供了一个软件仓库，像安全支持，软件的探索，软件的资源管理，软件的调用，软件之间的通信，异常处理和数据管理等。 <br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt="" src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_005900_kHCbkFrcJz.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （图1）<br><br>图1主要描述了在服务器端的GT4中的主要组件结构。这只是GT4所提供功能的一部分，我们只是认为它很适合本文。GT4结构由一个网格容器组成，网格容器主要用来管理所有部署的WEB服务，贯穿于每个WEB服务的运行周期。GT4使用apache的axis作为它的WEB服务的引擎来处理所有的SOAP消息，JAX-RPC （Java API for XML-Based RPC）处理和WEB服务的配置。<br><br><br><strong><span style="FONT-SIZE: 16px">三．贷款偿还例子：</span></strong><br><br>我们列举这样一个例子，主要想向大家展示在企业内部如何通过Globus Toolkit 来解决不同类操作系统之间进行融合。在企业内部，有些应用可能是原来主机遗留下来的，技术比较落后，有些应用已经采用了现代技术，像J2EE。甚至我们采用最先进的技术在一个企业内部的应用之间进行信息共享也要面临巨大的挑战。图2给出了这样一个例子，在一个抵押机构内，在贷款偿还信息处理和会计部门信息处理之间的交互， <br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_010043_MrFtcWaPcx.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（图2）<br><br>会计部门使用申请贷款处理服务来申请贷款。<br><br>为了创建和部署网格服务，我们需要：<br>*通过创建WSDL文件来定义服务的接口<br>*用JAVA来实现<br>*通过创建WSDD文件来定义服务的部署参数<br>*使用ANT编译源代码并生成GAR文件<br>*用GT4分发工具部署GAR文件<br>我们必须使用从上往下的方法来创建网格服务，（图3）<br><br>这种方法首先从提供WSDL文件开始，在WSDL文件中包括对WEB服务的抽象定义，包括服务类型，消息类型和端口类型。从WSDL文档开始并根据WSDL文档创建了JAVA模型，从而导致与其他系统更好交互。<br><br><img onmouseover=javascript:ImgShowTip(this); style="DISPLAY: inline" onclick=javascript:ImgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_010229_nDuFLrOeDV.gif" onload=javascript:ImgLoad(this); border=0 resized="0"><br><br>&nbsp;&nbsp;我们使用GT4 toolkit自带的工具来进行服务的绑定和产生客户段需要的根类。这种方法的下一步就是提供接口的实现。<br><br><strong>贷款偿还服务处理定义：</strong><br>对于贷款偿还服务处理的例子的接口类型我们定义为loan.wsdl，它描述了贷款偿还服务所提供的三个部分的操作（申请贷款，贷款处理和获得贷款）。首先我们描述贷款偿还服务的请求和响应：<br><br>
<pre class=overflow title="pre code">&lt;types&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="createLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="amountUPB" type="xsd:double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="createLoanResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="processLoanPayment"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="amount" type="xsd:double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="processLoanPaymentResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&nbsp;&nbsp;&lt;xsd:element name="getLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="loanNumber" type="xsd:int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br>&nbsp;&nbsp;&lt;xsd:element name="getLoanResponse"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:complexType&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;xsd:element name="returnValue" type="tns:LoanType"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/xsd:complexType&gt;<br>&nbsp;&nbsp;&lt;/xsd:element&gt;<br><br>&lt;/types&gt;</pre>
<br><br>我们在文件 loan.xsd.中定义了贷款的数据类型，我们通过使用&#8220; import &lt;xsd:import schemaLocation="loan.xsd"/&gt; &#8221;可以直接将loan.xsd.文件导入到文件loan.wsdl 中，并且用它作为获得贷款操作返回的类型<br><br>
<pre class=overflow title="pre code">&lt;complexType name="LoanType"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;sequence&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="loanNumber" type="int"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="UPB" type="double"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="status" type="string"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;element name="createDate" type="string"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/sequence&gt;<br>&lt;/complexType&gt;</pre>
<br><br>下一步，我们要定义所有的消息服务。一条消息元素可能由一个或多个部分组成，消息元素的每个部分对应一个参数，并且还有一个类型属性。消息既可以是一个请求消息（输入消息），也可以是一个响应消息（输出消息）。<br><br>
<pre class=overflow title="pre code">&lt;message name="CreateLoanInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:createLoan"/&gt;<br>&lt;/message&gt;<br>&lt;message name="CreateLoanOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:createLoanResponse"/&gt;<br>&lt;/message&gt;<br><br>&lt;message name="ProcessLoanPaymentInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:processLoanPayment"/&gt;<br>&lt;/message&gt;<br>&lt;message name="ProcessLoanPaymentOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters"<br>&nbsp;&nbsp;&nbsp;&nbsp;element="tns:processLoanPaymentResponse"/&gt;<br>&lt;/message&gt;<br><br>&lt;message name="GetLoanInputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:getLoan"/&gt;<br>&lt;/message&gt;<br>&lt;message name="GetLoanOutputMessage"&gt;<br>&nbsp;&nbsp;&lt;part name="parameters" element="tns:getLoanResponse"/&gt;<br>&lt;/message&gt;</pre>
<br><br>最后我们定义所有的端口类型，每个接口类型定义了一个或多个操作来使用当前的操作元素，每个独立的操作元素又定义了一个操作和与操作有联系的消息的输入输出。在一个端口类型内操作元素定义了端口类型内所有调用方法的语法。<br><br>
<pre class=overflow title="pre code">&lt;portType name="LoanPortType"&gt;<br>&nbsp;&nbsp;&lt;operation name="createLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:CreateLoanInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:CreateLoanOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&nbsp;&nbsp;&lt;operation name="processLoanPayment"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:ProcessLoanPaymentInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:ProcessLoanPaymentOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&nbsp;&nbsp;&lt;operation name="getLoan"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input message="tns:GetLoanInputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;output message="tns:GetLoanOutputMessage"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;fault name="Fault" message="ogsi:FaultMessage"/&gt;<br>&nbsp;&nbsp;&lt;/operation&gt;<br>&lt;/portType&gt;</pre>
<br><br><strong>服务的实现：</strong><br>&nbsp;&nbsp;在前面的步骤中，终端贷款端口类型的接口已经产生，在定义这些端口类型的接口时，所有的远程操作都要设为public，并且抛出java.rmi.RemoteException。在本文中给出了LoanServiceImpl类，主要实现贷款端口类型的接口，这些实现要用到前面所讲到的用loan.wsdl文件所生成的根类。<br><br>
<pre class=overflow title="pre code">public class LoanServiceImpl implements LoanPortType</pre>
<br><br>其中LoanServiceImpl 所实现的方法定义在LoanPortType接口中，createLoan方法在产生一个createLoan对象的构造器中要获取一个贷款数字作为它的参数。<br><br>
<pre class=overflow title="pre code">public CreateLoanResponse createLoan(CreateLoan cl)<br>throws java.rmi.RemoteException <br>public ProcessLoanPaymentResponse processLoanPayment(ProcessLoanPayment plp)<br>throws java.rmi.RemoteException <br>public GetLoanResponse getLoan(GetLoan gl) throws java.rmi.RemoteException </pre>
<br><br>请参考完整代码详细描述方法的实现。<br><br>编译并创建贷款/偿还处理的WEB服务：<br>下面我们介绍通过以下步骤来创建易部署的GT4打包文档。Ant在编译本文所提供文件时所产生的build.xml中包含了ant的执行任务的步骤。在build.xml中ant的执行任务调用GT4中的ant任务，这些任务伴随着GT4的发布可以在编译文件中找到。<br><br>
<pre class=overflow title="pre code">%GLOBUS_LOCATION%/share/globus_wsrf_common/build-packages.xml<br>%GLOBUS_LOCATION%/share/globus_wsrf_tools/build-stubs.xml<br>%GLOBUS_LOCATION%/share/schema</pre>
<br><br><strong>编译GT4中易部署的GAR文件</strong><br>&nbsp;&nbsp; 为了创建易部署的网格打包文件，loan.gar，我们通过以下步骤来实现：（这些步骤与builder.xml中的ant任务是一致的）：<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与WSDL文件绑定<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过WSDL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件生成一个根类，在安装时，提供一个特殊文件来对不同的命名空间和包之间进行映射，这些包与表格中的目录结构一致。<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译根类<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译接口类<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用JAR压缩接口类，和根类一样(loan.jar and loan_stubs.jar).<br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过创建部署描述文件deploy-server.wsdd.来生成易部署的GAR文件，loan.gar<br>请参考源代码中完整的build.xml文件，通过以上步骤来实现一系列的ant编译任务。GT4描述我们的WEB服务文件deploy-server.wsdd就想这样：<br><br>
<pre class=overflow title="pre code">&lt;service name="loan/impl/LoanService" provider="Handler"<br>use="literal" style="document"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="className" value="loan.impl.LoanServiceImpl"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;wsdlFile&gt;share/schema/loan/Loan_service.wsdl&lt;/wsdlFile&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="allowedMethods" value="*"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="handlerClass"<br>&nbsp;&nbsp;&nbsp;&nbsp;value="org.globus.axis.providers.RPCProvider"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="scope" value="Application"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="providers" value="GetRPProvider"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;parameter name="loadOnStartup" value="true"/&gt;<br>&lt;/service&gt;</pre>
<br><br>让我们来介绍一下deploy-server.wsdd中的一些参数：<br>服务名称：指定我们所提供的WEB服务的路径，我们将它与WEB服务容器的地址相结合起来，我们会得到WEB服务的完整的URL。为了便于测试，使用独立的GT4容器，URL就像这样：<br><br><span style="COLOR: blue">http://localhost:8080/wsrf/services/loan/impl/LoanService</span><br><br>类名：指实现服务接口的类(LoanServiceImpl).<br>WSDL文件：告诉GT4中的WEB服务容器对于当前的WEB服务的WSDL文件在那里可以找到。WSDL文件Loan_service.wsdl是在GT4 从loan.wsdl进行ANT时自动产生的。<br>启动时装载：如果我们需要服务在WEB服务容器启动时就开始装载，允许我们控制服务的装载。<br><br><strong>部署GAR文件：</strong><br>GAR文件loan.gar包含了所有的文件和WEB服务器需要的部署信息，我们使用GT4部署工具：<br><br><span style="COLOR: blue">%GLOBUS_LOCATION%/bin/globus-deploy-gar $PROJECT_HOME/loan.gar </span><br><br>拷贝文档文件（loan.wsdl，编译的根类，编译的接口实现，loan.wsdd）到GT4容器的目录下适当位置。<br><br><strong>测试借贷款处理实例</strong><br><br>在图1描述了如何将贷款方的子系统和贷款结算子系统作为借贷款的WEB服务的客户端，现在我们就在GT4网格服务容器中创建和部署WEB服务，我们需要用一个客户端进行测试，测试用例模拟一个贷款事件，一个贷款月度偿还事件和一个贷款还清事件。作为客户端来说，他们希望WEB服务的URI（统一资源标识符）能够作为客户端访问WEB服务的依据。客户端的程序要独立的进行编译，下面来描述客户端访问WEB服务的主要步骤：<br><br>创建一终端引用类型对象，来代表终端引用的贷款服务。我们的终端引用只需要服务的URI：<br>EndpointReferenceType endpoint = new EndpointReferenceType();<br>endpoint.setAddress(new Address(serviceURI));<br><br>下一步，我们要获得引用服务的端口类型，这需要一个根类调用LoanServiceAddressingLocator, LoanServiceAddressingLocator主要是用来维持客户端与WEB服务之间的通信和获得引用贷款端口的类型。<br><span style="COLOR: blue">LoanServiceAddressingLocator locator = new LoanServiceAddressingLocator();<br>LoanPortType loanPT = locator.getLoanPortTypePort(endpoint); </span><br><br>一旦我们获得这个引用，我们可以作为本地对象来操作WEB服务。例如，调用远程的创建操作，我们仅仅需要在贷款端口类型中使用创建方法。<br><span style="COLOR: blue">CreateLoanResponse clr = loanPT.createLoan(new CreateLoan(amount, loanNumber));</span><br><br>请参考附件中完整的客户端代码。在编译客户端之前，请保证运行下面的脚本，以便于GT4的发布：<br><span style="COLOR: blue">%GLOBUS_LOCATION%/etc/globus-devel-env.bat</span><br><br>globus-devel-env.bat文件主要是将Globus的类库注册到系统的classpath中，因为客户端是作为独立的应用来编译的，同样，要保证在编译客户端的目录中所放置的已编译的根类时能通过classpath找到，因此我们的客户端可以访问服务器端的根类，像LoanServiceAddressingLocator。<br><br><strong>启动网格容器</strong><br>使用下面的命令来启动网格容器：<br><br><span style="COLOR: blue">%GLOBUS_LOCATION%/bin/globus-start-container &#8211;nosec</span><br><br>-nosec参数主要是为了简化测试，略去安全设置。如果网格容器启动成功，你将会看到已部署的服务的URI列表，如果LoanService正确的部署，在已部署的服务的列表中有下面的一行：<br><br><span style="COLOR: blue">[13]: http://localhost:8080/wsrf/services/loan/impl/LoanService</span><br><br><strong>测试借贷款处理的WEB服务</strong><br>通过客户端进行测试，我们假设有以下操作：申请贷款，偿还贷款，还清贷款。<br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建一个初始化贷款编号为100并且还有12000未还&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><span style="COLOR: red">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService createLoan 100 120000<br>Loan 100 created successfully.</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;假定两个月偿还，每个月还$1100（本例不考虑利息的计算）<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 1100<br>Loan 100 processed successfully.<br>java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 1100<br>Loan 100 processed successfully.</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看贷款的状态<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService getLoanData 100<br>Loan Data<br>Create Date Mon Jun 06 16:41:06 EDT 2005<br>Unpaid Principal Balance 117800.0<br>Status ACTIVE </span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第三个月还清余款（$117,800）<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService processLoanPayment 100 117800<br>Loan 100 processed successfully</span><br><br>&#183;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查看贷款状态<br><span style="COLOR: blue">java Client http://172.24.15.29:8080/wsrf/services/loan/impl/LoanService getLoanData 100<br>Loan Data<br>Create Date Mon Jun 06 16:41:06 EDT 2005<br>Unpaid Principal Balance 0.0<br>Status PAIDOFF </span><br><br><strong><span style="FONT-SIZE: 16px">结束语：</span></strong><br><br>本文主要描述了在基于现有的WEB服务标准的基础上，如何调整GT4网格结构来创建一个网格服务应用。尽管GT4已经主要的应用在大型的科学计算问题上，但是在一个企业内部它可以作为实现面向服务结构（SOA）的一种方法。本文主要是通过一个简单的实例来描述如何使用GT4中的JAVA核心服务来创建和部署一个网格服务，但是并没有覆盖到更多的其他的更先进的关于如何使用网格服务概念，向网格服务的分配和管理，文件传输的可靠性，网格异常和安全。<br><br><strong>资源</strong> <br>&#183;<a href="http://www.matrix.org.cn/resource/upload/forum/2005_12_06_015451_hIYxCRfmxu.zip" target=_new><u><font color=#0000ff>本文的示例代码</font></u></a><br>&#183;Matrix-Java开发者社区:<a href="http://www.matrix.org.cn/" target=_new><u><font color=#0000ff>http://www.matrix.org.cn</font></u></a><br>&#183;onjava.com:<a href="http://onjava.com/" target=_new><u><font color=#0000ff>onjava.com</font></u></a><br><br><br><br>
<p id=TBPingURL>Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=544636</p>
<img src ="http://www.blogjava.net/waterjava/aggbug/125257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-20 10:34 <a href="http://www.blogjava.net/waterjava/archive/2007/06/20/125257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows xp下安装globus toolkit 4.0</title><link>http://www.blogjava.net/waterjava/archive/2007/06/20/125253.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 20 Jun 2007 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/20/125253.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/125253.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/20/125253.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/125253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/125253.html</trackback:ping><description><![CDATA[<p><font size=3><span>经过一段时间的摸索，终于在昨天完成了</span><span>globus toolkit</span><span>的安装和第一个示例的调试，现在将整个过程，整理如下：希望对其他兄弟有所帮助。</span></font></p>
<p><font size=3><span><span>一、</span></span><span>globus toolkit4.0</span><span>的安装。</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span>1</span><span>、首先下载必须的软件，先列举如下：</span></font></p>
<p><font size=3><span>（</span><span>1</span><span>）</span><span>jdk <st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.5.0</st1:chsdate></span><span>，这里提示一下，如果大家想安装</span><span>gt3</span><span>，那么最好下载</span><span>jdk1.4</span><span>，</span><span>1.5</span><span>版本好像不支持枚举类型，在编译的时候可能会出错。</span></font></p>
<p><font size=3><span>（</span><span>2</span><span>）</span><span>gt4:</span><span>我下的是</span><span>ws-core-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">4.0.1</st1:chsdate>-bin.zip</span><span>版本，也有</span><span>ws-core-4.0.1-src.tar.gz</span><span>版本，这两个版本其实一样，只不过前者只需解压</span><span>,</span><span>后者需要解压还要</span><span>ant all;</span><span>建议用前者，简单。</span></font></p>
<p><font size=3><span>（</span><span>3</span><span>）</span><span>apache-ant-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.6.5</st1:chsdate>(<a href="http://ant.apache.com/">http://ant.apache.com</a>)</span></font></p>
<p><font size=3><span>（</span><span>4</span><span>）</span><span>jakarta-tomcat-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">5.0.28</st1:chsdate>.exe (<a href="http://tomcat.apache.com/">http://tomcat.apache.com</a>)</span><span>。</span></font></p>
<p><font size=3><span>（</span><span>5</span><span>）</span><span>axis-src-1_2_1.zip</span></font></p>
<p><span><span><font size=3>&nbsp;&nbsp; </font></span></span></p>
<p><font size=3><span>2</span><span>、创建目录：</span></font></p>
<p><font size=3><span>&nbsp;</span><span>我只列举我的创建：</span></font></p>
<p><span><span><font size=3>（1）</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><font size=3>C:\Program Files\Java</font></span></p>
<p><span><span><font size=3>（2）</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size=3><span>D:\ws-core-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">4.0.1</st1:chsdate></span><span>（建议</span><span>globus</span><span>的目录尽量短小）</span></font></p>
<p><span><span><font size=3>（3）</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><font size=3>D:\apache-ant-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.6.5</st1:chsdate></font></span></p>
<p><span><span><font size=3>（4）</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span><font size=3>D:\jakarta-tomcat-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">5.0.28</st1:chsdate></font></span></p>
<p><span><span><font size=3>&nbsp; </font></span></span></p>
<p><font size=3><span>3</span><span>、安装上述软件：</span></font></p>
<p><font size=3><span>解压</span><span>jdk</span><span>，</span><span>ws-core-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">4.0.1</st1:chsdate></span><span>，</span><span>apache-ant</span><span>，</span><span>jakarta-tomcat</span><span>到相应路径。解压</span><span>axis-src-1_2_1.zip</span><span>文件，将</span><span>axis-src-1_2_1</span><span>目录下</span><span>lib</span><span>目录下的所有文件</span><span>copy</span><span>到</span><span>c:\progarm files\java\libs</span><span>下</span></font></p>
<p><span><span><font size=3>&nbsp;&nbsp; </font></span></span></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span>4</span><span>、设置环境变量</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>我的电脑</span><span>-</span><span>〉属性</span><span>-</span><span>〉高级</span><span>-</span><span>〉环境变量：</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>包括几个部分，首先在用户变量中添加</span></font></p>
<p><span><font size=3>ANT_HOME= D:\apache-ant-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.6.5</st1:chsdate></font></span></p>
<p><span><font size=3>CATALINA_HOME= D:\jakarta-tomcat-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">5.0.28</st1:chsdate></font></span></p>
<p><span><font size=3>JAVA_HOME= C:\Program Files\Java\jdk<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.5.0</st1:chsdate>_05</font></span></p>
<p><span><font size=3>GLOBUS_LOCATION= D:\ws-core-<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">4.0.1</st1:chsdate></font></span></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>设置完成那个后，在</span><span>path</span><span>中添加</span></font></p>
<p><span><font size=3>C:\ProgramFiles\Java\jdk<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.5.0</st1:chsdate>_05\bin;D:\apache-ant-1.6.5\bin;D:\ws-core-4.0.1\bin;D:\jakarta-tomcat-5.0.28\bin</font></span></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>注意中间的分号。（关于环境变量的作用，可以参考我上一篇文章，也在</span><span>blog</span><span>中）。</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>设置</span><span>classpath</span><span>：</span><span>classpath</span><span>在</span><span>xp</span><span>系统下问题比较多，首先需要自己编辑，新建</span><span>classpath</span><span>后，加入</span><span>jdk</span><span>的</span><span>lib</span><span>，</span><span>C:\Program Files\Java\jdk<st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False">1.5.0</st1:chsdate>_05\lib;</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>（关于环境变量的作用，可以参考我上一篇文章，也在</span><span>blog</span><span>中）。</span></font></p>
<p><span><span><font size=3>&nbsp;&nbsp; </font></span></span></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span>5</span><span>、在</span><span>tomcat</span><span>下部署</span><span>gt4</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span>(1) </span><span>进入</span><span>dos</span><span>界面，输入：</span><span>cd&nbsp;%globus_location%;</span></font></p>
<p><span><font size=3><span>&nbsp;&nbsp; </span>(2) ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir=%Catalina_home% </font></span></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>上面的东西连续输入，不要换行。</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>（</span><span>3</span><span>）输入完成后，输入</span><span>startup </span><span>启动</span><span>tomcat</span><span>。</span></font></p>
<p><font size=3><span><span>&nbsp;&nbsp; </span></span><span>（</span><span>4</span><span>）如果一切正常就可以打开</span><span>IE</span><span>浏览器，输入</span><span><a href="http://localhost:8080/wsrf/services">http://localhost:8080/wsrf/services</a></span><span>，应该能够显示一些服务了。</span></font></p>
<p><span><font size=3>And now... Some Services</font></span></p>
<p><span><font size=3>NotificationTestService (wsdl) </font></span></p>
<p><span><font size=3>generateNotification </font></span></p>
<p><span><font size=3>selfSubscribe TestAuthzService (wsdl) </font></span></p>
<p><span><font size=3>addDeclinedMethod </font></span></p>
<p><span><font size=3>SAMLRequest TestServiceWrongWSDL (wsdl) </font></span></p>
<p><span><font size=3>createResource </font></span></p>
<p><span><font size=3>resetNumInstances </font></span></p>
<p><span><font size=3>getInstanceInfo </font></span></p>
<p><span><font size=3>testLocalInvocation ShutdownService (wsdl) </font></span></p>
<p><span><font size=3>shutdown CounterService (wsdl)</font></span></p>
<p><font size=3><span>GT4</span><span>安装成功。</span></font></p>
<p><span><span><font size=3>&nbsp;&nbsp; </font></span></span></p>
<p><font size=3><span>对于</span><span>globus</span><span>的使用，我也处于初级阶段，肯定还有各种问题，如果大家有什么疑问，或疑难杂症，欢迎共同研究。</span></font></p>
<p><font size=3><span>P</span><span>．</span><span>S</span><span>：如果觉得我的文章对你有帮助，请访问一下这个群</span><span>18549673</span><span>，谢谢！：）<br><br><br><a name=trackback></a><strong>引用地址：</strong><a href="http://blog.programfan.com/trackback.asp?id=8378"><strong><u><font color=#0000ff>http://blog.programfan.com/trackback.asp?id=8378</font></u></strong></a></span></font></p>
<img src ="http://www.blogjava.net/waterjava/aggbug/125253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-20 10:30 <a href="http://www.blogjava.net/waterjava/archive/2007/06/20/125253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Globus Toolkit最佳入门指导</title><link>http://www.blogjava.net/waterjava/archive/2007/06/20/125252.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 20 Jun 2007 02:27:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/20/125252.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/125252.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/20/125252.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/125252.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/125252.html</trackback:ping><description><![CDATA[<h1 class=akst_title>Globus Toolkit最佳入门指导</h1>
<p class=akst_category>Posted in: <a title="View all posts in 网罗天下" href="http://blog.mindplex.cn/category/%e6%88%91%e5%9c%a8%e7%bd%91%e7%bb%9c%e4%b8%8a%e6%b7%98%e7%9a%84%e5%ae%9d%e9%83%bd%e5%9c%a8%e8%bf%99/" rel="category tag"><u><font color=#0000ff>网罗天下</font></u></a>, <a title="View all posts in 探索i.n.g." href="http://blog.mindplex.cn/category/%e6%8e%a2%e7%b4%a2ing/" rel="category tag"><u><font color=#0000ff>探索i.n.g.</font></u></a>, <a title="View all posts in DevWorks" href="http://blog.mindplex.cn/category/develope-platz/" rel="category tag"><u><font color=#0000ff>DevWorks</font></u></a></p>
<div class=akst_entry>
<p>看了很久的Globus Toolkit, 一直没有敢说自己是在学习网格的！<br>一个是因为GT挺庞大的，没办法一下子看清全貌，深陷其中，天天在Linux下和文档、环境变量大交道，把自己给搞糊涂了；<br>一个是因为暂时没做出什么东西，也没有什么技术上的沉淀，没什么可说的.但是感觉现在网上关于网格、关于GT的不是很多&#8211;不过最近在网上搜东西的时候，觉得相关资料突然冒了一些出来了。</p>
<p>关于网格我现在说不了什么，只好一边默默地探究去了。<br>唯一想说的就是Linux 把我整的够呛！Globus Toolkit也不是装上了就完事了的事！还有好多事要做！而GT的入门有一些材料会比较适合：</p>
<blockquote>
<li><a href="http://www.globus.org/"><u><font color=#0000ff>Globus.org</font></u></a> 提供的<a href="http://www.globus.org/toolkit/docs/4.0/admin/docbook/quickstart.html"><u><font color=#0000ff>QuickStart Guide</font></u></a> 真的是最好的GT入门！<br>很可惜，我的学长没有为我指一下这条路&#8211;还不如说是我自己洞察力不够？感觉枉费了好多的心血！<br>另外在，GT安装包解压出来的文件中就有上面提到的QuickStart Guide！
<li><a href="http://www.globusconsortium.org/"><u><font color=#0000ff>Globus Consortium.org</font></u></a> 提供的<a href="http://www.globusconsortium.org/tutorial/"><u><font color=#800080>Tutorial</font></u></a>,这个教程示范了含三个节点的网格集群的安装、配置，并且介绍了PBS、SGE等调度器！ </li>
</blockquote>
<p>这两个教程是对GT的安装、配置、功能的一个很好的示范！ 刚开始学习网格、接触Globus Toolkit开发包的同学可以参考这两个教材~ </p>
</div>
<img src ="http://www.blogjava.net/waterjava/aggbug/125252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-20 10:27 <a href="http://www.blogjava.net/waterjava/archive/2007/06/20/125252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Globus 4.0.1安装指南</title><link>http://www.blogjava.net/waterjava/archive/2007/06/20/125248.html</link><dc:creator>狼爱上狸</dc:creator><author>狼爱上狸</author><pubDate>Wed, 20 Jun 2007 02:21:00 GMT</pubDate><guid>http://www.blogjava.net/waterjava/archive/2007/06/20/125248.html</guid><wfw:comment>http://www.blogjava.net/waterjava/comments/125248.html</wfw:comment><comments>http://www.blogjava.net/waterjava/archive/2007/06/20/125248.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/waterjava/comments/commentRss/125248.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/waterjava/services/trackbacks/125248.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Globus 4.0.1安装指南&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者：施宇光&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/waterjava/archive/2007/06/20/125248.html'>阅读全文</a><img src ="http://www.blogjava.net/waterjava/aggbug/125248.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/waterjava/" target="_blank">狼爱上狸</a> 2007-06-20 10:21 <a href="http://www.blogjava.net/waterjava/archive/2007/06/20/125248.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>