【IT168 技术专栏】面向服务的体系结构(SOA)为对业务应用程序进行智能且有效的设计、开发、部署和管理提供了一个广阔的基础设施。为了帮助更好地理解 SOA 是如何影响 Lotus 和 IBM Workplace 产品和技术的,我们访问了 Lotus 和 IBM Workplace 开发团队的几名成员,并探讨了 SOA 为您现实的工作带来了什么。
请简单谈一下你们在 IBM 的职责。
Fernando Salazar:我是 IBM Workplace 团队的高级技术人员。负责 Workplace Server 组件的整体体系结构和内容。
Robert Duffner:我是 WebSphere Portal 和 Workplace 产品的产品经理。还负责在 Workplace、Portal 和 Collaboration (WPLC) 产品部门中围绕 SOA 策略提供帮助信息。
Doug Wilson:我是 WPLC 部门的主要技术负责人,还是体系结构指导委员会和顾问组的成员。我的工作是确保跨 WPLC 产品的产品空间体系结构的一致性,并保证它们适合于整体 Software Group 体系结构策略。
概括地说,什么是 SOA?
Robert:SOA(面向服务的体系结构)并非新的思想。SOA 一直主要是关于如何正确地进行构建,如何创建一种体系结构蓝图,该体系结构蓝图允许进行可重用的构建,允许以更加松散耦合的方式工作,例如您构建了这样一个体系结构并要进行修改,那么无需打破原有设计。还有,如何在流模式下集成异构的 IT 系统。SOA 是真正支持使用可重用的组件或服务装配业务流程的体系结构,这些组件或服务独立于应用程序和它们运行的平台。
这里的关键点是服务为真正可重用的构建块。这些概念确实不是新的了。我认为现在很多供应商创建的产品开始支持 SOA 标准,比如 Web 服务这样的产品,使 SOA 在很多 CIO 的心中占据了优先和中心地位。大型跨平台供应商,如 IBM、Microsoft、Oracle 以及 SAP 都开始以能吸引客户的方式支持这些标准 —— 因为支持更多的标准能帮助客户降低风险,很多标准都是这样产生的。在这种形势下构建 SOA 的能力开始变得很有前景,这可能是今天的 SOA 最激动人心的地方。在这一过程中标准起到了很重要的作用。
Doug:我还要强调 SOA 包括面向服务的体系结构、对业务结构以及支持业务的 IT 系统进行推理的方法。事实上,SOA 是从顶层开始的,通过分析业务是如何运行的,以及如何把支持业务的业务流程分割为基本步骤 —— 人为执行的或者是通过多个自动片断执行的任务。SOA 的强大之处在于它给出了一种一致的方法,用于推理业务的结构,以及推理支持该业务的 IT 基础设施和组织。
Fernando:帮助推动 SOA 的新事物是企业服务总线(Enterprise Service Bus,ESB)这个概念。我们能够通过标准定义所有的服务,这样非常棒。但是,ESB 允许我们安排这些服务,并以满足应用程序需要的方式同步或异步地调用它们。接口和松散耦合是两个由来已久的软件工程概念,但是我认为企业服务总线是使这个概念成为可能的关键因素。企业服务总线是促使 SOA 产生的因素之一。
你们提到 SOA 不是一个新事物,但是看起来直到最近人们才开始关注它。关注背后的主要原因是什么呢?
Doug:我认为在该行业中有两个关键的变化,为考虑如何构造 SOA 重新注入了力量。Web 服务的描述功能与使用无处不在的互联网的 IT 系统相组合,可能是过去两年中许多 SOA 的思想重新热起来的驱动因素。什么都比不上公众的说服力,以及无处不在的技术解决方案,推动着前进的步伐。在过去,一些系统间互连的其他方式要通过专有的或是难于使用的协议,像 CORBA 和 IIOP,结果就我们需要取得一个单一的、通用的中间件基础设施 —— 具体内容要与规则保持高度的一致。Web 服务规范使人们只需很少的 IT 投资就能够解决这个问题。
哪类行业和公司是 SOA 的主要受益者?
Doug:这是一个很难回答的问题。推动 SOA 实施的一个因素是通过很低的投资,就能够为小型企业提供技术。我认为这在很大程度上能够促使人们接受它,因为您不会被限制在某个范围,就是说不是大型企业或小型企业的问题。问题是 —— 也是机会 —— 任何规模的企业都可以使用 SOA 策略。其中的一个驱动因素是在大多数情况下,小型企业都是较大型企业的服务提供者。例如,如果我想外包运输业务,或者是外包客户满意度跟踪,或者是一个较大业务流程中的几个小型业务,那么我需要一个 IT 结构允许我将行为或服务委托给小型企业。可能在实施的初级阶段,大型企业将是服务的中心,但是许多小型企业将作为较大型企业的服务提供者形式出现。
Robert:这一点十分好。显然,能够从 SOA 得到最大受益的组织,很可能是那些具有处于较高稳定状态的 IT 基础设施的组织。其中所有遗留下来的程序都不能进行及时修改,它们无法支持业务需求的变化。通常,您能够看到许多这样的组织可能支付这样的开销。一些即将成为行业先锋的公司正是那些具有投资和 IT 的公司,并且在这些公司中 IT 的使用比在其他公司中占有更大的比重。但是 SOA,在这一方面,能够从根本上转变 IT 基础设施,使其从业务的阻碍转变为业务变化的推动力。所以,如果您看一下像金融服务和银行之类的组织,它们通常都具有非常尖端的组织。
我还注意到,如果您稍微关注一下,就能够发现一些组织还建立了体系结构控制部门,或者是跨学科和跨区域的群组,他们实际上是整体地研究整个组织的 IT 基础设施和体系结构。这预示着在未来 SOA 将取得成功。
除了 IT 方面外,SOA 会以哪些其他方式影响公司经营业务的方式?
Doug:我认为事实上恰恰相反。业务方式的自我演化正迫使 IT 部门作出响应,SOA 就是由此而产生的强大支持模型。业务在不断地合并、放弃和重构,以及自我重组,并对 IT 部门跟上其发展提出了实质性的挑战。如果 IT 和企业能够为业务结构的推理形成统一的模型,并因此得到相应的 IT 结构,那么这将成为 IT 部门满足它们业务需要的强有力的推动力。
Robert:看一下很多关于 IBM 帮助开始随需应变业务的讨论,当我们考虑一个随需应变的业务时,我们认为企业需要跨他们的组织以及他们所需的全部合作伙伴、供应商和客户,对业务过程进行集成。但是更重要的是,他们能够做出非常灵活的响应,并且能够随客户的需求、市场机会或其他可能出现的任何类型的机会和威胁做出响应。从这一观点出发,只是一味地花费、花费、花费和不进行调整的日子结束了。IT 和业务线正在以过去未曾有的方式结合到了一起。你不再为所有这些 IT 系统持续地花费资金,并且还得不到最初进行这些投资时所预期的回报。有了 IT 和业务线的密切合作,将帮助推动使用 SOA,帮助实现随需应变的业务这一目标。
Fernando:我们描述的过程部分不仅采用了技术、标准和基础设施;并且还从工程的角度进行了分析,以确定什么是您所依靠的(我们将其称作 “原始的”)业务功能。原始的业务功能可能是像运输产品、重新进货报表或支付帐单这样的功能。当将它们作为服务进行嵌入时,就能够分离调用这些服务的逻辑,并且可以放到一个不同的位置。这是您真正获得适应性的地方 —— 如果这样做了,现在就可以用新的算法管理库存或运送包裹。逻辑是从原始的服务中分离出来的。当这样做时,就能够开始从适应性中获益。
SOA 将会成为新的 IBM 特性和产品吗?
Doug:当然。最近,我们宣布了整个产品系列,目的非常明确,是要在我们的客户中推动 SOA 实施。关于我们在世界范围内推动 SOA 这一事件,各种论坛上都有具体和详细的报导。
Robert:SOA 确实触及到了我们所有的软件生产线。请您看一下我们是如何定义 SOA 参考体系结构的,其中涉及建模、部署、变更和管理,我们有帮助实施 SOA 整个周期的产品。SOA 最大的优点是,公司不必一次性地完全加以实施;这里有很多的入口点,他们能够从这些入口点开始。这要依据组织正在做什么。一些组织可能非常依赖集成解决方案,例如消息传递。这些客户会问 “如何将系统集成到一起?如何确保可靠性和保证消息的传递?”。通常,当考虑高速消息传递和消息传递框架时,您将想到企业服务总线。我们有一个整套的产品线,主要为 WebSphere 品牌,我们还有已经宣布的带有业务集成的新产品,这些新产品还具有一些其他功能以支持 SOA 的核心。我们的其他产品,如 WebSphere Portal 和 IBM Workplace 产品,能够作为 SOA 的最好的组成部分。
某些组织可能会选择从一些有机会的项目开始。这可能比较简单,“我需要构建门户中的一部分。我该如何开始组织、构建并将其放在具有面向服务体系结构特征的系统中?换句话说,在可以较高程度的重用的地方该如何做?”。您可以从定义服务开始。一个服务可以简单到只有一个业务流程,或是客户必须进行的一个操作,例如检查某个产品订单的状态。这个服务可以在客户将要登录的门户中自我显示。这个门户和服务将显示为一个 portlet,占用屏幕的一小部分。我将登录到系统中 —— 我能够快速地查看订单状态。这就是客户将会看到的。客户还会问 “我们如何进行构建?我们如何进行软件生命周期管理?我们如何开发和部署这些产品?”。所以我们在支持 SOA 的 Rational 品牌中还有另外一组完整的产品线。这里还有 Tivoli 产品集,使您能够进行安全性管理,并保证这些系统能够正常运行。我们的另外一个产品线用于信息管理;例如 DB2 产品线。它们带来了一整套的产品用于 SOA 策略的所有方面。
最终情况依赖于我们的客户的需要。我们可以把更多的精力放在某些组织的整个能力的广度上,他们试图进行部署、考虑部署或者是想要部署面向服务的体系结构。在他们想从投资中获得回报时,就是他们开始的时机,这要根据业务的需求而定。