随着云计算技术的不断发展,信息化上云是大势所趋,随着当前SaaS、IaaS越来越成熟之际,PaaS将是主要发力点。AEAI ESB云服务总线是在基于K8S云管理平台(UMC)部署的数通畅联iPaaS云集成平台套件系列的核心产品。

本方案将对基于ESB云服务总线的API进行剖析,并针对企业现有的集成整合、数据治理业务典型场景进行梳理,给出切实稳妥、敏捷易落地的产品和分阶段解决方案。同时站在企业的角度,对ESB云服务总线的价值进行剖析,对信息化建设升级、数字化转型提供参考。

1趋势分析

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

信息化建设初期,数据格式缺乏统一规范,数据之间没有联通,更没有整合;当单一用途的应用遍布企业,就出现了集成的诉求,系统之间开始相互对接;随着信息化建设的不断深入,ESB企业服务总线的出现将点对点连接变成了系统间的灵活动态的应用集成和信息共享,进入以REST服务为基础的API集成时代;当下,新一代的分布式云集成平台突破了企业集成的边界,为企业的一切应用、大数据、云服务、设备及合作伙伴构建一站式的综合集成。

从集成范围来看,信息化系统的集成正逐步实现更为广泛的连接,万物互联将是未来集成整合的发展趋势。企业内部各个系统间进行集成,对数据进行治理,实现数据的同步和分发,实现信息共享。同时企业内部与外部、线上与线下的集成,能够打通业务边界,实现生态化。

企业信息化的发展趋势可分为以下四个阶段:

1)企业业务系统持续增加,企业能力持续提升

企业为满足业务需要,购买套装软件构建相关业务系统,逐渐满足企业内部需求,企业内部业务系统需要进行整合集成,将业务系统从数据层面、流程层面以及UI层面进行统一,提高业务满足度,企业采用中间件或中台架构,以定制化方式进行业务深度整合,在此过程中,将企业的IT能力以API的方式对外提供服务,并对API需要统一管理,这也就是ESB产品中API网关设计的初衷。

2)网络资源逐渐丰富,外界资源跟自建平台融合

据2019年《中国互联网络发展状况统计报告》统计,国内网络支付、消息教育等相关资源数量持续提升,百度、腾讯、阿里、华为等互联网企业发布的云平台提供大量公有API服务可供使用,类似天气、消息发送等领域,已经逐渐取代企业自建的方式,成为主流方案。教育、酒店、零售、电商等多个行业的头部企业,均提供了相关的公用业务API服务,延展自身业务的同时,也便于传统企业的赋能、消费。

3)与企业合作单位增加,合作者之间的交互增多

内部系统与外部合作伙伴系统之间、内部系统与企业外部应用之间的数据共享和数据实时传递的要求增多,部分行业性国家平台接入需要企业投入资源进行研究和实施,需要更好的手段和平台帮助实施。在有多方外部企业及合作单位接入时,需要有相应的接口隔离和流量限制机制来保证平台的稳定,接入其他平台时,同样也需要对自身访问进行限制,在这种情况下,统一的网关管理,保证系统接入和交互的安全就变得尤为重要。

4)数字化、智能化等趋势企业服务C端用户

数字化、智能化的趋势推动企业对自身能力的提升,也会驱使企业将服务面向C端,以提升企业效益以及提高用户粘性。企业应用走到C端(客户)后,系统的体验、稳定性、扩展性、访问效率等带来了IT架构的新挑战,面对市场竞争的创新战略,迫使IT系统的交付响应度提升,新的应用场景(物联网、移动化等)涌现。

ESB云服务总线是数通畅联近10年来基于企业级集成实践推出的新一代企业集成平台,全面解决用户内部各系统、内部与外部各异构系统之间的集成需求,解决多年以来困扰企业集成最大的问题:

1)综合化:传统集成工具往往具有专项特征,无法提供一站式的服务供给;

2)高性能:传统ESB往往成为系统运行的性能瓶颈;

3)工程过程:传统集成工具往往依赖于少量工程师在特定开发平台上进行集中式开发,无法将开发和运维责任分担到所有责任人;

4)监控运维:运维是传统集成最受诟病的地方,由于接口多、流程多,无法提供一个全面可用的运维平台。

2需求分析

随着技术的发展和企业业务种类的多样化,企业信息化建设的需求也趋于更加全面的数字化——服务数字化、运营数字化、决策数字化

2.1业务需求

在业务方面,云ESB的API相关功能为企业带来更方便的能力开放,实现敏捷的业务交换、降低信息化成本、提升客户的体验。

1)敏捷的价值交换

实现企业能力和资源借助与API的价值输出和价值交换,打通价值链上下游,增加业务触点,推动业务创新增长,API能力体现在集中注册、管理、鉴权、运行时监控和分析。

2)信息化成本降低

