1 概述
企业服务总线(Enterprise Service Bus,缩写 ESB),是SOA面向服务架构的骨干,在完成服务的接入、服务间的通信和交互基础上,提供安全性、可靠性、 高性能的服务能力保障。采用 SOA 架构,基于ESB总线进行企业异构应用集成,可以有效降低应用系统、各个组件及相关技术的耦合度,消除应用系统点对点集成瓶颈,降低集成开发难度,提高复用,增进系统开发和运行效率,便于业务系统灵活重构、敏捷适应业务及流程变化。
本文对企业服务总线ESB集成项目中,基于AEAI ESB实现异构系统集成的相关规范、标准进行阐述、明确,为项目开展以及后续完善扩展提供技术参考和依据。
2 功能特点
AEAI ESB作为数通畅联公司的企业应用集成产品,主要用来实现异构系统(如:不同的数据库、消息中间件、ERP或CRM等)之间的资源整合,实现互连互通、数据共享、业务流程协调统一等功能,构建灵活可扩展的分布式企业应用。
相比传统的企业应用集成软件平台,AEAI ESB是一个全新的符合SOA架构的应用服务整合平台,是基于大量集成实践经验不断完善、用于构建可管理、可扩展及经济高效的EAI技术解决方案。
图1.基于AEAI ESB总线的企业应用集成模式
AEAI ESB提供了从企业应用集成的设计、开发、部署,到运行、管理、监控各个生命周期阶段的工具。它提供的图形化、拖拽式开发方式,可以快速创建可扩展不同类型的数据(应用)集成流程,并全面支持服务及服务常用形式Web Service,简化了服务的创建与封装,并能够使用户灵活地编排服务,以满足不断变化地业务需要和业务处理流程。
AEAI ESB基于JavaEE体系构建,主要包含三个模块:服务器ESBServer、设计器ESBDesigner、管理控制中心。ESBServer是AEAI ESB的运行环境,管理控制中心则是部署在ESBServer的Java Web应用,基于开发平台构建的。ESBDesigner是基于Eclipse Plugin开发的图形化、拖拽式的设计Web服务、消息流程的构建工具。AEAI ESB主要功能及特点如下:
- 基于开放标准,高度可扩展
AEAI ESB的技术架构及实现基于开放式标准,支持SOAP、WSDL等规范,基于开放式标准如:SOAP、JDBC、JMS、JavaWS、JavaMail、Http等,便于系统迁移以及将来扩展。
- 支持企业级服务质量
支持的企业级服务质量,包括消息安全、失败恢复、状态诊断、服务管理、服务审计及消息可靠传输、事务的完整性等,提供数据交换过程和数据的跟踪能力。
- 提供数据格式转换功能
提供图形可视化的异构数据格式转换映射工具,能够将数据从一种格式简便快速地转换成另一种格式。输入数据和输出数据可进行不同格式间的转换,从而可快速集成异构应用。
- 支持多种服务/组件通讯方式
支持多种服务/组件通讯方式,如同步和异步等,用户可以按照自己的需要,灵活定义通讯方式。
- 提供对Web Service的完整支持
既支持不同外系统提供的Web Service访问、服务代理接入,又能够将现有业务应用封装成Web Service供复用。支持Web Service常用标准协议,如SOAP、WSDL等,同时支持Web服务的编排及不同粒度的服务封装,便于创建松耦合及可复用的面向服务架构
- 监控与管理
提供了基于浏览器的管理控制台,能够对监控节点、服务、组件及业务流程进行状态查询和监控管理。对监控、跟踪和日志具有平台级的支持,还提供远程跟踪调试功能。
- 支持集中管理及分布部署
支持分布式应用及部署,开发的服务、组件及业务流程,可以分布式部署到网络上的多个逻辑节点,实现分布式运算和应用,支持水平以及垂直扩展,满足性能扩展需要。支持远程增量部署,大大降低部署成本。
3 数据标准
3.1 信息采集规范
数据总线平台的建设与应用并非是不关注业务,数据的随意流通。数据交换需要规范业务系统间交换的属性。信息采集规范就是指规范业务系统数据采集交换的方式、频率、加工策略等规范。例如:哪些业务系统的哪些数据要实现实时交换、哪些是触发交换;采集的数据是全量、增量还是根据某些条件进行交换;是通过数据库采集、文件采集还是服务获取等。
3.2 数据内容规范
数据内容规范指数据交换过程中数据清洗、转换的标准。要制定重复数据的基准、数据转换的基准、清洗的规则、共享的方式。例如:不同单位的业务系统可能存在对某段同样语义的描述信息,但是因业务系统开发商不同导致其信息存储的格式和内容会有区别,再其他业务系统需要这条数据的时候,此数据应该从哪个业务系统获取,或者是获取出来进行比对、分析、处理之后再交换到其他业务系统。
3.3 数据维护规范
数据交换的需求可能是多种多样,包括临时的需求和长期的需求。长期需求可能是建立综合数据库、数据中心或是把A系统业务库中的数据长期交换到B系统的业务库中,因此需要制定数据维护的标准,定义不同系统的不同业务数据采用数据维护的方式。
例如:财务系统业务数据要保留交换的历史数据,且采用时间戳的方式增量维护;OA系统业务数据仅保留3个月的数据,且采用触发器的方式交换;人力资源业务数据采用主动到数据源端抓取业务数据的方式维护自身业务数据等等。
4 标准规范
4.1 集成开发规范
- 创建工程按照集成需求业务进行划分,格式为“公司名”+“产品”+”业务名”,例如:AeaiESBHr、AeaiESBCrm
- 工程下的目录按照服务提供方(系统)进行划分,如果只有相同的服务提供方,也需要创建目录进行划分;
- 流程名采用匈牙利命名法(在几个字母联合的时候,首字母大写,如HR系统提供数据到门户:HRDataToPortal),编码长度不能超过20个字母;
- 所有的消息流程填写中文别名和描述,描述一定要写清楚具体含义。
- ESB集成项目主包名:com.agileai.esb;
- 公共代码直接放在com.agileai. esb目录下,其他代码采用ESB默认生成的包名以及类名。
4.2 WEB服务规范
应用/数据接口以WebService方式进行发布,采用Http通讯协议进行同步通讯,AEAI ESB服务代理支持SOAP 1.1、SOAP 1.2访问协议,AEAI ESB的开发Web服务默认支持SOAP1.1,对于Web服务报文信息字段要求如下:
- 各字段若无特别说明均为字符串型;
- 日期字段默认格式为“yyyy-MM-dd”,如:2015-05-14;
- 时间字段默认格式为“HH:mm:ss”,如16:25:16;
- 报文头信息具有默认结构,允许自定义报文头。
不论是在AEAI ESB中注册的服务代理还是AEAI ESB中发布的服务都支持:用户、密码认证以及扩展认证模式,同时提供服务监控、服务调用统计功能,同时支持业务日志。
4.3 AEAI ESB开发规范
本项目中在AEAI ESB中开发的服务主要为Web Service、Http、Timer三种方式的服务,各单位内部及下属各单位的业务系统既有的Web服务,在AEAI ESB中注册服务代理方式,AEAI ESB提供消息转发、服务监控、服务统计、以及服务认证和业务日志功能。
4.3.1 服务代理注册
首先,登陆ESB管理控制台
选择需要添加服务代理的工程,选择服务代理标签
点击新增,进行WEB服务注册代理
将需要进行代理的服务URL添加到对应位置(1),点击解析按钮进行服务代理注册(2),添加认证类型(无认证,用户密码,扩展流程)(3),添加是否启用业务日志(4)
在提供的ws服务中,service的name需要通过业务功能来命名,不能重复
<wsdl:service name="XXX"> <wsdl:port name="erp_ryzw_receivePort" binding="tns:ErpRyzwReceiveServiceSoapBinding"> <soap:address location="http://localhost:9090/AEAIESB/wsproxies/XXX"/> </wsdl:port> </wsdl:service> |
4.3.2 开发WEB服务
对于既有系统不能提供Web服务接口的应用系统,且需要Web服务方式来集成,或者需要对既有的Web服务实现服务编排重组,可以在AEAI ESB开发Web服务。
- 如果涉及到数据读取,需要对应系统管理员提供提供数据视图、字段说明、以及数据库连接方式;
- 如果涉及到数据写入,需要对应系统管理员提供中间表以及存储过程,ESB理论上不直接访问实际的业务表;
- 如果涉及到服务编排,需要对应系统管理员提供Web服务的SOAP调用样例,请求和响应参数说明。
4.3.3 开发HTTP服务
根据服务提供方提供的数据库交互方式(视图查询、存储过程)进行Http流程的开发
- 提供数据库连接信息,如账号密码及地址等(Oracle数据库还需要提供SID),登陆ESB管理控制台对数据库资源进行注册管理;
- 服务提供方需提供存储过程或相关的查询SQL语句;
- Http流程的返回值为JSON或者XML格式(需要就实际业务进行选择),调用方自行解析。
4.3.4 开发Timer服务
根据当前的轮询方式,在AEAI ESB上改造为Timer流程:
- 服务系统管理员提供当前的轮询策略(定时、间隔、自定义);
- 提供数据库连接信息,如账号密码及地址等(Oracle数据库还需要提供SID),登陆ESB管理控制台对数据库资源进行注册管理;
- 提供查询全量数据还是增量数据,查询增量数据时的条件;
4.4 AEAI ESB测试规范
4.4.1 单元测试
单元测试由流程开发者自己来完成,单元测试是对完成一条流程后的最基本检查,主要是用来检测逻辑否正确,程序代码是否正确, 组件节点命名是否按照规则,实例正确生成、以及字段和变量的拼写错误,还包括所引用资源是否可以等细节。
单元测试的依据是测试规格说明书,单元测试的目的是对流程功能基本验证,该测试用来确定执行结果否符合预期,单元自测以持续执行3次均成功方验证为成功。
4.4.2 结对互测
当局者迷,旁观清。两个开发人员具有相同的缺点和盲可能性很小,当采用结对互测试的时候会获得一个强大解决方案 ,能更快的发现并解决问题 。结对互测准确来说是一个测试方法,而不是其中的具体环节。
结对互测是指两个流程开发人员相测试对方的流程,结对互测的基础已完成开发人员已完成单元测试。
4.4.3 集成测试
大多数流程之间不是独立的,而有关联。多个流程的执行才是真实的逻辑业务, 所以在有流程完成单元测试后,需要按照业务子系统对多个流程进行连贯的集成测试,用来发现执时是否可以满足实际业务的需要。
集成测试可以根据实际业务模块或者子系统,来各自独立进行。集成测试用来发现多个流程协作执行时产生的潜在问题,这其中包括流程数据业务一致性和稳定性等。
4.4.4 业务联测
业务模拟测试时在集成之后进行的,当各个子系统的对应流程进行了集成 测试并通过后,可以进行完整系统的业务模拟测试。通常业务联测需要业务人员的参与和协作,在系统试运行初期进行。
业务模拟测试是所有流程的完整,各个被集成子系统和数据库都以正常模 拟数据进行测试。此时AEAI ESB集成平台对用户来说是透明的,所有数据都通过业务人员在各自系统上进行模拟操作获取 。
相关推荐
ESB,全称企业服务总线(Enterprise Service Bus),是现代企业级软件架构中的关键组件,旨在解决日益复杂的系统间通信和集成问题。作为一种中间件技术,ESB融合了传统中间件的特性与XML、Web服务等新兴技术,致力于...
WSO2 ESB(Enterprise Service Bus)是WSO2公司推出的一款开源的企业级服务总线,它基于Java语言开发,遵循ESB(企业服务总线)模式,旨在帮助企业实现服务的集成、管理和优化。作为一个中间件平台,WSO2 ESB的核心...
### 企业服务总线ESB的核心知识点 #### 一、ESB的概念与起源 - **概念**:ESB,即企业服务总线(Enterprise Service Bus),是中间件技术与XML、Web服务等现代信息技术相结合的产物。它作为企业级集成框架的核心...
企业服务总线(ESB,Enterprise Service Bus)是软件架构中的一个重要组成部分,它旨在促进不同系统之间的集成和通信。在本文中,我们将深入探讨ESB的特性,特别是InterESB的开放式插件架构,以及它如何帮助企业克服...
为了解决这些问题,企业服务总线(ESB, Enterprise Service Bus)作为一种重要的集成解决方案应运而生。本文将详细介绍ESB的基本概念、实施要点以及具体的解决方案案例。 #### 系统集成面临的挑战 企业在进行系统...
在这一转型过程中,WebSphere Message Broker(WMB)作为企业服务总线(ESB)的核心组成部分,发挥了关键作用。WMB不仅提供了强大的消息处理能力和灵活的路由策略,还支持多种协议和数据格式,确保了不同IT系统之间...
ESB标签通常用在需要介绍和讨论企业服务总线技术的场合,特别是在描述它如何促进不同系统间的服务集成和服务总线模型的优势。 #### 用户最多标签的意义 这个标签强调了MULE在用户群体中的广泛使用,意味着其在实际...
企业服务总线(Enterprise Service Bus,简称ESB)是一种中间件技术,用于在企业内部或跨组织之间集成不同系统和服务。它通过提供一种松散耦合、标准化的方式,促进应用程序之间的通信,从而实现数据和业务流程的...
企业服务总线解决方案旨在构建一个高度集成且灵活的IT环境,通过SOA理念提高系统的互操作性和复用性,降低集成复杂性,增强架构的柔韧性和扩展性。ESB不仅提升了银行业务处理的效率,还为企业面对市场变化提供了快速...
1. **服务总线(ESB)概念**:服务总线是一种中间件技术,它作为企业内部各个系统间通信的桥梁,通过统一的消息传递机制,实现了服务的解耦、复用和集成。 2. **企业架构**:在大型企业中,服务总线通常被用来构建...
通过提供一套标准化的服务交互机制,OSB能够有效地促进企业内部及跨企业的业务流程集成。 #### 二、关键概念 - **ALSB(AquaLogic Service Bus)**:早期版本的Oracle Service Bus被称为AquaLogic Service Bus,是...
2. 构建企业服务总线(ESB):作为核心组件,ESB负责规范转换为实际服务接口,提供数据路由、安全管理和流程配置等功能。 3. 着眼未来:不仅要满足当前需求,还要考虑系统未来的扩展性和适应性。 以葛洲坝集团为例...
在"在企业服务总线上传递消息附件的方法及装置.pdf"文档中,可能详细描述了具体的实施案例,包括所用的技术、步骤和最佳实践,以帮助读者理解如何在实际项目中应用这些理论知识。 总之,理解并掌握在ESB中处理消息...
企业集成模式不仅涵盖了技术层面的考量,如APIs、ESB(企业服务总线)、微服务等,还涉及了组织结构、数据标准化和安全策略等多个维度。 ### 二、设计阶段的关键考虑因素 #### 1. 业务需求分析 在设计企业集成...
设计阶段,项目管理师需要与技术团队合作,制定系统架构,选择合适的集成策略,如企业服务总线(ESB)、接口适配器或微服务架构。此外,还需考虑系统的扩展性、可维护性和安全性。 实施阶段,管理师需监控进度,...
文章中提出的基于JBI规范的面向服务的应用集成框架,是一个利用企业服务总线(ESB)无缝集成应用与数据资源、支持流程服务编排并能进行组合服务应用开发的框架。该框架在异构数据集成中的应用示例表明,它可以有效地...
- **企业服务总线(ESB)**:作为中间层提供服务之间的通信管道,并支持服务发现和服务调用等功能。 尽管市场上存在多种面向服务集成的解决方案,但其中很多采用的是非标准技术,导致技术专有化且缺乏灵活性。2005...
**项目描述**:该项目主要针对北京大学人民医院现有的信息系统进行升级改造,采用IBM的WebSphere作为核心集成工具,建立了一个基于企业服务总线(ESB)的集成平台。该平台不仅能够整合医院内部的各种信息系统,还能...