当前位置:文档之家› 面向服务(SOA)技术架构规范

面向服务(SOA)技术架构规范

面向服务(SOA)技术架构规范
面向服务(SOA)技术架构规范

ICS

备案号: Q/CSG

中国南方电网责任有限公司企业标准

面向服务的信息技术架构(SOA )框架规范

中国南方电网责任有限公司 发 布

目次

前言............................................................................ III 1范围. (1)

2规范性引用文件 (1)

3术语与定义 (1)

3.1面向服务的体系结构 (1)

3.2服务 (1)

3.3企业服务总线 (1)

3.4企业资源规划 (1)

3.5企业应用集成 (1)

3.6企业信息门户 (1)

3.7SOA项目 (1)

4总则 (1)

4.1持续发展原则 (1)

4.2先进性原则 (2)

4.3实用性原则 (2)

4.4操作性原则 (2)

5SOA架构模型 (2)

5.1服务体系 (2)

5.1.1服务体系设计依据 (2)

5.1.2服务体系图 (2)

5.1.3服务体系各层定义 (3)

5.2应用体系 (4)

5.3服务部署体系 (5)

5.4技术标准规范体系 (6)

5.4.1技术标准规范体系图 (6)

5.4.2服务开发技术标准规范 (9)

5.4.3服务集成技术标准规范 (13)

5.5SOA架构模型特征 (14)

6SOA服务设计与开发 (14)

6.1服务识别 (14)

6.2服务定义 (14)

6.3服务设计 (16)

6.3.1总体设计原则 (16)

6.3.2访问服务 (16)

6.3.3数据服务 (17)

6.3.4业务服务 (17)

6.3.5流程服务 (17)

6.3.6综合服务 (17)

6.3.7展现服务 (17)

6.4服务实现 (18)

6.4.1服务封装原则 (18)

6.4.2服务封装方式 (18)

7SOA服务集成 (18)

I

7.1企业服务总线 (18)

7.2服务描述 (19)

7.3服务注册/发布 (19)

7.4服务发现/调用 (19)

7.5服务编排 (19)

7.6服务管理 (19)

7.6.1管理内容 (19)

7.6.2参考流程 (20)

8SOA项目管理 (24)

8.1项目实施方法 (24)

8.2项目实施策略 (24)

8.3项目实施路线 (25)

8.4项目实施步骤 (26)

8.4.1项目准备 (26)

8.4.2项目需求分析 (27)

8.4.3项目设计与实现 (27)

8.5项目验收 (28)

8.5.1总体要求 (28)

8.5.2验收文档规范 (28)

II

前言

随着中国南方电网有限责任公司(以下简称为南方电网公司)企业信息化应用的不断发展和信息资源的不断积累,公司在探讨与实践企业信息技术架构时认识到:多元化的信息技术架构不利于企业信息化应用的发展和企业信息资源的积累与共享。多年来信息化建设的实践证明:不同信息技术架构造成了技术体系复杂混乱、技术标准不兼容、IT系统间互操作性差、上下信息交换不通畅、IT管理不规范等弊端。

企业的业务的不断发展变化需要多套应用系统同时支撑业务运行和管理,一个好的信息技术架构不应割裂IT与实际业务之间的联系,而是应更好、更快地适应业务的变化。通过前期对“ERP套装软件”、专业开发+应用集成/信息门户”、及“面向服务的架构(SOA)”三种具有代表性的应用系统建设模式进行分析表明:SOA代表了应用系统建设模式及信息技术架构的发展方向,无论是ERP厂商还是应用集成/信息门户(EAI/EIP)平台厂商,都在逐步采用SOA的理念和技术。SOA使得IT能够更好地提供业务价值,更灵活、更易于重用。因此,南方电网公司选择SOA架构作为未来信息化建设统一的技术路线。