外部能力接入企业,省去了自主研发的资源投入;新系统的构建可以在平台中直接获取接口;模块化、解耦合的服务列表提高了服务的复用性。

3)提升客户的体验

企业内部公开数据及能力可以通过API直接发布、企业与大B平台对接更加顺畅、企业能力直接向C端开放,从多方面提升用户体验。

2.2技术要求

在技术方面,云ESB的API设计上包含了API网关本身以及配套的自助服务平台。API所承担的一个重要的功能就是报文转换,并且是跨语言、跨运行平台的报文转换(数据转换),在跨语言、跨平台的条件下,实现对元数据的转换。API的落地技术本身没有太大难度,但想要形成最佳实践,还需要一些外围的前置条件,比如:后端API粒度能和原业务能力映射、业务路由的实现和含数据转换的API不停机发布等等。除此之外,在系统级别上要求实现高可用性、均衡负载、并发控制、动态制定和修改等,而在应用级别上云ESB已经实现监控统计、版本控制、认证鉴权、参数脱敏、协议转换等。

2.3功能要求

在功能方面,云ESB的API融入可以实现企业集成模式的发展,由最初的点对点集成转变为内部系统集成,进而再发展为内外统一集成。

1)点对点集成

业务系统可以与其他系统进行交互,点对点的集成可以实现基本的业务需求,完成基本的业务集成。

2)内部系统集成

内部系统通过云ESB进行集成,各异构系统使用适配器接入云ESB平台,接口复用性、规范性高,并且在对接完成后,可以在平台进行统一管理和监控。

3)内外统一集成

内部接口与API无缝对接,可同时实现内网外网的集成和管理,对接口和API的并发量和安全性进行管控。

3功能分析

从上述的需求不难看出,云ESB实现对API的管理应该包含对API开发的管理、API的治理和应用集成三方面。对于云ESB本身应当具有API的开发功能,同时可以实现对外部API的注册管理,保障API的安全与稳定。另外,对于API服务之间的集成也是云ESB的主要功能。

3.1API开发

API服务开发支持三种类型服务的快速创建,分别是功能服务、数据服务和集成服务,使用的场景不同会决定所处分类不同。功能服务主要是实现微服务的开发,为后台功能提供统一接入;数据服务主要是针对数据的处理,例如数据的转换、数据的传输等;而集成服务主要实现各个异构系统间的对接和整合。

3.1.1功能服务

虽然前后端分离已经成为主流,但是前后端仍需要进行交互,而这种交互都是通过统一的入口进行管理,也就是现在我们所知的微服务,而微服务本身的开发就是针对各个功能模块的统一接入,而这就是API开发需要解决的其中一类问题,即功能服务的开发。
根据场景,功能服务的开发可以分为几类:

1.认证功能微服务:实现系统间认证微服务的开发,提供标准的认证微服务,通过调用实现和系统之间的认证登录;

2.流程处理微服务:可提供给审批流程调用的微服务,实现各个系统间审批流程的贯穿,形成企业级的审批流,实现业务闭环;

3.消息处理微服务:可进行消息处理微服务的开发,通过该服务可进行各系统间消息、预警等的传递;

4.数据整合微服务:通过开发数据整合微服务,实现数据统一调配,各个系统间数据的共享和传递。

3.1.2数据服务

数据处理是企业面临最多的问题,数据服务的开发也是API解决的范畴之一,针对不同的业务场景,数据服务的开发形式也有所不同,每类服务的开发根据需求进行划分,并通过平台的快速配置开发,实现数据服务的创建。

数据服务的开发,适配场景如下:

1.数据抽取微服务:进行系统数据、数据库等数据的拉取微服务的开发,并通过统一对外调用接口,供其他系统调用,获取数据。

2.数据转换微服务:数据转换规则微服务开发,可实现通过调用该服务,实现数据按照传入指定规则,进行数据类型、格式进行转换。

3.数据加工微服务:数据加工微服务的开发,可实现通过传入指定加工规则,实现传入数据信息的扩展、数据的精简、数据的处理等。

4.数据装载微服务:装载微服务的开发,可实现按照调用服务写入的指定规则,进行数据的填充,根据展示页面数据显示的不同情况,进行数据的装载,保证出参数据的适配。

3.1.3集成服务

集成服务的开发,可实现企业从业务层面、应用层面、数据层面以及所有服务层面进行集成整合,实现企业统一平台的搭建,以及后续平台的平滑接入,真正的实现插拔式对接,减少集成成本。

根据同步的集成模式,可分为以下几种服务类型的开发:

1.业务集成微服务:业务集成微服务的开发,主要针对是不同业务系统间,业务的对接,例如业财一体化的对接,系统单据、凭证、表单的对接等。

2.应用集成微服务:应用集成服务的开发,主要针对各个应用系统间的集成,通过提供统一的应用集成服务,将各个系统集成到一起,通过统一的标准集成,从而实现各系统间的沟通交互。

