ESB企业服务总线在实际项目中主要用于各业务系统之间的集成,集成包括数据集成、应用集成以及业务单据集成等,ESB企业服务总线主要包含三部分:ESB设计器、SMC管理控制台以及Server运行环境,ESB设计器用于服务以及集成流程的开发,可以直接将服务或者流程部署在Server当中,并通过前端管理控制台SMC来对服务以及流程进行管理,并进行监控统计分析。
中国很多制造行业ERP系统选用SAP ERP,其他业务系统与SAP系统的数据集成是一个很常见的场景。ESB企业服务总线中的Bapi组件是基于SAP JCO来封装的组件,支持读对象、写对象、读列表、写列表,可以通过简单的配置操作Bapi中的数据。本篇文档主要介绍Bapi组件相关功能。
整体介绍
ESB主要作为企业信息系统的“龙骨”来集成各业务系统, ESB最大的技术特点在于,它是一个完全面向企业级的中间件解决方案,可以构建在企业现有的网络框架、软硬件系统之上,基于适配器技术,把数据、接口、协议、消息、文件都进行统一封装,采用引擎把它们图形串联起来,构建数据集成、应用集成的可视化流程,实现数据传输交换、异构系统对接,更多情况下作为服务提供者,为其它系统提供业务服务。下面主要介绍一下ESB产品以及本次功能调整的内容。
1.产品概述
AEAI ESB企业服务总线对于所有的资源如:数据库、消息队列、属性资源等进行统一配置,以及资源初始化、监控。按集成应用、集成服务、集成流程、集成组件不同粒度进行管理,同时实现各服务以及流程运行隔离,互不影响。AEAI ESB服务总线平台支持跟不同的产品结合来满足不同集成场景。
一个ESB Server中可以有多个ESB应用,一个ESB应用中按分组方式包含多个Web/Rest服务和消息流程。Web/Rest服务的不同操作Operation可以通过绑定消息流程实现,消息流程除了可以实现Web服务的各种方法,还能够以Http服务、Timer服务、Queue队列服务方式实现集成功能。一个消息流程中可以使用多个适配器组件,可以模拟程序代码中的顺序、判断、循环、异常处理等形式,各组件以配置方式或扩展代码方式引用管理控制台统一定义的资源(DB、MQ、Config等),不同组件实现特定的功能。基于图形化设计器产生消息流程的配置文件,在AEAI ESB引擎负责解析消息流程配置文件、实例化消息流程以及流程中的各组件,从而实现不同的业务集成、数据集成功能。
2.功能架构
ESB企业服务总线主要包含三部分,ESB设计器、SMC管理控制台以及Server运行环境,ESB设计器用于服务以及集成流程的开发,可以直接将服务或者流程部署在Server当中,并通过前端管理控制台SMC来对服务以及流程进行管理和监控。ESB整体功能架构如下:
ESB企业服务总线提供了丰富强大的组件堆,可以满足客户绝大多数的业务场景,开发人员使用极少的代码即可完成整套流程的设计;支持服务注册、应用集成,支持集成场景的配置化,通过SMC配置集成场景,满足推、拉、定时等集成方式,可以更加快速、更加便捷地实现业务系统间的集成,并支持邮件、短信等多种预警机制。
3.Bapi组件
ESB企业服务总线中的Bapi组件是基于SAP JCO来封装的组件,支持读对象、写对象、读列表、写列表,可以通过简单的配置操作Bapi中的数据。
1.SAP资源:配置Bapi组件前需要在SMC管理控制台共享资源模块的SAP资源中配置SAP资源信息,包括:地址、用户名、密码等。
2.操作类型:在Bapi组件中可以配置不同的操作类型,包括:读对象、写对象、读列表、写列表四种。
3.参数配置:配置完操作类型需要配置入参和出参信息。
SAP说明
SAP的核心业务是销售其研发的商业软件解决方案及其服务的用户许可证。SAP解决方案包括标准商业软件及技术以及行业特定应用,主要用途是帮助企业建立或改进其业务流程,使之更为高效灵活,并不断为该企业产生新的价值。下面对SAP相关功能进行介绍。
1.功能说明
SAP的软件具备高度集成性和灵活性,能够帮助企业实现各项业务流程的自动化和优化,并提供实时的数据分析和决策支持。通过使用SAP的解决方案,企业可以提高效率、降低成本、增强竞争力,在市场竞争中取得更好的业绩。
SAP从企业后台到公司决策层、从工厂仓库到商铺店面、从电脑桌面到移动终端—SAP助力用户和企业高效协作,获取商业洞见,并从竞争中脱颖而出。SAP的主要功能有商业智能、客户关系管理、企业信息管理、企业绩效管理、企业资源规划、管理和合规、人力资本管理、产品生命周期管理、服务和资产管理、供应链管理、可持续性、制造和移动性。
2.集成方式
PO是SAP的集成组件,用来解决外部系统跟SAP应用集成问题。PO可以快速地把SAP的RFC封装为Web Service,还可以实现外部服务与SAP的集成,基于RFC的集成以及基于服务代理的集成都可以实现,但不能解决其他系统之间的集成问题。
1.不用PO的集成方式:SAP PO不是SAP ERP集成的必选工具,在没有SAP PO组件的情况下,实现其他系统与SAP系统集成可以直接调用SAP 专有的RFC(Bapi)接口来实现。目前ESB中提供Bapi调用组件可以实现对SAP RFC的配置化调用,将其封装成SOAP Web Service或者RESTful Web Service,实现可视化配置方式跟SAP集成交互、提升集成开发效率。
2.使用PO的集成方式:ESB跟SAP PO二者是协作配合关系而不是非此即彼竞争关系。如果有PO存在,实施企业级企业服务总线ESB时候,可以把PO当作SAP的RFC的WebService接口配置开发工具,作为二级服务总线专注于服务SAP相关系统的服务集成,PO中所开发的需要跨系统集成的Web Service服务,要在ESB中注册,ESB负责所有系统间服务的对接集成,提供服务注册、代理、集成配置、集成监控、统计和报警等功能。
3.SAP JCO
SAP JCO全名是SAP java Connector,也就是java连接器。JCo是一个高性能的基于JNI的中间件,提供了可以直接在Java程序中使用的API,该API通过JNI调用部署在客户端的SAP的RFC(Remote Function Call)库。ESB中的Bapi组件就是基于SAP JCO来封装的组件,支持读对象、写对象、读列表、写列表,可以通过简单的配置操作Bapi中的数据。
资源配置
在配置Bapi组件前需要在SMC管理控制台配置SAP资源的信息,包括:地址、用户名、密码等,同时要明确需要调用的函数名称和参数格式,下面主要介绍配置SAP资源的步骤。
1.SAP资源
1.首先主要在SMC管理控制台共享资源模块的SAP资源中配置SAP资源相关信息。
2.配置完成后需要在列表页面重新加载资源。
2.方法名称
1.配置完SAP资源后需要明确调用SAP资源的方法名称。
3.参数格式
1.在配置组件前需要明确对应的入参和出参信息。
2.入参和出参可以设置不同的类型,包括:JCOParameter、JcoStructure和JcoTable三种类型。
组件配置
配置Bapi组件首先需要选择Bapi连接,然后选择函数名称和操作类型,最后需要配置组件的入参和出参信息,配置成功后就可以在SMC管理控制台调用该流程,下面介绍具体的配置步骤。
1.选择连接
1.在配置Bapi组件时,首先需要选择Bapi连接。
2.选择连接后需要填写函数名称和操作类型。
2.参数配置
1.配置完连接信息后,需要配置组件的入参和出参信息。
2.点击下一步可以配置入参的字段信息。
3.调用效果
1.配置完组件后,部署该流程就可以在SMC管理控制台进行调用。
2.调用效果如下:
心得总结
在开发ESB企业服务总线的过程中,自己的技术能力及意识形态等多方面都得到了很大提升,并且有了很多感悟,现在将我在本工作中的收获总结如下。
1.产品理解
ESB企业服务总线是传统中间件技术与XML、Web服务等技术相互结合的产物,用于实现企业不同应用间消息和信息准确、高效、安全传递,消除应用之间的技术差异,让不同的应用服务协调运作,实现服务之间的通信与整合。ESB应用集成最佳实践是SOA/SOI面向服务集成,这里的服务可以是SOAP Web Service,也可以是RESTful Web Service,这两种服务通常都认为是标准的接入服务,可专门用于各异构系统的集成以及API服务治理。
2.产品价值
ESB企业服务总线能够确保企业核心系统(财务、生产、OA、HR等)实现信息系统互联,满足集团信息共享需求,避免信息孤岛形成。ESB组件的丰富性可以满足客户的绝大部分业务需求,可以帮助开发人员简化基础代码开发的工作量,降低开发难度,也减少了代码出错的几率。另一方面,基于AEAI ESB规范化的特点,开发人员在开发过程中可以参照标准,优化程序的设计结构,提高项目的交付质量。
3.产品特性
ESB企业服务总线支持服务注册、应用集成,支持集成场景的配置化,通过SMC配置集成场景,满足推、拉、定时等集成方式,可以更加快速、更加便捷地实现业务系统间的集成,并支持邮件、短信等多种预警机制。
通过ESB能够进行服务API的管理,构建集成通道,从而打通上下游系统,支持Web服务和HTTP/Rest服务用户名/口令的身份认证机制,且支持原服务和代理服务之间身份信息的自动二次封装;支持Web服务、Rest服务通讯安全保障。同时提供多种日志级别以及可以动态调整的日志级别,具备系统性能与监控管理功能,实时监控系统运行性能状况,进行运行情况统计。
本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~