企业信息化经历了从无到有,从有到多,从多到散的过程,在后信息化时代,需要面临的则是系统的集成、整合,优化IT架构,提升IT价值。2016年中共中央办公厅、国务院办公厅就印发了《国家信息化发展战略纲要》,要求将信息化贯穿我国现代化发展进程的始终,加快释放信息化发展的巨大潜能,以信息化驱动现代化,建设网络强国。当前,以信息技术为代表的新一轮科技革命方兴未艾,基于iPaaS的云技术日益成为创新驱动发展的先导力量。


企业业务系统持续增加,企业能力持续提升
网络资源逐渐丰富,外界资源跟自建平台融合
与企业合作单位增加,合作者之间的交互增多
数字化、智能化等趋势企业服务C端用户

综合化:传统集成工具往往具有专项特征,无法提供一站式的服务供给; 高性能:传统ESB往往成为系统运行的性能瓶颈; 工程过程:传统集成工具往往依赖于少量工程师在特定开发平台上进行集中式开发,无法将开发和运维责任分担到所有责任人; 监控运维:运维是传统集成最受诟病的地方,由于接口多、流程多,无法提供一个全面可用的运维平台。
随着技术的发展和企业业务种类的多样化,企业信息化建设的需求也趋于更加全面的数字化——服务数字化、运营数字化、决策数字化。

1业务需求
在业务方面,云ESB的API相关功能为企业带来更方便的能力开放,实现敏捷的业务交换、降低信息化成本、提升客户的体验。
敏捷的价值交换
信息化成本降低
提升客户的体验
2技术要求
在技术方面,云ESB的API设计上包含了API网关本身以及配套的自助服务平台。API所承担的一个重要的功能就是报文转换,并且是跨语言、跨运行平台的报文转换(数据转换),在跨语言、跨平台的条件下,实现对元数据的转换。API的落地技术本身没有太大难度,但想要形成最佳实践,还需要一些外围的前置条件,比如:后端API粒度能和原业务能力映射、业务路由的实现和含数据转换的API不停机发布等等。除此之外,在系统级别上要求实现高可用性、均衡负载、并发控制、动态制定和修改等,而在应用级别上云ESB已经实现监控统计、版本控制、认证鉴权、参数脱敏、协议转换等。
3功能要求
在功能方面,云ESB的API融入可以实现企业集成模式的发展,由最初的点对点集成转变为内部系统集成,进而再发展为内外统一集成。
点对点集成
内部系统集成
内外统一集成
从上述的需求不难看出,云ESB实现对API的管理应该包含对API开发的管理、API的治理和应用集成三方面。对于云ESB本身应当具有API的开发功能,同时可以实现对外部API的注册管理,保障API的安全与稳定。另外,对于API服务之间的集成也是云ESB的主要功能。
1API开发
功能服务
虽然前后端分离已经成为主流,但是前后端仍需要进行交互,而这种交互都是通过统一的入口进行管理,也就是现在我们所知的微服务,而微服务本身的开发就是针对各个功能模块的统一接入,而这就是API开发需要解决的其中一类问题,即功能服务的开发。
认证功能微服务:实现系统间认证微服务的开发,提供标准的认证微服务,通过调用实现和系统之间的认证登录。 流程处理微服务:可提供给审批流程调用的微服务,实现各个系统间审批流程的贯穿,形成企业级的审批流,实现业务闭环。 消息处理微服务:可进行消息处理微服务的开发,通过该服务可进行各系统间消息、预警等的传递。 数据整合微服务:通过开发数据整合微服务,实现数据统一调配,各个系统间数据的共享和传递。
数据服务
数据处理是企业面临最多的问题,数据服务的开发也是API解决的范畴之一,针对不同的业务场景,数据服务的开发形式也有所不同,每类服务的开发根据需求进行划分,并通过平台的快速配置开发,实现数据服务的创建。
数据抽取微服务:进行系统数据、数据库等数据的拉取微服务的开发,并通过统一对外调用接口,供其他系统调用,获取数据。 数据转换微服务:数据转换规则微服务开发,可实现通过调用该服务,实现数据按照传入指定规则,进行数据类型、格式进行转换。 数据加工微服务:数据加工微服务的开发,可实现通过传入指定加工规则,实现传入数据信息的扩展、数据的精简、数据的处理等。 数据装载微服务:装载微服务的开发,可实现按照调用服务写入的指定规则,进行数据的填充,根据展示页面数据显示的不同情况,进行数据的装载,保证出参数据的适配。
集成服务
集成服务的开发,可实现企业从业务层面、应用层面、数据层面以及所有服务层面进行集成整合,实现企业统一平台的搭建,以及后续平台的平滑接入,真正的实现插拔式对接,减少集成成本。
业务集成微服务:业务集成微服务的开发,主要针对是不同业务系统间,业务的对接,例如业财一体化的对接,系统单据、凭证、表单的对接等。 应用集成微服务:应用集成服务的开发,主要针对各个应用系统间的集成,通过提供统一的应用集成服务,将各个系统集成到一起,通过统一的标准集成,从而实现各系统间的沟通交互。 数据集成微服务:数据集成微服务的开发,提供统一的数据交互入口,各系统间的数据,经过统一交互入口进行数据交换,规范数据使用标准的同时,也实现了数据的安全共享。 服务集成微服务:服务集成微服务开发,实现所有服务的统一管理和接入,所有服务对外统一口径,所有服务的调用和使用,需要通过统一的入口,按照标准和规则进行调用和分配。
2API治理
服务管理
服务管理指的是微服务的全生命周期管理,包括微服务的设计、开发、管理、对接、测试、发布、监控等。保证微服务从创建到最后发布使用的整个过程都是标准可控的,并且可从平台通过配置快速生成、打造标准API的开发和管理模式。