3.数据集成微服务:数据集成微服务的开发,提供统一的数据交互入口,各系统间的数据,经过统一交互入口进行数据交换,规范数据使用标准的同时,也实现了数据的安全共享。

4.服务集成微服务:服务集成微服务开发,实现所有服务的统一管理和接入,所有服务对外统一口径,所有服务的调用和使用,需要通过统一的入口,按照标准和规则进行调用和分配。

3.2API治理

API治理通过几个方面进行切入,一个是服务管理,主要是对微服务的全生命周期管理;二是服务安全,主要对微服务的安全设置,保证服务调用的安全;三是服务版本,主要对更改后的服务进行版本记录;最后一个是服务监控,通过对服务的监控,实现对所有服务的使用情况的把控。

3.2.1服务管理

服务管理指的是微服务的全生命周期管理,包括微服务的设计、开发、管理、对接、测试、发布、监控等。保证微服务从创建到最后发布使用的整个过程都是标准可控的,并且可从平台通过配置快速生成、打造标准API的开发和管理模式。

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

3.2.2服务安全

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

3.2.3服务版本

对于云ESB管理的微服务进行版本管理,当API发布变动时,都会触发对应新的版本生成,并且可以根据服务提供方规则实现新旧版本之间的无缝切换。在云ESB中,对于API的接入和注册均有版本管理机制,极大的保障了微服务在开发和使用过程中的可靠性,同时对于服务运行期间,版本快速回退和问题的定位,提供了良好的查询条件。

3.2.4服务监控

云ESB提供的服务监控包括服务流程监控、服务状态统计监控两个层面,在服务API监控方面,支持服务、流程的实时监控、服务的启停、服务的挂起、服务的调用以及服务的统计分析,并且支持记录和查看后台日志信息、变更管理以及短信、微信、邮件的报警提醒机制。

3.3应用集成

云ESB的应用集成是按照实际业务需要,在API之间进行有效的对接,对于数据字段、格式都有良好的匹配映射机制。同时设有异常报警机制,可以对API的集成情况进行有效的监控,相关的调用记录也会在数据库中形成日志记录。

3.3.1集成场景

云ESB可以按照实际业务需求将API或者系统应用之间进行集成,同时能够根据一定的业务语义将集成场景进行分组管理。应用之间、API之间的集成能够快速的进行选择、定位要集成的API,并且对于数据字段、格式都有良好的匹配映射机制,保证API或者系统应用之间的良好对接和平滑接入。

3.3.2集成日志

可以针对集成的API调用情况进行日志记录,记录调用是否成功和各个接口间的参数传递情况,并且可以对失败的集成流程进行再次调用(失败重试机制)。相关调用记录会在数据库中有专项的月表来记录,通过月表的数据存储形式、缓存处理机制来保障页面响应速度。

3.3.3集成监控

在云ESB中集成监控分为两个部分,一部分是对集团内系统间的集成关系进行监控,另一部分是对集成的状态进行监控。集成关系监控是统计哪些系统已纳入云ESB集成范围,在集成中属于提供数据方还是获取数据方;同时可对集成服务的运行情况进行监控,例如哪些服务正在启用、哪些已经禁用;对服务的调用情况进行监控,例如哪些正在调用、哪些已经挂起等,并通过对这些内容的统计提供图表的展现,方便、直观的对服务情况进行快速掌握。

3.3.4集成报警

对集成流程设有报警机制,报警机制可以细分为错误重试机制、错误预警机制和错误干预机制。错误重试机制是当调用异常时,可以根据实际情况设置重试次数和间隔,保证系统可以在无人干扰的情况下,自动进行重新调用;错误预警机制是异常不可避免时,通过短信、微信或者邮件的形式通知相关负责人,进行预警和提醒;错误干预机制则是当异常发生后,在相关的统计分析页面进行展示,可以通过展示的内容,进行人为干预,进行再次调用。

4实现模式

实现模式主要由技术模式、架构模式以及产品形态三方面进行阐述,其技术模式主要基于Nginx扩展及Filter拦截器扩展模式。而架构模式主要基于API网关模式及云ESB的扩展模式,根据其产品存在形态具体分为API开源模式、云Saas模式及产品独立存在模式。

4.1技术模式

API网关的实现主要包含两种形式,第一种为Nginx扩展模式,基于Nginx跟Lua脚本结合,比如OpentResty,使用11个处理阶段实现API网关;第二种为拦截器扩展模式,利用Filter配置前置拦截器、路由拦截器、后置拦截器以及错误拦截器等进行API网关的设计,该种模式主要应用在了Netflix Zuul中。基于Nginx扩展模式实现的优点主要在于其性能,例如其负载均衡、高并发等等,而拦截器扩展模式的优点在于操作简单易上手,可以灵活配置。

4.1.1Nginx扩展模式