本规范立足于南方电网公司“十一五”信息化规划的战略发展高度,定义统一、先进与实用的面向服务的信息技术架构(以下简称:SOA架构)框架规范,以实现南方电网公司信息一体化体系中“构建南方电网公司开放的、集成的、一体化的信息化应用环境”的目标,健全南方电网公司信息化标准体系。

本规范旨在为南方电网公司统一实施SOA架构提供通用性的指导,各分、子公司可根据各自应用系统建设的实际需求,在不违背本规范原则的前提下,对其进行不同深度与广度的扩展。

本标准由中国南方电网公司信息中心提出、归口并解释。

本标准主要起草单位:南网信息中心、超高压公司、调峰调频公司、广东电网公司、广西电网公司、云南电网公司、贵州电网公司、海南电网公司。

本标准主要起草人:王志英、张建民、张诗军、蔡徽、徐兵元、萧展辉、解文艳、刘杰、朱永虎、汪浩、郭玮、陈俊、朱金所、王波、翁小云、曹建海、李小福、朱震宇

本标准由中国南方电网有限责任公司标准化委员会批准。

本标准自颁发之日起实施。

III

面向服务的信息技术架构(SOA)框架规范

1范围

本规范适用于南方电网公司基于SOA架构的应用系统开发和企业应用集成、SOA项目咨询以及SOA 项目监理。

2规范性引用文件

下列文件中的条款通过本标准的引用而构成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,但鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。

《中国南方电网公司“十一五”信息化规划》

《中国南方电网公司信息分类与编码标准》

《中国南方电网公司信息分类与编码标准》

3术语与定义

3.1面向服务的体系结构

面向服务的体系结构(Service-Oriented Architecture),即SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期。SOA以服务为核心,来实现的IT系统更灵活、更易于重用、更好(也更快)地应对变化。

3.2服务

在SOA架构中,服务是最核心的抽象手段,它具有明确的功能,通常封装着业务功能或者数据。一个服务包括接口(Interface)、契约(Contract)和实现(Implementation)三个部分。服务的接口和契约采用中立、基于标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在不同系统中的服务可以以一种统一的和通用的方式进行交互。

3.3企业服务总线

企业服务总线(Enterprise Service Bus) ,以下简称ESB,是一种在松散耦合的服务和应用之间标准的集成方式,提供简单、快速、基于标准的多点集成,类似硬件中的总线结构。

3.4企业资源规划

企业资源规划(Enterprise Resource Planning) ,即ERP是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。狭义的ERP仅仅局限在制造业的企业资源规划方面,广义的ERP随着供需链管理(SCM)和企业业务流程重组(BPR)等管理理论的引入,实现了企业人、财、物、信息等所有的资源和产、供销等所有业务。

3.5企业应用集成

企业应用集成(Enterprise Application Integration) ,即EAI是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部系统之间无缝地共享和交换数据的需要。

3.6企业信息门户

企业信息门户(Enterprise Information Portal) ,即EIP是一个应用系统,它使企业能够释放存储在内部和外部的各种信息,让用户能够从单一的渠道访问其所需的个性化信息。

3.7SOA项目

本规范中的SOA项目是指南方电网公司基于SOA架构的应用系统建设或集成项目。

4总则

信息技术架构是指导信息化建设的技术框架,信息化应用项目的建设必须遵从这个框架的要求,以促进信息化应用项目建设的高效率、高质量、高标准和可持续发展。南方电网公司SOA架构设计遵循下述原则:

4.1持续发展原则

1

基于目前南方电网公司信息技术架构模型的现状,站在南方电网公司企业发展以及信息化发展的战略高度,统一南方电网公司信息技术架构模型,以实现信息化建设的高效率、高质量、高标准和可持续发展为原则。

4.2先进性原则

必须坚持与世界先进技术发展水平同步,遵循相关的技术规范及标准,保证能满足目前与未来信息化建设的需求。

4.3实用性原则

以重用、协作和资源共享为基础,确立信息技术架构模型和技术部署的最佳实践,为实施信息技术架构模型制定策略与方法,以利于引导信息化建设项目的实施。

4.4操作性原则

