集成定制化魔法:高级报文转换技巧及打造个性WSDL文件

39 阅读8分钟

探索集星獭-全方位多系统集成平台!无论数据透传、分发还是跨协议格式转换,应有尽有。让我们分享一场新能源电池科技公司对接项目的典型场景:推送报文转换与个性化模板WSDL文件生成,拥抱更智能、高效的数据交换体验!

背景

集星獭是一个强大的集成平台,能轻松高效处理应用、数据、设备等多域场景集成,也能灵活应对复杂多变化的客户需求。

本次为国内某新能源电池科技公司提供总线服务,对内实现与电池公司的各个子系统对接,对外与集团总线ESB建立连接。在电池公司建设集成平台时,面临多样子系统、复杂需求、老系统整合以及数据安全等痛点。面对这些挑战,此次我们的集成目标在于高效整合各系统,简化复杂性,平滑升级老系统,同时强化数据安全保障,确保业务运作更加顺畅和可靠。

调研分析

调研梳理过程中,集星獭明确集成目标,深入了解各业务系统之间的业务逻辑交互关系,并绘制出各子系统的信息交互图。

绘制过程中,集星獭明确各子系统对接的网状结构带来的问题:

复杂性: 网状结构意味着各个系统之间可能存在大量的直接或间接连接,导致整体结构复杂,理解和维护难度增加。

数据冗余: 网状结构中,某些数据可能在多个系统之间重复传递,造成数据冗余,增加了数据一致性和同步的难度。

口不统一: 不同系统可能采用不同的接口标准和数据格式,导致接口不统一,增加了集成的难度和复杂性。

这些问题使得子系统对接变得容易出错,增加了系统故障和数据错误的风险,对业务的正常运行产生不利影响。

解决方案

为解决上述问题,集星獭提供统一接入,将各系统整合至一个中心,简化对接流程、优化数据传输、低改造成本、提高效率,实现高效灵活的数据交换与管理。

根据集星獭统一接入集成方案,并结合API的各项规格,整理并输出接口清单,同步各个子系统负责人,并根据优先级合理排期推进集成开发。与各系统负责人密切合作,为其提供全方位集成开发支持,实现高效的系统间接口集成、映射配置和调用联调。

集成开发

在集团总线分发场景中,对方要求每个子系统提供一个URL。然而,现实情况是各子系统接口存在不同地址的问题。为了解决这一难题,集星獭借助服务编排的技术,巧妙地确保数据准确地分发到目标接口,从而实现与集团总线的稳定连接。通过服务编排,集星獭为集成过程搭建了高效、精准的桥梁,让用户无需担心接口冲突,让数据传输变得更加流畅与稳定。

在内部系统发送集团总线场景中,集团总线要求请求报文按固定格式传输。传输的数据格式分为 Bill 格式和 Entry 格式,而各内部系统使用不同的数据格式。在此集星獭通过键转换器做一次转换,将内部系统各自格式的报文转为集团总线所需格式报文,再将转换后报文转发至集团总线。

在纯内部系统集成场景中,集星獭提供了标准传输报文的方式,将报文分为两个部分:interfaceCode和body,interfaceCode用于路由分发,而body则包含具体的业务报文内容。通过解析来源报文中的interfaceCode的值,集星獭能够确定分发目标,并将业务报文转发至目标接口。

突发重大变更

在联调即将结束、接口即将上线的关键时刻,对接集团总线时遇到了一些问题。原先各系统采用JSON报文传递数据,但集团总线却要求使用XML报文。面对这一挑战,若各子系统再进行报文改造,将消耗大量时间和资源进行开发联调,还可能导致项目延期。

在经过充分会议讨论后,决定由集星獭提供解决方案。集星獭在转发报文时进行了灵活的报文转换,而子系统无需修改任何配置,保持原有的调用方式不变,顺利实现了与集团总线的对接。这一举措极大地降低了改造成本,同时也极大地提升了项目执行效率。

集星獭力挽狂澜

集星獭需要进行两方面的调整。首先,将集团总线推送的XML报文转换为JSON格式,并转发给子系统,接着将子系统返回的JSON报文转换成XML,并传回给集团总线。其次,将子系统推送的JSON报文转换成XML,并转发给集团总线,然后将集团总线返回的XML报文转换成JSON,并传回给子系统。在调整过程中,集星獭面临三大挑战。

挑战一:报文转换

集团总线推送的报文较为复杂,采用Bill和Entry两种格式,针对这两种不同格式,集星獭做报文转换时需要分别对两种情况进行处理。此外,Bill格式数据分为BillHeader与BillBody,BillBody可能为空,可能含一个Entry,可能含多个Entry。

这些情况均需要做特殊处理,不含Entry或Bill转为null,只有一个Entry或Bill时需转为对象,有多个Entry或Bill时需转为数组。

集星獭以极为巧妙的方式,通过字段映射功能仅用五六十行脚本实现了这一功能,使对接的各个子系统无需调整,直接使用原接口调用方式,显著降低改造成本,大幅提升整体效率。

挑战二:定制wsdl文件

由于集团总线和集星獭采用不同的标准,导致难以直接对接。经项目内部讨论,集星獭采用服务编排技术,定制符合集团总线标准的wsdl文件。

并配合URL映射功能,将服务编排原本的RESTful风格地址映射为SOAP风格的地址,使得集团总线能通过调用集星獭提供的SOAP地址,访问实际业务接口,进行数据传输。

挑战三:转换接入原RESTful流程

根据定制的wsdl报文渲染的真实的接口调用地址就是原RESTful流程的透传地址,由此来实现与原流程的无缝集成。

前文提到集星獭为每个系统创建一个编排,集星獭通过这个编排和集团总线对接,在编排内分发不同数据到子系统各个接口。在集团总线分发数据时,集星獭只需要在编排这个壳子处配置好请求字段映射,数据传输时会自动将集团总线传输给集星獭的XML报文转换成JSON报文,再把JSON报文传递到编排内分发给子系统,子系统无需做任何改动。响应报文JSON转XML同理,通过在编排处配置响应字段映射进行处理。

在内部系统发送给集团总线报文时,集星獭已将集团总线接入地址注册到接口平台。现在调整只需将集团总线接入地址更换为SOAP服务地址,配置好请求字段映射与响应字段映射,将子系统发送的JSON报文转为XML,转发给集团总线,再将集团总线返回的XML报文转为JSON报文,返回给子系统。

总结

在上述过程中,集星獭展现了强大优势和特性:无缝将JSON转XML和XML转JSON转换、巧妙处理各类数据报文、灵活适应各种标准。使用集星獭,探索无与伦比的高效灵活集成体验!

联系我们

1.  如果您想了解集星獭更详细的功能介绍和产品信息,请查阅我们的产品文档。请在PC端打开 👉 

https://open.hand-china.com/document-center/doc/product/10167/10698?doc_id=217409&doc_code=120943


2.  如果您有疑问或者建议,可以通过开放平台进行工单反馈,问题分类请选择【产品/集星獭JeeStar】  👉

https://open.hand-china.com


3.  相关产品咨询或更多信息了解,欢迎联系我们

邮箱:jeestar@sys.hand-china.com

更多精彩内容,扫码关注 “四海汉得” 公众号