OpenResty也称为ngx_openresty,是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。OpenResty 将两个极为优秀的组件Nginx与Lua进行整合,一方面保留了Nginx高性能Web服务特征,另一方面又提供Lua 特性,在极少损失性能情况下,便于业务功能的开发。同时支持非阻塞I/O,提供“轻量级线程”、定时器等,极大地降低了高性能服务端的开发难度和开发周期,用于搭建能够处理超高并发、扩展性极高的API动态网关、动态Web应用以及Web服务。

OpenResty为什么能实现网关呢?有一个非常重要的因素是OpenResty会把每一个请求都分为不同阶段,从而可以让第三方模块通过挂载行为来实现不同阶段的自定义行为。这种机制可以非常方便的设计API网关,处理流程请参考下图,从Request start开始。

Nginx本身在处理一个用户请求时,会按照不同的阶段进行处理,会分为11个阶段。而OpenResty的执行指令,就是在这11个步骤中挂载Lua执行脚本实现扩展,基于Nginx扩展模式实现的优点主要在于其性能,例如其负载均衡、高并发等等。

4.1.2拦截器扩展模式

在设计模式中有一个模式叫责任链模式,其作用是避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止,通过这种模式将请求的发送者和请求的处理者进行解耦。在我们所熟悉的各个框架中对此模式都有实现,比如Servlet里面的Filter、SpringMVC里面的Interceptor可以基于Filter以及Interceptor拦截器扩展模式来实现API。

具体网关配置如下:

1.前置过滤器preFilters:用来处理一些公共的业务,比如统一鉴权、统一限流、熔断降级、缓存处理等,并且提供业务方扩展;

2.路由过滤器routingFilters:用来处理一些泛化调用,主要用来做协议的转换、请求的路由工作;

3.后置过滤器postFilters:主要用做结果的处理、日志打点、记录时间等等;

4.错误过滤器errorFilters:用来处理调用异常的情况。

4.2架构模式

架构模式共分为两种,具体为API网关模式和云ESB扩展模式,API网关和云ESB实际上有很大的相像之处,API网关在不断地向着云ESB方面演化,具体表现包括API的集成、管理等等。

4.2.1API网关模式

API网关负责服务请求路由、组合及协议转换。客户端的所有请求都首先经过 API网关,然后由它将请求路由到合适的服务。API网关经常会通过调用多个服务合并来处理一个请求,随着网关的实际应用,实际的业务需求也随之暴露了出来,具体包含API网关之间的管理、集成等等,API的功能越来越向着云ESB的方向进行发展蔓延。

API网关是一个服务器,也可以说是进入系统的唯一节点,它和面向对象设计模式中的 Facade 模式很像。API网关封装内部系统的架构,并且提供 API给各个客户端。它具备授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等功能,其整体架构图如下:

它可以在 WEB协议与内部使用的非WEB协议之间相互转换。API网关还能为每个客户端提供一个定制的API,通常它会向移动客户端暴露一个粗粒度的API,以产品详情的场景为例,API网关提供一个端点使移动客户端可以通过一个请求获取所有的产品详情。API网关通过调用各个服务(产品信息、推荐、评论等等)合并结果来处理请求。

4.2.2ESB扩展模式

说到云ESB,就不得不提到SOA,SOA是一种理念,它的主要特性是面向服务的分布式计算,服务间松散耦合,支持服务的封装,服务注册和自动发现,以服务契约方式定义服务交互方式。但是,SOA并没有定义出具体的实现方式,目前有两套SOA理念的实现方式:中心化和去中心化,这两套架构并没有优劣之分,还是要针对企业的根本诉求。SOA中心化的实现方式就是云ESB,云ESB的根本诉求是为了解决异构系统之间的连通性,通过协议转换、消息解析、消息路由把服务提供者的数据传送到服务消费者。

云ESB更注重基础服务框架、集成服务、API接入、服务开发、公共服务、服务管理、服务标准、服务协同、系统监控、安全体系,其主要功能是使服务打通各业务系统之间的壁垒,使数据能够互联互通。云ESB更加注重的系统间的平滑对接,解决异构系统间的数据交互难题,API网关和云ESB实际上有很大的相像之处的,包括API的全生命周期的管理等功能(API的开发、注册、限流、代理、转发以及安全等功能),ESB和API网关并不是分裂的,反之是相辅相成的,也可以理解为API为ESB的部分重要的功能。

4.3产品形态

API其存在方式分为三种,分别为产品的开源模式、云Saas模式以及独立产品模式。开源模式主要是将一个个开源API进行聚合;云SaaS模式和开源在很多场景下是相互排斥的,但二者也是相关的,因为大部分基础设施正在SaaS化;独立产品模式它具有“构建”的属性,集成了开源的优势,规避了SaaS的弊端。

4.3.1开源模式

