使用面向服务的体系架构实现业务灵活(三)

日期: 2009-05-21 来源:TechTarget中国 英文

  Trucks Inc.的SOA治理需求

  Trucks Inc.ITESC定义了以下需求以处理SOA治理挑战:

  ·控制如何创建新服务

  Trucks Inc.继续引入新服务,随着产品和服务业务单位的发展,情况尤其是如此。在扩展当前IT治理模型以包含这些新服务和了解涉及到的角色的过程中,将会存在相关的挑战。

  ·尽可能重用现有的服务

  Trucks Inc. ITESC担心整个企业中存在具有相似功能的服务。在许多情况下,原本可以重用预先存在的服务,但是由于术语差异、有关权限的争议和增强服务方面的问题而阻止了重用。

  ·在整个Trucks Inc.中执行标准和最佳实践

  Trucks Inc. ITESC希望在整个Trucks Inc.组织中更多地使用标准,以减少整个服务生命周期中出现的错误。Trucks Inc.ITESC希望实现最佳实践遵从性,以确保一致的服务开发、部署和操作。

  在Trucks Inc.应用SOA实现模式

  Trucks Inc.打算使用SOA治理场景的实现模式来解决他们的治理问题。实施这些实现模式可以确保以下实现模式所产生的价值:

  ·控制新服务的创建并确定建立服务的优先级和资金支持。
  ·确定谁拥有服务,并通过建立服务级别协议来驱动更好的服务需求以利于重用。
  ·建立跨服务和数据源的一致业务术语使用。
  ·确保服务遵守标准和最佳实践,从而降低整个部署和管理方面的风险。
  ·确保一致的服务更改管理功能和更加细化、显式的服务版本控制流程。
  ·在整个运行时环境中执行一组初步的基于WS-Policy的领域。

  如果不实施此场景中的实现模式,Trucks Inc.将面临以下风险:

  ·由于方法不一致而导致项目风险增加。
  ·由于服务无法互操作而增加成本。
  ·由于更长的项目时间期限而延长上市时间(降低上市速度)。
  ·由于服务冗余而导致增加业务风险。
  ·在整个服务和持久业务数据方面缺乏数据完整性。
  ·审核风险。
  ·维护成本呈螺旋式上升(由于存在相似或相同服务的多个副本)。
  ·冗余和低效服务的开发和部署。
  ·使用冗余和可能不一致的系统功能支持相同的业务流程或需求。

                         

  图19. 服务生命周期流程
  
  下面几个部分将讨论Trucks Inc.如何使用具有以下实现模式的服务生命周期流程(请参见图19):

  ·控制新服务创建
  ·实现更多服务重用
  ·执行标准和最佳实践
  ·控制新服务创建

  Trucks Inc. SOA环境中的新服务引入带来了许多治理挑战:

  ·扩展现有IT治理流程,其中包括对候选项目进行审查并决定实施哪些项目的当前IT规划流程。

  1. 了解各个服务领域的所有者在选择适当的服务时所起的作用,以及谁对那些服务负责。

  2. 围绕服务创建过程实行必要的严格性,确保遵守方法并获得一致的结果。

  ·了解资金支持流程的重要性,该流程列出用于评估各个候选服务并以与业务目标一致的方式确定这些候选服务优先级的评分技术。
  ·了解工具对于帮助加强业务领域概念的重要性,并确保这些领域的内涵远不只是幻灯片上显示的各个列。
  ·定义全面的方法,采用规范阶段中定义的服务质量标准,并确保适当地执行这些标准。

  建议的解决方案

  Trucks Inc.使用了如图20所示的新服务创建子流程。

  这是服务生命周期流程的较低级流程。图20中每个活动中的代码(M1.A、M2.0 等等)与第图19所示的服务生命周期流程中所示的代码相关。

                       

  图20. “控制新服务创建”子流程
 
  Trucks Inc.使用此流程来确定新服务创建需求是否定义了SOA服务,如果是,则确定是必须重用现有的服务(在此情况下,必须应用 “实现更多服务重用”部分中讨论的实现模式)还是必须创建新服务,并最终导致新服务的实现(请参阅“使用面向服务的体系结构实现业务灵活性”部分中描述的“服务创建SOA场景”重点领域)。

  实现更多服务重用

  Trucks Inc.渴望实现一个能够重用现有服务的结构。

  Trucks Inc.的业务服务支持者解释说服务重用将降低服务的开发和操作成本。服务重用的某些主要特征如下:

  ·服务重用需要一个集中控制和管理的重用采用流程。
  ·服务重用既是技术挑战,同样也是文化挑战。它需要动机和激励才能取得成功。
  ·服务重用需要某种进行信息和元数据管理的整体方法。例如,使用业务术语表可以确保一致地使用术语,并促进服务用法和使用的清晰性。

  业务服务支持者解释说,需要控制服务开发、部署和运行时管理的多个方面才能实现更多的服务重用。他确定了需要控制的三个方面:

  ·控制企业范围的一致业务术语使用

  如果不控制业务术语在企业范围的一致使用,将很难确定现有的服务是否满足重用要求。例如,业务术语“生命周期阶段”和“产品系列”在Trucks Inc.的不同部门中的含义区别非常大。

  ·控制服务增强

  最初开发的服务可能未考虑到跨多个用例(跨越多个业务流程)的各种需求集。因此,如果不做进一步的增强(并且在某些情况下可能重新实现服务的重要方面),它可能不满足重用要求。

  ·控制服务授权

  服务授权处理谁能够使用服务、能够使用服务的频繁程度,以及服务使用者可以预期什么样的服务质量。

  对于服务的每个新使用者,都存在影响其他用户的潜在可能性。例如,另一个用户可能生成非常高的工作负载,不仅影响该业务流程,而且还影响共享此服务的所有其他业务流程。

  建议的解决方案

  Trucks Inc.使用“实现更多服务重用”实现模式来处理一致的业务术语、服务增强和服务授权的治理方面。

  控制企业范围的一致业务术语使用

  Trucks Inc.使用如图21所示的子流程,说明控制企业范围的一致业务术语使用方面的步骤。这是服务生命周期流程的较低级流程。图21中每个活动中的代码(M2.0.A、M2.0B等等)与图19所示的服务生命周期流程中所示的代码相关。

                         

  图21. 控制企业范围的一致业务术语使用子流程
 
  控制服务增强

  Trucks Inc.使用如图22所示的子流程来说明控制服务增强方面的步骤。这是服务生命周期流程的较低级流程。图22中每个活动中的代码(A1、A1.A等等)与图19所示的服务生命周期流程中所示的代码相关。

                           

  图22. 控制服务增强子流程
 
  控制服务授权

  Trucks Inc.使用如图23所示的子流程来说明控制服务增强方面的步骤。这是服务生命周期流程的较低级流程。图 23 中每个活动中的代码(A1、A1.A等等)与图19所示的服务生命周期流程中所示的代码相关。

                           

  图23. 控制服务授权子流程
 
  执行标准和最佳实践

  首席业务服务支持者和SOA负责人面对着Trucks Inc.中的以下业务挑战:

  ·如何积累、保护和应用智力资本和工作知识
  ·如何在企业范围内制度化治理最佳实践和标准遵从性
  ·如何维护IT项目、基础结构等的一致性
  ·如何确保标准与业务目标保持一致
  ·如何遵守行业和政府法律法规,例如RoHS1或WEEE1,其中RoHS=限制使用有害物质指令(Restriction on the use of certain Hazardous Substances);WEEE = 废弃电子电气设备指令(Waste from Electrical and Electronic Equipment)
