企业服务总线及SOA组件技术方案项目技术解决方案建议书模板范文完整方案.docx
- 文档编号:3880152
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:35
- 大小:1.91MB
企业服务总线及SOA组件技术方案项目技术解决方案建议书模板范文完整方案.docx
《企业服务总线及SOA组件技术方案项目技术解决方案建议书模板范文完整方案.docx》由会员分享,可在线阅读,更多相关《企业服务总线及SOA组件技术方案项目技术解决方案建议书模板范文完整方案.docx(35页珍藏版)》请在冰豆网上搜索。
企业服务总线及SOA组件技术方案项目技术解决方案建议书模板范文完整方案
一.1企业服务总线及SOA组件技术方案
一.1.1XXAESB概述
XXApusic企业服务总线(ApusicEnterpriseServiceBus,简称为AESB)提供了SOA所需的软件基础设施环境,以融合集成特性和面向服务特性为一体的基础架构,以一种高度分布的部署模型,“统一消息”的数据模型,高度可扩展、包含开放端点的体系,实现一个对各种企业服务“来者不拒”的智能化的集成和管理中介,实现被集成的各个企业服务之间的数据汇总、应用整合、信息共享。
在Gartner的报告中,ESB被誉为SOA的“心脏”,产品已经包含SOA组件。
尽管目前在ESB领域尚未有一个统一的标准,但是业界在ESB的三大功能领域,达成了共识,即:
●应用的出/入站:
应用的请求发送和应用的调用
●基于内容的消息路由:
根据请求信息,调用相应的服务
●消息转换:
从一个服务可识别的消息,转换成另一个服务可识别的消息
XXApusic企业服务总线(XXApusicESB)提供了对这三大功能的完整支持。
一.1.2AESB系统架构
XXApusicESB立足于Apusic应用服务器和Apusic消息中间件之上,并与其无缝结合,具备面向服务、面向消息、事件驱动的特性,是一个在SOA架构中充当服务间智能化集成与管理中介的灵活敏捷的基础平台。
XXApusic系列产品中的XXApusic应用服务器和XXApusic消息中间件,为XXApusicESB提供了诸如事务、连接池、线程池、消息封装、可靠消息传输等基础软件设施制成。
之上是XXApusicESB的几个核心基础引擎,以及为实现应用接入而出厂定制支持的服务构件库。
同时,XXApusicESB提供了可视化、界面化的配置部署工具,以可视化的方式提供全过程的支持。
XXApusicESB作为一个功能服务的请求者和服务功能提供者的桥梁,以松耦合的方式实现服务与服务之间的集成,实现服务的地址透明化和协议透明化。
面向服务架构(SOA)的实现前提是可以通过经济高效的方式整合现有的以及新建的应用、流程和服务,无需在应用中添加复杂的编程程序便可验证或确保信息交换的可靠连接,而企业服务总线(ESB)正是在SOA环境中实现连接的理想解决方案。
AESB通过以下多种能力来满足和保证应用及服务的管理需求:
它能够提供服务化功能,可以透明的将旧有应用系统加入到框架的服务生命周期管理当中,从而最大程度的保证了对旧有系统的兼容性;提供各类应用及数据的服务注册、发现和寻址功能;在服务之间对消息进行匹配和路由;能够在请求方与服务提供方之间转换协议;能够在请求方与服务提供方之间转换消息格式;还能分配和提取不同来源的业务事件。
AESB通过应用、系统和服务之间的中间层来执行上述所有任务,不仅能够确保应用的总体复杂性不会因为连接接口的增加而增加,而且在许多情况下还能帮助企业避免或降低应用的复杂性,消除应用和系统之间所有硬编码链接。
ESB是所有应用、服务以及其他IT资产的信息交互中枢,服务交互中的参与者连接至ESB,而不是彼此直接相连。
当服务请求者连接至ESB时,ESB负责将其请求传递(通过消息)至能提供所需功能与服务质量的服务提供者。
即使协议、交互模式或服务能力并不匹配,ESB仍可以促进请求者与提供者之间的交互与递送。
如果对所有的应用和有效连接都采用这种机制,则应用只需单一接口便可将ESB连接起来,用于开展所有互动。
此外,连接ESB的所有其他资产都能通过这个接口与此应用进行互动,而其他资产同样只需一个接口便可实现与ESB的连接。
无论处理要求和复杂性发生怎样的变化,这些接口始终都是ESB环境中最重要的组件,并可在ESB中进行维护,以便在周围环境发生变化时确保应用能够以不变应万变。
消除应用之间的连接性可大大降低应用中接口的复杂性,从而降低有关对这些应用进行更改的成本和风险,让用户能够以更简单、更快速、更安全的方式来使用它们,尤其是能够让用户对更多的应用和功能作为服务加以访问和重复利用。
ApusicESB提供了适配器,可以将包括WebService、JMS、JavaBean、数据库、文件等多种格式在内的信息源作为接入对象,并经由适配器体系接入ESB总线之中。
在ESB总线中可以进行消息格式转换和消息路由,消除数据源的异构和数据格式的不匹配。
通过ApusicESB,建立了连接底层数据中心和上层业务应用的桥梁,实现多个应用系统间的实时、安全、可靠信息传输。
针对数据存储介质,ApusicESB出厂时提供了默认的数据访问组件,对数据存储介质中的数据进行访问,包括采集、推送、侦听等。
这些组件会在出厂时被包装成SCA服务组件,可以在ApusicESB平台中使用。
这些组件包括:
数据库访问组件:
支持主流数据库的主流版本,例如Oracle9i、Oracle10g、SQLServer2000、SQLServer2005、DB28.x、MySQL5等。
Excel访问组件:
能够对Excel文件的数据进行访问
文本访问组件:
能够对格式化的文本文件数据进行定制化、格式化访问
文件数据库访问组件:
支持文件数据库,包括Access和VisualFoxPro
作为一个完备的企业服务总线产品,AESB具备架构、连接、中介、编排、设计以及监控六大领域的能力,其功能架构如图所示。
特别的是,AESB提供了界面化的设计工具和监控平台,以可视化的方式提供全过程的支持。
一.1.3AESB部署架构
一.1.4系统集成部署架构
一.1.5ApusicESB功能描述
XXApusicESB产品的功能包括但不限于下面4大功能点
一.1.5.1AESB操作功能
AESB拥有创建及管理AESB网络,驱动实例,数据源,触发器,闪回,CDC(ChangeDataCapture),消息集,JMS队列,Socket队列,调度,服务注册,流程,数据集成流程,服务集成流程,服务实例,资源同步,首选项配置,服务注册库等等功能。
实现AESB的操作功能需要通过AESB-Designer开发管理平台来实现,AESB-Designer全称为ApusicEnterpriseServiceBusDesigner,中文名为“XXApusic企业服务总线设计器”,AESB-Designer是建立在Eclipse基础之上的“轻量级”ESB开发管理平台,通过它可以极大地降低AESB的开发与管理难度,提升AESB应用开发效率。
一.1.5.2AESB组件功能
XXApusicESB产品的组件功能包括但不限于下面27个组件。
一.1.5.2.1连线
连线配置:
流程在经过该连线的时候执行,用于判断流程是否可通过。
为了解决流程中业务逻辑的多样性,AESB流程在分支节点的输出连线上添加了连线配置,可以填写业务逻辑判断条件,用于引导流程。
一.1.5.2.2分支、合并组件
分支、合并节点是对流程中连线的约束,所有输入任务节点只允许一条输出连线,其他节点只允许一条输入和一条输出连线,除此之外,分支节点
允许有多条输出连线,而合并节点
允许有多条输入连线。
一.1.5.2.3循环
循环组件用于处理消息流程中记录集遍历,以及按条件执行任务。
组件功能类似于java语言中的foreach和while。
一.1.5.2.4捕获异常
捕获异常组件用于监控并捕获流程抛出的异常。
若捕获到异常后则沿着“捕获异常”的输出连线继续执行流程,否则沿着节点的输出连线继续执行流程。
一.1.5.2.5抛出异常
抛出异常组件允许在流程中抛出一个运行时异常,抛出异常的流程分支将无法继续执行。
抛出异常组件通常用于终止流程的不合法分支,如输入信息不合法。
防止流程在错误的分支上继续执行,并返回异常提示信息。
一.1.5.2.6映射
在此组件中可以往流程中添加新的数据类型,并可对数据变量进行值映射。
一.1.5.2.7XML转换
SDO是保存信息的数据结构,XML是符合xml语法的字符串。
XML需要转换成SDO才能让消息流程直接使用里面的信息,SDO需要转换成XML才能把信息保存到文件中。
一.1.5.2.8JSON转换
本组件可以将符合JSON语法的字符串转换成SDO,让消息流程可以使用JSON里面的信息,也可以将SDO转回JSON。
一.1.5.2.9文本转换
SDO是保存信息的数据结构,文本是流程中的文本消息。
文本需要转换成SDO才能让消息流程直接使用里面的信息,SDO需要转换成文本才能把信息保存到文件中。
文本转换组件定义了文本转SDO和SDO转文本两种转换方式。
一.1.5.2.10表输入组件
表输入定义了对数据库表的记录采集。
表输入节点通过定义SQL语句来采集记录,在设计期,表输入节点的下游节点可以获取该表输入节点所采集的数据的描述信息;而在运行期,表输入节点的下游节点则可以获取表输入节点所采集的记录实例。
一.1.5.2.11增量表组件
增量表则是用在数据的实时同步。
采用触发器、闪回、CDC等方式,将采集数据库表中的增量数据变化,从而达到实时同步数据的功能。
一.1.5.2.12Excel相关
Excel读取组件用来读取Excel文件的内容,将读取的内容做为SDO对象,提供给下游节点使用。
可定义读取的起始行、起始列、读取行数、根据关键字替换列值为上一行等。
Excel输出组件将读取到的源表数据,输出到指定Excel文件中去。
一.1.5.2.13记录拆分
记录拆分组件用于将一个结果集拆分为多个结果集,例如:
对于一组分数集,将其拆分为大于90、小于90大于60、小于60三组数据。
一.1.5.2.14表输出组件
表输出组件将上游集合变量的数据,同步(操作类型包括:
插入、更新、删除)到指定数据源的指定表中,如果上游集合变量数据中不包含操作类型,则默认为插入操作。
一.1.5.2.15数据扩充
数据扩充组件,用于扩充源变量的字段,扩充字段来自关联变量。
一.1.5.2.16TXT输出
TXT输出组件,用于将数据库表数据和流程中的集合类型数据导出到txt文件中。
一.1.5.2.17存储过程调用
存储过程调用组件,用于调用数据库中的存储过程。
一.1.5.2.18数据相关组件
数据输入组件是用于从数据库中读取数据,同时对已读取的数据进行处理,有三种处理方式:
“直接删除”、“逻辑删除”、“更新状态表”。
数据插入组件是在得到上游节点过来的数据后,把符合条件的数据插入或者更新到指定的数据库中。
数据更新组件是在得到上游节点过来的数据后,可以先对数据进行筛选,把符合条件的数据更新到指定的数据库表中。
数据删除组件是在得到上游节点过来的数据后,根据配置的删除条件,对目标表数据进行删除。
数据查询组件是在限定的模型下,编写Sql查询语句对数据库进行数据查询。
限定模型是指:
select结果集字段必须在你所导入的数据“类型”范围内。
SQL执行组件可以对一个指定的数据源执行若干句SQL语句,这些语句可以是DDL、DML或DCL。
一.1.5.2.19AMQ相关组件
AMQ是Apusic公司的MQ产品,实现了JMS规范。
“AMQ消息输入”做为流程的开始节点,监听并接收队列或主题中的消息,对于依赖JMS的系统内部通信或系统之间通信,该组件尤为重要。
“AMQ消息获取”可以根据"消息筛选规则",从队列里获取指定的消息,所以也可用于多个获取组件监听并接收一个队列。
“AMQ消息输出”组件可以把消息输出到相应的队列或主题上去,即:
数据的输出方或发布者。
“AMQ文件输入”组件监听设定的文件池,当有文件传输进来时,可以选择将文件保存到本地目录、并可将其读取为上下文变量对象(包含来源路径、源文件名、文件备注等)。
“AMQ文件获取”组件根据文件名或文件UUID,从指定文件池中获取匹配的文件。
可以选择将文件保存到本地目录,并将文件相关信息保存为流程变量向后续节点传递。
“AMQ文件输出”组件将文件输出到指定的MQ文件池中,利用文件池传输文件。
文件可以是本地文件或自己生成一个新的文件。
一.1.5.2.20HTTP相关组件
HTTP服务端输入组件建立一个自定义的http服务,允许通过接收http请求来对流程输入信息并运行流程。
组件定义了HTTP访问地址,消息类型和SSL安全连接选项。
HTTP服务端输入组件经常与HTTP输出组件搭配使用。
HTTP服务端输出组件用于设置响应HTTP请求的内容,响应的内容可以是自定义内容或者文件。
HTTP服务端输出组件需要和HTTP服务端输入组件配合使用。
HTTP客户端组件允许发送一个http请求到指定url,请求的响应结果将以文本、二进制或文件变量的形式包装,供后续节点使用,可自定义变量名。
一.1.5.2.21FTP相关组件
FTP文件监控组件是流程的起始组件,必须出现在流程的起始位置,不需要前置条件。
可以使用此组件监控FTP服务器上指定文件夹里面新增的文件。
FTP上传组件不是流程的初始组件,不需要任何前置组件和前置条件,可以出现在流程的任何非初始位置。
可以使用此组件将指定的文件或文件夹上传到FTP服务器端。
FTP下载组件不是流程的初始组件,不需要任何前置组件和前置条件,可以出现在流程的任何非初始位置。
可以使用此组件将指定的文件或文件夹从FTP服务器端下载到本地文件系统。
一.1.5.2.22JMS相关组件
JMS消息输入组件提供接入ApusicMQ服务器或者其他厂商的MQ服务器的服务,从相应的JMSqueue里面获取信息。
在设计期,JMS消息输入节点的下游节点可以获取该JMS消息输入节点所采集的数据的描述信息;而在运行期,JMS消息输入节点的下游节点则可以获取JMS消息输入节点所采集的消息实例。
JMS消息获取组件提供接入ApusicMQ服务或者其他厂商的MQ服务器的服务,从相应的JMSqueue获取信息。
在设计期,该结点的下游节点可以获取该节点所采集数据的描述信息;而在运行期,下游节点则可以获取该节点所采集的消息实例数据。
JMS消息输出组件提供接入ApusicMQ服务器或者其他厂商的MQ服务器的服务,可以把消息输出到相应的JMSqueue中。
一.1.5.2.23Socket相关组件
Socket服务端输入组件用于启动一个Socket服务器,可以接收Socket客户端发送的请求,根据配置中的“消息内容”对信息进行相应的处理。
Socket服务端输出组件用于向Socket客户端发送响应消息,根据配置中的消息类型相应地发送文本信息或二进制信息。
Socket客户端组件有两个页面配置:
第一个页面为“Socket请求”,用于向指定的Socket服务器发送请求;第二个页面为“Socket响应”,用于接收Socket服务器返回的消息。
一.1.5.2.24Email发送
Email发送组件不是流程的起始组件,不需要前置组件和前置条件,可以出现在流程的任何非起始位置。
可以使用此组件连接一个邮件发送服务器(smtp服务器)发送电子邮件。
一.1.5.2.25WSDL调用
调用组件不是流程的初始组件,可以出现在流程的任何非初始位置。
使用前提:
要使用此组件,必须先在流程属性中的“WSDL管理”中导入服务的WSDL地址,才能进行相关配置;必须要有符合服务请求类型的输入变量。
一.1.5.2.26文件相关组件
文件监控组件,用于监控指定文件夹(AESB-Runtime所在主机)里面新增和修改的文件,每增加或修改一个文件,都将会触发运行一次流程,并将新增或修改文件的相关信息缓存到fileMonitorInfo变量中,供后续组件使用。
文件读取组件,用于读取指定文件的内容,并将读取的文件内容缓存到生成的变量中,供后续组件使用。
文件输出组件,用于把指定内容输出到指定文件,并将输出的文件内容缓存到生成的变量中,供后续组件使用。
一.1.5.2.27流程调用
流程调用组件可以调用指定流程的操作,控制流程的启动或停止并支持事务回滚。
一.1.5.3AESB服务管理功能
一.1.5.3.1服务注册与管理
服务注册库SRR(ServiceRegistryandRepository)以一致的方式存储服务并对服务进行版本控制。
服务注册库支持运行时的服务端点查找(serviceendpointlook-up),有助于防止服务的新版本的部署对服务消费者的影响。
AESB服务重用的关键是SRR具备服务注册与服务查找的能力。
SRR不仅支持服务发现和服务重用,同时还支持在各个领域彼此关联的服务,例如,元数据管理。
在实时运行的服务之间进行动态、有效的交互,来增强连通性。
通过利用动态连接,SRR能够使ESB在请求到达时找到最适合的端点,从而支持动态SOA与松耦合。
在整个SOA产品的生命周期中可以对SRR进行管理,从开发、测试、生产直到结束。
SRR要管理整个机构中的服务访问权限,确定哪些客户能够进行访问以及能够访问哪些服务。
它在整个监管生命周期中通过用户、用户类型和服务发布地点来进行监管。
ApusicESB提供了支持服务注册库SRR,可以进行服务的注册、导入、导出、代理Web服务和服务的发现、查找、删除等功能,并将进一步加强服务的管理及监管功能。
服务注册库SRR(ServiceRegistryandRepository)以一致的方式存储服务并对服务进行版本控制。
服务注册库支持运行时的服务端点查找(serviceendpointlook-up),有助于防止服务的新版本的部署对服务消费者的影响。
跟一些业务规则一起运用,来为特定的请求和特定的客户选择最合适服务端点。
通过与监控设施结合运用,可以从负载平衡的角度或者根据特定业务需求,来确保服务级协定(SLA)不被破坏。
为了实现服务重用,需要对服务进行治理(Governance),以实现按照希望的重用方式来设计、建造和运作这些服务。
SRR是存储已用、计划使用或想要了解的系统(或其他机构系统)中的服务信息的地方。
它帮助实现服务语义和缩小IT和业务世界之间的差距的业务含义,并提供服务的业务级视图。
一个应用能够在其调用服务之前核查SRR,确定满足功能和性能要求的最合适的服务。
SRR的首要作用就是促进业务服务的产生、访问、监管和重用。
它使得业务、服务以及SOA基础架构元素之间的交互可以集中化管理,并统一了监管服务供应商、用户和服务之间进行交互的标准和原则。
总的说来,SRR促进了业务对象之间的协调关系、IT资产的重用和SOA的逐渐推广。
服务注册中心能够回答“什么是服务”以及“服务定位于何处”的问题。
而只有服务仓库可以回答下列问题:
服务如何被使用、它们之间如何交互、谁在使用这些服务以及为什么使用。
为了获得SOA收益,注册中心和存储库都是必须的——需要同时具备这两种能力,才能实现所需的价值。
对于成功的SOA部署而言,当不再局限于第一个独立项目时,SRR对于有效实现SOA的价值是必须的。
如果决定构建SRR,就应该努力获得以下这些能力:
i.发布与查找服务
SRR需要具备在各部分发布与查找服务的能力,这种能力是重用的关键。
同时,这种使服务社会化的能力能够明确通用的服务,避免重复工作,并促进重用。
必须确保在考虑SRR的时候,不仅仅支持服务发现和服务重用,同时还支持在各个领域彼此关联的服务,例如,元数据管理。
否则将无法对服务进行分类,订购改变或更新,或者在改变产生之后,无法及时通知相应的客户。
ii.监管
SRR需要在整个SOA产品的生命周期中进行管理,从开发、测试、生产直到结束。
SRR要管理整个机构中的服务访问权限,确定哪些客户能够进行访问以及能够访问哪些服务。
它在整个监管生命周期中通过用户、用户类型和服务发布地点来进行监管。
iii.增强
SRR需要通过在实时运行的服务之间进行动态、有效的交互,来增强连通性。
通过利用动态连接,SRR能够使ESB在请求到达时找到最适合的端点,从而支持动态SOA与松耦合。
iv.管理
为了促进服务性能的优化,SRR必须确保政策有效执行,并能够对该政策执行的效果进行分析。
它必须能够统一服务测量标准并理解服务性能。
这种理解能够帮助业务完成服务级的一致化过程。
一个SRR必须要具备发布服务、查找服务、增强服务、管理服务以及监管服务的功能。
但是,一个SRR除了要具备上述的这些功能之外,还必须保证服务所支持的互操作是标准的。
服务标准对于现有投资与基础构架的利用是相当关键的,比如支持WSDL、XML、XSD、BPEL、SCG与其他的一些支持真正互操作的标准。
这种开放标准支持所有标准的注册中心与存储库的整合。
SRR就像图书馆中的卡片目录,因此它需要具有在整个机构中链接信息源的能力。
ApusicESB提供了支持服务注册库SRR,可以进行服务的注册、导入、导出、代理Web服务和服务的发现、查找、删除等功能,并将进一步加强服务的管理及监管功能。
图:
服务注册库管理
图:
服务注册信息描述
一.1.5.3.2服务路由
ESB本身不直接提供服务,而是通过将服务提供者发布的服务注册到SRR上,当服务消费者请求服务时,总线根据内部维护的路由规则,将消费请求分发给相应的服务提供者。
ApusicESB通过流程化的方式,有机的组合和串联各个服务和数据处理组件,以流程化的方式,制定服务路由规则。
ESB本身不直接提供服务,而是通过将服务提供者发布的服务挂载到服务总线上,当服务消费者请求服务时,总线根据内部维护的路由规则,将消费请求分发给相应的服务提供者。
同时,ApusicESB通过底层的Apusic消息中间件完成消息的物理路由,真正做到消息传输的可靠、稳定、安全。
一.1.5.3.3服务编排
服务编排指对注册在SRR上的多个服务进行调度与协调,在基础服务之上封装新的服务。
服务编排的目的是为了提高服务的复用性和服务开发的效率,被编排的各个服务之间是松耦合的,他们可以独立地进行替换或修改,而不对另一方产生影响。
服务编排指对平台之上的多个服务进行调度与协调,在基础服务之上封装新的服务。
服务编排的目的是为了提高服务的复用性和服务开发的效率,被编排的各个服务之间是松耦合的,他们可以独立地进行替换或修改,而不对另一方产生影响。
AESB-Designer是基于国际标准化集成开发平台(IDE)EclipseRCP开发的业务设计器,通过它可以帮助本系统的实施方快速、可视化配置和定义各种数据源、任务流程、服务编排、任务调度等业务逻辑。
一.1.5.3.4服务质量
ApusicESB开发套件工具支持系统运行期间、服务整个生命周期环节的监控和报警,可对服务过程中的进度、差错、纠正、恢复等方面进行监控、报警和故障分析,开放套件提供图形化的操作界面。
一.1.5.3.5日志管理
ApusicESB对发生的服务运行各个环节都记录有详细的数据日志。
基于这些日志数据,可以形成非常丰富的日志分析报表。
AESB提供了相应的接口,可以随时根据项目需求定制开发相应的日志分析模块。
在出厂的时候,AESB已经提供了最常用的日志分析的功能,可以根据用户输入的时间条件,获取各个前置机上,在这段时间内,以月、天或者小时为单位,发生的数据记录情况。
一.1.5.3.5.1流程维度
AESB提供对数据交换流程的全面监控。
包括监控正在执行的流程、已经执行完毕的历史流程等。
能够监控到流程中的每一个任务节点,得到其中发生的数据情况。
例如一个部门中从业务数据库到前置数据库的数据同步流程,可以在流程监控中看到流程的运行情况,对每一个节点可以看到节点执行时发生的数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 服务 总线 SOA 组件 技术 方案 项目 解决方案 建议书 模板 范文 完整