UML软件工程组织

拥抱 Eclipse,迎接 SOA x 时代
IBM developerWorks 中国网站, 编辑, IBM

本文内容包括:

今年是 Eclipse 五周年,以及 Rational 加入 IBM 的第四个年头。在这个值得纪念的时刻,我们专访了 IBM Rational 首席技术官 Lee R. Nackman 博士和 IBM 大中华区 Rational 软件总经理桂荣青先生。向广大 Rational 用户传递 Rational 的最新讯息和未来发展趋势。

 SOA 从在业界成为热门 IT 名词,到今天越来越多的企业开始着手实施 SOA 解决方案,时间已经过去了很多个年头。在这期间,到底发生了什么样的变化?趋势是怎样的?这些问题不光是广大开发人员所关注的问题,也是 IBM 所关注的问题。在这个专访里,两位 IBM Rational 的专家和高管向我们讲述了 IBM 在 SOA 方面的最新理念。

SOA不仅仅是 IT

在最近的几年里,整个业界都非常热衷于谈论 SOA,以至于让某些人以为 SOA 是万能的。事实显然不是这样。在 IBM 所接触的客户当中,他们有一个基本共识,那就是他们认为 SOA 能够帮助他们解决他们目前所面临着一些问题,尤其是在整合企业现有系统和遗留系统这样的问题上。他们希望能从实施 SOA 解决方案中获得领先的优势。

在如何实施 SOA 这个问题上,各家厂商有着各自不同的看法。IBM 显著不同的地方在于,IBM 认为实施 SOA 是同时关于企业的业务转型和正确地运用 IT,需要将这两者组合在一起以获得成功。而其他的竞争对手则更多地关注于一些具体的技术。

技术非常重要,但除此之外,更重要的是需要将所有有关的因素组合在一起,使得客户能最终成功地实现 SOA。如今越来越多的 CIO,CTO 也开始认识到,实施 SOA 不仅仅是一个技术层面的问题,而是整个企业必须全面转向面向 SOA 的业务观念。SOA 的实质就是关于企业如何依靠 IT 更加有效交付业务价值的转型。

所以现在非常普遍的情况是,当企业引入 SOA 的时候,同时也对整个组织引入了变革。企业除了必须关注如何实现 SOA 的技术之外,在业务流程上也必须做出相应的投入,必须尝试在业务流程上为实现 SOA 做出流程的转型。并保证治理模式同这些实现技术以及业务流程是相匹配的,能够实现最终的业务目标和收益目标。

从 SOAd 进入 SOAg

从早先 SOA 概念的炒作,到如今 SOA 的观念逐渐被大家正确认识,现在大家的观念已经不仅仅停留在 SOA 解决方案的构建和设计,也就是SOAd (SOA development)的阶段。因为 SOA 不仅仅是像企业服务总线 (Enterprise Service BUS)这样的技术,而是包括面向 SOA 的软件开发生命周期管理。

SOA并非仅是一次服务实践、或一套工具,而是确定最佳实践、方法论、工具、多个切入点,以及对整个生命周期进行改革的整体观点。应当在整个生命周期阶段的端到端治理环境下,完成上述措施,部署的过程应当是自动的、渐进式的。在整个生命周期阶段,应制订相应的战略。

如今非常多的 CIO 开始转型。以前的 CIO 关注的是如何构建 SOA 应用,管理 IT 预算;现在他们首先需要了解业务的需求是什么,如何将业务需求转变为 IT 因素,最后通过 IT 来实现业务需求。他们开始认识到,SOA不仅仅是如何运用 IT 来构建 SOA 应用,如何设计和开发 SOA 应用;而是进一步,如何更好地管理 IT 和业务需求,并使两者能平衡发展。

而实现这样的目标,需要一个面向 SOA 的 IT 治理框架。没有一个完善的 SOA 治理解决方案,企业所实施的 SOA 应用将会面临巨大的风险。也就是说,当企业开始构建起自己的 SOA 应用时,将不得不面对如何治理SOA 解决方案整个生命周期的问题。这就是 IBM 提出的“SOA 治理” (SOA governance) 观念。

“SOA 治理”包括什么?这包括了在 IT 层面的治理观念,还有针对 SOA 的治理框架。从 IT 的角度来看,需要有一个能管理和跟踪整个 SOA 应用的生命周期的机制,也就是一个能管理从发现业务需求,到转变业务需求为 IT 实现,并在运作中跟踪业务需求最终价值的实现的机制。然后是运用什么样的管理政策和系统,来监控管理这些决定企业业务能否成功的因素,来确保企业在所有的环节都在进行着这些环节所应该做的事情。建立连锁责任关系的状态。包括授权、决策等。为了对正在开展中的活动进行动态地评估,制定政策并对整个生命周期进行控制,并与业务建立联系,这对于确定连锁责任关系以及授权至关重要。

