1、SOA 项目实施白皮书目 录1 SOA 概念 .31.1 与传统的建设方法不同 .41.2 与传统的建设过程不同 .42 SOA 特点 .52.1 以业务为中心 .52.2 灵活适应变化 .52.3 重用 IT 资源,提升开发效率 .52.4 更强调标准 .53 SOA 效益及适用场景 .63.1 SOA 效益 .63.2 SOA 适用场景 .74 SOA 技术概述 .84.1 SOA 技术体系 .84.2 SOA 标准体系 .124.3 面向服务方法与传统方法的区别 .145 SOA 项目实施简介 .155.1 SOA 项目需求来源 .155.2 服务生命周期(以服务为中心的实施过程 ).1
2、65.2.1 实施过程关系图 .165.2.2 业务与 IT 规划 .185.2.3 需求规划 .195.2.4 服务规划及设计 .205.2.5 服务开发及测试 .205.2.6 服务部署 .215.2.7 服务发布 .215.2.8 服务运维及监控 .225.2.9 治理过程 .225.3 SOA 项目阶段实施过程的关键点 .235.3.1 规划阶段 .235.3.2 分析阶段 .255.3.3 设计阶段 .265.3.4 实现、调试和部署阶段 .275.3.5 运维阶段 .285.4 SOA 项目实施要素 .295.4.1 用户原有 IT 资源 .295.4.2 SOA 项目实施组织 .
3、295.4.3 SOA 项目实施支撑平台 .305.4.4 SOA 项目实施指导文档体系 .305.4.5 用户信息化要求 .305.5 用户在实施过程中的职责 .305.6 产品选型建议 .325.7 SOA 项目实施与传统项目实施的比较 .331 SOA 概念随着我国各行业信息化建设的不断深入,企事业单位和政府部门逐步建立起的大批计算机信息系统和各类数据信息因缺乏有效衔接,导致信息资源共享难、 “信息孤岛” 现象普遍存在。与此同时,对于企事业单位,随着经济全球化大环境下的市场竞争日益激烈,企业正在通过加快管理转型、技术创新、新产品研发以及业务策略调整等方式来提升自己的核心竞争力、持续占有并
4、扩大市场份额。对于各级政府部门,在以“大部制” 为核心的政府行政管理体制改革的驱动下,以“管理 ”导向的政府职能正在向“服务”导向转变。企事业单位和政府部门的这些转型方式及过程的有效实施,一方面更需要信息技术和信息化的手段来支撑,另一方面,这些业务需求也对信息技术和信息化建设本身提出了更高要求:IT 系统(通常也称为“信息系统”、 “应用系统”或“软件系统 ”等)要能快速响应用户业务发展和变化的需求,新系统必须能在充分利用用户原有 IT 资源基础上快速构建出来,同时要实现跨平台、跨组织的数据共享和业务协同。SOA(Service Oriented Architecture,面向服务的体系架构)
5、是近年来软件规划和构建的一种新方法,其概念最早由国际咨询机构 Gartner 公司于 1996 年首次提出。由于其本身特性非常符合上述信息化需求和问题的解决思路,因此在 2003 年以后成为我国软件产业界和各行业用户的关注焦点,并在 2006 年逐步开始在多个行业信息化建设中被选择和应用。SOA 概念自被提出之后,不少国内外机构、企业均对 SOA 进行了定义和阐释,但目前还未形成权威、统一的定义。本书作为国内首部从用户角度对 SOA 概念和应用进行客观介绍的书籍,在全书中将对 SOA 做如下定义和说明,以便于用户从应用角度对 SOA 有直观理解:SOA 不是一种技术,而是一种 IT 系统和软件
6、的构建方法和过程,贯穿 IT 系统规划、设计、构建、运维的各个阶段。SOA 与传统的 IT 系统建设方法和过程有较大区别,简要说明如下:1.1 与传统的建设方法不同基于 SOA 的 IT 系统建设更强调基于统一标准的快速开发和灵活组合。 “服务” 是 SOA 的核心元素,它对应于某个业务流程、业务功能或数据资源,按照统一的规格来组成信息系统。基于“服务” ,SOA 能显著缩小用户业务需求与 IT 支持能力之间的鸿沟,指导 IT 团队开发出具有良好移植性、扩展性和兼容性的应用系统。SOA 不仅仅站在单个信息系统或集成项目的角度,而是更强调站在用户 IT 建设全局或行业内信息化建设全局,从而规划并
7、逐步建成统一的 IT 系统架构模式,并积累可重复使用的信息系统资源库,以实现用户组织内或全行业内的信息资源共享、信息系统协同、新系统的快速构建以及系统对业务变化的快速应变能力。1.2 与传统的建设过程不同SOA 建设过程的重点是基于“ 服务”的 IT 系统规划和设计阶段,业务人员将不仅仅是提出需求,而是深入参与各类“服务 ”的规划和设计。 “服务” 间相互独立,所有“ 服务”的信息可被汇集到统一的服务资源库中,使得用户、其他系统以及其他“服务” 可通过服务资源库来访问和使用。SOA 系统的具体开发阶段则是由技术人员依据每个“ 服务”的功能和范围要求来具体实现或选择已有可用服务,并进行合成与装配
8、。在 SOA 系统的运维过程中,业务人员可以自行调整相应的服务,以使 IT 系统能满足新的业务规则和需求。此外,与 SOA 密切相关的还有一个概念 业务流程管理(BPM,Business Process Management) 。BPM 来源于业务流程变革领域,如业务流程再造( BPR) 、业务流程建模以及业务流程集成等。在技术方面,业务流程管理融合了许多相关技术,如流程建模、工作流技术、流程自动化以及业务流程监控等。借助 BPM,通过对业务流程的监控,用户可以及时发现问题,并对业务流程进行不断创新和优化。而 SOA 使得这种流程变化更加便捷,从而大大提高了业务的灵活性。因此,当前 SOA 系
9、统中大多都包含了 BPM 的功能和可供用户来开发和管理的技术平台。近年来,随着 SOA 技术实现手段、特别是基于标准的互联网技术(如 Web 服务和 XML)不断成熟,SOA 发展势头迅猛。从 2006 年至今,SOA 已经逐渐成为影响中国 IT 系统构建的主导方法和过程,在我国金融、电信、烟草、电子政务、医疗卫生、企业信息化、B2B、物流以及钢铁制造等行业和领域开始得到应用,关于各行业或领域的 SOA 应用情况,可参阅本书的第二篇相关内容。2 SOA 特点基于 SOA 来构建的 IT 系统具备如下特点:2.1 以业务为中心SOA 更多关注于用户业务,通过业务人员参与 SOA 系统的规划、设计
10、和管理,使得 IT 系统能在对业务的深刻理解的基础上进行构建,实现 IT 系统与用户业务的密切结合。在具体实施中,通过把完成实际业务流程中的一项任务所需的 IT 资源组织为服务进行封装,从而达到以业务为核心,通过业务选择技术,避免技术制约业务的问题。2.2 灵活适应变化IT 系统围绕用户业务构建,用户业务在实现层通过表现为一系列松散耦合的“服务”来实现,这些服务可以根据用户需求随需组合,使得 IT 系统对于业务的适应能力明显提高。2.3 重用 IT 资源,提升开发效率SOA 强调对“服务 ”的重用,对原有 IT 资源的重用度提升是 SOA 带来的关键效果之一,大量具有高重用的服务资源,为快速构
11、建新的业务功能和业务系统奠定基础,使得 IT 系统的开发和软件生产效率得到提升。同时,重用过程有利于保护用户前期的信息化投资和 IT 资产积累,节省 IT 系统开发成本,实现用户信息化的可持续性建设与发展。2.4 更强调标准SOA 的实现强调基于统一的标准,SOA 系统建立在大量的开放标准和协议之上,以实现系统及信息的互联互通和互操作。因此,SOA 系统从规划到实施,标准都至关重要。3 SOA 效益及适用场景3.1 SOA 效益SOA 效益主要体现在如下几个方面:1) 提高业务效率和用户满意度目前,我国企事业单位及政府部门都在强调“服务” 能力,各类组织对如何提高服务水平并使 IT 系统快速响
12、应新业务需求的要求,已经超过了对于 IT 系统开发效率的要求。依托“服务” 的松耦合性和重用性,通过现有“服务” 和 IT 资产的组装,SOA 减少了新业务应用开发的时间,提高了产品和服务的上市速度和开发效率,使得 SOA 系统中的“ 服务”和IT 资产以更灵活的配置适应新的需求变化,提高了业务效率。SOA 通过创建与具体技术和最终用户设备无关的服务,应用于各种用户服务渠道,以保证一致的用户体验,提高用户的满意度。2) 有利于整合 IT 资源,提高 IT 系统的对外协作能力不少行业的企事业单位实施了很多应用系统,比如金融、电信行业以及一些集团企业,如何在不同省市的子公司、分公司和多元化下属单位
13、整合原有系统和信息资源,都是目前面临的主要系统建设需求。SOA 不仅仅是技术层面,同时提供了系统集成开发的主要方法及策略。SOA 倡导遵循开放标准,并独立于厂商多样性的环境,为基于互联网的组织内和组织间的系统通信协作和资源共享提供了良好的互操作性和可用性。3) 提高投资回报率采用 SOA 的企业、机关部门,将基于服务规则和要求,构建下层 IT 架构,具有技术中立的特性,降低了对厂商的依赖和转换成本;其次,SOA 系统以“ 服务”为中心,梳理和重组业务流程,使各个业务系统能够互联互通和资源共享,这种服务的松耦合及平台中立为机构降低了集成成本,松耦合和模块化简化了维护工作,降低了维护成本;因此,总
14、体而言,SOA 可以保护原有 IT 投资,提高现有 IT 资产的投资回报率。单个企业或单位的力量是有限的,只有某个行业内或供应链上的多家企业和单位联合,共享“服务” 资源,才能推动 SOA 的开发模式进程,收到良好效益。在推进 SOA 的同时,相应的标准化工作必须先行,用统一标准指导各家的服务开发、接口定义、通用数据格式定义、资源存储、服务注册与查询等 SOA 实践工作。3.2 SOA 适用场景上述章节提到了 SOA 的特点以及能带来的效益,但是,SOA 并不是在所有的情况和场景下都适用,只有在适宜 SOA 特性的场景下,并采用合适的实施策略来保障,才有可能逐步得到 SOA 带来的各项效益。从
15、 SOA 特点来看, SOA 在一些场景中能发挥其作用和优势,如: 企事业单位或者政府部门内部 IT 系统的整合由于业务重组、并购或者内部机制调整,而需要实现组织内的统一管理、协作和信息共享。需要对多个异构的 IT 系统进行整合,提高组织的整体决策、监控能力或业务流程效率。 企事业单位和政府部门之间 IT 资源的共享和协同为了在业务和市场上合作,需要依赖业务合作伙伴提供其 IT 系统的非核心业务功能或信息。某项服务能力,需要多个组织和单位的 IT 系统需要共享信息,并联合处理,比如电子政务中的“一站式审批” 服务、各级政务资源共享交换平台等。 从头开始开发的新应用系统SOA 将是未来 IT 新
16、系统构建的主导方法,因此考虑到未来的扩展和重用能力,用户在业务允许的条件范围内、可选择基于 SOA 来构建新应用系统。 基于互联网的一些新的应用模式基于互联网的软件服务化平台,如 SaaS 等模式。在信息化建设中,除自己的 IT 系统之外,也同时希望集成互联网上的一些软件工具或Web 服务的企事业单位,如采用“软件+服务”策略的单位。但是,也有一些应用场景不适合用 SOA 来实现,此时采用传统的技术、方法和过程来实施更为妥当,比如下述一些场景: 用户业务涉及效率敏感及实时性要求较高的系统,如工业控制、核心交易系统。 事务及安全性要求较高的业务系统。 用户的业务系统没有集成的需求。 当前的 IT
17、 系统基于统一的平台和编程方法。对于大多数企事业单位和政府部门来说,如果采纳了 SOA,还需要注意如下事项: 考虑 SOA 产品选型,重视业务流程的管理,使 SOA 成为其全面业务转型的实现手段。 企事业单位和政府部门在进行业务规划时,应基于自身实际,不要盲从。 采用 SOA 要从全局慎重规划,以循序渐进、逐步推进为宜。具体的规划和实施建议,可参见本书后续章节的相关内容。4 SOA 技术概述4.1 SOA 技术体系从技术层面来看,SOA 并不是一项技术创新,传统的技术在构建 SOA 系统时同样能派上用场。实际上,在采用 SOA 进行系统整合的项目中很多被整合的系统本身就是基于传统技术开发的,但
18、与传统构建系统的方法比较,SOA 更强调标准化应用,更加重视系统的层次架构。SOA 特性之一的互联互通性就体现在系统中任一个服务能被其他服务甚至是其他系统的服务准确无误地发现及理解,而满足这种特性最直接的方式就是每个服务都遵循一系列统一标准。因此,只要在开发过程中遵循 SOA 的理念,采用统一的标准,任何现有技术都能用来开发 SOA 系统。SOA 与传统技术体系的区别在于系统均是基于“ 服务”构造, “服务” 之间的交互和组合采用了一种基于“服务中介平台”的方式实现了松耦合,图 1-1 是 “服务”被提供和使用过程的示意图。SOA 系统中服务交互示意图在图 1-1 中,服务提供者是一个可以通过
19、网络寻址到的实体,它提供的“服务”是基于 IT 系统的某个功能或流程;服务请求者调用和使用服务提供者提供的“服务” ;服务中介平台类似代理的角色,以目录方式存储了大量“服务” 资源,一方面可以接受服务提供者提供的各类“服务” 信息,另一方面可以通过协调机制把“服务” 的请求分配给服务提供者。这样为服务请求者和服务提供者建立了中立的沟通渠道。上述对服务交互图的描述是为了解释 SOA 的核心元素“ 服务 ”的运行机制。便于对技术有兴趣的用户 IT 人员了解。下述内容将围绕 SOA 系统的整体技术体系来进行说明。在具体的项目中,SOA 系统构建没有完全统一的模式,系统的体系架构需要根据用户现状进行分析设计。但在层次和内容上,SOA 系统存在一些共性的特征。通常而言,SOA 系统的技术体系包含如下几个层次及内容,如图 1-2 所示。SOA 系统基本技术体系1) 基础设施层既包括服务器、网络设备等硬件设施,也包括操作系统、数据库系统等基础软件,作为整个 SOA 系统运行的基础平台。2) 已有资源层指用户当前所拥有的 IT 资源。 “已有应用系统资源”和“ 已有信息或数据资源 ”是指用户当前运行的应用系统及数据系统中,若干适合抽取出来作为为上层系统提供服务支持的资源。被