admin 管理员组

文章数量: 1184232


2024年3月13日发(作者:汇编语言计算器简单编程)

1 需求与设计

1.1 企业级项目背景

针对同时存在SAP和JAVA两种生态环境的企业,能够直接使用JAVA项目调用SAP

的RFC接口,能够大大节省企业开发成本。相较于SAP提供的PI接口解决方案,通过

JCO方式连接更符合当前国内的JAVA生态环境。

SAP的编程语言ABAP与JAVA语言有很大的相似性,数据结构和编程理念都是很接

近的。因此,使用一个中间件程序将JCO函数转换成供JAVA体系使用的微服务或者

REST接口就是一个企业内部沟通SAP与JAVA体系的优秀解决方案,亦可将JCO中间

件集成现有系统中,视企业系统框架与需求而定。

本方案的核心价值是将JCO函数转换成REST接口,无需按照SAP函数定制特定的

客户端,做到JCO程序发布后,REST接口可以基本开箱即用,类似于SAP提供的PI接

口解决方案

1.2 设计蓝图简述

JCO 应用独立为一个独立服务,有很多优势,一是可以最大限度减少对已有企业应用的

侵入式改造,做到系统解耦,避免集成模式应用只能包含一个SAP中间件的问题;二是易

于拓展,采用微服务架构将JCO服务拓展多节点负载,提供高可用服务。

对于IT开发能力比较薄弱的企业,本解决方案旨在做到一次开发,快速上线目标,避免

后续因SAP功能拓展而带来的后续继续开发资源投入。原型项目基本上可以做到开箱即用,

简单部署实施,如果没有额外的定制服务需求或者日志等拓展,原型只需要简单配置即可提

供服务。

对于接口中间件型应用,最重要的指标就是消息吞度量和服务稳定性,这方面需要专业开

发人员关注把控。报文以JSON 标准在企业应用和中间服务以及SAP之间传递,要规范数

据传输过程中序列化和反序列化以及数据绑定的规范,注意不同框架对数据空值,时间类型,

绑定规则的处理方式,避免报文传输中的字段遗漏,绑定格式不统一等问题。

SAP系统在调用过程中有一些dump处理或者超时异常,这块也是可以作为增强系统功

能设计方案放到中间服务中去,已减轻后期运维。

1

2 开发环境与系统结构

2.1 Spring Cloud微服务

基于Spring Cloud开发的REST服务后端,这块是开箱即用的开源产品,如果企业没

有微服务系统框架,使用Spring Boot 即可。

2.2 JCO简介

JCO是SAP提供连接SAP的类库,一个程序进程只能加载一个

DestinationDataProvider组件,所以如果有多个SAP服务器要连接,需要分别搭建Spring

Boot程序。JCO提供了JAVA驱动和windows和Linux版本动态链接库,用于程序编译

和部署运行环境。JCO的基础数据类型与概念本文不过多叙述。

2.3 数据绑定

JCO主要提供 JcoRecord和JCoTable两种常用复合结构,可以简单的认为是

DTO对象和List。 如果我们中间程序不做特殊字段映射对象建模的话,可以

统一使用JSONObject和JSONArray来处理。

2


本文标签: 服务 程序 系统 企业 拓展