如果用一句话来总结,“SOA 治理”其实就是如何来监控 SOA 的整个生命周期。也就是用怎样的方法论来发现业务需求,来打包服务,使之组件化,组成一个完整的 SOA 应用;并在这一过程中,用什么样的方法论来管理,并随着市场上的变化,来更改业务需求,使整个 SOA 应用能跟进和适应新的业务需求;如此循环迭代地发展和演进。

关于 SOA 治理有一个非常有趣的现象是,SOA 治理不仅仅涉及到开发团队,而是同时牵涉到业务所有的利益干系人。这是 SOA 非常重要的一个部分,因为针对相应的业务过程所实现的,并集成在一起的服务,经常是在业务中需要综合和跨越多个业务流程的。一旦针对 SOA 实现方案定义了相应的治理方式,那就得在整个组织中部署这个治理模式。

“SOA 治理”已经不是一个可有可无的概念,而是决定企业在 SOAx 时代走向成功所必须要有的一个框架。在全球,IBM 已经有非常多的客户在进行着面向 SOA 治理的转型。今年 IBM在中国的客户,例如山西移动和 COSCO 这样的企业也开始构建自己的 SOA 解决方案,并向引入 SOA 治理转型。除了它们之外,IBM 还有很多的客户也在进行这方面的尝试。

IBM的 BDD 理念

服务的生命周期管理是成功的 SOA实现方案的重要组成部分之一。对于 SOA 的生命周期而言,有四个关键的部分,即“建模 (Modeling)”、“组装 (Assemble)”、“部署 (Deploy)”和“管理 (Manage)”。与之相对应,SOA 治理框架也包括了四个关键部分:“计划 (Plan)”、“定义 (Define)”、“执行(Enable)”和“度量 (Measure)”。

图 1. IBM Rational的 SOA 生命周期管理模型

 SOA 治理与传统的 IT 治理的主要差异在于:

  • 共享服务需要未雨绸缪之举措,明确制订各项规则和策略;
  • SOA 是一次真正的挑战,它需要更多的业务部门参与其中,此外,业务、IT 以及单个职能部门之间需要进行更多协作。
  • IT部门需要定期与有关各方进行更加广泛、一致的沟通。SOA治理并非仅仅是一项技术,而是一项整体的变革,代表着一种新的生活方式。

因此,如何构建一个完整的 SOA 解决方案,包括了以下四个步骤:

  1. 发现业务需求;
  2. 将业务需求转变为 IT 实现;
  3. 部署服务;
  4. 与合作伙伴共享各种服务;

通常,一个组织将从定义业务流程的模型开始(注意这个模型是关于业务流程的,而不是具体的 IT)。因为对于组织而言,部署 SOA 的时候往往需要和业务牵涉的所有利益干系人一同工作。在建立了业务流程模型之后,才是面向 IT 架构的模型——这是用于实现业务流程模型的模型。而对于 SOA 最关键的部分就是,如何通过一组服务来实现组织的业务流程所涉及的所有环节。所以组织需要有能力来组装所有用于实现整个业务流程的服务。

当然,除了装配服务之外,还需要将所有的服务部署成为可运行的应用,可运行的系统。并且要有能力对系统和应用所构建的服务进行整个生命周期的管理。而最后是同合作伙伴共享各种服务。

所以对于一个成功的 SOA 解决方案而言,至关重要的是,整个生命周期是从对业务流程进行建模开始的,随后才使组装服务,部署服务,以及管理运行中的服务,并且以迭代的过程方式进行管理。

IBM Rational 将所有这些能力组合在一起,就是 IBM 所说的业务驱动开发 (Business-Driven Development) 的概念。因为 IBM 认为需要从业务需求出发,并用业务需求来驱动架构的实现。IBM Rational 是目前唯一能提供业务驱动开发所需要的所有能力的工具提供商。

SOAx 需要领先的开发工具和技术支持服务

接下来进一步讨论 Rational 是如何提供工具,服务和能力,来帮助组织实现 SOA 完整的生命周期管理。

为了实施 SOA 治理,Rational开发了多种全新工具与技术。这些新功能的完美融合,将有助于客户进行风险管理,更加充分的实现SOA的优势。

Rational 为 SOA 治理提供了框架——Rational 在 Rational Unified Process (RUP) 上开发了针对 SOA 的插件,能够为组织提供如何管理 SOA 生命周期的过程最佳实践。这是在过程方面实现 SOA 治理的重要部分。这一过程方面的能力使得组织能够在 SOA 解决方案中采用 RUP,并对其进行裁剪,以适应组织特定的需要。Rational 有这方面的工具可以帮助客户进行这方面的工作。