综合考虑目前南方电网公司信息化建设的实际,使多元化的信息技术架构模型能逐步过渡到统一的信息技术架构模型。

5SOA架构模型

参考国际结构化信息标准促进组织(OASIS)发布的SOA参考模型,结合南方电网公司信息化建设的实际,在上述总体设计原则的指导下,本章定义了南方电网公司SOA架构模型,以下从四个不同的角度描述的子模型进行说明。

5.1服务体系

5.1.1服务体系设计依据

(一)SOA架构的核心理念是打破传统面向各个业务领域的、僵化的垂直应用构建模式,将应用分解为可重用、松耦合、互操作的服务体系结构,通过服务的编排组合来实现业务的组合,通过服务的松耦合来满足业务变化和调整,通过服务的重用来降低软件开发的成本。

(二)南方电网公司SOA架构之服务体系采用组件化的分层结构设计思想,使其具有预制性、封装性、透明性、互操作性、通用性等特征,便于快速地组装新的应用。上层的服务依赖于下层的服务来实现,而不需要了解下层的实现逻辑,通过服务的分层,降低服务之间的耦合度,提高可重用性。

5.1.2服务体系图

南方电网公司SOA架构之服务体系建立在企业的信息资源层之上,包括但不限于下述六层:访问服务层、数据服务层、业务服务层、流程服务层、综合服务层、展现服务层。信息资源层为上层提供应用资源(应用系统模块)与数据资源,它包括传统的封闭的应用系统、已经打包好的应用程序、业务系统数据库、数据仓库、非结构化数据等。。

2

图1

图5.1 SOA服务体系图

南方电网公司基于SOA架构的应用至少应包括数据服务层和业务服务层,为了更好地实现个性化和

灵活的表现形式,通常还应包括展现服务层。针对某些具体的应用,可以根据实际情况对六层服务体系架构进行简化与合并,例如:当只需要访问关系型数据库时,可以考虑将访问服务层与数据服务层合并;当应用系统比较简单时,可能不需要流程服务层及综合服务层。

5.1.3服务体系各层定义

(一)访问服务层:访问服务层实现与底层数据资源、应用资源的通信功能,使用通用标准接口,定义整合企业信息资源(数据资源与应用资源)的各种访问服务,例如:不同类型的适配器以及专用的API等等。访问服务屏蔽了企业信息资源(现在的或未来的)的技术和实现方式,访问服务层之上的开发者无需知道数据的位置、类型以及应用程序的编程语言等。

(二)数据服务层:数据服务层定义的服务支持把异构的、孤立的企业数据转变成集成的、双向的、可重复使用的信息资源。数据服务通过访问服务层以统一的方式访问企业的所有数据,数据服务层之上的开发者可以集中精力处理数据的加工问题,而不必关注访问不同来源的数据的实现细节。

(三)业务服务层:业务服务层定义那些可重用的业务处理过程,用于支持复合的业务处理需求。这层定义的业务处理过程服务可能是单个原子事务的无状态处理操作服务,也可能是多个业务应用或异步服务之间交互的有状态处理操作服务。业务服务层之上的开发者无需知道具体某项业务的逻辑处理过程。

(四)流程服务层:业务流程是一组服务的集合,服务按照特定的顺序并使用一组特定的规则进行调用,其本身也可视为服务。流程服务层定义有状态的(长期运行或需要人工参与)、完整的业务流程。流程服务通过对下层的数据服务、业务服务的编排来实现,流程编排的规则在该层内定义。

(五)综合服务层:综合服务层以提升企业综合管理职能、优化企业价值链为出发点,规划跨系统、跨业务管理职能域、跨单位的服务。综合服务层定义的服务是由下层的访问服务、数据服务、业务服务、流程服务组合而成的服务,目的是通过服务的简单编排就可以快速搭建出新的业务应用系统。

3

