SOA(面向服务的架构)是互联网时代的分布式计算方式。从本质上讲,SOA是一套设计可共享、可重用服务的方法。它使企业的IT部门把分散、多平台的环境作为一种统一的计算结构来对待。但是,SOA也可能演变为一场混战。
SOA鼓励大规模地重复利用分散的软件部件,这有可能将企业网络变为复杂、无计划、不可管理的网络。如果不加以治理的话,SOA可以使任何地方的任何人在任何时间部署新服务,调用并把服务编排为更加复杂的消息模式。在这种环境中,和谐的应用规划和优化变得非常困难。此外,“无赖”服务会到处出现,将自己伪装成合法的节点,给支撑生产SOA的脆弱的信赖关系带来灾难。
SOA治理是指为建立管理这种新型网络和跨服务生命周期的安全、性能和其他策略的实践和工具所做的工作。SOA治理工具让企业可以连续地建模、监测和控制分布式环境,绘制环境地图。有效的治理可以确保企业的SOA遵守所有适用的法规、竞争、运营等方面的要求。
SOA治理工具供应商正在组建行业协会,以推广设计和运行阶段的治理方法。最近,多家纯SOA治理工具厂商建立了SOA Link联盟,以改进其产品间的互操作性。创始成员包括AmberPoint、Composite Software、Forum Systems、Infravio、Intalio、Iona、JBoss、Layer 7 Technologies、LogicBlaze、NetIQ、ParaSoft、Reactivity、SOA Software、SymphonySoft、webMethods和WS02。
Infravio公司的营销与技术标准副总裁Miko Matsumura说,组织流程的变化对SOA治理至关重要。Matsumura说:“SOA治理取决于IT治理流程,在这些流程下,遵守业务策略的SOA项目将被构建。”此外,他说,SOA治理还需要建立具有“业务与IT人员之间平等对话、关注业务需求”等职能的SOA治理委员会。
SOA治理架构组成
企业的IT部门,特别是拥有分散开发团队的大型企业,应该建立内部的示范中心。Matsumura说,这些中心负责在开发人员中推广SOA治理的最佳实践和应用设计模式。
从技术角度看,SOA治理需要一个贯穿于规划、设计、开发、部署、运营和优化整个服务生命周期的管理基础设施。SOA治理厂商往往将其提供的工具划分为适用于设计时段、部署时段或运行时段(也有些包含全部3个)。
SOA治理工具在整个SOA生命周期中帮助企业IT规划、开发、部署、监测、优化和控制分散、异构的应用环境。SOA治理的基础设施还将帮助企业确保SOA中的性能、可靠性、可用性,以及端到端业务互动的安全性。
SOA治理基础设施的主要技术组成包括,可视化服务建模和管理工具、服务注册表和信息库,以及服务水平管理基础设施。
可视化服务建模与管理工具
可视化建模处于SOA治理的前端,跨越服务生命周期的各个阶段。SOA开发工具厂商可能会夸耀自己采用统一建模语言支持可视化建模的能力,而不是使用Java、C#或其他说明性编辑语言。在SOA中,可视化建模是说明、实现和维护治理所依赖的端到端编排逻辑、策略和规则的最有效方法。
每一家SOA平台和工具厂商都提供用于SOA治理的可视化建模工具。每一家SOA咨询机构都部署可视化工具来支持不同的规划、开发和其他专业服务。
作为一种治理方式,可视化建模并不局限在SOA设计时段中。企业设计师可以将可视化SOA监测工具运行时的指标输入到SOA应用模型中,以此评估如何最好地调整、修改和优化运营时段的SOA。一些人将这一治理阶段称为SOA变更时段。
服务注册表和信息库
服务注册表主要在SOA设计时段使用,虽然它们常常也具有运行时段的功能。注册表支持驱动SOA治理的服务合同、策略和元数据的开发、发布和管理。因此,它们提供一个主控制点,或者称为策略执行点(PEP,policy enforcement point),在这个点上,服务可以在SOA中注册和被发现。
注册表可以包括有关服务和相关软件组件的配置、遵从性和约束配置文件。任何帮助注册、发现和检索服务合同、元数据和策略的信息库、数据库、目录或其他节点都可以被认为是一个注册表。
主要的服务注册厂商分为两个阵营。一个阵营是提供服务、策略和元数据注册表及信息库的纯SOA厂商。其中包括Flashline、Infravio、LogicLibrary、SOA Software和Systinet(Mercury Interactive下属分公司);另一个阵营是SOA平台厂商,这些厂商将注册表作为集成产品套件的一个组件。他们的集成产品套件常常包括应用服务器、门户、数据库管理系统、BI工具、集成中间件和其他功能组件。提供注册表的SOA平台厂商包括BEA、IBM、Microsoft、Novell、Oracle、SAP、Sun和webMethods。UDDI(通用描述、发现与集成)标准定义了SOA的一种主要注册环境,尽管这绝非唯一的环境。
大多数纯SOA厂商和SOA平台厂商还提供SOA开发、集成和管理工具。没有自己注册表的SOA厂商常常通过UDDI v3和其他开放标准与一个或多个第三方注册表产品进行集成。大多数商用服务注册产品支持下面的SOA治理功能。
● 服务注册:应用开发者,也叫服务提供者,向注册表公布他们的功能。他们公布服务合同,包括服务身份、位置、方法、绑定、配置、方案和策略等描述性属性。实现SOA治理最有效的方法之一是,限制哪类新服务可以向主注册表发布、由谁发布以及谁批准和根据什么条件批准。此外,许多注册表包含开发向注册表发布服务可能需要的说明性服务模板。
● 服务位置:也就是服务应用开发者,帮助他们查询注册服务,寻找符合自身要求的服务。注册表让服务的消费者检索服务合同。对谁可以访问注册表,以及什么服务属性通过注册表暴露的控制,是另一些有效的SOA治理手段,注册表产品一般都支持此类功能。
● 服务绑定:服务的消费者利用检索到的服务合同来开发代码,开发的代码将与注册的服务绑定、调用注册的服务以及与它们实现互动。开发者常常利用集成的开发环境自动将新开发的服务与不同的新协议、方案和程序间通信所需的其他接口绑在一起。工具驱动对服务绑定的控制,有效地管理服务在ESB上的互动。
设计时段SOA治理中新出现的最佳实践之一是注册表中的配置文件(profile)管理。配置文件用于说明服务目前的生命周期阶段和该阶段的相关策略。Fiorano公司的CTO Atul Saini是这样描述服务配置是如何在开发时段发挥作用的:“有人可能想在某台使用某个输入参数集合的机器上运行一项服务。机器名和参数成为与服务连接在一起的开发配置文件的一部分。一旦服务被开发,它可以被升级到质量保证阶段,运行在使用不同参数的不同机器上。第二台机器/参数集合构成一个新配置文件。这样,可以为某个服务创建多个配置文件,只需在任意时间将不同的配置文件与服务建立联系,这个服务就可以在其生命周期中的不同阶段之间移动。”
配置文件管理常常假设开发部门拥有一个将服务升级到下一阶段的结构化流程。一些SOA开发工具包含嵌入式工作流环境,帮助企业满足这方面的设计时段治理需要。LogicLibrary公司CTO、合作创始人Brent Carlson说,“公司的Logidex工具帮助开发部门将检查点、角色和多步骤工作流配置到SOA开发流程之中。”
他说:“您可以自动执行将服务提升到下一阶段所涉及的审查和验证,如果发现定义不一致,在服务向注册表发布之前,将它退回开发者处加以改正。”
服务水平管理基础设施
商用注册产品常常与来自同一家或第三方的一个或多个服务水平管理(SLM)产品相集成。SLM工具主要部署在SOA运行时段。它们让依照服务水平协议(SLA)执行对SOA策略驱动的监测、优化和控制成为可能。因此,它们可被用于管理注册的服务、终端和用户之间的ESB传输流。
SLM工具(或Web服务管理基础设施)与传统的网络、系统和应用管理工具是不同的。后者将重点放在应用层消息检查,并根据消息头、有效载荷、发送方和其他消息属性触发自动的策略规则。SLM环境则通过集中式关联传输流触发的事件和指标,实现端到端的服务水平监测。
SLM环境通过名为“代理运行时段”的组件对ESB消息传输流执行治理策略。代理是运行时段SOA治理的主PEP(正如注册服务是设计时段SOA治理的主PEP一样)。代理是任何截收、检查、过滤、转换、传送或加速处理生产XML、SOAP(简单对象访问协议)以及服务之间的其他内容交换的任意功能性组件。
代理可以作为临时性节点来部署(比如部署在代理服务器或专用硬件设备中),或者部署在应用服务器中(一般与服务器的SOAP引擎集成,或嵌入在协处理器板中)。
SLM环境使IT管理员可以自己做出决定,例如SOAP传输流端到端的延时和响应时间是否超过了预先定义的QoS阈值。很多工具允许动态变更SOAP消息的传输路线,以改进QoS。一些工具还可以作为应用防火墙来使用。
杜绝无赖服务
Sonic公司的CTO Dan Foody说,SLM环境应当让企业可以检测SOA中的无赖服务,并采取相应的行动。“无赖服务是设计时段从未经过必要批准过程的服务。您需要一种基础设施,它可以自动检测无赖服务、验证并注册它们,然后强迫它们经历批准过程。在得到批准前,无赖服务将被隔离或接受更严格的安全管理。”
SLM控制台是SOA治理运行时段的监测和管理节点。SLM控制台还在运行时段支持对SOA端到端行为的实时可视化与控制。企业可以以集中或分散配置的方式部署控制台,可以通过浏览器、SOA界面、厂商专有的GUI或其他菜单访问它们。
企业的IT部门可以将SLM控制台集成到处理应用、系统或网络管理的更大的管理套件中。企业通常将控制台与注册表或管理员定义的SLA以及其他策略的信息库一同部署。SLM控制台越来越多地通过WSDM(Web服务分布式管理)与分布式代理连接。WSDM是一套结构信息标准推进组织提出的标准集。
纯SLM厂商包括Actional(Progress Software的一个部门)、AmberPoint、Reactivity和SOA Software(最近收购了另一家纯SLM厂商Blue Titan)。拥有SLM工具或嵌入功能的平台厂商包括BEA、HP、IBM Tivoli、Oracle和webMethods。Tibco宣布了今年年底在其Project Matrix SOA/ESB产品中提出SLM和UDDI注册计划。
SOA平台厂商将继续向他们的产品架构中添加全面的SLM特性,以及像基于动态内容的路由和分布式交易等ESB特性。
为了满足可伸缩性和性能的需要,更多的厂商将开始以硬件专用设备的形式生产SLM代理。IBM的DataPower Technology部门是SLM专用设备市场的开拓者。其他厂商,例如拥有AON(面向应用的网络)产品系列的Cisco公司,将提供运行时段SOA治理的PEP运行的专用设备。
然而,从根本上讲,SOA治理最终归结为企业文化,而非技术性的基础设施。企业还需要通过全面的、以SOA为重点的培训、奖励、可视化开发工具和最佳实践,保持鼓励服务重用的IT治理文化。企业标准策略和设计模式必须嵌入在开发工具中,并通过无处不在的IT精神来灌输。这种IT文化始终必须由企业治理环境来推动,从而利用可重用的服务来最大限度地实现回报、灵活性和可见性。
请记住,有效治理的SOA提供了一种利用企业全部资源获取竞争优势的平台。它的对立面则是一锅由大量、分散、低劣集成且目标不一致的服务组成的“杂烩汤”。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突