开源更多的是独立开发者们共同合作的成果。其产品具有独特的竞争优势,比如低风险、低付出、产品质量更可靠、行业适应能力更强、产品更透明等优点,API网关的开源模式主要是将一个API的聚合平台,将各个公共平台开放的API进行二次的聚合封装,封装了应用程序的内部结构,为不同客户端提供不同粒度的API,同时网关自身也提供了一些高级功能,减少了客户端与应用程序之间的往返次数,使客户端代码更优雅。

4.3.2云SaaS模式

SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,向SaaS提供商租赁软件服务。云SaaS模式和开源在很多场景下是相互排斥的,但二者也是相关的,因为大部分基础设施正在SaaS化。SaaS是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。就API而言将部署在云服务器上,对于使用者按照租户的形式进行灵活收费。

4.3.3独立产品模式

API网关或者云ESB以独立产品的形式存在,ESB包含API的全生命周期式的管理,包含API发布、API测试、API下线、API日常管理、API版本管理、API快速回滚等等,可以说API是ESB不可或缺的一部分。与SaaS相比,API本质上是允许在其之上进行开发的平台。它具有“构建”的属性,集成了开源的优势,规避了SaaS的弊端。另一方面,API企业集中精力在解决“小”问题,而这又是非常专业的方向并且技术方面也很难被其他公司破解。客户在很大程度上愿意去相信API提供商,并用这些API去构建其核心基础设施。

5功能介绍

基于云ESB的API平台致力于企业能力开放与外部能力引进,为企业提供能力交换的基础平台,实现企业内部与外部的顺利交互。通过API可以让企业IT对需要对外开放的能力进行更好的管控,让企业更聚焦于提供的能力以及企业需要引入的能力本身,加快企业数字化转型的进程。

5.1整体介绍

云ESB是一个集成的容器,是一个集中式的服务总线。在企业信息化建设的过程中,云ESB一直作为核心产品以“龙骨”来肩负起整合的重任。在云计算、大数据、数字化等技术不断崛起的当下,基于云ESB的API解决方案将更加契合企业信息化、数字化的需求。

5.1.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集成产品、数据治理产品灵活协作,组成不同方案,解决异构集成难题。

5.1.2体系架构

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

5.1.3技术架构

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

5.1.4功能架构

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

5.2服务开发

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

5.2.1服务规划

在服务开发前需要对服务整体进行规划,具体包含服务的集成规范以及管理规范等,例如工程、服务、流程的命名,对于服务的类别、数据的源头、服务的对接以及相关映射关系等均需要进行统一规划,基于规划进行服务的设计。

5.2.2服务设计

服务以及流程不规范会导致流程管理维护不便,调整难度大的问题,所以服务的设计是至关重要的,服务的设计分为是对已确定的需求的技术实现构架、作好规划,运用成套完整的工具,在规划的步骤下去完成任务。从技术架构方面考虑整个集成流程的可复用性等。在设计之初,基于就应建立流程规范和说明,说明业务系统、服务接口、入参出参等信息,考虑流程的日志机制以及对应的报警机制等等。

5.2.3服务开发

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

1.在WS目录上右键创建服务,支持Web/Rest两种服务;

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

3.服务初始化部署后就可以调用获取数据;

4.Web Service的注册需要在工程中注册服务地址,通过地址解析生成服务代理:

5.注册Web Service后将工程进行部署;

6.在服务开发时使用Soap调用组件,选择注册的Web Service以及服务下的操作,选择或创建相应的入参、出参:

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

8.根据Rest Service的情况,配置调用URL、调用方式、参数等信息实现服务调用。

5.2.4服务调试

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

5.2.5服务部署

云ESB设计器的动态热部署技术可以对单个、多个流程进行动态部署,大幅度节省启停服务所耗费的时间。可以通过动态热部署技术对远程服务进行部署,无需重复启用服务器,加快服务响应速度,减少维护成本。

5.3服务治理

服务治理包括对ESB自身开发服务的治理,也包括对于外部注册服务的治理。治理内容主要有应用管理、分组管理、接入管理、API管理、安全管理和API超市。以应用注册、分组管理管理服务的分类,再通过对接入口、API管理、安全管理来保障API的稳定可用,最后通过API超市进行综合展示。

5.3.1应用管理

应用管理是用于外部系统注册的,注册时需要填写系统编码、访问密码和IP地址等信息。应用管理注册的信息用于安全策略、分发范围、API接入等等功能的关联使用,是企业API治理的第一步。

5.3.2API分组

API分组是用于API接入分类管理的,API分组采用树形结构,支持创建多级树结构。在云ESB按照服务大类创建分组,再将对应的服务注册到建好的分组中,实现企业API治理的规范化。

5.3.3API接入

API接入支持3种形式的接入,包括新增、导入原生和服务注册。通过云ESB设计器开发的服务为原生服务,新增服务是通过页面新创建一个API接入,服务注册是将其他系统的API在云ESB实现管理。