(六)展现服务层,展现服务层定义企业信息门户(EIP)中可配置、可重用的门户组件(Portlets),用于支持门户应用的开发;以及人机交互组件、网页组件、报表组件实现对不同客户接入方式的支持,并提供丰富的客户端展现方式。

5.2应用体系

基于SOA架构的应用系统由服务库中的各类服务,通过ESB组合而成。服务库中的服务既包括新开发的服务,也包括将已有的应用系统资源中需要共享的内容封装而成的服务。

1、通过ESB对SOA服务库的各类“服务”的定义、注册、使用、维护、弃用与退役实现全生命周期的规范管理。

2、ESB接入的数据源类型包括:关系型数据库、Web服务、XML文件、文本文件、JAVA函数等。业务系统数据可直接抽取到数据中心,数据中心本身也可以作为一个数据源接入到ESB,供业务系统共享使用。

3、对于生产系统中的自动化控制类等对性能要求较高的实时应用系统,建议采用传统的技术路线包括:直接访问业务系统数据库、文件或者网页的方式,但其中某些业务功能也允许被封装为业务服务供其它应用集成者调用。

流程

服务

服务编排

图5.2 SOA应用体系视图

4

5.3服务部署体系

(一)服务部署架构:在还未全部实现应用系统省级大集中的情况下,允许按“南网总部—省公司—地市供电局”的三级管理体系部署服务,并依据“服务资产”的归属权、共享范围以及维护责任分别部署在各自的服务目录与服务库中。最终目标是要实现按“南网总部---省公司”的两级服务部署。ESB 是实现服务集成与管理的枢纽,调用者只能看到总线提供的代理服务,总线后台真正的服务对调用者来说是透明的。

(二)服务部署与调用策略规范如下:

1、在应用系统省级大集中情况下:服务目录、服务库和ESB分别部署在南方电网公司总部、省公司(或分公司)两级;在未实现应用系统省级大集中的情况下:服务目录、服务库和ESB分别部署在南方电网公司总部、省公司(或分公司)及地市供电局三级。

2、无论是南方电网公司总部、省公司(或分公司)还是地市供电局,对本地服务的调用只须经过本地的ESB。

3、南方电网公司总部开发的、经过审批的服务登记到总部的服务目录中,对这些服务的调用都必须经过南方电网公司总部的ESB。

4、省公司(或分公司)开发的全南网范围内共享的服务,在经过南方电网公司审批后也被登记到南方电网公司总部的服务目录中,省公司(或分公司)的ESB通过访问南方电网公司总部的服务目录查找全网范围内共享的服务。

5、省公司(或分公司)之间服务的异地调用,必须经过南方电网公司总部的ESB实现。

6、省公司(或分公司)开发的、经过审批的、提供给自己及下属单位调用的服务登记到省公司(或分公司)的服务目录中,对这些服务的调用都必须经过省公司(或分公司)的ESB。

7、地市供电局开发的全省网范围内共享的服务,在经过省公司审批后也被登记到省公司的服务目录中,各地市供电局的ESB通过访问省公司的服务目录查找全省范围内共享的服务。

8、地市供电局的服务目录只登记本地市开发的、经过审批的、提供给自己调用的服务。

9、地市供电局之间服务的异地调用,必须经过省公司的ESB实现。

5

非省级集中

服务管理

服务注册服务维护

服务服务

服务提供者

注册

服务消费者

发现

服务提供者

配置/管理

注册/发布发现配置/管理/监控

服务提

供者

服务消

费者

服务管

理者

注册/发布配置/管理/监控

服务提

供者

服务消

费者

服务管

理者

发现/调用

图2图5.3 SOA服务部署视图

5.4技术标准规范体系

(一)本节从IT技术实现的角度,定义了SOA服务开发与集成必须遵循的标准或规范,以保证南网电网公司内部共享服务的一致性和可重用性。各分子公司可结合各自现有应用系统建设情况和集成需求,制定相关的数据集成、流程集成、服务集成等建设规范。

(二)SOA服务开发与集成技术标准规范的选择必须满足但不限于下述指导原则:

