提供对服务消费的治理

日期: 2008-08-06 作者:Naveen SachdevaIndrajit Poddar 来源:TechTarget中国 英文

  通常,SOA治理的重点是服务提供方,特别是在服务生命周期方面。很少将注意力放在消费方或订阅方。谁应该能够看到或发现相关的服务端点?或者,发现服务的人怎样发送请求以使用该服务?或者,与授权访问该服务相关的流程是什么?这些问题的答案因客户而异。本文在一个称为Jivaro Bank的虚拟原型组合应用程序的上下文中回答了这些问题,同时还介绍了如何使用WebSphere Service Registry and Repository和WebSphere Process Server实现对服务消费和订阅的治理。


  引言


  Jivaro Bank是一个虚拟原型组合应用程序,它可在名为Jivaro Bank Service Registry的自定义WebSphere Service Registry and Repository中发布银行服务。这些服务将由其他内部客户使用(假定内部客户拥有用户注册中心的用户帐户)。本系列中的第一篇文章构建SOA组合业务服务,第1部分:开发SOA组合应用程序来支持业务服务介绍了Jivaro银行应用程序支持的一些场景。Jivaro Bank安全架构使用一个基于Tivoli Directory Server的LDAP用户注册来进行身份验证。为了进行授权,它将Tivoli Access Manager用作其WebSphere Portal前端和其WebSphere Process Server后端的授权策略决策点。当内部客户能够在运行时调用Jivaro银行服务之前,需要对其进行授权,并且该客户还需要同意服务消费者与提供者之间达成的契约中规定的特定条款和条件。


  为了对订阅方和消费方进行治理,Jivaro Bank制定了以下策略:


  ·没有服务提供方的事先授权,服务订阅者不得查看和使用服务端点信息。
  ·服务订阅者可以通过通过完成服务提供方提供的在服务注册中心中的表格或契约在给定的服务中注册感兴趣的内容。
  ·得到批准后,服务订阅者应能够查看端点信息,有权调用该端点,自动获得任何服务元数据更新的通知。
  ·服务提供者应能够与该服务注册中心的服务订阅者一起来管理服务契约。
  ·任何发布的服务都可以有多个端点,可以将这些端点归类为公共或专用以及测试或生产。允许服务订阅者仅查看公共端点。


  本文概述了如何使用WebSphere Process Server和WebSphere Service Registry and Repository在Jivaro Bank中实现这些策略。


  在图1显示的示例中,潜在订阅者James Hu先生想在其业务流程中(如应付帐款流程)调用发布的Jivaro银行服务(在本例中为用于自动清算检查的Jivaro Bank Batch ACH Service)。首先,他需要订阅发布的服务。在订阅得到管理员批准后,他才可以找到此服务的公共端点并将其用于自己的业务流程中。应付账款流程中的调用将通过Jivaro Bank Batch ACH Service中介模块路由,该模块将基于多个标准把该调用路由到其中一个专用端点中。该中介模块将批处理请求中的检查数量用作确定将此请求路由到哪个内部端点的标准。有关如何将WESB中介模块与WebSphere Service Registry and Repository一起使用的示例,请参阅参考资料。


  Jivaro Bank在Jivaro服务注册中心注册了两个内部端点:


  ·highVolumeEndPoint(成本:每检查一次5分;响应时间:每检查一次2毫秒;10000> 每批检查数量>1000)
  ·lowVolumeEndPoint(成本:每请求一次3分;响应时间:每检查一次20毫秒;1000>每批检查数量>1)



  图1. Jivaro银行服务订阅者授权流程概述
 
  了解场景


  该场景包括四个不同的角色:查看者、订阅者、服务提供者和IT管理员,如图2中所示。



  图2. Jivaro订阅者授权治理流程中的用例和参与者
 
  任何在Jivaro Bank用户注册中心具有用户ID的内部用户都可成为该Jivaro Bank服务注册中心的查看者。在登录到Jivaro Bank服务注册中心之后,查看者可以查看可供订阅的所有服务,如图3中所示。



  图3. Jivaro Bank服务注册中心的查看者透视图
 
  查看者可以选择一项服务并查看所选服务的一些基本信息,如版本、业务所有者和描述。对于查看者感兴趣的服务,查看者可以选择订阅该服务,如图4中所示。



  图4. Jivaro Bank服务注册中心中的查看者透视图和所选服务的详细视图
 
  在订阅发布的服务时,查看者需要在Jivaro Bank服务注册中心创建预注册契约模板的实例,如图5中所示。



  图5. 在Jivaro Bank服务注册中心中创建Jivaro Bank Batch ACH Service契约模板的实例
 
  在创建该契约模板的实例时,查看者需要提供契约中几个项的值,例如,在任何请求中所期望的最大检查数、每小时所期望的最大调用数、期望的响应时间和契约电子邮件,如图6中所示。此信息对于进行容量规划的管理员角色非常有用。



  图6. 从服务注册中心中的契约模板实例化的Jivaro Bank Batch ACH Service契约所包含的元素
 
  在查看者提交请求订阅服务后,Jivaro Bank服务注册中心将自动调用一个名为订阅者授权过程的流程,如图7中所示。此流程将在WebSphere Process Server的一个实例中运行。



  图7. 与Jivaro Bank服务注册中心相关的订阅者授权流程
 
  完成任务


  订阅者授权流程的首要任务是服务提供者角色的人工任务,如图8中所示。服务提供者是该服务的业务所有者。此处,服务提供者将根据每小时处理请求的最大数量和由Batch ACH Service契约中潜在订阅者所指定的期望响应时间来检查服务基础设施的能力。如果有足够的容量,则将批准该请求。服务提供者还提供与请求中的不同内部端点相关的成本。



  图8. 服务提供者批准订阅请求并提供Jivaro Bank Batch ACH Service成本的人工任务
 
  查看者的下一个任务是接受服务提供者提供的成本。查看者批准该成本后,将在服务注册中心创建契约(在服务提供者与查看者之间)。


  下一个任务是IT管理员角色授权查看者在Jivaro Bank服务注册中心能够查看其订阅的服务的公共端点。IT管理员角色还有一个任务是再次授权查看者调用所期望的服务。在LDAP用户注册中心,他可以通过向适当的角色(如ACHServiceSubscriberRole)添加查看者的用户帐户来完成此任务。在该流程的最后任务中,IT管理员将使用查看者创建的电子邮件地址在WebSphere Service Registry and Repository中创建订阅记录。当在Jivaro Bank服务注册中心中更改服务记录的属性时,订阅记录将自动通知查看者。


  这将完成订阅者授权流程,该流程将使查看者转换为订阅者角色。接下来,查看者可以登录到Jivaro Bank服务注册中心,查看有关订阅服务的详细信息,如公共端点和相关的服务。还授权订阅者在基于Tivoli Access Manager的授权策略决策点调用已订阅的服务。


  结束语


  本文介绍了Jivaro Bank中的几种场景,概述了如何使用WebSphere Process Server和WebSphere Service Registry and Repository来实现订阅方服务治理。您已经了解到WebSphere Service Registry and Repository如何提供基于角色的访问控制,以及如何使用它来管理服务以及与服务相关的实体(如契约)。本文还介绍了WebSphere Process Server如何扩展WebSphere Service Registry and Repository并帮助实现人工工作流,如订阅者授权流程。


  在本系列的下一篇文章中将详细介绍该解决方案。文中提供有关WebSphere Service Registry and Repository自定义、WebSphere Service Registry and Repository与WebSphere Process Server集成,以及WebSphere Integration Developer中的工作流和相关用户界面开发的详细信息。


  作者简介


  Naveen Sachdeva是业务流程管理技术全球销售团队的成员,负责WebSphere Service Registry and Repository产品方面的工作。在这方面,他参加了影响力较大的技术销售工作,并且负责现场支持和品牌支持。他不但是一位IBM认证的IT专家,还是一位SOA解决方案设计师,具有长达14年的IT经验。他在IBM Software Group中工作过9年,从事的工作包括软件开发和支持、业务合作伙伴技术支持以及技术销售。Naveen Sachdeva为developerWorks撰写了一些文章,还与人合著了IBM红皮书。
 
  Indrajit Poddar是一位顾问软件工程师,现在是IBM软件部策略与技术团队的一名成员。他感兴趣的是采用面向服务的体系结构和IBM Software Group产品组合(WebSphere Application Server、Process Server,Portal Server和Tivoli and Rational产品)来设计复合应用程序的体系结构。他获得了宾夕法尼亚州立大学的计算机科学与工程学士学位,以及位于印度坎普尔市的印度科技大学计算机科学与工程硕士学位。
 
  Ying Chun Guo是China Technology Institute中国软件开发实验室的一名软件工程师。她目前从事组合业务服务(CBS)和面向服务的体系结构(SOA)方面的工作。 

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 对SOA的三个错误做法的分析

    SOA作为一个概念已经长大了,但是伴随着SOA的长大你是否对它也有足够的了解,有些事情对SOA来说是错误的,你知道吗?

  • 三招避免云计算与SOA的冲突

    Forrester Research分析说云计算扩大的应用正在引起围绕现有的SOA治理政策和机制的一些问题,如何避免这类问题的冲突?

  • 云计算和SOA相互借鉴学习

    云计算越来越受到企业关注,并且尝试部署云计算的企业也急剧上升。而大家对于SOA的关注程度不再像过去那么强烈。那么,云计算和SOA是之间是否有可以相互学习的?

  • EAI专家畅想“服务十年”

    当企业架构和EAI出现,也许会感到你需要强有力的治理和标准。那是因为适配器的创建十分昂贵。也没有标准的方式去集成。