平台支持服务的注册和代理,保证服务开发设计的标准,通过平台配置的方式进行标准化模式的固定,并且支持通过集成场景的配置快速开发平台创建和代理的服务,实现了统一管理,并且提供流程测试功能,保证开发的服务可进行调试,同时由于平台的统一管理,可实现所有服务的发布和撤销以及使用情况的整体监控,便于对服务的管理和运维。
服务安全

在服务安全方面,统一由API网关进行接入,对外只暴露网关内容,基于云ESB提供的丰富的服务验证机制,包括账户密码认证、TokenId认证,扩展流程认证以及黑名单、白名单验证机制,并且具备报警提醒、预警提醒等安全策略配置,同时在系统层面也做了相应的安全机制保障,包括预置了防止SQL入侵、XSS攻击等安全机制,来保证网关的安全聚焦。
服务版本

服务监控

云ESB提供的服务监控包括服务流程监控、服务状态统计监控两个层面,在服务API监控方面,支持服务、流程的实时监控、服务的启停、服务的挂起、服务的调用以及服务的统计分析,并且支持记录和查看后台日志信息、变更管理以及短信、微信、邮件的报警提醒机制。
3应用集成
集成场景
集成日志
集成监控
集成报警
对集成流程设有报警机制,报警机制可以细分为错误重试机制、错误预警机制和错误干预机制。错误重试机制是当调用异常时,可以根据实际情况设置重试次数和间隔,保证系统可以在无人干扰的情况下,自动进行重新调用;错误预警机制是异常不可避免时,通过短信、微信或者邮件的形式通知相关负责人,进行预警和提醒;错误干预机制则是当异常发生后,在相关的统计分析页面进行展示,可以通过展示的内容,进行人为干预,进行再次调用。
实现模式主要由技术模式、架构模式以及产品形态三方面进行阐述,其技术模式主要基于Nginx扩展及Filter拦截器扩展模式。而架构模式主要基于API网关模式及云ESB的扩展模式,根据其产品存在形态具体分为API开源模式、云Saas模式及产品独立存在模式。
1技术模式
Nginx扩展模式
OpenResty也称为ngx_openresty,是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。OpenResty 将两个极为优秀的组件Nginx与Lua进行整合,一方面保留了Nginx高性能Web服务特征,另一方面又提供Lua 特性,在极少损失性能情况下,便于业务功能的开发。同时支持非阻塞I/O,提供“轻量级线程”、定时器等,极大地降低了高性能服务端的开发难度和开发周期,用于搭建能够处理超高并发、扩展性极高的API动态网关、动态Web应用以及Web服务。

