SOA方案技术部分Word文档格式.docx
《SOA方案技术部分Word文档格式.docx》由会员分享,可在线阅读,更多相关《SOA方案技术部分Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
SOA架构的组件包括:
Ø
服务提供者:
服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求;
服务使用者:
服务使用者是一组使用服务提供者所提供的一项或多项服务的组件;
服务储备库:
服务储备库包含服务的描述,服务提供者在该储备库中注册其服务,而服务使用者访问该储备库已发现的所提供的服务。
对应于这3种角色,SOA有以下3种操作:
绑定,使服务请求者能够真正使用服务提供者;
发布,使服务提供者可以向服务代理注册自己的功能及访问接口;
发现,使服务请求者可以通过服务代理查找特定种类的服务。
1.1.2SOA的特点
重点关注服务
SOA支持面向服务的开发方法,是对前续的面向过程、面向消息、面向数据库和面向对象开发方法的补充。
服务从更高抽象层次上定义,直接与业务相对应,且其实现可采用面向过程、面向消息、面向数据库和面向对象等不同开发方法。
与面向对象的调用接口相比,服务一般定义较粗粒度的接口,会接收更多的数据,消耗更多的计算资源。
服务一般是用来解决应用间互操作问题,以及将服务组合成新应用或新的应用系统,而不是为应用创建具体的业务逻辑。
通过SOA,围绕服务构建IT系统,有利于IT系统更靠近实际业务要求,使IT系统更容易适应业务变化的要求,另外,对已有应用系统,通过服务化封装,可以使这些系统得到更好的重用,能有效保护对已有应用系统建设的投资。
松耦合
松耦合是软件设计中一个重要概念,SOA强调服务间的松耦合。
在SOA中松耦合包括以下几个方面:
✓接口松耦合
接口耦合是指服务请求者与服务提供者之间的耦合。
度量的是请求者与服务提供者的依赖性。
接口松耦合强调服务请求者仅需要根据已发布的服务契约和服务水平协议(或称服务等级协议)就可以请求一个服务,任何时候服务请求者都不需要了解服务提供者对内部实现的信息。
即服务接口封装了所有的实现细节,使服务请求者看不到这些实现细节。
✓技术松耦合
技术耦合度量的是服务对特定技术,产品或开发环境的依赖程度。
技术松耦合强调服务请求者和服务提供者的实现和运行不需要依赖与特定的某种技术,或某个厂家的解决方案或产品,从而减少对某个厂商的依赖。
在SOA系统中服务请求者和服务提供者可以使用不同技术实现,可以在不同厂商的环境中运行。
✓流程松耦合
流程松耦合度量的是服务与特定业务流程的依赖程度。
强调服务不应与具体的业务流程相关,以便能够被重用于多种不同的业务流程与应用。
这一点强调的是服务的可重用性,在SOA系统中对业务服务的合理规划,使得一个业务服务可以在多个业务流程中得到复用,并且随着业务要求的改变,一个服务可以在变化后的新的业务流程中能够得到继续使用。
重构的灵活性
在SOA系统建设中,基本的单位是实现业务功能的服务,而不是实现业务逻辑的对象,过程,函数等较小的技术单位。
服务与实际业务功能相关,具有明确的接口。
这些服务可在不同的业务流程中得到重用,提高了服务的价值;
其次在使用中只需按其接口要求进行访问,屏蔽服务实现细节,服务实现的修改不会影响到服务访问方的逻辑,提高了业务流程的适应性;
另外,一旦业务流程变更,仅需对服务进行重新编排,并不修改服务本身,提高了业务流程实现的灵活性。
重构的灵活性,不仅可以使业务服务可以有更好的重用性,也使得业务流程更容易重构,使IT系统具有了更好的灵活性,可以快速面对变化的市场需求。
对标准的支持
为了强调互操作性,在SOA系统中,服务需要尽量符合开放标准。
与服务相关的技术几乎都存在相应标准,通过对标准的使用可以得到众多好处,包括:
✓减少对特定厂商的依赖;
✓为服务请求者增加了使用不同服务提供者的机会;
✓为服务提供者增加了被更多服务请求者使用的机会;
✓增加了使用开放源代码的标准实现,以及参与这些实现的开发机会。
在SOA系统中,除强调需要遵守技术标准(如SOAP,WSDL,UDDI和WS-*)外,服务层的数据模型和流程模型也有需尽可能基于一些成熟的业务领域标准或纵向的行业标准。
1.1.3SOA带来的好处
按SOA方法构建应用系统,可获得技术、业务层面的不同优势。
在技术层面带来的好处有:
开发过程更有效,缩短开发周期
更利于重用
简化维护
增量采纳,在统一的规划下,系统可以通过试点后分步骤建立
流畅的演进,可以逐步改进业务目标
在业务层面带来的好处有:
增强业务机动性,有更好敏捷性
更好的配合业务,可以优化业务框架
改善客户满意度
提高现有IT资产的投资回报率
降低集成成本,节省费用
降低对厂商的依赖和降低转换成本,获得技术的
1.1.4SOA技术参考架构
SOA技术参考架构
一个完整的SOA应用系统,其组成元素包括:
SOA基础技术平台、辅助工具、资源、应用服务、使用SOA系统的人。
SOA技术参考架构主要描述SOA基础技术平台与辅助工具,同时描述这两部分与其他外围相关元素之间的关系。
SOA技术参考架构图
SOA技术参考架构主要描述一个SOA系统中提供基础技术平台和辅助工具的功能模块和相关对象。
我们定义的SOA技术参考架构包括两大部分,即运行时的平台功能模块,设计、开发和管理时的功能模块。
参考架构各模块之间满足松散耦合特性,具有定义良好的接口,可通过拆分与组合,来针对性构建满足不同应用场景需求下的技术系统。
SOA参考架构是SOA基础技术平台产品和辅助工具产品实现的重要参考依据;
是开发SOA应用系统时确定系统架构,选用SOA技术的重要参考依据;
是保证SOA支持产品与解决方案互操作性的重要基础。
下面介绍SOA技术参考架构的各个主要组成部分,及其互相之间的关系。
✓SOA相关元素
SOA参考架构的核心是基础技术平台和辅助工具。
SOA相关元素指与SOA参考架构核心相关的元素,包括使用SOA基础技术平台的人员,在基础技术平台上运行的新开发服务,集成到基础技术平台中的已有资源,以及与基础技术平台可以进行互操作的其他平台。
✧资源
资源是SOA系统中被集成的对象,这些对象一般已经存在。
在SOA系统中资源通过适配器接入基础技术平台中,以服务形式对外提供服务或使用其他服务。
资源具有统一的服务接口,使用统一的接入方式。
通过对已有资源的封装,增强重用能力,充分发挥其已有的作用。
资源与基础技术平台关系如图所示:
资源与基础技术平台的关系图
资源通常分为两类:
数据资源和应用资源,其中:
v应用资源
应用资源特指已有的应用系统,是能够完成特定业务处理的现有系统的总称。
应用资源如同其他服务一样,既可以为其他服务提供服务消费;
也可以消费其他服务。
应用资源通过开放接口,以适配器为桥梁接入SOA的基础技术平台中。
v数据资源
数据资源主要针对无法开放操作接口的应用系统,或只需对外提供数据服务的特定场景而设立,可以是格式化数据和非格式化数据,例如数据库和各种文件就是典型的数据资源。
数据资源主要供SOA系统中的各种服务进行加工处理,进行深度的应用。
✧新开发服务
新开发服务包括:
v基本服务,通过编程工具形成的,在业务服务中运行的原子性服务
v流程化服务,通过流程工具定义的,在流程服务中运行的由基本服务组合形成的服务
新开发服务均可使用已有的服务。
服务描述信息通过资源管理服务进行存储和管理,服务运行信息由运行管理服务进行存储和管理。
新开发服务与SOA参考架构关系图
✧人员
使用SOA系统的主要角色包括:
v设计人员,进行业务分析和建模,使用业务分析和建模工具
v开发人员,实现具体的SOA系统,包括流程定义,服务编码,资源集成等,使用集成开发工具
v管理人员,对SOA系统运行进行监控管理,使用运行管理工具
v操作人员,对SOA系统进行业务操作,通过交互服务使用SOA系统中的服务,或进行数据和业务的处理
人员在SOA中具有重要使能价值,人员与SOA参考架构的关系如图所示:
人员与SOA参考架构关系图
✧其他平台
SOA强调互操作。
在一个所有者控制域下(如一个组织内部),可以通过基础技术平台实现互操作;
在所有者控制域之间(如多个组织之间),有可能使用不同的基础技术平台实现,需要实现平台之间的互操作。
平台之间的互操作一般通过协作服务实现。