异构系统集成:借助门户+API实现松散耦合应用

43

移动互联网下集团财资管理系列之四十三

异构系统集成:借助门户+API实现松散耦合应用

言午之言

前言:

各类信息系统已经成为企业运营过程中必不可少的工具,如协同办公用的OA系统、销售部门使用的CRM系统、财务部门使用财务系统等,总之是部门越多,应用系统越多,各系统之间互不连通,形成一个一个的数据孤岛。随着企业的进一步分化,开设各种类型的分支形机构,逐步形成集团型企业,其组织结构更加复杂,管理起来的效率更加低下,于是很多集团企业为了加强管控,提高信息的及时性、准确性,采用在总部集中部署财务的方式重构信息系统,从而实现了自上而下的系统和数据贯通。然而由于各专业系统之间有各自适用面,很难也不可能由一套系统提供全部的财务业务管理,因此又出现集中部署的各专业系统之间的横向隔离,也成为数据烟囱。在多年为集团企业进行信息化咨询实施的过程中,我见到各大型集团林林总总部署的财务业务系统多达30套,一个信息化应用比较好的企业有10来套应用系统非常普通。专业的分工将越来越细化这个趋势是确定的,信息应用将覆盖到企业办公的方方面面,因而无论想与不想,信息系统也伴随这个大趋势越来越碎片化、越来越庞杂、数量会越来越多是必然的过程,虽然其表像看起来会变得越来越简洁。

总而言之,随着企业数量庞杂的信息系统投入使用将给各级应用者带来极致的体验,创造一个完全数字化处理的作业天堂,而这样大数量级别的应用将成为IT或者信息从业者的地狱。如何实现各财务业务系统之间即独立部署各自发展又能够互联互通、数据共用?因而信息系统的微服务开发、微服务应用应运而生,成为当下最为流行的开发和部署模式。微服务这一概念出现于2012年,是因软件作者Martin Fowler而流行,微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。这个概念和前些年比较流行的SOA框架比较相似。我个人观点是大部分企业在当下应用的系统是无法或者短时间内切换到这种架构之上的,但是可以借鉴这种思路,通过封装各专业系统的接口为标准API接口+ESB企业服务总线+登录门户集成实现异构系统之间的松散耦合,说起来这种也不是新观点,只能是对当下企业多系统应用下的一种建议。

一、集成登录门户

集成登录门户主要目的是为了实现操作者的单点登录、统一用户、统一权限的管理,从而提高操作者应用感受,减少多系统各自用户、权限的分别设置,可以包括PC端门户和手机移动端门户。门户一般包括组织、用户、权限、公告、身份认证、单点登录、业务系统整合、报表查看等基本功能,有些门户把主数据管理、协同办公、流程审批、文档管理、数据交换等集成到门户上。我个人也非常倾向于集成度更高的门户应用,操作者通过一套门户对接N套业务系统,门户成为身份认证中心、信息公告中心、审批中心、流程中心、主数据维护中心、个性化展示中心。

二、异构系统接口技术

异构系统接口必须考虑效率、安全性、高并发、大容量、可监控、可扩展的应用需求。在目前的接口情况下,主要通过WebService、Scoket、交易中间件、消息中间件、文件方式、共享数据库等技术方式实现对接。这几种接口方式各有优劣势,需要根据自己的情况进行选择,但是当下从企业内部业财系统对接角度看,采用WebService方式进一步封装为标准API接口方式更为普遍和适合。在此从网上找了一些资料,简单描述这几种方法。

1、文件方式

两系统间约定文件服务器地址、文件命名规则、文件内容格式等内容,通过上传文件到文件服务器进行数据交互。

文件方式的优点:

(1)适合数据量大的情况,不会超时,不占用网络带宽。

(2)方案简单(只要接口双方约定好路径、格式、处理方式即可),实现简单、传输批量数据效率较高。避免了网络传输,网络协议相关的概念。

文件方式的缺点:

(1)不太适合做实时类的业务

(2)必须有共同的文件服务器,存在安全风险,文件可能被篡改,删除,或者存在泄密等。

(3)格式没有统一标准,标准性差,当改变文件格式的时候,需要各个系统都同步做修改。

2、数据库共享方式

两系统间通过连接同一个数据库服务器的同一张表进行数据交换。当系统A请求系统B处理数据的时候,系统A Insert一条数据,系统B select系统A插入的数据进行处理。

数据库方式的优点是:

(1)相比文件方式传输来说,因为使用的同一个数据库,交互更加简单。

(2)由于数据库提供相当多的操作,比如更新,回滚等。交互方式比较灵活,而且通过数据库的事务机制,可以做成可靠性的数据交换。

数据库方式的缺点是:

(1)当连接B的系统越来越多的时候,由于数据库的连接池是有限的,导致每个系统分配到的连接不会很多,当系统越来越多的时候,可能导致无可用的数据库连接

(2)一般情况,来自两个不同公司的系统,不太会开放自己的数据库给对方连接,因为这样会有安全性影响,这样就需要建设中间库,受各自网络影响较大。