Nginx本身在处理一个用户请求时,会按照不同的阶段进行处理,会分为11个阶段。而OpenResty的执行指令,就是在这11个步骤中挂载Lua执行脚本实现扩展,基于Nginx扩展模式实现的优点主要在于其性能,例如其负载均衡、高并发等等。
拦截器扩展模式
在设计模式中有一个模式叫责任链模式,其作用是避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止,通过这种模式将请求的发送者和请求的处理者进行解耦。在我们所熟悉的各个框架中对此模式都有实现,比如Servlet里面的Filter、SpringMVC里面的Interceptor可以基于Filter以及Interceptor拦截器扩展模式来实现API。

前置过滤器preFilters:用来处理一些公共的业务,比如统一鉴权、统一限流、熔断降级、缓存处理等,并且提供业务方扩展; 路由过滤器routingFilters:用来处理一些泛化调用,主要用来做协议的转换、请求的路由工作; 后置过滤器postFilters:主要用做结果的处理、日志打点、记录时间等等; 错误过滤器errorFilters:用来处理调用异常的情况。
2架构模式
API网关模式
API网关负责服务请求路由、组合及协议转换。客户端的所有请求都首先经过 API网关,然后由它将请求路由到合适的服务。API网关经常会通过调用多个服务合并来处理一个请求,随着网关的实际应用,实际的业务需求也随之暴露了出来,具体包含API网关之间的管理、集成等等,API的功能越来越向着云ESB的方向进行发展蔓延。

它可以在 WEB协议与内部使用的非WEB协议之间相互转换。API网关还能为每个客户端提供一个定制的API,通常它会向移动客户端暴露一个粗粒度的API,以产品详情的场景为例,API网关提供一个端点使移动客户端可以通过一个请求获取所有的产品详情。API网关通过调用各个服务(产品信息、推荐、评论等等)合并结果来处理请求。
ESB扩展模式
说到云ESB,就不得不提到SOA,SOA是一种理念,它的主要特性是面向服务的分布式计算,服务间松散耦合,支持服务的封装,服务注册和自动发现,以服务契约方式定义服务交互方式。但是,SOA并没有定义出具体的实现方式,目前有两套SOA理念的实现方式:中心化和去中心化,这两套架构并没有优劣之分,还是要针对企业的根本诉求。SOA中心化的实现方式就是云ESB,云ESB的根本诉求是为了解决异构系统之间的连通性,通过协议转换、消息解析、消息路由把服务提供者的数据传送到服务消费者。
3产品形态
开源模式
云SaaS模式
独立产品模式
API网关或者云ESB以独立产品的形式存在,ESB包含API的全生命周期式的管理,包含API发布、API测试、API下线、API日常管理、API版本管理、API快速回滚等等,可以说API是ESB不可或缺的一部分。与SaaS相比,API本质上是允许在其之上进行开发的平台。它具有“构建”的属性,集成了开源的优势,规避了SaaS的弊端。另一方面,API企业集中精力在解决“小”问题,而这又是非常专业的方向并且技术方面也很难被其他公司破解。客户在很大程度上愿意去相信API提供商,并用这些API去构建其核心基础设施。
基于云ESB的API平台致力于企业能力开放与外部能力引进,为企业提供能力交换的基础平台,实现企业内部与外部的顺利交互。通过API可以让企业IT对需要对外开放的能力进行更好的管控,让企业更聚焦于提供的能力以及企业需要引入的能力本身,加快企业数字化转型的进程。
1整体介绍
整体架构
云ESB主要包含三个模块:服务器ESB Server、设计器ESB Designer、SMC管理控制台。ESB Server是运行环境、可以基于定制的Tomcat 扩展开发,支持K8S容器化,SMC管理控制台是部署在ESB Server的Java Web应用,基于AEAI DP开发平台构建的。ESB Designer是基于Eclipse Plugin开发的图形化、拖拽式的设计Web服务、Rest服务以及各类服务流程的构建工具,同时云ESB可以和其它SOA集成产品、数据治理产品灵活协作,组成不同方案,解决异构集成难题。

