欢迎来到我的Blogs,希望在这里能同大家一起分享知识所带给我们的快乐。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 一.Web Services体系结构(WSA) -续2 
        2.Web Services体系结构模型(Model) 
        ★面向服务模型(Service Oriented Model,SOM):SOM是从服务的角度出发,关注架构中涉及到有关服务(Service)和动作(Action)的方面。SOM应该说是建立在MOM 之上的一层建模。
         下面同样给出SOM的简单模型以及详细模型。
          (1)简单的面向服务模型:
                                  
           SOM模型是四个模型中最复杂的,这里先给出其简单模型。从图中我们可以看出,个人或组织(Person or organiztion)拥有服务(Service),它由服务提供代理(Provider Agent)来实现,并提供给服务请求代理(Requester Agent)使用。两代理间通过消息(Message)交互来实现服务所提供的功能。
           元数据(MetaData)是SOM中非常重要的一个概念,它用来描述服务的所有信息,从服务接口(Service Interface)和传输协议绑定(Transport Binding)到服务的语义(Service Semantics)和策略约束(Policy Restrictions)。提供丰富的描述是能在INTERNET上成功部署和使用服务的关键。
          (2)详细的面向服务模型:
               
        W3C中对SOM模型中的每个概念都进行了详细介绍,具体可以参阅原文,链接将在本文最后提供给大家,我没有向原文中按照字母顺序依次解释概念,而是试图从它们的逻辑关系出发。这里,同样只列出一些自己感觉重要的概念。
         ①服务提供代理(Provider Agent)是代表它的宿主——服务提供实体(Provider Entity)来实现服务(Service)的。服务请求代理(Provider Agent)则代表它的宿主——服务请求实体(Requester Entity)搜索服务提供代理,并调用和初始化与它的交互,以获得服务。
          服务提供代理可以实现多个服务,每个服务可以提供给多个服务请求代理使用。
         ②不论对于服务提供实体还是服务请求实体来讲,服务(Service)是一种能够执行任务并完成某一特定功能的资源(Resource),它具有唯一标识(Identify)。关于资源的定义可以参见下面紧接着要介绍面向资源模型。
         每个服务对应属于自己的一个服务描述(Service Description),即上面所提到的元数据(MetaData)。服务跟消息不是一对一的关系,一个消息可以被多个服务处理;同样,一个服务也可以处理不同类型的消息。服务会采用不同的服务角色(Service Roles) 来处理消息,这些角色由服务提供实体定义的。每个服务对应一组服务任务(Service Tasks),而实际上,每个服务角色都对应着一部分服务任务。
         ③服务描述(Service Description),用于描述服务接口(Service Inferace)和服务语义(Service Semantics)。服务描述使用WSDL编写,帮助服务请求实体定位到目标服务。
         服务接口(Service Inferace),定义了服务要发送或接收的所有消息类型,以及它们所使用的消息交换模式(MEP)。
         服务语义(Service Semantics),它是服务提供实体与请求实体间达成的合约,用于描述服务所期望做到的动作和效果。
         ④服务任务(Service Tasks),是为达到某一目标状态(goal state)的一组动作(Action)集合。任务是通过服务提供代理和请求代理间交换消息来完成的,而这些消息的交换模式则是由跟任务相关联的choreography 提供的。
         ⑤服务角色(Service Roles),是一组服务任务的子集。当服务在接收到一条消息时,它会根据该消息所对应的服务角色进行处理。所以,服务角色一般是消息中包含的一个属性,当然,一条消息可以对应多个服务角色。
         ⑥choreography,这个词的原意是舞蹈术,这里我找不到一个准确的词汇来描述它。有趣的是,舞蹈正是将不同的舞蹈元素组合到一起,通过合理的编排体现出其艺术价值。这里,它表示为了执行任务达到共同的目标状态,合作且独立的代理在一定的顺序或条件下进行消息交互。
         choreography = MEPS + Application Semantics
         ⑦动作(Action),可以理解代理所做的任何一种行为,比如接收一则消息,导致发送一条消息或某一状态改变。
         ⑧目标状态(Goal State),就是服务提供者和请求者双方所期望服务达到的一种状态。比如一个用于销售图书的服务,它的目标状态就是图书被一个合法用户成功购买。目标状态是用来显示服务成功执行的一种方式。 
      
       ★ 面向资源模型(Resource Oriented Model,ROM):ROM是从资源的角度出发,关注架构中涉及到有关资源(Resources)的方面。资源应该说是Web和Web Services中最基础的概念了,服务(Service)本身就是一种资源。
         下面同样给出ROM的简单模型以及详细模型。
          (1)简单的面向资源模型:
                               
          (2)详细的面向资源模型: 
                 
        如图所示,显示了ROM中涉及到的所有重要的概念以及它们之间的关系。下面我们对它们进行一下简要的解释:
         ①发现服务(Discovery Service)
        首先解释一下什么是发现(Discovery):发现是一种定位资源的行为,它定位那些尚未被大家知晓但符合特定标准的资源。服务请求实体查找服务有两种方法,一种是在开发的过程中静态绑定,另一种则是在执行中动态绑定。对于第一种方法,发现则是可选的,因为服务请求实体可以直接从服务提供实体或通过第三方,获得服务。
         发现服务就是一种用来发布或定位服务的服务,它既允许服务请求实体来查找服务,也允许服务提供实体来发布服务。对于双方如何就服务描述达成一致并进行交互,是否使用该服务完全是可选的。有时候,甚至是服务请求实体创建服务描述,然后下达给服务提供实体。或者,服务请求实体从发现服务所提供的资源(如:文件系统、FTP、URL、WSIL文档)中获取服务描述。
         ②资源(Resources),根据[RFC 2396]  所述任何具有唯一标识(Identity)的事物都可以称为资源。模型中的资源具有一些自己特有的属性,如名称、合理的表达(Representation)以及拥有者(Owner)等等。
         ③资源描述(Resources Description),是关于资源的一种计算机可识别的描述,它一般包含了下列信息:资源所在的位置,如何访问到资源,以及资源所实施的策略。其中,资源描述必须含有资源的标识(Identity)。  
        
       ★面向策略模型(Policy Oriented Model,POM):POM是从策略的角度出发,关注的是作用在服务(Service)或代理(Agent)上的约束。
         下面同样给出POM的简单模型以及详细模型。
          (1)简单的面向策略模型: 
                     
          (2)详细的面向资源模型:
                    
        图中显示了POM中所涉及的重要的概念以及它们之间的关系。下面按照逻辑顺序对它们进行一下介绍:
         ①策略(Policy),指对代理(Agent)行为的约束。架构中的策略基本上分为两类 :权限(Permission)和职责(Obligation)。每种策略都对应的机制,由这些机制完成对它们的实施。
            权限:策略的一种,表明代理是否有权利执行某一动作(Action)、访问资源(Resources)或完成一种状态。实施权限策略的机制是Permission guard。
            职责:策略的一种,表明代理有责任执行某一动作(Action)或状态。实施职责策略的机制是Audit guard。
         ②域(Domain),可以理解成是服务或代理的子集,有一个或多个策略作用在它上面。
         ③策略描述(Policy Description),是关于策略的一种计算机可识别的描述,下面是原文中的一段例子:【Policy descriptions may include specific conditions, such as "agents of XXX Co. may access files in directory FFF". They may also include more general rules, such as "if an entity has the right to access files in the directory FFF, it also has the obligation to close them after 20 seconds.".】 
                       

 




           -------------------------------
           W3C介绍Web Services Architecture的原文链接:http://www.w3.org/TR/ws-arch/
          
posted on 2005-08-06 16:30  未知先觉  阅读(493)  评论(0)    收藏  举报