在API接入中可以实现对API的新增、修改、删除,实现API代理、流量控制、版本管理等操作。

5.3.4API管理

API管理包含对API的基础管理和实现管理,API的基础管理包括API的新增、修改、删除等等。API的实现管理包括对API的路径管理、参数管理、调用样例等等。同时API管理中可以实现对API的版本控制,支持模板管理等等。

5.3.5API安全

API安全是对于API接口调用的安全管理,目前采用的认证类型有四种类型有无认证、用户名密码、tokenId、扩展流程4种,同时具有黑名单、白名单功能。黑白名单和4种认证类型是可以同时存在的,比如对于无认证模式下,仍可以同时设置黑白名单访问权限。

5.3.6API超市

API超市是将云ESB管理的API进行综合的展示,在API超市中,可以查看API的相关信息,比如出参入参说明、路径信息、调用样例等等。还可以实现多种形式的调用测试,比如连接调用、参数调用等等。

5.4集成配置

应用集成主要解决已有应用系统的无序蔓延现象,减少各业务系统间的维护成本,减少各应用系统的操作系统、开发语言、访问协议、通信技术多而杂、整合难度大的问题,将企业数据平滑对接,减少信息竖井,体现信息化价值,具体架构如下:

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

5.4.1集成分组

云ESB集成分组主要分为服务分组及场景分组,集成分组可以按照实际业务分为应用集成、数据集成、平台协同以及服务平台,按照ESB的使用场景进行说明,并将各业务系统的服务在ESB管理控制台进行注册,以数据集成为例进行展示。

而场景分组则是按照企业实际的业务场景进行场景分类明确,例如送审单据集成、业务单据集成等等,以主数据集成为例进行如下展示。

5.4.2场景配置

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

ESB可以灵活定义集成流程的触发机制,分别为触发、定时以及推送三种触发形式。

第一种是触发的形式,在业务系统数据确认发布后绑定ESB应用集成流程直接将数据推到集成流程内;

第二种为定时的形式,该形式一般为提供数据源头系统无法二次拓展源码,只能采用拉的形式,由ESB创建定时流程通过接口拉取系统数据,不建议此种方式对接,因为不能进行数据实时同步;

第三种为推送的形式,在业务系统数据确认发布后绑定ESB应用集成流程推一条唯一值(编码/ID)到集成流程内,另外业务系统需提供单条数据获取接口,在集成流程内跟据ID去反查该条物料信息,获取后在进行数据的转换处理。

集成流程提交后使用ESB设计器会生成对应的集成流程,完成各业务系统间的对接。

5.4.3集成日志

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

5.4.4集成监控

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

流程以图表形式展示:

5.4.5集成报警

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

当流程调用失败后会通知指定邮箱接收人发送预警邮件,邮件提示如下。

6典型模式

为了更有针对性地满足企业在信息化建设方面的需求,云ESB可以与数通畅联iPaaS云集成平台套件系列中的任意产品搭配,从不同方向作为切入点,不断提供范围更广、更有深度的解决方案,将信息化建设贯彻到底、将数字化转型的价值实现到极致。

6.1ESB服务开发治理

云ESB提供服务注册、启停、代理、监控、统计、分析、日志追溯等功能;对公用的资源:数据库、队列、变量、FTP资源、邮件资源提供统一的注册、管理功能;提供丰富OpenAPI为其它平台提供数据基础和服务注册查询。

分布式部署的云ESB(可以放置于docker容器中),实现微服务体系架构下的Rest服务开发、Rest服务组合、Rest服务代理,通过管理控制台注册代理其它系统提供的Rest服务,提供对Rest服务的运行监控、服务的启停功能、对代理服务每次调用情况的监控等。常见的应用场景包括前后端分离技术架构下,作为Rest服务的开发平台;OpenAPI运作模式下的服务治理、监控、统计、流量控制。

6.2统一身份5A管控

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

云ESB的作用:在 IDM身份管理平台 + ESB应用集成平台的解决方案中,云ESB通过集成场景配置协助IDM进行数据初始化及数据同步,并实现IDM数据变动时,数据实时分发到下游系统,保证应用系统和数据的统一管理、标准封装和松耦合。

6.3基础数据管理平台

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

云ESB的作用:在 MDM基础数据平台 + ESB应用集成平台的解决方案中,分布式部署的云ESB作为数据交换平台,支持应用间批量数据交换和数据库间的数据交互,包括数据的抽取、转换和导入操作,不需要向不同的业务系统请求主数据的获取、同步,只需要通过云ESB进行数据分发、下发等操作即可获取这些数据,帮助企业数据整合或数据中心建设。

6.4统一应用集成平台

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

云ESB的作用:在ESB应用集成平台 + MDM基础数据平台的解决方案中,ESB应用集成平台负责实现异构、分布式系统之间互联互通,实现服务API治理以及数据传输交换。通过ESB预置的各种适配器组件,连接现有各孤立应用系统,以图形化、拖拽方式构建集成流程和服务,提高应用系统集成工作效率,降低异构系统集成风险。针对未来可能出现的业务需求变更,在应用集成平台上进行动态调整,实现各应用系统之间的集成策略平滑升级。