体系架构
API底层基于云原生技术架构(容器化、微服务、DevOps持续交付、多租户管理),可方便地部署在私有云、公有云或混合云平台。可独立进行平台部署或与企业的云效平台、效能平台、容器平台等无缝对接,无缝匹配当前技术架构趋势。

技术架构
在技术方面主要是实现API开发、API管理和应用集成的相互关联:通过API开发实现API管理,API管理和应用集成则是相互促进。

功能架构
基于云ESB的API平台能够通过丰富的连接器将企业现有的各种套装软件、SaaS应用、合作伙伴及公共应用等统一接入平台,将接口转换为API,从而进行统一管理,实现服务隔离。

2服务开发
云ESB可以基于数据表快速创建服务,提供了丰富强大的组件堆,如:Http Rest、Soap、Web Service、Rest Service、FTP、数据库操作、消息队列、主题收发,可以满足客户绝大多数的业务场景。通过设计器,开发人员使用优雅的方式和极少的代码即可完成整套流程的设计。并支持服务的断点调试和快速部署等。

服务规划
服务设计
服务开发
ESB支持Web/Rest服务向导功能,可以快速创建服务,并且支持自动、手动进行方法的扩展。在进行服务开发时,根据业务需要可以进行云ESB或者外部Web/Rest服务的注册,并且通过设计器的Soap调用、Http调用组件进行服务调用。
在WS目录上右键创建服务,支持Web/Rest两种服务;

根据实际需要手动定义服务方法,或者基于数据表自动生成新增、修改、删除、单条查询、批量查询等方法;

服务初始化部署后就可以调用获取数据;
Web Service的注册需要在工程中注册服务地址,通过地址解析生成服务代理:

注册Web Service后将工程进行部署;
在服务开发时使用Soap调用组件,选择注册的Web Service以及服务下的操作,选择或创建相应的入参、出参:

Rest Service的调用不需要注册,直接通过Http组件进行调用:

根据Rest Service的情况,配置调用URL、调用方式、参数等信息实现服务调用。
服务调试
调试功能一直是开发人员关注的焦点,在服务部署后云ESB可以进行服务的快速开发、服务的代理,服务测试的时通常可以使用断点模式启动ESB Server,在调用流程时进入Debug模式,看源码运行轨迹以及Server的执行情况,在断点是看变量页面,查看具体参数。同时也使用SoapUI进行专业测试,使用SoapUI对服务进行功能测试、压力测试以及符合性测试,具体包括发送请求、接受响应、分析结果、改变测试执行流程等。

服务部署
云ESB设计器的动态热部署技术可以对单个、多个流程进行动态部署,大幅度节省启停服务所耗费的时间。可以通过动态热部署技术对远程服务进行部署,无需重复启用服务器,加快服务响应速度,减少维护成本。
3服务治理
服务治理包括对ESB自身开发服务的治理,也包括对于外部注册服务的治理。治理内容主要有应用管理、分组管理、接入管理、API管理、安全管理和API超市。以应用注册、分组管理管理服务的分类,再通过对接入口、API管理、安全管理来保障API的稳定可用,最后通过API超市进行综合展示。

应用管理
API分组
API接入
API接入支持3种形式的接入,包括新增、导入原生和服务注册。通过云ESB设计器开发的服务为原生服务,新增服务是通过页面新创建一个API接入,服务注册是将其他系统的API在云ESB实现管理。
在API接入中可以实现对API的新增、修改、删除,实现API代理、流量控制、版本管理等操作。
API管理
API安全
API超市
API超市是将云ESB管理的API进行综合的展示,在API超市中,可以查看API的相关信息,比如出参入参说明、路径信息、调用样例等等。还可以实现多种形式的调用测试,比如连接调用、参数调用等等。
4集成配置
应用集成主要解决已有应用系统的无序蔓延现象,减少各业务系统间的维护成本,减少各应用系统的操作系统、开发语言、访问协议、通信技术多而杂、整合难度大的问题,将企业数据平滑对接,减少信息竖井,体现信息化价值,具体架构如下:

