面向服务SOA技术架构规范.docx
- 文档编号:8763062
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:48
- 大小:570.13KB
面向服务SOA技术架构规范.docx
《面向服务SOA技术架构规范.docx》由会员分享,可在线阅读,更多相关《面向服务SOA技术架构规范.docx(48页珍藏版)》请在冰豆网上搜索。
面向服务SOA技术架构规范
中国南方电网责任有限公司发布
面向服务的信息技术架构(SOA)框架规范
目次
前言
随着中国南方电网有限责任公司(以下简称为南方电网公司)企业信息化应用的不断发展和信息资源的不断积累,公司在探讨与实践企业信息技术架构时认识到:
多元化的信息技术架构不利于企业信息化应用的发展和企业信息资源的积累与共享。
多年来信息化建设的实践证明:
不同信息技术架构造成了技术体系复杂混乱、技术标准不兼容、IT系统间互操作性差、上下信息交换不通畅、IT管理不规范等弊端。
企业的业务的不断发展变化需要多套应用系统同时支撑业务运行和管理,一个好的信息技术架构不应割裂IT与实际业务之间的联系,而是应更好、更快地适应业务的变化。
通过前期对“ERP套装软件”、专业开发+应用集成/信息门户”、及“面向服务的架构(SOA)”三种具有代表性的应用系统建设模式进行分析表明:
SOA代表了应用系统建设模式及信息技术架构的发展方向,无论是ERP厂商还是应用集成/信息门户(EAI/EIP)平台厂商,都在逐步采用SOA的理念和技术。
SOA使得IT能够更好地提供业务价值,更灵活、更易于重用。
因此,南方电网公司选择SOA架构作为未来信息化建设统一的技术路线。
本规范立足于南方电网公司“十一五”信息化规划的战略发展高度,定义统一、先进与实用的面向服务的信息技术架构(以下简称:
SOA架构)框架规范,以实现南方电网公司信息一体化体系中“构建南方电网公司开放的、集成的、一体化的信息化应用环境”的目标,健全南方电网公司信息化标准体系。
本规范旨在为南方电网公司统一实施SOA架构提供通用性的指导,各分、子公司可根据各自应用系统建设的实际需求,在不违背本规范原则的前提下,对其进行不同深度与广度的扩展。
本标准由中国南方电网公司信息中心提出、归口并解释。
本标准主要起草单位:
南网信息中心、超高压公司、调峰调频公司、广东电网公司、广西电网公司、云南电网公司、贵州电网公司、海南电网公司。
本标准主要起草人:
王志英、张建民、张诗军、蔡徽、徐兵元、萧展辉、解文艳、刘杰、朱永虎、汪浩、郭玮、陈俊、朱金所、王波、翁小云、曹建海、李小福、朱震宇
本标准由中国南方电网有限责任公司标准化委员会批准。
本标准自颁发之日起实施。
面向服务的信息技术架构(SOA)框架规范
11范围
本规范适用于南方电网公司基于SOA架构的应用系统开发和企业应用集成、SOA项目咨询以及SOA项目监理。
12规范性引用文件
下列文件中的条款通过本标准的引用而构成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,但鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
《中国南方电网公司“十一五”信息化规划》
《中国南方电网公司信息分类与编码标准》
《中国南方电网公司信息分类与编码标准》
13术语与定义
面向服务的体系结构
面向服务的体系结构(Service-OrientedArchitecture),即SOA是包含运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期。
SOA以服务为核心,来实现的IT系统更灵活、更易于重用、更好(也更快)地应对变化。
服务
在SOA架构中,服务是最核心的抽象手段,它具有明确的功能,通常封装着业务功能或者数据。
一个服务包括接口(Interface)、契约(Contract)和实现(Implementation)三个部分。
服务的接口和契约采用中立、基于标准的方式进行定义,它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在不同系统中的服务可以以一种统一的和通用的方式进行交互。
企业服务总线
企业服务总线(EnterpriseServiceBus),以下简称ESB,是一种在松散耦合的服务和应用之间标准的集成方式,提供简单、快速、基于标准的多点集成,类似硬件中的总线结构。
企业资源规划
企业资源规划(EnterpriseResourcePlanning),即ERP是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。
狭义的ERP仅仅局限在制造业的企业资源规划方面,广义的ERP随着供需链管理(SCM)和企业业务流程重组(BPR)等管理理论的引入,实现了企业人、财、物、信息等所有的资源和产、供销等所有业务。
企业应用集成
企业应用集成(EnterpriseApplicationIntegration),即EAI是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。
EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的ERP、CRM、SCM、数据库、数据仓库,以及其它重要的内部系统之间无缝地共享和交换数据的需要。
企业信息门户
企业信息门户(EnterpriseInformationPortal),即EIP是一个应用系统,它使企业能够释放存储在内部和外部的各种信息,让用户能够从单一的渠道访问其所需的个性化信息。
SOA项目
本规范中的SOA项目是指南方电网公司基于SOA架构的应用系统建设或集成项目。
14总则
信息技术架构是指导信息化建设的技术框架,信息化应用项目的建设必须遵从这个框架的要求,以促进信息化应用项目建设的高效率、高质量、高标准和可持续发展。
南方电网公司SOA架构设计遵循下述原则:
持续发展原则
基于目前南方电网公司信息技术架构模型的现状,站在南方电网公司企业发展以及信息化发展的战略高度,统一南方电网公司信息技术架构模型,以实现信息化建设的高效率、高质量、高标准和可持续发展为原则。
先进性原则
必须坚持与世界先进技术发展水平同步,遵循相关的技术规范及标准,保证能满足目前与未来信息化建设的需求。
实用性原则
以重用、协作和资源共享为基础,确立信息技术架构模型和技术部署的最佳实践,为实施信息技术架构模型制定策略与方法,以利于引导信息化建设项目的实施。
操作性原则
综合考虑目前南方电网公司信息化建设的实际,使多元化的信息技术架构模型能逐步过渡到统一的信息技术架构模型。
15SOA架构模型
参考国际结构化信息标准促进组织(OASIS)发布的SOA参考模型,结合南方电网公司信息化建设的实际,在上述总体设计原则的指导下,本章定义了南方电网公司SOA架构模型,以下从四个不同的角度描述的子模型进行说明。
服务体系
服务体系设计依据
(一)SOA架构的核心理念是打破传统面向各个业务领域的、僵化的垂直应用构建模式,将应用分解为可重用、松耦合、互操作的服务体系结构,通过服务的编排组合来实现业务的组合,通过服务的松耦合来满足业务变化和调整,通过服务的重用来降低软件开发的成本。
(二)南方电网公司SOA架构之服务体系采用组件化的分层结构设计思想,使其具有预制性、封装性、透明性、互操作性、通用性等特征,便于快速地组装新的应用。
上层的服务依赖于下层的服务来实现,而不需要了解下层的实现逻辑,通过服务的分层,降低服务之间的耦合度,提高可重用性。
服务体系图
南方电网公司SOA架构之服务体系建立在企业的信息资源层之上,包括但不限于下述六层:
访问服务层、数据服务层、业务服务层、流程服务层、综合服务层、展现服务层。
信息资源层为上层提供应用资源(应用系统模块)与数据资源,它包括传统的封闭的应用系统、已经打包好的应用程序、业务系统数据库、数据仓库、非结构化数据等。
。
图1
图5.1SOA服务体系图
南方电网公司基于SOA架构的应用至少应包括数据服务层和业务服务层,为了更好地实现个性化和灵活的表现形式,通常还应包括展现服务层。
针对某些具体的应用,可以根据实际情况对六层服务体系架构进行简化与合并,例如:
当只需要访问关系型数据库时,可以考虑将访问服务层与数据服务层合并;当应用系统比较简单时,可能不需要流程服务层及综合服务层。
服务体系各层定义
(一)访问服务层:
访问服务层实现与底层数据资源、应用资源的通信功能,使用通用标准接口,定义整合企业信息资源(数据资源与应用资源)的各种访问服务,例如:
不同类型的适配器以及专用的API等等。
访问服务屏蔽了企业信息资源(现在的或未来的)的技术和实现方式,访问服务层之上的开发者无需知道数据的位置、类型以及应用程序的编程语言等。
(二)数据服务层:
数据服务层定义的服务支持把异构的、孤立的企业数据转变成集成的、双向的、可重复使用的信息资源。
数据服务通过访问服务层以统一的方式访问企业的所有数据,数据服务层之上的开发者可以集中精力处理数据的加工问题,而不必关注访问不同来源的数据的实现细节。
(三)业务服务层:
业务服务层定义那些可重用的业务处理过程,用于支持复合的业务处理需求。
这层定义的业务处理过程服务可能是单个原子事务的无状态处理操作服务,也可能是多个业务应用或异步服务之间交互的有状态处理操作服务。
业务服务层之上的开发者无需知道具体某项业务的逻辑处理过程。
(四)流程服务层:
业务流程是一组服务的集合,服务按照特定的顺序并使用一组特定的规则进行调用,其本身也可视为服务。
流程服务层定义有状态的(长期运行或需要人工参与)、完整的业务流程。
流程服务通过对下层的数据服务、业务服务的编排来实现,流程编排的规则在该层内定义。
(五)综合服务层:
综合服务层以提升企业综合管理职能、优化企业价值链为出发点,规划跨系统、跨业务管理职能域、跨单位的服务。
综合服务层定义的服务是由下层的访问服务、数据服务、业务服务、流程服务组合而成的服务,目的是通过服务的简单编排就可以快速搭建出新的业务应用系统。
(六)展现服务层,展现服务层定义企业信息门户(EIP)中可配置、可重用的门户组件(Portlets),用于支持门户应用的开发;以及人机交互组件、网页组件、报表组件实现对不同客户接入方式的支持,并提供丰富的客户端展现方式。
应用体系
基于SOA架构的应用系统由服务库中的各类服务,通过ESB组合而成。
服务库中的服务既包括新开发的服务,也包括将已有的应用系统资源中需要共享的内容封装而成的服务。
1、通过ESB对SOA服务库的各类“服务”的定义、注册、使用、维护、弃用与退役实现全生命周期的规范管理。
2、ESB接入的数据源类型包括:
关系型数据库、Web服务、XML文件、文本文件、JAVA函数等。
业务系统数据可直接抽取到数据中心,数据中心本身也可以作为一个数据源接入到ESB,供业务系统共享使用。
3、对于生产系统中的自动化控制类等对性能要求较高的实时应用系统,建议采用传统的技术路线包括:
直接访问业务系统数据库、文件或者网页的方式,但其中某些业务功能也允许被封装为业务服务供其它应用集成者调用。
图5.2SOA应用体系视图
服务部署体系
(一)服务部署架构:
在还未全部实现应用系统省级大集中的情况下,允许按“南网总部—省公司—地市供电局”的三级管理体系部署服务,并依据“服务资产”的归属权、共享范围以及维护责任分别部署在各自的服务目录与服务库中。
最终目标是要实现按“南网总部---省公司”的两级服务部署。
ESB是实现服务集成与管理的枢纽,调用者只能看到总线提供的代理服务,总线后台真正的服务对调用者来说是透明的。
(二)服务部署与调用策略规范如下:
1、在应用系统省级大集中情况下:
服务目录、服务库和ESB分别部署在南方电网公司总部、省公司(或分公司)两级;在未实现应用系统省级大集中的情况下:
服务目录、服务库和ESB分别部署在南方电网公司总部、省公司(或分公司)及地市供电局三级。
2、无论是南方电网公司总部、省公司(或分公司)还是地市供电局,对本地服务的调用只须经过本地的ESB。
3、南方电网公司总部开发的、经过审批的服务登记到总部的服务目录中,对这些服务的调用都必须经过南方电网公司总部的ESB。
4、省公司(或分公司)开发的全南网范围内共享的服务,在经过南方电网公司审批后也被登记到南方电网公司总部的服务目录中,省公司(或分公司)的ESB通过访问南方电网公司总部的服务目录查找全网范围内共享的服务。
5、省公司(或分公司)之间服务的异地调用,必须经过南方电网公司总部的ESB实现。
6、省公司(或分公司)开发的、经过审批的、提供给自己及下属单位调用的服务登记到省公司(或分公司)的服务目录中,对这些服务的调用都必须经过省公司(或分公司)的ESB。
7、地市供电局开发的全省网范围内共享的服务,在经过省公司审批后也被登记到省公司的服务目录中,各地市供电局的ESB通过访问省公司的服务目录查找全省范围内共享的服务。
8、地市供电局的服务目录只登记本地市开发的、经过审批的、提供给自己调用的服务。
9、地市供电局之间服务的异地调用,必须经过省公司的ESB实现。
图2图5.3SOA服务部署视图
技术标准规范体系
(一)本节从IT技术实现的角度,定义了SOA服务开发与集成必须遵循的标准或规范,以保证南网电网公司内部共享服务的一致性和可重用性。
各分子公司可结合各自现有应用系统建设情况和集成需求,制定相关的数据集成、流程集成、服务集成等建设规范。
(二)SOA服务开发与集成技术标准规范的选择必须满足但不限于下述指导原则:
1、以WebService技术作为SOA服务开发技术的首选技术,并要求遵循WS-IBasicProfile1.0的有关指引;
2、以Java技术作为WebService开发的优先选择技术;
3、为了最大限度地复用现有应用系统的业务功能,在选择SOA技术标准规范时,必须考虑现有业务功能封装对技术标准规范的支持能力;
4、在选择SOA技术标准规范时,应重点定义“服务接口”和消息协议标准或规范,对服务内部功能实现所采用的技术标准规范可不加限制;
5、凡与SOA重用性密切相关的组件,如服务接口,必须采用成熟的技术标准规范;
6、对还没有最后定案的事实标准或规范(这类标准通常不是被所有软件平台和开发商支持,或者还不是很成熟,或者产品的支持与产品之间的兼容性差),作为可选技术参考使用;
7、为了充分利用企业现有的IT资产,降低开发难度和成本,可以考虑采用现有系统已经支持或采用的技术标准规范;
8、IT部门员工目前熟悉并掌握的技术标准规范也可作为选用依据之一,SOA服务的实现通常不限制采用何种技术,因此,服务的“实现”可采用IT部门员工目前熟悉的技术或规范开发。
技术标准规范体系图
(一)SOA架构之服务体系各层以及层与层之间必须遵循相关的技术标准规范,这些标准规范包括:
访问服务、数据服务、业务服务、流程服务、展现服务的技术标准规范,以及贯穿各层之间的消息交换、消息传输、安全管理、服务描述、注册与发现等技术标准规范。
(二)SOA架构技术标准规范体系如下图所示:
图5.4SOA技术标准规范体系图
(三)SOA架构技术标准规范体系内容:
1、访问服务
JCA(JavaConnectorArchitecture):
JCA定义了一套标准的接口,用于让连接器把兼容的应用程序服务器无缝地整合起来,以及提供标准接口允许客户(或者应用程序服务器的应用程序主机)用一种统一的方法使用连接器。
JDBC(JavaDataBaseConnectivity,java数据库连接):
JDBC是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
专用API(ApplicationProgrammingInterface):
专用API是针对某个具体软件产品(例如:
LoutsNotes、SAP)提供的编程接口。
2、数据服务
XQuery(XMLQuery):
XQuery是W3C所制定的一套标准,用来从类XML文档中提取信息,类XML文档可以理解成一切符合XML数据模型和接口的实体,他们可能是文件或关系型数据库。
3、业务服务
SCA(ServiceComponentArchitecture):
SCA即服务组件架构,它提供了一种编程模型,可以支持基于SOA的应用程序实现。
SCA支持实现服务组件的各种技术及连接服务组件的各种存取方法。
EJB(EnterpriseJavaBean):
EJB是一个可重用的,可移植的J2EE组件。
EJB由封装了业务逻辑的多个方法组成。
EJB运行在一个容器里,多个远程和本地客户端可以调用这个方法,允许开发者只关注与bean中的业务逻辑而不用考虑事务支持、安全性和远程对象访问等复杂和容易出错的事情。
4、流程服务
BPMN(BusinessProcessModelingNotation):
BPMN是一个业务流程建模和Web服务标准,其首要目标是提供一个通俗易懂的标注体系,另外一个重要目标是提供内部模型,便于下一代XML语言对业务流程的执行。
BPEL(BusinessProcessExecutionLanguage):
BPEL也被称为BPELWS或BPEL4WS(Web服务业务流程执行语言)。
它是一种可执行语言,能够与各种业务流程自动化的软件系统相兼容,通过说明性的方式(而不是编程的方式)表达了进行Web服务合成的需求。
此标准主要用于组织内部的业务流程管理及服务编排,BPM产品基于此规范实现。
WS-CDL(WebServicesChoreographyDefinitionLanguage):
WS-CDL即Web服务编排定义语言,它定义为在多个交易伙伴之间建立形式化关系,它不要求所有被集成的端点(endpoints)都有Web服务基础设施。
此规范更多地用于组织之外的服务与流程编排。
5、展现服务
JSR168(JavaSpecificationRequest168):
JSR168是java规范要求,主要应用在Portal软件的开发。
它为创建Portlet建立标准的api,它是为实现porltet、基于java的门户服务器和其它web应用程序之间的互操作性而设计的。
WSRP(WebServicesforRemotePortlets):
WSRP定义了如何利用基于SOAP的Web服务在门户应用程序中生成标记片断的规范。
通过定义一组公共接口,WSRP允许门户在它们的页面中显示远程运行的Portlet,而不需要门户开发人员进行任何编程。
WSRP是由OASIS组织制定的。
HTML(HyperTextMark-upLanguage):
HTML即超文本标记语言或超文本链接标示语言,是WWW的描述语言。
JSP(JavaServerPages):
JSP是一种动态网页技术标准,JSP将网页逻辑与网页设计和显示分离,由HTML代码和嵌入其中的Java代码所组成,支持可重用的基于组件的设计。
JSP页面是跨平台的,即能在Windows下运行,也能在Linux等其它操作系统上运行。
AJAX(AsynchronousJavaScriptandXML):
AJAX是一种创建交互式网页应用的网页开发技术。
AJAX仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。
6、消息传输
HTTP(HypertextTransferProtocol):
HTTP即超文本传输协议是用于从Web服务器传输超文本到本地浏览器的传送协议。
HTTPS(SecureHypertextTransferProtocol),又称安全超文本传输协议,其安全基础是SSL,使用40位关键字作为RC4流加密算法。
RMI(RemoteMethodInvocation):
RMI即远程对象访问传输协议,用于JAVAEJB对象之间通信。
JMS(JavaMessagingService):
JMS是Java平台上有关面向消息中间件的技术规范,用于和面向消息的中间件相互通信的应用程序接口。
FTP(FileTransferProtocol):
FTP是文件传输协议的简称,用于Internet上的文件的双向传输。
7、消息交换
XML(ExtensibleMarkupLanguage):
XML即扩展标识语言。
是通用标识语言标准(SGML)的一个子集,是描述网络上的数据内容和结构的标准。
XMLSchema:
XMLSchema为XML文档提供明确的语义限制,确保每一个XML文档都是结构完整、语义合法、内容有效的。
SOAP(SimpleObjectAccessProtocol):
SOAP即简单对象访问协议,是基于XML的在分布式的环境中交换信息的简单的协议。
SDO(ServiceDataObject):
SDO即服务数据对象,是一种针对在不同的数据源之间使用统一的数据编程模型的规范说明。
它统一和简化了应用程序处理数据的方式,是服务及组件之间传输的标准数据格式。
使用SDO,应用编程人员可以用一致的方法操作异构数据源,包括关系型数据库,XML数据源,Webservices和企业信息系统。
WS-Addressing:
WS-Addressing规范定义了一种将消息寻址信息综合到Webservices消息中的标准。
WS-Addressing为以同步和/或异步方式传输的SOAP消息提供了一种统一的寻址方法。
此外,它还提供了寻址功能来帮助Webservice开发人员在请求和响应的典型交换之外,围绕各种消息传递模式构建应用程序。
WS-ReliableMessaging:
WS-ReliableMessaging规范定义了一种协议和一套机制,使Web服务的开发人员能够确保在两个端点之间可靠地传递消息,该规范还具有各种传递保证和健壮性特征。
8、安全管理
WSDM(WebServicesDistributedManagement):
WSDM即分布式Web服务管理标准。
WSDM由两个不同的标准组成的:
使用Web服务的管理(WSDM-MUWS)与Web服务的管理(WSDM-MOWS)。
WSDM-MUWS提供了如何表示和访问MUWS资源的接口的定义。
例如,MUWS标准提供了用于公布服务、服务功能所必需的结构、以及管理资源所需要提供和接收的信息。
WSDM-MOWS提供了管理Web服务的定义。
MOWS使用了许多由MUWS标准定义的概念和系统,同时也添加了管理Web服务特别需要的资源和功能。
MOWS组件提供了支持远程管理Web服务的方法和系统。
WS-Management:
WS-Management定义了企业级SOA平台统一的管理接口,让不同企业级SOA平台可以被任何符合标准的管理界面操作。
WS-Security:
WS-Security描述通过消息完整性、消息机密性和单独消息认证,提供保护质量的SOAP消息传递增强。
这些机制可以用于提供多种安全模型和加密技术。
它是构建在现有安全技术的基础之上的,提供一种工业标准来保证Webservices消息的安全性。
WS-Policy(WebServicesPolicyFramework):
Web服务策略框架规范提供了一种灵活、可扩展的语法,用于表示基于XMLWebservices的系统中实体的能力、要求和一般特性。
WS-Policy定义了一个框架和一个模型,将这些特性表示为策略。
WS-PolicyAttachment:
WS-PolicyAttachment为通过现有的XMLWeb服务技术使用策略表达式指定了三个特定的附件机制。
包括:
如何从WSDL定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 服务 SOA 技术 架构 规范
![提示](https://static.bdocx.com/images/bang_tan.gif)