3、消息机制

基于消息中间件的接口机制主要通过消息传递来完成系统之间的协作和通信,消息中间件最突出的特点就是提供数据传输的可靠性和高效性,主要解决分布式的系统数据传输需求。Java消息服务(Java Message Service)是message数据传输的典型的实现方式。系统A和系统B通过一个消息服务器进行数据交换。系统A发送消息到消息服务器,如果系统B订阅系统A发送过来的消息,消息服务器会消息推送给B。双方约定消息格式即可。目前市场上有很多开源的jms消息中间件,比如ActiveMQ, OpenJMS。

消息方式的优点:

(1)由于jms定义了规范,有很多的开源的消息中间件可以选择,而且比较通用,接入起来相对也比较简单;

(2)通过消息方式比较灵活,可以采取同步,异步,可靠性的消息处理,消息中间件也可以独立出来部署。

消息方式的缺点:

(1)学习jms相关的基础知识,消息中间件的具体配置,以及实现的细节对于开发人员来说还是有一点学习成本的;

(2)在大数据量的情况下,消息可能会产生积压,导致消息延迟,消息丢失,甚至消息中间件崩溃。

4、WebService方式

技术描述:

Web Service是一种自包含、模块化的应用,是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使WebService能与其它兼容的组件进行互操作。可以在网络上(一般是Internet)上被描述、发布、定位和调用。

Web Service通过使用标准协议(如HTTP)交换XML消息来与客户端和各种资源进行通信。在Web Server上部署Web Service后,由Web Server负责将传入的XML消息路由到Web Service。Web Service将导出WSDL文件,以描述其接口,其它开发人员可以使用此文件来编写访问此Web Service的组件。

技术特点

Web Service使用标准技术,应用程序资源在各网络上均可用。因为Web Service基于HTTP、XML和SOAP等标准协议,所以即使以不同的语言编写并且在不同的操作系统上运行,它们也可以进行通信。因此,Web Service适用于网络上不同系统的分布式应用。

优缺点优点:适用于网络上不同系统的分布式应用、标准性好、扩展性好、耦合度低;内容由标准文本组成,任何平台和程序语言都可以使用;格式的转换基本不受限制,可以满足不同应用系统的需求。缺点:当XML内容较大时,解释程序的执行效率较低,一般不适合用于实现大批量数据交互的接口。

API(ApplicationProgramming Interface,应用程序编程接口)可以理解是将Web Service的标准化和封装,是定义一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API和webservice的区别简单说,API类似于cs架构,需要同时开发客户端API和服务器端程序。而WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用。API方式的优点:降低了系统复杂性;API方式的缺点:对API需要的学习;必须定义统一的开放式API标准,否则会提高应用代码的维护成本。

三、ESB企业服务总线

企业服务总线(ESB)就是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法、消息格式,并对服务提供者进行寻址,转发服务请求。说白了,它就是服务的请求者和服务的提供者之间的一个中间件,就是对服务使用者屏蔽服务提供方的技术实现方式。如果没有这个总线,那么服务的请求者则必须自己知道它所需要的服务的地址,并要知道相应的服务调用方法,消息格式,这样的调用是点到点的,不利于服务的统一管理,不利于不同格式的服务的集成。

ESB可以说是搭建SOA架构所必须实现的核心功能组件。总的来说,它的主要功能和职责是消息解析,验证,服务路由转换,请求的传递,服务目录管理。ESB使用SOAP消息格式,支持HTTP(S)、JMS、MQ、FTP、SMTP等传输协议。ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。

四、异构系统集成需要考虑的要素

异构系统集成首先要定义双方(可能是系统、模块、服务等)之间数据交互的一个标准,接口考虑到的因素一定要全面,一般情况下,主要考虑要素如下:

l交互机制:如同步请求/应答方式、异步请求/应答方式、会话方式、广播通知方式、事件订阅方式、可靠消息传输方式、文件传输等。

l接口技术:WebService、Scoket、交易中间件、消息中间件、文件方式、共享数据库等。

l接口格式:这个就根据所选技术,实际情况来定义即可。

l交互机制:异步请求/应答方式

l接口技术:WebService接口,Java开发,xml格式报文,数据采用3DES加密。

l接口定义:具体字段说明,xml格式等略。

总结:不是开发人员,写这个内容有点吃力,有些内容直接从网上搬过来的,同时针对通过ETL工具进行数据集成的方案本篇也没顾上进行描述,后续将专篇再行描述。但是作为在财资管理的5大领域中我非常看重的一个内容,今年异构系统集成的项目情况已经证明我的判断。目前公司所作项目的中90%都具有系统集成的诉求。业务系统和财务系统集成、业财系统和OA系统进行门户集成、PC系统和移动应用集成、自动化设备数据的集成、数据仓库的多屏展现集成,这些项目都基本应用了如上一些集成技术,希望能够通过我的简单介绍能够给企业在进行系统之间的集成时有一些借鉴。

言午直言

微信ID:hkcx-xyt

长按左侧二维码关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219G104BZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券