1、以Web Service技术作为SOA服务开发技术的首选技术,并要求遵循WS-I Basic Profile 1.0的有关指引;

2、以Java技术作为Web Service开发的优先选择技术;

3、为了最大限度地复用现有应用系统的业务功能,在选择SOA技术标准规范时,必须考虑现有业务功能封装对技术标准规范的支持能力;

4、在选择SOA技术标准规范时,应重点定义“服务接口”和消息协议标准或规范,对服务内部功能实现所采用的技术标准规范可不加限制;

5、凡与SOA重用性密切相关的组件,如服务接口,必须采用成熟的技术标准规范;

6、对还没有最后定案的事实标准或规范(这类标准通常不是被所有软件平台和开发商支持,或者还不是很成熟,或者产品的支持与产品之间的兼容性差),作为可选技术参考使用;

7、为了充分利用企业现有的IT资产,降低开发难度和成本,可以考虑采用现有系统已经支持或采用的技术标准规范;

8、IT部门员工目前熟悉并掌握的技术标准规范也可作为选用依据之一,SOA服务的实现通常不限制采用何种技术,因此,服务的“实现”可采用IT部门员工目前熟悉的技术或规范开发。

5.4.1技术标准规范体系图

6

7 (一)SOA 架构之服务体系各层以及层与层之间必须遵循相关的技术标准规范,这些标准规范包括:访问服务、数据服务 、业务服务、流程服务、展现服务的技术标准规范,以及贯穿各层之间的消息交换、消息传输、安全管理、服务描述、注册与发现等技术标准规范。

(二)SOA 架构技术标准规范体系如下图所示:

图5.4 SOA 技术标准规范体系图

(三)SOA 架构技术标准规范体系内容:

1、访问服务

JCA(Java Connector Architecture):JCA 定义了一套标准的接口,用于让连接器把兼容的应用程序服务器无缝地整合起来,以及提供标准接口允许客户(或者应用程序服务器的应用程序主机)用一种统一的方法使用连接器。

JDBC (Java Data Base Connectivity ,java 数据库连接):JDBC 是一种用于执行SQL 语句的Java API ,可以为多种关系数据库提供统一访问,它由一组用Java 语言编写的类和接口组成。JDBC 为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。

专用API(Application Programming Interface):专用API 是针对某个具体软件产品(例如:Louts Notes 、SAP )提供的编程接口。

2、数据服务

XQuery (XML Query ):XQuery 是W3C 所制定的一套标准,用来从类XML 文档中提取信息,类XML 文档可以理解成一切符合XML 数据模型和接口的实体,他们可能是文件或关系型数据库。

3、业务服务

SCA(Service Component Architecture):SCA 即服务组件架构,它提供了一种编程模型,可以支持基于SOA 的应用程序实现。SCA 支持实现服务组件的各种技术及连接服务组件的各种存取方法。

EJB(Enterprise JavaBean):EJB 是一个可重用的,可移植的J2EE 组件。EJB 由封装了业务逻辑的多个方法组成。EJB 运行在一个容器里,多个远程和本地客户端可以调用这个方法,允许开发者只关注与bean 中的业务逻辑而不用考虑事务支持、安全性和远程对象访问等复杂和容易出错的事情。

4、流程服务

BPMN (Business Process Modeling Notation ):BPMN 是一个业务流程建模和Web 服务标准,其首要目标是提供一个通俗易懂的标注体系,另外一个重要目标是提供内部模型,便于下一代XML 语言对业务流程的执行。

BPEL (Business Process Execution Language ):BPEL 也被称为BPELWS 或BPEL4WS (Web 服务业务流程执行语言)。它是一种可执行语言,能够与各种业务流程自动化的软件系统相兼容,通过说明性

的方式(而不是编程的方式)表达了进行Web服务合成的需求。此标准主要用于组织内部的业务流程管理及服务编排,BPM产品基于此规范实现。