6.5EAC企业应用中心

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

云ESB的作用:在MDM基础数据平台 + ESB应用集成平台 + BPM流程集成平台 + Portal门户集成平台的解决方案中,ESB负责从各异构系统中动态获取表单数据,以JSON方式为BPM提供业务数据,在流程审批操作时,实现业务数据状态的回写等

7产品特性

云ESB作为集成的基石,自身拥有丰富且强大的功能特性,以下部分是API相关特性的总结。

7.1易用性

云ESB提供了丰富强大的组件堆,如:Http Rest、Soap、Web Service、Rest Service、FTP、数据库操作、消息队列、主题收发,可以满足客户绝大多数的业务场景。通过AEAI 设计器,开发人员使用优雅的方式和极少的代码即可完成整套流程的设计。

7.2开放性

数通畅联软件本着开放的理念,产品源码直接打入Jar包,自带集成样例,支持远程调试;支持各种各样的服务质量等级和通信模式:同步(例如SOAP)和异步(例如MQ) 两种通信模式,请求/响应、队列、点到点以及发布/订阅模式,各种交付保证,集群支持。

7.3扩展性

提供多个运行时节点和负载均衡器的分布式部署结构,以满足高并发,大数据量大规模的交换集成场景;支持在运行期,以脚本的方式进行功能扩展;可以通过开发Java代码并部署的方式,提供功能扩展;产品采用轻量级架构实现,可支持应用组件的“热插拔”,便于产品升级和二次扩展。

7.4安全性

支持Web服务和HTTP/Rest服务用户名/口令的身份认证机制,且支持原服务和代理服务之间身份信息的自动二次封装;支持Web服务、Rest服务通讯安全保障,包括白名单、黑名单、IP地址、用户名&密码等多种身份验证机制、传输消息安全性及完整性等,支持HTTPS、WS-Security协议等;服务管理通过权限分离实现管理控制台的权限控制,支持基于角色的功能权限、数据权限进行资源隔离。

7.5稳定性

云ESB Server底层基于Tomcat扩展调优版,平台基于Eclipse插件开发的Rest/Web服务以及消息流程设计工具,以可视化、拖拽式方式来创建Rest/Web服务、消息流程,快速完成服务模型定义,设计器可以直连云ESB服务器,实现动态热部署、即时断点调试。

8客户价值

企业投入大量的时间、金钱、人力等资源进行信息化建设,根本目的是为提高工作效率、让信息化、数字化支撑企业长远发展。

8.1业务价值

基于云ESB的API网关将客户端与企业应用程序的直接耦合和依赖性隔离开,有助于源系统的独立更新、升级、部署,大幅度缩短项目落地时间,赋能版块IT管理人员、开发人员,进行敏捷集成、加速创新,助力企业构建API生态,实现API资源共享及API货币化、商业化。

8.2管理价值

企业IT运维可视化实现了对API调用情况的跟踪,获得企业级的洞察结果,企业IT资产的安全管控完善了API调用授权和监控机制,全方位降低了潜在的调用风险,在 API文档、版本、开发协作、自动化测试方面都提供极大便利。

8.3开发价值

基于云ESB的API管理提供自顶向下、自底向上两种快速配置开发API的方式,提供灵活的调整扩展机制、管理监控机制,版本控制机制,快速实现自定义API开发、API服务组合、编排与敏捷集成,优化系统间的对接模式,API高配置化功能减少代码量、重复开发和沟通成本,极大提升开发效率和IT资源复用能力。

云时代已经汹涌而至,云ESB作为iPaaS的核心组件,在扩展API管理之后将更敏捷,强化对API的治理能力,解决企业内部的异构系统集成、企业内部与外部的集成、线上与线下集成的难题。本方案主要结合互联网开放式的企业信息化建设思路、数通畅联深厚的技术沉淀及IT架构规划能力,提出“基于平台构建中台”的信息化建设理念,通过对数据中台、集成中台、应用中台的构建,逐步深化、推进大中台战略体系的落地。数通畅联始终坚持SOA综合应用集成、数据治理分析领域,打造稳定柔韧的IT架构和iPaaS集成套件平台,为客户/伙伴提供开放敏捷的集成方案、灵活组合的集成平台套件,推动最终客户的数字化转型与业务创新。