而在一个大型的组织中,往往会同时有很多的过程,也就是一组 SOA 活动的项目群组需要进行管理,或称项目组合管理。组织需要有相应的工具以进行项目组合分析和项目组合管理。Rational 在这方面,提供了 Rational Portfolio Manager 这样的项目组合管理工具和解决方案。

Rational 还为 Rational Portfolio Manager 开发了针对 SOA 项目的过程模板。此外还增强了 Rational 的建模工具,以帮助对 SOA 治理所涉及的服务进行建模。在质量保证方面还增强了 Rational 的测试能力。所以 Rational 在改进 SOA 治理能力方面同定义 SOA 治理过程一样,对 Rational 的工具进行了非常多的改进。

Rational 还强调 SOA 生命周期管理中信息反馈的重要性,这是 Rational 所提供的 Dashboard 的作用。

对于一个成功的 SOA 实现方案而言,另外一个非常重要的部分就是同所有的利益干系人取得共识,并管理 SOA 应用需求的收集,以及需求的演进:这些是关于系统是如何运作,业务价值如何实现的关键信息。

Rational 拥有管理需求,并且将需求与应用的品质(质量保证)紧密联系在一起的工具。 通常人们认为质量保证就是测试,但其实测试对于质量保证来说已经滞后了。质量保证必需贯穿应用开发的整个过程。将这一切都组合在一起的一个方面就是在需求、模型、测试用例、测试结果、构建版本 (build) ,以及应用部署之间的可追溯性 (tracebility)。因为需要在这一个完整的过程中理解和保证需求系统实现了所有的业务需求,并且利用业务需求将整个开发活动联系在一起。这就是 Rational 所说的质量管理不仅仅是测试的缘由,而是对整个生命周期的可追溯性。

当然人们仍然需要构建系统架构模型,仍然需要进行编码,Ratioanl 在这些方面仍然为 IT 系统的分析、设计和构建提供相应的工具和支持。对于开发人员、架构师而言,他们需要有管理和变更开发制品 (artifact) 的能力。Rational 为这些传统的工作流提供了相应能力,以帮助开发团队能协同工作,随时应对需求的改变,管理需求变更,提交/检出源代码,进行源代码的版本管理,以及对整个项目的演进进行管理。

如果浏览一下 IBM 在这一领域的成果,就会发现,与其它任何一家公司相比,IBM 付出了更多的努力。IBM拥有最佳实践、最出色的工具和模板。IBM 的技术涵盖定义、评测并支持分区,以助力客户的 IT 转型。管理生命周期的各种方法、工具和技术涵盖了计划的各个方面,定义并实现流程、工具、技术的整合,从而逐渐实现 SOA 的投资回报及其给业务带来的价值。

这是关于技术能力方面的回答。除此之外,IBM Rational 还为客户提供了高质量的技术支持服务,来帮助组织理解和进行有效实施 SOA 所需要进行的组织层面的变革。

还有一个重要的信息要跟大家分享,IBM 全球首家 SOA 方案中心已经落户中国北京。用于开发、管理和交付深入行业的 SOA 解决方案。新的 IBM SOA全球方案中心将依托 IBM 在 SOA 软件、硬件、咨询、研究和开发领域的全面领先优势,汲取 IBM 在各行业实施 SOA 的丰富实践经验,与 IBM 全球企业咨询服务部(IBM Global Business Service)及 IBM 全球服务执行中心(IBM Global Delivery Centers)展开紧密合作,构成一站式的 IBM SOA 行业服务模式,以更快速、更经济、更有效的方式为企业提供基于 SOA 的业务解决方案。此举动标志着 IBM 的 SOA 实施能力已经发展到进入行业深层、全面落地的产业化阶段,受益于该中心,未来更多全球行业客户将以更快速、更经济、更有效的方式接受 SOA 转型服务,实现其迫切寻求的业务模式创新。

IBM 与开放源码运动

IBM 认为开放源码对于业界来说是一件非常好的事情,它是创新的无尽源泉。大家来看看在 Linux、Apache 和 Eclipse 等开放源码项目上所发生的一切,就会清楚地知道开放源码的这一巨大的影响力。

在2001年,IBM 向业界贡献了 Eclipse。今年的11月7日已经是 Eclipse 成立五周年的纪念日。为什么 IBM 在五年前要这么做?这是因为 IBM 想为 Java 开发社区创建一个通用的开发平台,使得所有的 Java 开发人员能够一起工作。