WS-CDL(Web Services Choreography Definition Language):WS-CDL 即Web服务编排定义语言,它定义为在多个交易伙伴之间建立形式化关系,它不要求所有被集成的端点(endpoints)都有Web服务基础设施。此规范更多地用于组织之外的服务与流程编排。

5、展现服务

JSR168(Java Specification Request 168):JSR168是java 规范要求,主要应用在Portal软件的开发。它为创建Portlet建立标准的api,它是为实现porltet、基于java的门户服务器和其它web应用程序之间的互操作性而设计的。

WSRP(Web Services for Remote Portlets):WSRP定义了如何利用基于SOAP 的 Web 服务在门户应用程序中生成标记片断的规范。通过定义一组公共接口,WSRP 允许门户在它们的页面中显示远程运行的 Portlet,而不需要门户开发人员进行任何编程。WSRP是由OASIS组织制定的。

HTML(HyperTextMark-upLanguage):HTML即超文本标记语言或超文本链接标示语言,是WWW的描述语言。

JSP(JavaServer Pages):JSP是一种动态网页技术标准,JSP将网页逻辑与网页设计和显示分离,由HTML代码和嵌入其中的Java代码所组成,支持可重用的基于组件的设计。JSP页面是跨平台的,即能在Windows下运行,也能在Linux等其它操作系统上运行。

AJAX(Asynchronous JavaScript and XML):AJAX是一种创建交互式网页应用的网页开发技术。AJAX仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。

6、消息传输

HTTP(Hypertext Transfer Protocol):HTTP即超文本传输协议是用于从Web服务器传输超文本到本地浏览器的传送协议。HTTPS(Secure Hypertext Transfer Protocol),又称安全超文本传输协议,其安全基础是SSL,使用40 位关键字作为RC4流加密算法。

RMI(Remote Method Invocation):RMI即远程对象访问传输协议,用于JAVA EJB对象之间通信。

JMS(Java Messaging Service):JMS是Java平台上有关面向消息中间件的技术规范,用于和面向消息的中间件相互通信的应用程序接口。

FTP(File Transfer Protocol):FTP是文件传输协议的简称,用于Internet上的文件的双向传输。

7、消息交换

XML(Extensible Markup Language):XML即扩展标识语言。是通用标识语言标准(SGML)的一个子集,是描述网络上的数据内容和结构的标准。

XML Schema:XML Schema为XML文档提供明确的语义限制,确保每一个XML文档都是结构完整、语义合法、内容有效的。

SOAP(Simple Object Access Protocol ):SOAP即简单对象访问协议,是基于XML的在分布式的环境中交换信息的简单的协议。

SDO(Service Data Object):SDO即服务数据对象,是一种针对在不同的数据源之间使用统一的数据编程模型的规范说明。它统一和简化了应用程序处理数据的方式,是服务及组件之间传输的标准数据格式。使用SDO,应用编程人员可以用一致的方法操作异构数据源,包括关系型数据库,XML数据源,Web services和企业信息系统。

WS-Addressing:WS-Addressing规范定义了一种将消息寻址信息综合到Web services消息中的标准。WS-Addressing为以同步和/或异步方式传输的SOAP消息提供了一种统一的寻址方法。此外,它还提供了寻址功能来帮助Web service开发人员在请求和响应的典型交换之外,围绕各种消息传递模式构建应用程序。

WS-ReliableMessaging:WS-ReliableMessaging规范定义了一种协议和一套机制,使 Web 服务的开发人员能够确保在两个端点之间可靠地传递消息,该规范还具有各种传递保证和健壮性特征。

8、安全管理

WSDM(Web Services Distributed Management):WSDM即分布式Web服务管理标准。WSDM由两个不同的标准组成的:使用 Web 服务的管理 (WSDM-MUWS)与Web 服务的管理 (WSDM-MOWS) 。WSDM-MUWS

8