如何使用诸如信息技术基础结构库(Information Technology Infrastructure Library,ITIL)等IT最佳实践并与之共存
  ·如何确保服务使用数据模型、标准协议等的企业定义(例如,如何确保每个人使用PLM Services 2.0 Web服务标准?)
  ·如何满足审核要求
  ·如何在高度外包的环境中实现遵从性

  为了解决这些问题,首席业务服务支持者与SOA负责人希望看到Trucks Inc.采用更好的最佳实践遵从性和标准执行流程。

  ·标准执行:

  减少整个服务生命周期中的错误;

  针对各个遵从性标准提供服务的预先认证;

  推动模板驱动的标准遵从性方法。

  ·最佳实践遵从性:

  确保一致的服务开发、部署和操作;

  具备定义良好的生命周期阶段的组织能够彼此了解对方的构件和可交付件;

  当组织在整个服务生命周期中一致地处理构件时管理更高级别的预期。

  建议的解决方案

  首席业务支持者描述了用于更新服务生命周期的治理框架,以添加遵从点并与现有的IT生命周期流程(ITIL)和OMG PLM Services 2.0遵从性衔接在一起。图24显示了此框架。

                            

  图24. 将治理需求转换为主动的最佳实践流程以及遵从性和审核检查点
 
  从图25中可以看到此框架对端到端生命周期的影响:

                         

  图25. 标准执行点的高级视图
 
  使用IBM WebSphere Service Registry and Repository

  WebSphere Service Registry and Repository(WSRR)是Trucks Inc.选择用于管理其SOA治理的工具。

  WSRR在SOA中的作用概述

  WebSphere Service Registry and Repository(WSRR)是用于服务描述的主元数据存储库。这使用了大致的服务定义,包括:

  ·实现带SOAP或HTTP绑定的WSDL接口的传统Web服务。
  ·广泛的SOA服务,这些服务可以使用WSDL、XSD和WS-Policy增强来进行描述,但是可能使用一系列协议并按照各种各样的编程模型来实现。

  作为服务元数据的集成点,WSRR建立了用于查找和管理从许多来源获得的服务元数据的中心点,这些来源包括服务应用程序部署和其他服务元数据,以及诸如UDDI等端点注册中心和存储库。WSRR是将分散在整个Trucks Inc.中的服务元数据聚集在一起以提供单个全面服务描述的地方。

  一旦建立了这个中心位置、可见性得到了控制、版本得到了管理、建议的变更得到了分析和传达、使用情况得到了监视,SOA Foundation的其他部分就可以访问服务元数据,并相信它们已发现了记录的副本。

  在此上下文中,WSRR处理操作服务的元数据管理方面,并为这些元数据构件提供记录系统。任何人查找已部署或企业使用的所有服务目录的位置优先。

  WSRR提供注册中心功能,可支持有关服务功能、需求和语义的元数据发布,使得服务使用者可以查找服务或分析服务的关系。它还提供了存储、管理服务元数据并为其分配版本号的存储库功能。它还支持服务定义的治理。这提供了以下功能:

  ·控制对服务元数据的访问
  ·对服务构件的生命周期建模
  ·管理各个部署环境中服务在其生命周期各阶段中的升级
  ·执行影响分析并向所治理的服务元数据传达更改

  业务概要是完全可重用的WSRR配置。稍后,我们将介绍Trucks Inc.如何使用治理概要,这是一个提供基本功能以实现治理策略的业务概要。

  WSRR的业务目标

  Trucks Inc.正在向面向服务的体系结构(service-oriented architecture,SOA)转变,以提高其业务敏捷性。此转变的核心是需要服务注册中心来帮助管理和治理服务及业务流程。

  WSRR通过服务元数据管理来处理此需要以及以下业务目标:

  ·业务流程活力

  Trucks Inc.需要快速更改以处理市场需要。WSRR提供以下功能来支持此目标:

  1. 快速选择不同的业务服务提供者。

  这些提供者已在注册中心发布,并允许将应用程序路由到这些提供者。

  2. 用于修改行为的策略更改。

  策略与各个服务提供和需要的策略引用一起在注册中心发布。

  ·业务治理

  业务治理确保业务流程合法、可审核,并正确映射到IT服务。WSRR提供以下功能来支持此目标:

  1. 策略执行和更改审核

  这在注册中心提供了业务服务和元数据的基本生命周期状态表示形式,可以在注册中心根据策略对任何更改进行验证并通知相关各方。

  2. 安全性

  控制谁能够更改业务服务元数据和策略的安全性。这为服务元数据更改或生命周期转换提供了基于角色的访问控制。

  ·IT解决方案:价值实现时间

  因为Trucks Inc.能够快速并以已知或较低开发成本将业务更改推向市场。WSRR提供以下功能来支持此目标:

  1. 新服务的开发。

  注册中心确保接口和现有已批准服务的重用,从而促进互操作性和更快的集成。

  2. 现有服务的重新配置和组装。

  WSRR建立在现有接口、协议、策略和框架基础之上。这可以促进标准策略的重用和采用。

  ·IT治理

  为了确保更改后的系统按预期执行,并且不影响其他任何系统,WSRR提供了服务生命周期管理。注册中心存储有关生命周期状态的信息,以及用于按照用途和上下文对端点可见性进行筛选的其他元数据。这些元数据包括有关开发、组装、测试、部署、操作和版本号的信息。

  ·基于价值的服务质量

  这确保您为所需的服务质量而不是为已安装的内容付费。基于策略的服务选择注册中心使用策略和元数据管理运行时中介。

  ·业务管理

  这帮助您监视有效管理业务和IT解决方案所需要的内容。基于策略的日志记录注册中心存储相关元数据,用于定义和控制日志记录和流程监视。

  ·迁移

  这允许实现从传统体系结构到SOA的成功转变。发现和管理工具与注册中心协同工作,以帮助使用传统应用程序中基于标准的映射来填充注册中心。

  WSRR与SOA服务生命周期

  表4总结了如图26所述的SOA生命周期。

                                

  图26. WSRR与SOA服务生命周期

                  
 
  表4. SOA生命周期阶段以及WSRR如何支持其中每个阶段

  WSRR与SOA治理

  WSRR在SOA生命周期的端到端治理基础中起着非常重要的作用。WSRR支持整个服务生命周期中的服务元数据治理,从其在开发空间中的初始发布到部署,一直到服务管理。治理周期的各个生命周期阶段中使用了WSRR,如图27和表5所述:

                               

  图27. WSRR与各个SOA治理阶段

                   
 
  表5. SOA治理阶段
 
  在Trucks Inc.使用WSRR治理概要

  在WebSphere Service Registry and Repository(WSRR)中,完整的WSRR配置称为业务概要。

  可以使用业务概要捕获将应用SOA治理的方式。面向服务的建模和体系结构(Service-oriented modeling and architecture,SOMA)与SOA治理和管理方法(SOA Governance and Management Method,SGMM)可以帮助了解如何应用这些概要以满足公司的特定需要。前面“服务设计”部分已对SOMA进行了描述。在表6中,WSRR业务概要列出了我们的业务概要元素及其描述:

                  

  表6. WSRR业务概要

  Trucks Inc.决定开始基于治理概要(这是WSRR附带的业务概要)配置WSRR。

  WSRR治理概要概述

  本部分提供治理概要的业务模型的概述。

  稍后,我们将提供应用于Trucks Inc.的基于此模型的示例。下面我们将检查WSRR治理概要的主要组件:组合

  应用程序表示、服务所有权和资金支持、服务使用和契约,以及业务到技术的映射。

  ·组合应用程序表示形式(请参见图28)

  SOA的主要目标之一(尤其是在服务生命周期的组装阶段)是能够快速响应业务挑战,并通过重新配置现有的服务产生新的或更改后的业务应用程序。为了支持这一目标,WSRR治理概要确定了用于表示应用程序、流程和服务的业务概念之间的关系。由于这些表示形式可映射到现有的已部署服务,因此理论上可以在不放慢开发测试部署周期的情况下进行组装。

                           

  图28. 组合应用程序表示形式
 
  ·服务所有权和资金支持(请参见图29)

  最重要的SOA治理需求之一是确保所有SOA构件(例如应用程序、流程和服务)都分配给了某个所有者。所有者对构件承担全部责任,包括以下问题:

  1. 协调需求的职责

  2. 就契约和SLA达成一致的职责

  3. 交付达成一致的SLA的职责

  4. 服务生命周期版本控制和退役的职责

                           

  图29. 服务所有权和资金支持
 
  ·服务使用和契约(请参见图30)

  当在业务部门之间共享服务时,确保在提供者与使用者之间建立清楚的协定(或契约)以便使用那些服务将变得非常重要。

  这在治理概要中用契约来表示。契约的结构如图30中的关系图所示。

                   

  图30. 服务使用和契约
 
  ·业务到技术的映射(请参见图31)

  WSRR为诸如WSDL和XML模式等文档中定义的技术SOA构件提供了强类型的表示形式。为了帮助从业务映射到技术透视图,可以将这些文件中的某些重要元素作为具有不同名称的视图来引出。

                                  

  图31 业务到技术的映射
 
  ·业务模型概念

  图32显示了WSRR中应用于Trucks Inc.的概念示例。

                            

  图32 WSRR治理概要业务概念
 
  与业务模型相关的主要概念如下:

  1. 业务应用程序

  业务应用程序概念表示满足直接业务需求的高级业务应用程序。应用程序为业务应用程序到IT实现的映射提供了基础。

  在Trucks Inc.典型的业务应用程序包括企业PDM、机械CAD、需求管理、组合管理、模拟管理等等。

  图33显示了Trucks Inc.在WSRR中配置的某些业务应用程序:

                          

  图33. WSSR中的Trucks Inc.业务应用程序
 
  2. 流程

  流程表示公共(由多个应用程序共享)业务流程。流程具有对其他流程和服务的依赖关系,并且一般通过诸如 WebSphere Integration Developer(WID)等工具由那些依赖服务的组装来实施,并通过 WebSphere Process Server(WPS)来实现。

  图6描述了类似于Trucks Inc.的公司的一些典型业务流程。

  3. 服务
 
  服务概念表示业务级别的公共(共享)服务。这实际上是SOA中的编目项。WSDL接口和端点将从这里进行引用。

  图34显示了由Trucks Inc.使用并在WSRR中进行治理的某些业务服务。

                        

  图34. WSRR中由Trucks Inc.使用的业务服务视图
 
  让我们以“业务服务导出组装数据”业务服务为例。其主要参数在如图35所示的窗口中输入WSRR。

  在该窗口中,用户可以执行以下功能:

  ·附加描述该业务服务用途的文档

  ·设置负责该业务服务的组织

                           

  图35导出组装数据业务服务详细信息
 
  如果您单击Graphical View,则会看到类似于图36所示的窗口。

                            

  图36导出组装数据业务服务的图形视图显示了对其他构件的依赖关系
 
  4. 组织

  组织表示业务级别的组织单位。

  它实际上就是业务部门。SOA中通常需要此高级表示形式以确定服务的提供者或使用者,以及组织意义上的主要所有者。

  5. 契约

  契约表示两个组织之间有关所提供的服务的协议,以及提供者和使用者组织之间达成一致的策略。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 开发与运营部门需同舟共济

    企业开发团队与业务运营总会不时发生冲突,其中一个原因是双方目标截然不同。企业灵活应变并不仅仅指把IT基础架构库(ITIL)或者开发运营(DevOps)照单全收。

  • ManageEngine ITIL助易方达基金IT运维服务管理大道至简

    易方达基金管理有限公司是国内最具实力、业务品种最全的基金管理公司之一,基金管理规模在全国排名前三的基金公司。

  • 关于DevOps你必须知道的11件事

    术语“DevOps”通常指的是新兴的专业化运动,这种运动提倡开发和IT运维之间的高度协同,从而在完成高频率部署的同时,提高生产环境的可靠性、稳定性、弹性和安全性。

  • SOA并不是一件“简单任务”

    历来在IT上的变革与创新都是一种高风险系数的活动,对于那些迫于企业压力,要求进行商业革新,增加企业灵活性的CIO而言,SOA并不是一件“简单任务”。