1、 ICS备案号: Q/CSG中 国 南 方 电 网 责 任 有 限 公 司 企 业 标 准Q/CSG11817-2010面向服务的信息技术架构(SOA)框架规范2010-04-20 发布 2010-05-01 实施中 国 南 方 电 网 责 任 有 限 公 司 发 布Q/CSG11817-2010I目 次 前 言 .III1 范围 .12 规范性引用文件 .13 术语与定义 .13.1 面向服务的体系结构 .13.2 服务 .13.3 企业服务总线 .13.4 企业资源规划 .13.5 企业应用集成 .13.6 企业信息门户 .13.7 SOA 项目 .14 总则 .14.1 持续发展原则 .
2、14.2 先进性原则 .24.3 实用性原则 .24.4 操作性原则 .25 SOA 架构模型 .25.1 服务体系 .25.1.1 服务体系设计依据 .25.1.2 服务体系图 .25.1.3 服务体系各层定义 .35.2 应用体系 .45.3 服务部署体系 .55.4 技术标准规范体系 .65.4.1 技术标准规范体系图 .65.4.2 服务开发技术标准规范 .95.4.3 服务集成技术标准规范 .135.5 SOA 架构模型特征 .146 SOA 服务设计与开发 .146.1 服务识别 .146.2 服务定义 .146.3 服务设计 .166.3.1 总体设计原则 .166.3.2 访问
3、服务 .166.3.3 数据服务 .166.3.4 业务服务 .176.3.5 流程服务 .176.3.6 综合服务 .176.3.7 展现服务 .176.4 服务实现 .176.4.1 服务封装原则 .186.4.2 服务封装方式 .187 SOA 服务集成 .18Q/CSG11817-2010II7.1 企业服务总线 .187.2 服务描述 .197.3 服务注册/发布 .197.4 服务发现/调用 .197.5 服务编排 .197.6 服务管理 .197.6.1 管理内容 .197.6.2 参考流程 .208 SOA 项目管理 .248.1 项目实施方法 .248.2 项目实施策略 .2
4、48.3 项目实施路线 .258.4 项目实施步骤 .268.4.1 项目准备 .268.4.2 项目需求分析 .278.4.3 项目设计与实现 .278.5 项目验收 .288.5.1 总体要求 .288.5.2 验收文档规范 .28Q/CSG11817-2010III前 言 随着中国南方电网有限责任公司(以下简称为南方电网公司)企业信息化应用的不断发展和信息资源的不断积累,公司在探讨与实践企业信息技术架构时认识到:多元化的信息技术架构不利于企业信息化应用的发展和企业信息资源的积累与共享。多年来信息化建设的实践证明:不同信息技术架构造成了技术体系复杂混乱、技术标准不兼容、IT 系统间互操作性
5、差、上下信息交换不通畅、IT 管理不规范等弊端。企业的业务的不断发展变化需要多套应用系统同时支撑业务运行和管理,一个好的信息技术架构不应割裂 IT 与实际业务之间的联系,而是应更好、更快地适应业务的变化。通过前期对“ERP 套装软件” 、专业开发+应用集成/信息门户” 、及“面向服务的架构(SOA) ”三种具有代表性的应用系统建设模式进行分析表明:SOA 代表了应用系统建设模式及信息技术架构的发展方向,无论是 ERP 厂商还是应用集成/信息门户(EAI/EIP)平台厂商,都在逐步采用 SOA 的理念和技术。SOA 使得 IT 能够更好地提供业务价值,更灵活、更易于重用。因此,南方电网公司选择
6、SOA 架构作为未来信息化建设统一的技术路线。本规范立足于南方电网公司“十一五”信息化规划的战略发展高度,定义统一、先进与实用的面向服务的信息技术架构(以下简称:SOA 架构)框架规范,以实现南方电网公司信息一体化体系中“构建南方电网公司开放的、集成的、一体化的信息化应用环境”的目标,健全南方电网公司信息化标准体系。本规范旨在为南方电网公司统一实施 SOA 架构提供通用性的指导,各分、子公司可根据各自应用系统建设的实际需求,在不违背本规范原则的前提下,对其进行不同深度与广度的扩展。本标准由中国南方电网公司信息中心提出、归口并解释。本标准主要起草单位:南网信息中心、超高压公司、调峰调频公司、广东
7、电网公司、广西电网公司、云南电网公司、贵州电网公司、海南电网公司。本标准主要起草人:王志英、张建民、张诗军、蔡徽、徐兵元、萧展辉、解文艳、刘杰、朱永虎、汪浩、郭玮、陈俊、朱金所、王波、翁小云、曹建海、李小福、朱震宇本标准由中国南方电网有限责任公司标准化委员会批准。本标准自颁发之日起实施。Q/CSG11817-20101面向服务的信息技术架构(SOA)框架规范1 范围本规范适用于南方电网公司基于 SOA 架构的应用系统开发和企业应用集成、SOA 项目咨询以及 SOA项目监理。2 规范性引用文件下列文件中的条款通过本标准的引用而构成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘
8、误的内容)或修订版均不适用于本标准,但鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。中国南方电网公司“十一五”信息化规划中国南方电网公司信息分类与编码标准中国南方电网公司信息分类与编码标准 3 术语与定义3.1 面向服务的体系结构面向服务的体系结构(Service-Oriented Architecture),即 SOA 是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期。SOA 以服务为核心,来实现的 IT 系统更灵活、更易于重用、更好(也更快)地应对变化。3.2
9、 服务在 SOA 架构中,服务是最核心的抽象手段,它具有明确的功能,通常封装着业务功能或者数据。一个服务包括接口(Interface)、契约(Contract)和实现(Implementation)三个部分。服务的接口和契约采用中立、基于标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在不同系统中的服务可以以一种统一的和通用的方式进行交互。3.3 企业服务总线企业服务总线(Enterprise Service Bus) ,以下简称 ESB,是一种在松散耦合的服务和应用之间标准的集成方式,提供简单、快速、基于标准的多点集成,类似硬件中的总线结构。3.4 企业资源规划
10、企业资源规划(Enterprise Resource Planning) ,即 ERP 是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。狭义的 ERP 仅仅局限在制造业的企业资源规划方面,广义的 ERP 随着供需链管理(SCM)和企业业务流程重组(BPR)等管理理论的引入,实现了企业人、财、物、信息等所有的资源和产、供销等所有业务。3.5 企业应用集成企业应用集成(Enterprise Application Integration) ,即 EAI 是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。EAI 通过建立底层结构,来联系横
11、贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM 、数据库、数据仓库,以及其它重要的内部系统之间无缝地共享和交换数据的需要。3.6 企业信息门户企业信息门户(Enterprise Information Portal) ,即 EIP 是一个应用系统,它使企业能够释放存储在内部和外部的各种信息,让用户能够从单一的渠道访问其所需的个性化信息。3.7 SOA项目本规范中的 SOA 项目是指南方电网公司基于 SOA 架构的应用系统建设或集成项目。4 总则信息技术架构是指导信息化建设的技术框架,信息化应用项目的建设必须遵从这个框架的要求,以促进信息化应用项目建设的高效率、高
12、质量、高标准和可持续发展。南方电网公司 SOA 架构设计遵循下述原则:4.1 持续发展原则Q/CSG11817-20102基于目前南方电网公司信息技术架构模型的现状,站在南方电网公司企业发展以及信息化发展的战略高度,统一南方电网公司信息技术架构模型,以实现信息化建设的高效率、高质量、高标准和可持续发展为原则。4.2 先进性原则必须坚持与世界先进技术发展水平同步,遵循相关的技术规范及标准,保证能满足目前与未来信息化建设的需求。4.3 实用性原则以重用、协作和资源共享为基础,确立信息技术架构模型和技术部署的最佳实践,为实施信息技术架构模型制定策略与方法,以利于引导信息化建设项目的实施。4.4 操作
13、性原则综合考虑目前南方电网公司信息化建设的实际,使多元化的信息技术架构模型能逐步过渡到统一的信息技术架构模型。5 SOA架构模型参考国际结构化信息标准促进组织(OASIS)发布的 SOA 参考模型,结合南方电网公司信息化建设的实际,在上述总体设计原则的指导下,本章定义了南方电网公司 SOA 架构模型,以下从四个不同的角度描述的子模型进行说明。5.1 服务体系5.1.1 服务体系设计依据(一)SOA 架构的核心理念是打破传统面向各个业务领域的、僵化的垂直应用构建模式,将应用分解为可重用、松耦合、互操作的服务体系结构,通过服务的编排组合来实现业务的组合,通过服务的松耦合来满足业务变化和调整,通过服
14、务的重用来降低软件开发的成本。(二)南方电网公司 SOA 架构之服务体系采用组件化的分层结构设计思想,使其具有预制性、封装性、透明性、互操作性、通用性等特征,便于快速地组装新的应用。上层的服务依赖于下层的服务来实现,而不需要了解下层的实现逻辑,通过服务的分层,降低服务之间的耦合度,提高可重用性。5.1.2 服务体系图南方电网公司 SOA 架构之服务体系建立在企业的信息资源层之上,包括但不限于下述六层:访问服务层、数据服务层、业务服务层、流程服务层、综合服务层、展现服务层。信息资源层为上层提供应用资源(应用系统模块)与数据资源,它包括传统的封闭的应用系统、已经打包好的应用程序、业务系统数据库、数
15、据仓库、非结构化数据等。Q/CSG11817-20103图 1数据服务层数据转换 数据映射 数据聚合数据同步. . .流程服务层自动流程服务人工交互流程服务流程引擎流程监控. . .展现服务层访问服务层适配器 用户 A P IJ D B C消息. . . 业务服务层营销业务服务生产业务服务财务业务服务工程业务服务. . .综合服务层跨业务域综合服务跨部门综合服务跨单位综合服务. . .信息资源层. . .业务数据数据仓库非结构化数据打包应用遗留系统门户组件人机交互组件网页组件报表组件. . .图 5.1 SOA服务体系图南方电网公司基于 SOA 架构的应用至少应包括数据服务层和业务服务层,为了
16、更好地实现个性化和灵活的表现形式,通常还应包括展现服务层。针对某些具体的应用,可以根据实际情况对六层服务体系架构进行简化与合并,例如:当只需要访问关系型数据库时,可以考虑将访问服务层与数据服务层合并;当应用系统比较简单时,可能不需要流程服务层及综合服务层。5.1.3 服务体系各层定义(一)访问服务层:访问服务层实现与底层数据资源、应用资源的通信功能,使用通用标准接口,定义整合企业信息资源(数据资源与应用资源)的各种访问服务,例如:不同类型的适配器以及专用的 API 等等。访问服务屏蔽了企业信息资源(现在的或未来的)的技术和实现方式,访问服务层之上的开发者无需知道数据的位置、类型以及应用程序的编
17、程语言等。(二)数据服务层:数据服务层定义的服务支持把异构的、孤立的企业数据转变成集成的、双向的、可重复使用的信息资源。数据服务通过访问服务层以统一的方式访问企业的所有数据,数据服务层之上的开发者可以集中精力处理数据的加工问题,而不必关注访问不同来源的数据的实现细节。(三)业务服务层:业务服务层定义那些可重用的业务处理过程,用于支持复合的业务处理需求。这层定义的业务处理过程服务可能是单个原子事务的无状态处理操作服务,也可能是多个业务应用或异步服务之间交互的有状态处理操作服务。业务服务层之上的开发者无需知道具体某项业务的逻辑处理过程。(四)流程服务层:业务流程是一组服务的集合,服务按照特定的顺序
18、并使用一组特定的规则进行调用,其本身也可视为服务。流程服务层定义有状态的(长期运行或需要人工参与)、完整的业务流程。流程服务通过对下层的数据服务、业务服务的编排来实现,流程编排的规则在该层内定义。(五)综合服务层:综合服务层以提升企业综合管理职能、优化企业价值链为出发点,规划跨系统、跨业务管理职能域、跨单位的服务。综合服务层定义的服务是由下层的访问服务、数据服务、业务服务、流程服务组合而成的服务,目的是通过服务的简单编排就可以快速搭建出新的业务应用系统。Q/CSG11817-20104(六)展现服务层,展现服务层定义企业信息门户(EIP)中可配置、可重用的门户组件(Portlets),用于支持
19、门户应用的开发;以及人机交互组件、网页组件、报表组件实现对不同客户接入方式的支持,并提供丰富的客户端展现方式。5.2 应用体系基于 SOA 架构的应用系统由服务库中的各类服务,通过 ESB 组合而成。服务库中的服务既包括新开发的服务,也包括将已有的应用系统资源中需要共享的内容封装而成的服务。1、通过 ESB 对 SOA 服务库的各类“服务”的定义、注册、使用、维护、弃用与退役实现全生命周期的规范管理。2、ESB 接入的数据源类型包括:关系型数据库、Web 服务、XML 文件、文本文件、JAVA 函数等。业务系统数据可直接抽取到数据中心,数据中心本身也可以作为一个数据源接入到 ESB,供业务系统
20、共享使用。3、对于生产系统中的自动化控制类等对性能要求较高的实时应用系统,建议采用传统的技术路线包括:直接访问业务系统数据库、文件或者网页的方式,但其中某些业务功能也允许被封装为业务服务供其它应用集成者调用。服务非 S O A应用系统系统 1 系统 2 系统 3. . .数据源组 件 组 件开发开发数据服务配置 / 开发业务服务封装访问服务适 配 器服务目录服务库服务编排展现服务流程服务S O A 应用系统企业服务总线E S B综合服务图 5.2 SOA应用体系视图Q/CSG11817-201055.3 服务部署体系(一)服务部署架构:在还未全部实现应用系统省级大集中的情况下,允许按“南网总部
21、省公司地市供电局”的三级管理体系部署服务,并依据“服务资产”的归属权、共享范围以及维护责任分别部署在各自的服务目录与服务库中。最终目标是要实现按“南网总部-省公司”的两级服务部署。ESB 是实现服务集成与管理的枢纽,调用者只能看到总线提供的代理服务,总线后台真正的服务对调用者来说是透明的。(二)服务部署与调用策略规范如下:1、在应用系统省级大集中情况下:服务目录、服务库和 ESB 分别部署在南方电网公司总部、省公司(或分公司)两级;在未实现应用系统省级大集中的情况下:服务目录、服务库和 ESB 分别部署在南方电网公司总部、省公司(或分公司)及地市供电局三级。2、无论是南方电网公司总部、省公司(
22、或分公司)还是地市供电局,对本地服务的调用只须经过本地的 ESB。3、南方电网公司总部开发的、经过审批的服务登记到总部的服务目录中,对这些服务的调用都必须经过南方电网公司总部的 ESB。4、省公司(或分公司)开发的全南网范围内共享的服务,在经过南方电网公司审批后也被登记到南方电网公司总部的服务目录中,省公司(或分公司)的 ESB 通过访问南方电网公司总部的服务目录查找全网范围内共享的服务。5、省公司(或分公司)之间服务的异地调用,必须经过南方电网公司总部的 ESB 实现。6、省公司(或分公司)开发的、经过审批的、提供给自己及下属单位调用的服务登记到省公司(或分公司)的服务目录中,对这些服务的调
23、用都必须经过省公司(或分公司)的 ESB。7、地市供电局开发的全省网范围内共享的服务,在经过省公司审批后也被登记到省公司的服务目录中,各地市供电局的 ESB 通过访问省公司的服务目录查找全省范围内共享的服务。8、地市供电局的服务目录只登记本地市开发的、经过审批的、提供给自己调用的服务。9、地市供电局之间服务的异地调用,必须经过省公司的 ESB 实现。Q/CSG11817-20106非省级集中省级集中服务目录服务库服务管理南网总部服务总线服务注册 服务维护服务报废 服务策略服务监控 服务水平注册 / 发布服务提供者服务目录服务库服务管理省公司服务总线服务注册 服务维护服务报废 服务策略服务监控
24、服务水平服务目录服务库服务管理省公司服务总线服务注册 服务维护服务报废 服务策略服务监控 服务水平服务目录服务库服务管理地市供电局服务总线服务注册 服务维护服务报废 服务策略服务监控 服务水平服务消费者 服务管理者配置 / 管理 / 监控发现 / 调用. . . . .服务提供者注册 / 发布服务消费者发现 / 调用服务提供者配置 / 管理 / 监控注册 / 发布发现 / 调用配置 / 管理 / 监控服务提供者服务消费者服务管理者注册 / 发布配置 / 管理 / 监控服务提供者服务消费者服务管理者发现 / 调用图 2 图 5.3 SOA服务部署视图5.4 技术标准规范体系(一)本节从 IT 技
25、术实现的角度,定义了 SOA 服务开发与集成必须遵循的标准或规范,以保证南网电网公司内部共享服务的一致性和可重用性。各分子公司可结合各自现有应用系统建设情况和集成需求,制定相关的数据集成、流程集成、服务集成等建设规范。(二)SOA 服务开发与集成技术标准规范的选择必须满足但不限于下述指导原则:1、以 Web Service 技术作为 SOA 服务开发技术的首选技术,并要求遵循 WS-I Basic Profile 1.0 的有关指引;2、以 Java 技术作为 Web Service 开发的优先选择技术;3、为了最大限度地复用现有应用系统的业务功能,在选择 SOA 技术标准规范时,必须考虑现有
26、业务功能封装对技术标准规范的支持能力;4、在选择 SOA 技术标准规范时,应重点定义“服务接口”和消息协议标准或规范,对服务内部功能实现所采用的技术标准规范可不加限制;5、凡与 SOA 重用性密切相关的组件,如服务接口,必须采用成熟的技术标准规范;6、对还没有最后定案的事实标准或规范(这类标准通常不是被所有软件平台和开发商支持,或者还不是很成熟,或者产品的支持与产品之间的兼容性差),作为可选技术参考使用;7、为了充分利用企业现有的 IT 资产,降低开发难度和成本,可以考虑采用现有系统已经支持或采用的技术标准规范;8、IT 部门员工目前熟悉并掌握的技术标准规范也可作为选用依据之一,SOA 服务的实现通常不限制采用何种技术,因此,服务的“实现”可采用 IT 部门员工目前熟悉的技术或规范开发。5.4.1 技术标准规范体系图