提供了如何表示和访问 MUWS 资源的接口的定义。例如,MUWS 标准提供了用于公布服务、服务功能所必需的结构、以及管理资源所需要提供和接收的信息。WSDM-MOWS 提供了管理 Web 服务的定义。MOWS 使用了许多由 MUWS 标准定义的概念和系统,同时也添加了管理 Web 服务特别需要的资源和功能。MOWS 组件提供了支持远程管理 Web 服务的方法和系统。

WS-Management:WS-Management定义了企业级SOA平台统一的管理接口,让不同企业级SOA平台可以被任何符合标准的管理界面操作。

WS-Security:WS-Security描述通过消息完整性、消息机密性和单独消息认证,提供保护质量的SOAP 消息传递增强。这些机制可以用于提供多种安全模型和加密技术。它是构建在现有安全技术的基础之上的,提供一种工业标准来保证Web services消息的安全性。

WS-Policy(Web Services Policy Framework):Web服务策略框架规范提供了一种灵活、可扩展的语法,用于表示基于XML Web services的系统中实体的能力、要求和一般特性。WS-Policy定义了一个框架和一个模型,将这些特性表示为策略。

WS-PolicyAttachment:WS-PolicyAttachment 为通过现有的 XML Web服务技术使用策略表达式指定了三个特定的附件机制。包括:如何从WSDL定义中引用策略;如何将策略与部署的Web服务端点关联起来;如何将策略与UDDI实体关联起来。

WS-Trust:WS-Trust使用WS-Security 安全的消息传递机制为安全性令牌交换定义额外的原语和扩展,以使得凭证能够在不同的信任域中签发和传播。

SSL/TLS:SSL/TLS利用密钥算法在互联网上提供端点身份认证与通讯保密,其基础是公钥基础设施(PKI)。

9、服务描述、注册与发现

WSDL(Web Services Description Language):WSDL即Web服务描述语言,它从句法层面对Web服务的功能进行描述,包括4个不同的粒度:数据类型(Data type)、消息(Message)、方法(Operation)和访问端口(PortType)。WSDL只提供了Web服务的接口描述,对服务的行为约束和属性描述缺乏进一步的支持。

UDDI(Universal Description Discovery and Integration):UDDI注册内容包括Web服务的技术模型和业务模型,本身可扩展,目前主要用于Web服务的注册和查找。

(四)SOA架构技术标准规范按技术的成熟度区分为:必须,已经获得相关国际组织批准,而必须遵循的标准;推荐,虽未获得相关国际组织批准,但已经是成熟的标准;可选,处在标准草案阶段,在主流平台产品中没有得到广泛的应用,但在SOA中有其技术优势,在特定情况下才可采用。

5.4.2服务开发技术标准规范

9

10

11

5.4.3服务集成技术标准规范

13

5.5SOA架构模型特征

南方电网公司SOA架构模型的特征可以概括为以下三点:

1、应用系统开发以“服务”为核心,服务体系分为:访问服务层、数据服务层、业务服务层、流程服务层、综合服务层以及展现服务层等六个层次;

2、以ESB作为集成“服务”的纽带,实现“服务”的全生命周期管理;并通过ESB提供的服务组合与编排方式实现应用系统的开发;

3、通过ESB互连,实现“南网总部---省公司本部---地市供电局”的“服务”灵活部署,以及全网范围内的“服务”资源共享。

6SOA服务设计与开发

6.1服务识别

(一)服务识别是指对业务进行分析和梳理,抽象出业务实现所需的服务,并按照南方电网公司SOA服务体系对服务进行合理划分。

(二)服务识别必须分析与业务功能或业务数据相关的接口以及约束该接口的契约,接口和契约采用中立、基于标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言。

(三)服务识别基于应用需求来表达服务的需求,服务识别应包含但不限于下述考虑因素:

1、服务功能:满足企业当前及未来业务发展需求的业务处理与管理功能。

2、共享范围:跨企业级、企业级、业务职能域级或应用程序级;

3、可重用度:长期可重用、短期可重用或不可重用;

4、敏捷性:适应战略发展需求、适应业务发展需求;

