作者:Mike Blackmore、Hamza Jahangir、Harish Gaur、Basheer Khan
Oracle 融合中间件模式文章系列的一部分。
2010 年 6 月发布
下载
Oracle SOA Suite
Oracle Business Intelligence
Oracle WebCenter
根据 Gartner Research 的调查,大中型 IT 组织在新项目上的投资平均不会超过预算的 20%。相对业务变化的速度来说,这个比例似乎太小了。从新的基于社会媒体的营销技术,到针对客户服务的开放 Web 2.0 风格的协作,再到现代化的预测分析,业务似乎一直在不断发生重大转变,而底层 IT 似乎又总是在不断追赶这些变化。那么,我们花在为满足业务要求而进行创新和现代化上的 IT 预算为何这么少?问题是 IT 组织的长期投入已经造成了业务成本的不断增加,并且每年都会占据大块的 IT 预算。如果要让 IT 跟上业务对信息要求的步伐,那么成本也会同步增加或增加的更快,除非企业从根本上实施一个新方法来管理 IT 应用程序和系统。
在本文中,我们将介绍两种方法 — 融合开发(一种应用程序开发过程)和 Oracle 企业架构(一种架构开发框架及过程) — 为 IT 组织规定一种方法,使其无需替换现有架构和技术就能管理业务要求和业务需求的变化。本文讨论 British Telecom (BT) 和 Pardee Homes 这两家公司采用融合开发和 Oracle 企业架构方法的情况。
过去十年间,大部分企业都是通过采购或开发新应用程序来满足信息需求,但很少考虑底层技术基础。这是可以理解的,因为这样可以迅速交付像计费和人力资源这样由打包应用程序或自行开发应用程序提供的独立功能。如今,随着企业资源规划 (ERP) 之类的系统不断商品化,许多企业开始对来自多个系统的数据进行交叉引用和关联,从而利用产生的价值获得对业务的新见解。在 Web 2.0 术语中,这称作混搭,就是将来自多个源的数据进行组合,从而为业务用户提供一个丰富的组合视图。为了在几乎所有业务领域中保持竞争力,这正逐渐从企业应用程序中一个可有可无的特性演变为一个绝对必要的特性。然而,这种形式的组合企业应用程序架构的转变仍然面临挑战,其主要原因如下:
这类组合应用程序的另一个独特方面是,它们的生命周期非常短暂,因为随着业务战略和业务流程变化的不断加快,需求的变化也在不断加快。这就需要更频繁地增强和修改应用程序,而传统的软件开发过程无法很好地应对这种情况。如果希望按时向业务交付所需功能,那么现代企业应用程序开发本身需要更敏捷、更具迭代性。因此,有了新应用程序架构,并在融合了不同数据源的信息的驱动下,IT 也必须从根本上采用一种新方法进行应用程序功能的开发,以便能够更快、更经济高效地交付现代企业应用程序,从而避免由于企业对信息需要的持续增长带来的成本爆炸。这个新方法必须非常全面,涵盖从架构开发到实施再到变更管理的所有方面。
在介绍融合开发和 Oracle 企业架构开发框架 (OEAF) 之前,我们先来看一座现代化公寓在设计方面的复杂性。为了满足业主的需要,每套房子的卧室数量、室内设计都是不同的,但是像水、电、燃气这样的公共服务都遵循一个公共架构。从这点来看,现代 IT 组织存在类似的情况,不同的业务线和业务部门可能需要不同类型的应用程序、系统和数据,同时又需要一个公共架构,这个架构为重用大部分常见模式和基础架构服务(如信息存储、安全性、监视等)来方便快速地构建新应用程序提供了框架。如果我们能反复重用这些基本服务,那么应用程序开发的重点就可以从应用程序编码转向使用现有服务组合应用程序。
这是融合开发的基本方法 — 组装解决方案,而不是编写解决方案。通过将服务组装在一起来构建解决方案,在此过程中使解决方案可以跨越不同的技术领域。Oracle 是这一新型开发模式的先驱者。正是 Oracle 融合中间件使 Oracle 成为这一开路先锋。Oracle 融合中间件是现有应用程序及服务与未来的融合应用程序及服务的交汇层。融合应用程序和服务都构建于融合中间件基础架构之上,并且可以利用各种技术,包括面向服务的架构 (SOA)、业务智能 (BI)、身份管理、企业内容管理、Coherence、业务流程管理 (BPM)、复杂事件处理 (CEP) 和应用服务器。
通常,融合开发与极限编程和迭代开发非常类似,受 SOA 的影响很大。重点是可快速开发且易于管理的应用程序。图 1 显示了使用融合开发方法构建这种应用程序的主要步骤。
由于融合开发用组合取代编码从而加速了应用程序的开发,因此妨碍企业做出改变的因素就大大减少了。但这对 IT 组织来说并非总是好事。快速的应用程序开发和变更会推动快速决策,这有可能导致对这些决策所的实际影响未能完全搞清或未能进行充分评估。正因为我们可以快速改变不一定意味着我们总是能从严重错误中恢复。实际上,如果不能受到一个具有长远目标、深思熟虑的决策框架的适当制约,快速和极限编程技术有时反而会加速失败过程。Oracle 企业架构框架(OEAF)和 Oracle 架构开发过程(OADP)提供了一个决策框架,该框架可与融合开发结合使用,为 IT 组织提供一种快速决策机制,使其做出的决策与中心目标和方向保持一致。使用 OEAF 和 OADP 的关键不是妨碍敏捷开发,而是以让 IT 实现对业务最大价值的方法引导开发。
Oracle 企业架构框架是一个 EA 框架(类似于 TOGAF 和 Zachman),其特别之处在于实现了以下三个主要原则:
OEAF 可以分为图 2 所示的几个架构视图。
Oracle 架构开发过程 (OADP) 与 OEAF 结合使用,为后者提供了有关在开始开发应用程序和其他 IT 功能之前必须进行的决策顺序的一些规范性指导。高级 IT 管理人员可以利用这个过程为所有日常运营决策奠定基础。简单来看,OADP 通过相应的架构和 IT 治理方法提供了一个定义 IT 未来状态远景的过程,同时提供了实现这一未来状态的系统方法。站在一定的高度看,OADP 过程可以分为图 3 所示的几个阶段。
OADP 是一个高度协作的迭代过程,假设会不断对其进行改进和测试,以确保 IT 组织尽可能高效地运营,从而按照业务部门提出的要求进行交付。此外,OADP 还倡导用基于原则和绩效指标的思维方式来管理 IT 项目。如果组织对这些原则和绩效指标都进行了清晰的表述和理解,就无需对项目进行微观管理了。在下面介绍的 British Telecom 用例中通过示例对这一概念给予说明,在这个用例中,首席架构师使用 12 条简单规则实现对整个 British Telecom 的 IT 组织的管理。
British Telecom 是一个具有 100 多年历史的跨国公司,在全球的 170 多个国家运营,拥有 10 万多名员工。British Telecom 的 Group 部门负责所有 BT 动产和服务的采购,管理 1 万多处房地产,使用 5 万辆车。每天有超过 15 万人需要进入 1 万多栋建筑进行工作和举行会议。
BT 的房地产系统已经有计划地进行了扩展,历经了第一代和第二代 Web 应用程序,已经有 46 个系统。这些系统使用了多种应用程序和数据库技术,包括 ColdFusion、ASP、.NET、J2EE、Oracle 8i、Oracle 9i、SQL Server 和 MS Access。
随着系统自身的不断发展,业务流程的载体也呈现多样化,可能是 Web 页面中的代码段、数据库中的存储过程或者电子表格中的单元格,但大多数情况下,只是人们头脑中的想法。对客户来说,系统本身的这些问题表现为非常差的用户体验、受系统低可靠性和低可用性困扰,从而降低了 BT 房地产的利用率。对实际房地产的影响是非常现实的,因为建筑物的维护问题得不到报告,从而得不到解决。
BT Design(提供 IT 服务的 BT 组织)和 BT Group Property(客户)都意识到了这一现状。BT 的应用程序管理人员一直在急剧增加,而对重要 BT 功能的信任却相应在降低。BT 决定通过整合企业架构框架并对应用程序开发进行标准化来实现其系统的合理化。
BT 采购与 BT 企业 IT 协同工作。BT 采购的战略是系统合理化、面向服务和敏捷交付,同时为客户提供一个从根本上改善的、但成本较低的服务。这个新的 UniApp 架构旨在摆脱 IT 风格的支配,利用 BT 更广泛的软件投资,并成为减少 IT 开支的基础。
新的 UniApp 架构为 BT 的业务支持运营提供了一个基于标准的、灵活的、可伸缩的平台,从而为更广泛的业务提供 IT 服务。最重要的是,它提供了一个可持续增长的平台,可在其所辖范围内容纳最广泛的人力和自动业务流程及工作流(BT 房地产是这个架构的第一个实例,但是无需专门的供应商支持的软件产品,该架构就可适用于任何其他业务支持运营系统)。BT 对基于融合中间件的 UniApp 框架进行整合,提供业务流程为主导的快速开发环境、方法和交付能力,从而解决了这一关键的业务问题。该 UniApp 框架是遵循 OEAF 规定的原则构建的。
BT 制定了一些黄金规则。我们看一下这些规则与上面描述的 OEAF 原则的比较结果:
OEAF 原则 | BT UniApp 黄金规则 |
简单 |
|
从业务出发 | 这些创新的平台能够将 SaaS 带给整个 BT Group 社区,并且为 BT 的 IT 系统带来了期望。创新时刻相伴! |
利用现有投资 |
|
BT 的 UniApp 是一个三层的架构,将用户体验/页面流与工作流和数据层分离开来。用户体验基于 Oracle 应用开发框架,通过 Oracle WebCenter Framework 提供给用户。人员(针对人的 BPEL)和系统工作流及集成的工作流元素均由 Oracle SOA Suite 处理。尽管数据库层从设计和开发角度具备很强的治理功能,但正如人们所期望的,它完全从用户中抽象出来。这就为设计、构建和部署 Web 2.0 应用程序提供了丰富、全面、稳健的环境,以满足 BT 企业管理空间的要求,在此未提供现成的 Oracle ERP 应用程序。(参见图 4)
BT 能够将这个方法封装在一个严格治理的结构和过程中,从而使组织能够针对特定问题评估该解决方案的适用性。此过程可确保首先评估 Oracle ERP 应用程序,以避免功能重复。
UniApp 的原则(是通过上述治理过程贯彻的)强调,有必要利用构成 UniApp 组件的 Oracle 产品的核心原生功能。这些核心产品不能满足所需的功能时,需要作出妥协,但妥协应始终遵循为 UniApp 规定的架构原则。实际上,针对用户案例的这类妥协很少发生;敏捷的过程会发现用户的真正需求。这就与以往的方法形成了鲜明的对比,过去,用户不仅要说明他们想要的功能,而且还会要规定如何实现这些功能。这一敏捷的方法消除了设计过程中的偏见,并且允许演示组件功能。维护标准方法带来的长期成本降低使企业获得的收益远远超过交付单个系统的短期需求。其目标是组合,而不是定制。
BT 花费了大约 5 个月构建自己的解决方案,由四个国内团队和 10 个海外开发团队使用敏捷开发方法实现。BT Buildings 网站每天的点击次数超过 40000 次,该解决方案支持 40 多个主要 BT Property 流程,包括那些与关键安全和安全功能相关的流程。
现在我们来了解另一个将融合开发的原则付诸实践的例子。
Pardee Homes 是位于加州的一家主要住宅建筑商,在过去逾 87 年间建造了许多获奖的住宅和小区。为了支持公司的业务,Pardee Homes 通过在最新和最先进技术上的投资不断创新和增强企业的 IT 系统。
该公司通过对 ERP 系统的升级,以及新增的销售、产品选择、保修和调度系统,对企业的整个 IT 系统进行了改进。这一改进还包括启用了七个不同的系统以实现实时沟通,大约支持二十种跨不同应用程序的事务。Pardee 的需求包括支持一千多个并发事务,同时保证可靠的消息传递。还要求能够跨各种应用程序查看这些事务的状态,并且在出现交付错误时能轻松恢复。
Pardee Homes 还希望实现采购订单和发票审批流程自动化。这包括自动扫描文件和自动启动审批工作流,为用户提供任务列表和对他们需要审批的文件的可见性。
总之,该解决方案必须灵活,并且能够通过最少的改进适应未来的系统。为使 Pardee Homes 保持其在住宅建造行业的领先地位,采用业内领先的技术和方法对这一解决方案来说是至关重要的。
Pardee Homes 采用融合开发方法组装其解决方案,利用 Oracle 融合中间件的各种组件,包括 Oracle BPA Suite、Oracle BPEL Process Manager、Oracle Web Services Manager、Oracle ADF 和 Oracle Application Server。
下表总结了 Pardee Homes 采用的融合开发方法:
融合开发周期 | Pardee Homes 的方法 |
建模与分析 | 所涉及的业务和 IT 利益相关方使用 Oracle BPA Suit 筹划并改进业务流程。 |
创建服务层 | 利用 Oracle AIA 和 Oracle SOA Suite 定义和构建跨不同应用程序可重用的服务层。 |
实现可见性 | 将用于启动流程的业务事件和这些流程中内嵌的传感器馈送给信息板,以提供对集成错误的可见性。Oracle Human Workflow 用于提供对审批工作流的可见性。Oracle SOA 治理提供了对所有 SOA 构件的可见性。 |
构建丰富的 UI | 使用 Oracle ADF 构建信息板以查看集成错误、审批工作表并显示所需批准的文件。 |
这个新解决方案使业务能够在流程变化时迅速调整以适应市场情况。新的销售情况现在会立即在客户服务系统中反映出来。期房一旦完工,会立即反映到供应商门户中,使供应商可以迅速付账。
本文介绍了融合开发(一种应用程序开发过程)和 Oracle 企业架构(一种架构开发框架及过程)这两种方法,并举例说明。British Telecom 的 UniApp 框架和 Pardee Homes 的集成方法分别与 OEAF 和融合开发原则非常接近。融合开发提供了一种新方法来组装新业务应用程序,而不是通过编码开发新业务应用程序。融合开发方法与 OEAF 一起使用,为设计和构建新的组合应用程序提供了端到端的方法 — 这些应用程序可以迅速开发、快速修改且易于管理。
Mike Blackmore 是 British Telecom 的企业架构师,负责协调 BT 和 Oracle 之间的高层技术关系,领导 BT 和 Oracle 团队制定成功的产品和技术决策。 | |
Hamza Jahangir 是 Oracle 企业架构部门总监,与人合著了《Applied Oracle Security:Developing Secure Database and Middleware Environments》(McGraw-Hill Osborne Media)。 | |
Harish Gaur 是 Oracle 的融合中间件产品管理总监,与人合著了《The BPEL Cookbook》(Packt Press)。 | |
Basheer Khan 是 Oracle ACE 总监,是位于加利福尼亚州欧文的 Innowave Technology 的总裁兼创始人。Basheer 曾被 Oracle Magazine 授予 2006 年度集成架构师和 2003 年度 Oracle 应用程序用户群 (OAUG) 成员。 |