使用融合开发与 Oracle 企业架构原则构建敏捷应用程序

作者:Mike Blackmore、Hamza Jahangir、Harish Gaur、Basheer Khan

为 IT 组织规定一种方法,使其无需替换现有架构和技术就能管理业务要求和业务需求的变化

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 显示了使用融合开发方法构建这种应用程序的主要步骤。

图 1:融合开发周期
  1. 建模与分析 — 就开发中如何实现业务功能、涉及哪些应用程序和哪些人员、什么是主要业务动因达成共识,这是融合开发的一个必要元素。这就需要主要业务利益相关方与 IT 相关人员合作,消除认识上的所有分歧。其结果是定义明确的流程模型、模式和关键绩效指标(KPI),从而排除了 IT 无法交付业务所需功能的任何障碍。(参见流程驱动的 SOA 开发。)
  2. 创建服务层 — 服务在组装应用程序概念中扮演着非常重要的角色。在该步骤中,我们构建可重用数据、业务和应用程序服务的组合。这些内容将成为高速、灵活地组合新应用程序所需的构件块。(参见无需编写代码的应用程序扩展和集成通过数据层缓存提高 SOA 性能。)
  3. 实现可见性 — 业务决策是由洞察力驱动的。在该步骤中,使用 BI、事件驱动式架构、Essbase 和 BAM 将这些洞察提供给业务用户。业务用户使用实时智能和历史记录智能监视业务运行情况并采取纠正措施。(参见构建具有洞察驱动的敏捷性的智能流程通过集成关系和多维数据获得业务洞察
  4. 构建丰富的 UI — 在这个步骤中,用户在一个丰富的 Web 2.0 环境中获得个性化的信息板视图。该视图集中显示了内容、工作流和信息板,并提供了无缝的 UI 体验。(参见构建 Enterprise 2.0 应用程序使用 Oracle WebCenter、Oracle Coherence 和 Oracle Business Activity Monitoring 实现集成的实时智能

Oracle 企业架构

由于融合开发用组合取代编码从而加速了应用程序的开发,因此妨碍企业做出改变的因素就大大减少了。但这对 IT 组织来说并非总是好事。快速的应用程序开发和变更会推动快速决策,这有可能导致对这些决策所的实际影响未能完全搞清或未能进行充分评估。正因为我们可以快速改变不一定意味着我们总是能从严重错误中恢复。实际上,如果不能受到一个具有长远目标、深思熟虑的决策框架的适当制约,快速和极限编程技术有时反而会加速失败过程。Oracle 企业架构框架(OEAF)和 Oracle 架构开发过程(OADP)提供了一个决策框架,该框架可与融合开发结合使用,为 IT 组织提供一种快速决策机制,使其做出的决策与中心目标和方向保持一致。使用 OEAF 和 OADP 的关键不是妨碍敏捷开发,而是以让 IT 实现对业务最大价值的方法引导开发。

Oracle 企业架构框架是一个 EA 框架(类似于 TOGAF 和 Zachman),其特别之处在于实现了以下三个主要原则:

  • 简单实用。换言之,这不是一个架构建模实验,而是一个获得实际业务价值的实践。
  • 从业务出发。OEAF 是一个始终从业务角度发起讨论的架构框架,并且一开始就要清楚这个架构要实现的目标。
  • 利用现有投资。OEAF 附带了一个库,其中包含来自 Oracle 和业界的最新参考模型、最佳实践和参考架构,这些可以帮助企业加速选择最佳方法的过程。

OEAF 可以分为图 2 所示的几个架构视图。

图 2:Oracle 企业架构框架

Oracle 架构开发过程 (OADP) 与 OEAF 结合使用,为后者提供了有关在开始开发应用程序和其他 IT 功能之前必须进行的决策顺序的一些规范性指导。高级 IT 管理人员可以利用这个过程为所有日常运营决策奠定基础。简单来看,OADP 通过相应的架构和 IT 治理方法提供了一个定义 IT 未来状态远景的过程,同时提供了实现这一未来状态的系统方法。站在一定的高度看,OADP 过程可以分为图 3 所示的几个阶段。

图 3:Oracle 架构开发过程

OADP 是一个高度协作的迭代过程,假设会不断对其进行改进和测试,以确保 IT 组织尽可能高效地运营,从而按照业务部门提出的要求进行交付。此外,OADP 还倡导用基于原则和绩效指标的思维方式来管理 IT 项目。如果组织对这些原则和绩效指标都进行了清晰的表述和理解,就无需对项目进行微观管理了。在下面介绍的 British Telecom 用例中通过示例对这一概念给予说明,在这个用例中,首席架构师使用 12 条简单规则实现对整个 British Telecom 的 IT 组织的管理。

British Telecom Property Group 的 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 的 UniApp 框架

BT 采购与 BT 企业 IT 协同工作。BT 采购的战略是系统合理化、面向服务和敏捷交付,同时为客户提供一个从根本上改善的、但成本较低的服务。这个新的 UniApp 架构旨在摆脱 IT 风格的支配,利用 BT 更广泛的软件投资,并成为减少 IT 开支的基础。

新的 UniApp 架构为 BT 的业务支持运营提供了一个基于标准的、灵活的、可伸缩的平台,从而为更广泛的业务提供 IT 服务。最重要的是,它提供了一个可持续增长的平台,可在其所辖范围内容纳最广泛的人力和自动业务流程及工作流(BT 房地产是这个架构的第一个实例,但是无需专门的供应商支持的软件产品,该架构就可适用于任何其他业务支持运营系统)。BT 对基于融合中间件的 UniApp 框架进行整合,提供业务流程为主导的快速开发环境、方法和交付能力,从而解决了这一关键的业务问题。该 UniApp 框架是遵循 OEAF 规定的原则构建的。

BT 制定了一些黄金规则。我们看一下这些规则与上面描述的 OEAF 原则的比较结果:

OEAF 原则 BT UniApp 黄金规则
简单
  • 保持了架构的简单!UniApp 只有三层:数据存储在哪里?数据如何到达那里?哪些人需要看到该数据?
  • 数据库将使用一种模式。
  • 每个通用应用程序平台将只有一种模式。
  • 每个通用应用程序平台都应用同一个安全模型。
从业务出发 这些创新的平台能够将 SaaS 带给整个 BT Group 社区,并且为 BT 的 IT 系统带来了期望。创新时刻相伴!
利用现有投资
  • 通用应用程序将只用在现成 ORACLE 定制包可插入并且提供的用户体验非常差的场合。
  • 我们不能复制包括 EMP 集成架构在内的其他平台系统提供的功能。

粗略了解 UniApp 框架的内部构成

BT 的 UniApp 是一个三层的架构,将用户体验/页面流与工作流和数据层分离开来。用户体验基于 Oracle 应用开发框架,通过 Oracle WebCenter Framework 提供给用户。人员(针对人的 BPEL)和系统工作流及集成的工作流元素均由 Oracle SOA Suite 处理。尽管数据库层从设计和开发角度具备很强的治理功能,但正如人们所期望的,它完全从用户中抽象出来。这就为设计、构建和部署 Web 2.0 应用程序提供了丰富、全面、稳健的环境,以满足 BT 企业管理空间的要求,在此未提供现成的 Oracle ERP 应用程序。(参见图 4)

图 4:BT UniApp 框架 — Oracle SOA Suite 用于流程管理,Oracle BI EE Suite 用于业务报表,Oracle WebCenter 用于丰富的 Web 2.0 体验和用户交互

BT 能够将这个方法封装在一个严格治理的结构和过程中,从而使组织能够针对特定问题评估该解决方案的适用性。此过程可确保首先评估 Oracle ERP 应用程序,以避免功能重复。

UniApp 的原则(是通过上述治理过程贯彻的)强调,有必要利用构成 UniApp 组件的 Oracle 产品的核心原生功能。这些核心产品不能满足所需的功能时,需要作出妥协,但妥协应始终遵循为 UniApp 规定的架构原则。实际上,针对用户案例的这类妥协很少发生;敏捷的过程会发现用户的真正需求。这就与以往的方法形成了鲜明的对比,过去,用户不仅要说明他们想要的功能,而且还会要规定如何实现这些功能。这一敏捷的方法消除了设计过程中的偏见,并且允许演示组件功能。维护标准方法带来的长期成本降低使企业获得的收益远远超过交付单个系统的短期需求。其目标是组合,而不是定制。

British Telecom 的获益

BT 花费了大约 5 个月构建自己的解决方案,由四个国内团队和 10 个海外开发团队使用敏捷开发方法实现。BT Buildings 网站每天的点击次数超过 40000 次,该解决方案支持 40 多个主要 BT Property 流程,包括那些与关键安全和安全功能相关的流程。

Pardee Homes 的融合开发

现在我们来了解另一个将融合开发的原则付诸实践的例子。

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。

  1. 建模与分析 — 在开发的早期阶段,Pardee Homes 就邀请主要业务利益相关方与 IT 团队成员一起使用 Oracle BPA Suite 对现有的企业级流程进行筹划,将重点和中心转移到流程改进上。这有助于流程与企业目标和企业战略吻合,从而建立一个用于土地开发、采购、金融、会计、销售和产品选择的企业范围的框架和流程信息库。这一方法增强了员工对业务流程的了解和认识,从而促进了业务流程的分析、优化和改进。它还支持业务流程转换以及利用 Oracle BPEL 执行业务流程实现与技术的无缝集成。
图 5:Pardee Homes — 业务流程架构图
  1. 创建服务层 — 下一步是设计并开发可重复使用的服务层,从而使集成和工作流实现自动化。这涉及对整个企业所用的实体进行标准化、识别每个系统中的业务事件以及构建每个系统所需的服务。该层还包括保证服务安全的能力,以及利用 SOA 治理维护和组织 SOA 构件的能力。Pardee Homes 选择使用 Oracle 应用集成架构 (AIA) 方法识别企业业务对象、企业业务服务和企业业务流程。Oracle BPEL 充当企业粘合剂,监听整个系统中的业务事件,然后将消息路由到目标系统。Oracle Web Services Manager 提供了围绕每个系统服务的可插入的安全层,使每个服务调用只能通过 BPEL 进行身份验证和调用。基于 SOA 与解决方案的其他组件进行交互为实现具有可维护性、灵活性、可伸缩性和可重用性的基于 SOA 的环境提供了保证。
图 6:BPEL Process Manager 用于创建业务服务和数据服务
  1. 实现可见性 — 利用业务事件和传感器,Pardee Homes 增强了用户对整个企业集成的可见性,更重要的是提供了对集成错误的洞察。这使业务用户能够监视集成的工作情况,并在特定的集成流程出现故障时采取纠正措施。此外,通过使用 Oracle Human Workflow 以及与现有文档管理系统的集成,用户将获得对自动采购订单和发票审批流程的更多的可见性。为管理人员提供的报表可以识别任务处理瓶颈,从而使问题得以很快解决。SOA 治理提供了对所有 SOA 构件的可见性,以及对任何变更的影响分析的可见性。
图 7:获取关键业务流程运行状态的集成控制台
  1. 构建丰富的 UI — 使用 Oracle ADF 开发了两个信息板。第一个信息板为用户提供了一个监视组成企业的七个独立系统中发生的事务的实时视图。该信息板包括重新提交或重新启动的失败事务;用户也可以使用已知的业务关键字搜索特定的事务。这有助于分析整体生产力,发现流程中的瓶颈,并且为搜索、监视事务及恢复失败的事务提供了一种简便的方法。第二个信息板为用户提供了个性化的工作流任务视图,汇集了来自 FileNet 内容管理系统的文档、来自 ERP 应用程序的采购订单和发票数据,以及来自 Oracle Human workflow 的任务信息。这个信息板用丰富的 Web 2.0 环境为用户提供了无缝的 UI 体验。两个信息板均利用了上面描述的几个可重用服务。

下表总结了 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 Mike Blackmore 是 British Telecom 的企业架构师,负责协调 BT 和 Oracle 之间的高层技术关系,领导 BT 和 Oracle 团队制定成功的产品和技术决策。
Hamza Jahangir Hamza Jahangir 是 Oracle 企业架构部门总监,与人合著了《Applied Oracle Security:Developing Secure Database and Middleware Environments》(McGraw-Hill Osborne Media)。
Harish Gaur Harish Gaur 是 Oracle 的融合中间件产品管理总监,与人合著了《The BPEL Cookbook》(Packt Press)。
Basheer Khan Basheer Khan 是 Oracle ACE 总监,是位于加利福尼亚州欧文的 Innowave Technology 的总裁兼创始人。Basheer 曾被 Oracle Magazine 授予 2006 年度集成架构师和 2003 年度 Oracle 应用程序用户群 (OAUG) 成员。