# biGATE **Repository Path**: zhongdj/biGATE ## Basic Information - **Project Name**: biGATE - **Description**: bi是我的系列项目标识,GATE是门,门让你进来也让你出去,也可以关闭,也能加锁!说的很玄乎,其实就是企业IT架构里的ESB(企业服务总线),哈! - **Primary Language**: Scala - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-02-25 - **Last Updated**: 2024-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## biGATE biGATE也是一个实验项目,它是[biBACK项目]( https://git.oschina.net/celetium/biBACK)的姊妹项目,实验用Lagom微服务框架构建中台应用。该中台应用的业务背景是一个小小的统一支付系统,它接收用户的支付请求,选择合适的第三方支付渠道,转发支付请求,收到应答后转发给用户。 另外,该项目不同于biBACK项目之处在于其更偏向于实践分布式部署,即多节点、失效转移、并发、弹性扩展等(更偏技术),而biBACK更多偏向于实践CQRS思想如何进行应用系统的实现(更偏业务)。 #### 关于“前中后”台的说明 在银行IT系统很多,为了交流方便,我们简单地把处理业务的IT系统划分为“前中后”台三类: + **前台系统**:通常指那些跟用户交互的系统,也称为渠道系统,如ATM、柜面、网银、手机、CallCenter等等。 + **后台系统**:通常指那些密集处理业务逻辑的系统,也称为业务系统,如核心、贷款、票据等等。 + **中台系统**:通常指处于前后台之间用于协调、组合、编排前后台服务调用的系统,如前置、支付、中间业务等等。后来因为中台系统庞杂而且很多,逐步整合成为大前置、企业服务总线(ESB)、企业应用集成(EAI)等类似的平台级系统。 显然,前中后台系统里并未涵盖运维、数据方面的系统。 #### 关于”中台系统”的特性 中台系统(无论叫啥)因其在总体架构中的定位,其必然需要满足如下特性: + **接入/接出**:用EAI的说法应该叫Inbound/Outbound,就是能接入服务请求(Receiver)又能发出服务请求(Caller)。该能力需要中台系统支持各类通信协议或中间件,如TCP、HTTP、MQ、TUXEDO等等;还要支持不同调用模式,如同步、异步、发布/订阅、文件等等。 + **报文转换**:用EAI的说法应该叫Adapter,就是在通信协议之上适配报文协议,也就是要转换报文的格式。这其中有标准的,如JSON、XML、ISO8583、定长、分隔符等等,也有一些厂商自己定义的。就算标准的,也有不同用法,如ISO8583各数据域的定义。 + **服务编排**:也叫作服务组合,就是接入前台服务请求之后通过有序地调用多个后台服务或第三方服务,并保证其业务一致性。例如他行卡在本行ATM取款,就需要组合核心系统和银联的服务。