科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用Globus Toolkit 4构建Web服务1

用Globus Toolkit 4构建Web服务1

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文详细介绍了GT4中JAVA的核心服务,这些服务具备提供代管网格服务实时运行环境的能力,当然这些网格服务都是由JAVA写的。实时运行环境在网格服务的应用和网络承载之间和传输协议引擎之间起到了协调的作用。

来源:IT专家网 2008年6月1日

关键字: 服务 web 构建 java

  • 评论
  • 分享微博
  • 分享邮件
 本文主要介绍了通过一种新的方法来构建企业软件,即通过调整Globus Toolkit 4实现的网格计算的概念来实现。GT4是一种可以通过开放网格服务架构(OGSI)来实施的开放资源。这种实施主要目的是为网格服务架构提供了依据,同时也可以为别的网格服务架构实施提供参考。本文详细介绍了GT4中JAVA的核心服务,这些服务具备提供代管网格服务实时运行环境的能力,当然这些网格服务都是由JAVA写的。实时运行环境在网格服务的应用和网络承载之间和传输协议引擎之间起到了协调的作用。

  一.网格的定义

  网格就是将收集网络上所有可用的分布式计算资源提供给最终用户或组建成一个巨大的计算系统。网格计算给分布式计算提供了一种全新的方法,不仅在跨地区而且在跨组织,机器结构和软件限制,给连接到网格的每个用户提供更多的资源,计算机之间的协作和信息访问。分布式资源,像计算周期,存储和信息,可以在网格中的任何地区访问,同时也可以在网格中提供这些服务供其他用户访问。这就要通过在每个独立的组织或资源之间进行安全的协调资源共享,共同建立一个动态虚拟组织机构。

  二.Globus Toolkit Version 4

  在本文中,我们主要讨论GT4中JAVA的核心服务。(如图1),这些服裉峁┝舜芡穹袷凳痹诵谢肪车哪芰ΑJ凳痹诵谢肪吃谟没Фㄒ宓挠τ梅窈虶T4的核心服务之间,网络承载和传输协议引擎之间起到了协调的作用。GT4核心服务还提供了程序开发支持的功能,包括开放式开发模式和访问网格服务的实现,像GRAM(Grid Resource Allocation Management,网格资源管理)。应用GT4强有力的理由就是因为它是建立在现有的WEB服务标准和技术的基础上,像SOAP和WSDL。网格服务提供的接口都是通过WSDL来描述的。GT4提供了一个软件仓库,像安全支持,软件的探索,软件的资源管理,软件的调用,软件之间的通信,异常处理和数据管理等。

  (图1)

  图1主要描述了在服务器端的GT4中的主要组件结构。这只是GT4所提供功能的一部分,我们只是认为它很适合本文。GT4结构由一个网格容器组成,网格容器主要用来管理所有部署的WEB服务,贯穿于每个WEB服务的运行周期。GT4使用apache的axis作为它的WEB服务的引擎来处理所有的SOAP消息,JAX-RPC (Java API for XML-Based RPC)处理和WEB服务的配置。

  三.贷款偿还例子:

  我们列举这样一个例子,主要想向大家展示在企业内部如何通过Globus Toolkit 来解决不同类操作系统之间进行融合。在企业内部,有些应用可能是原来主机遗留下来的,技术比较落后,有些应用已经采用了现代技术,像J2EE。甚至我们采用最先进的技术在一个企业内部的应用之间进行信息共享也要面临巨大的挑战。图2给出了这样一个例子,在一个抵押机构内,在贷款偿还信息处理和会计部门信息处理之间的交互,

  (图2)

会计部门使用申请贷款处理服务来申请贷款。

  为了创建和部署网格服务,我们需要:

  *通过创建WSDL文件来定义服务的接口
  *用JAVA来实现
  *通过创建WSDD文件来定义服务的部署参数
  *使用ANT编译源代码并生成GAR文件
  *用GT4分发工具部署GAR文件

  我们必须使用从上往下的方法来创建网格服务,(图3)

  这种方法首先从提供WSDL文件开始,在WSDL文件中包括对WEB服务的抽象定义,包括服务类型,消息类型和端口类型。从WSDL文档开始并根据WSDL文档创建了JAVA模型,从而导致与其他系统更好交互。

  我们使用GT4 toolkit自带的工具来进行服务的绑定和产生客户段需要的根类。这种方法的下一步就是提供接口的实现。

  贷款偿还服务处理定义:

  对于贷款偿还服务处理的例子的接口类型我们定义为loan.wsdl,它描述了贷款偿还服务所提供的三个部分的操作(申请贷款,贷款处理和获得贷款)。首先我们描述贷款偿还服务的请求和响应:

<types>

  <xsd:element name="createLoan">
    <xsd:complexType>
      <xsd:sequence>
          <xsd:element name="loanNumber" type="xsd:int"/>
        <xsd:element name="amountUPB" type="xsd:double"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="createLoanResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="returnValue" type="xsd:int"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="processLoanPayment">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="loanNumber" type="xsd:int"/>
        <xsd:element name="amount" type="xsd:double"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="processLoanPaymentResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="returnValue" type="xsd:int"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="getLoan">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="loanNumber" type="xsd:int"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="getLoanResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="returnValue" type="tns:LoanType"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

</types>

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章