5、可操作性:全部、部分功能已在应用系统中实现或需要重新开发;

6、开发技术:全部掌握、部分掌握或未掌握现有技术;

7、工具支持:现有工具全面支持、部分支持或不能支持;

8、项目规模:大规模、中等规模或小规模;

9、服务质量:容易实现或难以实现。

(四)服务识别应从业务的角度出发,包括但不限于下述切入点:

1、业务流程切入点:通过梳理、优化企业业务流程,将业务流程转化为可重用、更具有灵活性的流程服务。

2、信息资源切入点:通过梳理企业的数据资源环境,实现企业级数据交换与共享,为管理者提供各类企业经营管理信息。

3、用户体验切入点:关注客户体验需求,为终端用户提供增值、个性化、多渠道的服务,并据此来优化整合内部的应用和流程。

6.2服务定义

(一)服务定义是在服务识别的基础上定义服务的各项属性,描述服务的信息。

(二)服务的属性包括:基本属性、技术属性、安全属性、配置属性。服务的各项属性定义必须分阶段进行、逐步细化。服务识别阶段定义服务的基本属性;服务设计阶段定义服务的技术属性与安全属性;服务的部署阶段定义服务的配置属性。

(三)服务的基本属性包括但不限于下述信息:

14

15

6.3服务设计

6.3.1总体设计原则

(一)无论是新建、改造或扩建的SOA应用系统,服务设计原则上应遵循本规范定义的六层服务体系结构,可根据实际情况对SOA服务体系进行合并或简化。

(二)无论是新建、改造或扩建的SOA应用系统,服务设计应遵循“可重用、松耦合与互操作”的原则,以便于实现跨平台的集成应用。

(三)服务的安全性应从传输级安全性、消息级安全性、应用程序级安全性等三个方面来考虑:

1、传输级安全性是指在客户端和服务器之间的传输通道提供点对点的安全性,Web服务传输级安全应采用 SSL 协议保证消息的完整性和机密性。

2、消息级安全性是指不依赖于传输协议,保证消息的完整性、机密性、不可否认性以及消息身份验证,Web服务消息级安全应遵循WS-Security 规范。

3、应用程序级安全性是指应用程序负责提供安全性并使用自定义的安全功能。例如:当需要利用在现有应用程序中的用户权限体系,可以使用自定义的 SOAP header传递用户凭证,以便根据每个 Web 服务请求对用户进行身份验证;或者应用程序可以有选择地加密消息的一部分,而不是整个消息。

(四)服务的调用方式可分为:同步调用、异步无返回调用、异步有返回调用。如果业务上要求必须阻塞进程同步等待返回结果,则采用同步调用方式;否则应采用异步调用方式,避免因并发数太多而导致服务调用阻塞。同步调用方式对服务的性能有一定的要求,应避免长时间的等待。

6.3.2访问服务

(一)访问服务用于提供访问各种数据资源以及套装软件、定制软件和遗留应用系统的手段。访问服务设计原则包括但不限于:

1、访问服务为数据服务提供访问相关系统数据资源的通用功能;

2、访问服务必须是无状态的;

3、访问服务允许转换数据的表示方式,如在XML和非XML格式之间的转换;但不应进行基于业务规则的转换,或者对多个数据源进行操作;

4、访问服务不允许包含业务逻辑;

5、访问服务一般采用异步通信机制。

(二)访问服务必须适应调用者的应用(这些应用可以是基于Java的、非Java的、基于集成开发环境的或基于JDBC/ODBC的),可选的访问机制包括但不限于:

1、Java API访问:允许调用者调用访问服务的读和写函数;

2、控件访问:允许调用者在IDE(集成开发环境)中开发Web应用、门户、工作流和Web服务时使用访问服务控件;

3、Web服务访问:允许访问服务作为Web服务进行发布,以便于被任何使用标准WSDL和SOAP接口的调用者访问;

16

相关主题
文本预览
相关文档 最新文档