关于这方面的创新,有一件非常有趣的事情——过去IBM 向业界贡献了 Eclipse,现在 Eclipse 社区创造了 Eclipse Rich Client Platform(RCP)。而最新的 IBM Lotus Sametime 7.5 已经构建在了这个 Eclipse Rich Client Platform 之上。这是开源社区的创新被应用在 IBM 软件产品的一个生动的实例。

同样,运用开放源码的创新也将会成为 Rational 的基本策略之一,并且也是整个 IBM 软件的基本策略之一。IBM 认为利用开放源码的创新是一个非常好的机会,能让 IBM 为客户创造更多的价值。

IBM Rational 和 Eclipse

Eclipse 对 Rational 产生了重要的影响,并使得“构建在 Eclipse 之上”这一观念成为了 Rational 的基本策略。从2003年开始,IBM Rational积极地修改了它的产品,使之平移到基于Eclipse平台上。大家可以发现现在在 Rational 工具上,所有的最新进展都是建立在 Eclipse 的基础之上的。

Rational 称这一成果为 IBM Rational 软件开发平台 (IBM Rational Software Development Platform),它包括新的改进的IBM Rational产品,都是直接基于Eclipse平台之上,如图 2 所示。这一平台也包括其他的已经集成到Eclipse的软件生命周期工具。

图 2. IBM Rational的软件生命周期工具的主要部分是建立在Eclipse平台之上

在这个新的平台中,开发者角色工具增加了其他的功能,扩展了Eclipse的集成开发环境,让开发者有更高的效率。Rational 还开发了为其他的从业者优化的全软件生命周期工具,同时通过使用Eclipse的潜在机制,增强了各生命周期中Eclipse的能力。Eclipse已经成为 Rational 下一代的工具集成平台。

还有一点需要强调的是,仍有部分作为基础的支持平台 (Infrastructure) 的 Rational 产品,并不是采用 Eclipse 来构建的。比如,它们的服务器端仍然沿用原来的架构,但它们都为客户端提供了完全基于 Eclipse 的插件。开发人员可以在 Eclipse 和 基于 Eclipse 构建的 Rational Software Architect,Rational Application Developer 等开发环境中无缝集成和使用这些客户端插件。此外,Rational ClearCase、Rational ClearQuest、Rational RequiistiePro 和 Rational Portfolio Manager 还提供了基于 Web 的访问界面。

在构建这样一个多元化的软件开发平台的过程中,IBM Rational 在自己内部也实践了 IBM 的 SOAd 和 SOAg 理念。Rational 在全球13个软件开发中心就是采用了 SOAd 和 SOAg 的方式来进行 Rational 产品的开发。Rational 在这方面的最佳实践被加入到最新的 RUP 7.0中,大家可以从这个新的版本中了解到这方面的信息。

建立开放的软件生态系统

IBM创建了Eclipse并比以前更加对它负责。IBM 会更进一步加大对 Eclipse 的支持,并且同开源社区建立更加紧密地合作关系。IBM 非常关注来自开源社区的创新,并把这些创新吸收成为 Rational 的新产品和新技术中去。比如目前 Rational 正在和开源社区进行 OpenUP 项目的合作,大家将会在不久的将来看到这个 Eclipse Process Framework 项目的成果。

IBM Rational 用户组

Rational 用户和爱好者交流与学习技术的平台

 同时,IBM Rational 也会增加在世界各地的大学和研究机构的资助,把 IBM Rational 的最新理念带给软件工业未来的开发人员。比如目前在中国的许多所大学,已经建立了 IBM 实验室,在校的学生和研究人员可以在这里接触到最新的 Rational 技术。

IBM Rational 还会增大对于中小型企业的技术服务支持,帮助他们更好运用 Rational 实现他们的业务目标和价值。IBM Rational 也会从他们那里吸取他们的创新和经验。

对未来的展望

Rational 成为 IBM 五大软件品牌之一,已经有四年的时间了。Rational 在很多的方面做了很多的创新和改进,尤其是在与 Eclipse 的合作方面。在未来 Rational 会进一步加强和开放源码运动的合作,以及同所有客户的合作,形成一个相互影响和相互促进的良性循环。进一步推进 Rational 的发展。

Rational 期待在新的一年能给大家带来更多的创新。在明年的 IBM 开发者大会,Rational 仍然会作为一个重要的组成部分同广大的开发人员见面。

感谢

这篇文章的相关内容来自于 IBM Rational 首席技术官 Lee R. Nackman 博士和 IBM Rational 大中华区总经理桂荣青先生的采访谈话。非常感谢他们接受 developerWorks 中国网站的采访。

 

版权所有:UML软件工程组织