云ESB应用集成首先要其应用系统在主ESB系统资源—应用系统模块进行注册,接下来构建对应的服务分组、场景分组,并将各业务系统的服务进行注册,根据实际的业务场景配置应用集成场景,在ESB设计器内创建ESB应用集成流程,在流程部署后在管理控制台进行统一管理。
集成分组
云ESB集成分组主要分为服务分组及场景分组,集成分组可以按照实际业务分为应用集成、数据集成、平台协同以及服务平台,按照ESB的使用场景进行说明,并将各业务系统的服务在ESB管理控制台进行注册,以数据集成为例进行展示。


场景配置
ESB场景配置则是将各业务系统注册在ESB的服务进行对接,实现其单据集成、数据集成等。在场景配置处选择源系统接口、目标系统接口,配置各业务系统接口出参以及入参信息,配置完成字段映射会默认生成ESB的集成流程,实现单据的平滑对接,打通异构系统间的壁垒,消除信息孤岛。

第一种是触发的形式,在业务系统数据确认发布后绑定ESB应用集成流程直接将数据推到集成流程内; 第二种为定时的形式,该形式一般为提供数据源头系统无法二次拓展源码,只能采用拉的形式,由ESB创建定时流程通过接口拉取系统数据,不建议此种方式对接,因为不能进行数据实时同步; 第三种为推送的形式,在业务系统数据确认发布后绑定ESB应用集成流程推一条唯一值(编码/ID)到集成流程内,另外业务系统需提供单条数据获取接口,在集成流程内根据ID去反查该条物料信息,获取后在进行数据的转换处理。

集成日志
在ESB管理控制台调用服务、集成流程后,系统会记录流程或者服务的执行时间、调用用户、执行结果以及执行的耗时等。

集成监控
云ESB可以对流程以及服务进行监控,记录流程以及服务的应用、名称、流程类型、执行次数、成功次数、失败次数以及具体的执行时间等。并对其执行的结果以图表的形式进行展示,使展示效果更加直观。


集成报警
云ESB预制错误重试机制,可以设置重试次数以及重试间隔时间,在重试失败后会以邮箱、短信、微信、流程URL四种形式进行预警提示。可以在报警操作方式勾选预警方式,以邮件预警为例,勾选邮箱,且输入接收邮箱联系方式,具体配置如下。


为了更有针对性地满足企业在信息化建设方面的需求,云ESB可以与数通畅联iPaaS云集成平台套件系列中的任意产品搭配,从不同方向作为切入点,不断提供范围更广、更有深度的解决方案,将信息化建设贯彻到底、将数字化转型的价值实现到极致。
1ESB服务开发治理
云ESB提供服务注册、启停、代理、监控、统计、分析、日志追溯等功能;对公用的资源:数据库、队列、变量、FTP资源、邮件资源提供统一的注册、管理功能;提供丰富OpenAPI为其它平台提供数据基础和服务注册查询。

2统一身份5A管控
企业不断增加基于Internet的业务系统,如各类SaaS应用系统(HR、CRM、PM等),网上审批系统(OA系统)、生成业务系统(ERP、PLM)等。系统的业务性质一般都要求实现用户管理、身份认证、审计等必不可少的安全措施,而新系统的涌现,导致众多系统无统一认证,组织、岗位、用户无统一管理,之间都是独立分散的。

3基础数据管理平台
随着企业业务迅速发展,需要支撑业务运转的信息系统越来越多,如何对数据进行治理已经成为困扰企业的一项巨大挑战。具体表现为各系统之间数据分散、重复,未完全形成业务闭环,数据孤立不能互通,数据统计不一致,企业主数据(组织、人员、项目、客户、供应商、产品等)不能共享,数据不完整,缺少关键基础数据,历史数据丢失现象严重;数据质量低,无统一管理,集成数据可用性差;各系统中数据管理模块功能重叠,难以控制维护。

4统一应用集成平台
多数企业随着公司的业务开拓、业绩提升,信息化建设也随之不断推进,伴随着信息化建设的不断深入,应用系统间的数据共享与功能集成的需求日趋频繁,很多企业面临现有信息系统之间以及新上线信息系统之间应用整合问题,例如:业财集成、采购/销售线上线下集成、PLM+ERP产品设计制造一体化集成、ERP+MES管理生产一体化集成等等。