基于云ESB的API解决方案相关推荐

  1. 基于云原生的私有化交付PAAS平台

    目录 前言 什么是云原生? 从Docker到Kubernetes:小鲸鱼大记事 docker起源 容器编排之争 CNCF创建 尘埃落定 CNCF - 生态的力量 基于云原生的私有化交付PAAS平台 传 ...

  2. REST API 基于ACCESS TOKEN 的权限解决方案

    REST API 基于ACCESS TOKEN 的权限解决方案 参考文章: (1)REST API 基于ACCESS TOKEN 的权限解决方案 (2)https://www.cnblogs.com/ ...

  3. PaaS的发展将释放物联网开发效率 ——基于云架构的物联网云平台解决方案

    PaaS的发展将释放物联网开发效率 --基于云架构的物联网云平台解决方案 2018年7月6日.7日,为期两天的 ArchSummit 全球架构师峰会在深圳·华侨城洲际酒店拉开帷幕.在7月6日解决方案专 ...

  4. 基于云平台服务器的数据处理方法及系统,基于云平台的有毒有害气体监测系统解决方案...

    原标题:基于云平台的有毒有害气体监测系统解决方案 一.方案背景 有毒有害气体检测仪是常用于检测有毒有害气体泄露的方法,但是,现有的气体检测仪存在诸多问题,如:品牌众多.良莠不齐.安装地点相对分散等问题 ...

  5. 从零开始,打造基于阿里IoT云平台的LoRa解决方案(3)_配置产品功能,将上传数据解析为阿里云平台数据格式

    本篇是 <从零开始,打造基于阿里IoT云平台的LoRa解决方案>系列教程的第3 篇,将为大家讲解:1-如何配置产品功能?2-如何将产品的上传数据解析为阿里云平台数据格式? 查看阿里物联网平 ...

  6. 埃森哲携手阿里云共建基于云原生的消费者运营中台解决方案

    简介: 作为全球领先的专业服务公司,埃森哲凭借独特的业内经验与专业技能,以及翘楚全球的卓越技术中心和智能运营中心,此次携手阿里云为零售行业客户提供专业的云原生CDP+MA解决方案. 在这个充满变革与颠 ...

  7. 宜泊科技与阿里云联合打造基于云原生架构的停车系统解决方案,加速智慧停车产业数字化发展

    宜泊信息科技有限公司成立于2015年6月3日,总部设立在成都.目前员工百余人,公司股东成员来自联想.腾讯.华为等知名企业.宜泊科技产品拥有多项停车场领域发明专利和软件著作权,解决方案已经广泛投入商业化 ...

  8. 基于百度云人脸识别API与opencv的人脸识别系统

    基于百度云人脸识别API与opencv的人脸识别系统 简介 弄这个东西是因为参加了学校的项目,第一次开发做的不是很好. 本系统是基于百度云人脸识别API.opencv级联器.PYQT5进行开发.百度云 ...

  9. 本软件基于云盘万能钥匙API开发

    吾爱论坛首发!百度网盘钥匙BaiduPanKey是一款可以查询百度网盘链接密码的工具,由pandagg开发. 本软件是C#开发,需要.net framework 2.0框架,若没有请先安装框架 说明: ...

最新文章

  1. springboot 做表白墙_学校表白墙有多羞耻??!辣眼分析数千条表白内容,原来脱单秘密在这里.......
  2. Java and Python: a perfect couple - Developer.com
  3. 合作开发用到的几个 设计模式
  4. java imageio删除图片_Java 提取、替换、删除PDF文档中的图片
  5. boost::lexical_cast
  6. 1.阿里云RDS配置白名单,实例,外网地址,mysql数据库。
  7. 使用C语言--编写人机猜数游戏
  8. splitpane如何设置竖条的宽度_如何用 CSS 画三角形和箭头
  9. model Ensemble
  10. 测试工程师-压力测试之jmeter脚本
  11. linux怎么做冗余备份,linux下使用raid实现冗余备份
  12. Exchange2013中POP3和IMAP4
  13. 华为21级程序员月薪27万,你怎么看?
  14. 仰望星星的孩子-2014年终总结
  15. 怎么在不影响视频清晰的条件下把qlv转成mp4格式?
  16. (万字超详细的复习资料丨没有之一)通信原理考试复习资料,按需收藏加关注。
  17. MCU_如何通过硬件VID 查找生产厂家
  18. 基于帧间频域分析的视频篡改检测
  19. 【SQL】练习题184道
  20. extern C 介绍(转)

热门文章

  1. java 手机短信_JAVA发送手机短信
  2. 阿里巴巴与全球最大P2P平台Lending Club达成合作
  3. 基于javaweb的电影院会员管理系统(java+springboot+vue+element-ui+mysql)
  4. 普通高中课程标准实验教科书(选修)数学2-3_学习笔记
  5. 2023餐饮业展,中国餐饮供应链展,江西餐饮食材展2月举办
  6. 数据结构—链表的前插法与后插法
  7. seo知虎告诉您seo日常工作的重点是什么?
  8. Pytorch神经网络入门(1)参数的手动更新和自动更新
  9. Mac终端下出现bogon的解决方案
  10. git基本指令作用以及推送项目到码云(gitee)