5EAC企业应用中心
EAC企业应用中心是以数据治理、应用集成为基础的信息化建设高阶阶段,主要用来串联跨异构系统的业务流程,让整体业务流程从企业全局来看是闭环的。以业务流程为中心、帮助企业各业务环节与客户需求对齐的管理方法,通过对业务流程的发掘、设计、实现、执行、管理 、优化的全生命周期管理,达到持续优化业务流程、提升企业应对变化能力的目的。

云ESB作为集成的基石,自身拥有丰富且强大的功能特性,以下部分是API相关特性的总结。
1易用性
云ESB提供了丰富强大的组件堆,如:Http Rest、Soap、Web Service、Rest Service、FTP、数据库操作、消息队列、主题收发,可以满足客户绝大多数的业务场景。通过AEAI 设计器,开发人员使用优雅的方式和极少的代码即可完成整套流程的设计。
2开放性
数通畅联软件本着开放的理念,产品源码直接打入Jar包,自带集成样例,支持远程调试;支持各种各样的服务质量等级和通信模式:同步(例如SOAP)和异步(例如MQ) 两种通信模式,请求/响应、队列、点到点以及发布/订阅模式,各种交付保证,集群支持。
3扩展性
提供多个运行时节点和负载均衡器的分布式部署结构,以满足高并发,大数据量大规模的交换集成场景;支持在运行期,以脚本的方式进行功能扩展;可以通过开发Java代码并部署的方式,提供功能扩展;产品采用轻量级架构实现,可支持应用组件的“热插拔”,便于产品升级和二次扩展。
4安全性
支持Web服务和HTTP/Rest服务用户名/口令的身份认证机制,且支持原服务和代理服务之间身份信息的自动二次封装;支持Web服务、Rest服务通讯安全保障,包括白名单、黑名单、IP地址、用户名&密码等多种身份验证机制、传输消息安全性及完整性等,支持HTTPS、WS-Security协议等;服务管理通过权限分离实现管理控制台的权限控制,支持基于角色的功能权限、数据权限进行资源隔离。
5稳定性
云ESB Server底层基于Tomcat扩展调优版,平台基于Eclipse插件开发的Rest/Web服务以及消息流程设计工具,以可视化、拖拽式方式来创建Rest/Web服务、消息流程,快速完成服务模型定义,设计器可以直连云ESB服务器,实现动态热部署、即时断点调试。
企业投入大量的时间、金钱、人力等资源进行信息化建设,根本目的是为提高工作效率、让信息化、数字化支撑企业长远发展。
1业务价值
基于云ESB的API网关将客户端与企业应用程序的直接耦合和依赖性隔离开,有助于源系统的独立更新、升级、部署,大幅度缩短项目落地时间,赋能版块IT管理人员、开发人员,进行敏捷集成、加速创新,助力企业构建API生态,实现API资源共享及API货币化、商业化。
2管理价值
企业IT运维可视化实现了对API调用情况的跟踪,获得企业级的洞察结果,企业IT资产的安全管控完善了API调用授权和监控机制,全方位降低了潜在的调用风险,在 API文档、版本、开发协作、自动化测试方面都提供极大便利。
3开发价值
基于云ESB的API管理提供自顶向下、自底向上两种快速配置开发API的方式,提供灵活的调整扩展机制、管理监控机制,版本控制机制,快速实现自定义API开发、API服务组合、编排与敏捷集成,优化系统间的对接模式,API高配置化功能减少代码量、重复开发和沟通成本,极大提升开发效率和IT资源复用能力。
云时代已经汹涌而至,云ESB作为iPaaS的核心组件,在扩展API管理之后将更敏捷,强化对API的治理能力,解决企业内部的异构系统集成、企业内部与外部的集成、线上与线下集成的难题。本方案主要结合互联网开放式的企业信息化建设思路、数通畅联深厚的技术沉淀及IT架构规划能力,提出“基于平台构建中台”的信息化建设理念,通过对数据中台、集成中台、应用中台的构建,逐步深化、推进大中台战略体系的落地。数通畅联始终坚持SOA综合应用集成、数据治理分析领域,打造稳定柔韧的IT架构和iPaaS集成套件平台,为客户/伙伴提供开放敏捷的集成方案、灵活组合的集成平台套件,推动最终客户的数字化转型与业务创新。
推荐阅读





