基于SOA的银行系统架构
Part-1 【简述】
1.通过引入面向服务架构(SOA),企业服务总线(ESB),适配器(Adapter)及面向构件等技术,尝试打造一个统一业务流程服务平台,实现面向流程的服务集成。
2.传统银行信息化的重点,基本上是以单一业务系统建设和改造为中心,内部系统众多,相互资源却无法利用。
3.基于SOA(面向服务架构)的系统架构,使银行在充分利用现有系统资源的基础上,可以以最低成本实现各业务系统无缝集成。
4.基于SOA(面向服务架构)的系统架构,通过将业务系统封装为服务,借助企业服务总线(ESB),实现各类生产、管理和决策等重要信息系统之间的高效整合。
Part-2 【面向服务架构(简称SOA)】
1.面向服务架构(简称SOA)是一种架构模型,它倡导组件化、松散耦合、隔离关注、标准化等架构设计原则。
2.实际应用可以将其业务功能、信息或流程封装为基本组件-标准化的服务(例如:开户、支付、计息服务等),这些服务通过松耦合的SOA架构,为其它应用服务。
3.SOA中包含服务提供者,服务代理者和服务请求者。
操作者 向 代理者 发布 服务
请求者 通过 代理者 查找 所需的服务, 并绑定 到这些服务上
提供者 和 请求者 可以交互
4.对于使用服务的应用,不用关心服务的提供者是基于什么开发技术、在哪个位置、什么硬件平台提供的服务,这个服务使用的过程完全是松散和透明的。
5.而另一方面,提供服务的业务系统即能得到良好地功能重用,又不会被其它系统侵入,业务系统的技术平台演进也不会影响到使用其服务的业务系统。
Part-3 【企业服务总线(简称ESB)】
1.企业服务总线(简称ESB)定义通常如下:
它是基于中间件技术实现,并支持SOA的一组基础架构功能,它主要实现消息的传输、转换和路由,它是连接企业各种纷繁复杂应用的骨干神经系统。
2.将连接到ESB上的不同的应用程序定义为不同服务(或组件),服务之间的接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。
3.通过这些服务之间定义良好的接口和契约,各种不同的应用通过松散耦合的方式结合在一起,以合理的、符合业务需要的节奏,连接应用程序、调节消息流量,从而达到提高效率和可靠性、加快响应速度的目的。
Part-4 【SOA与ESB的关系】
1.SOA是一个架构模型,它将应用程序的不同功能服务(或组件)通过这些服务之间定义良好的接口和契约联系起来,各种服务使用统一、通用的方式进行交互。
2.ESB支持这些服务交互功能,并通过提供集成的通信、消息传递以及事件基础架构来支持这些功能。
3.ESB为SOA提供与企业需要保持一致的基础架构,从而提供合适的服务级别和可管理性、以及异构环境中的操作。
4.ESB就是在SOA架构中实现服务间智能化集成与管理的中介。
Part-5 【系统架构设计】
1.在SOA架构思想下,应用系统的业务功能被封装为服务,通过标准服务中介---企业服务总线(ESB)对外提供标准化的服务,使用服务的应用也与ESB相连接,向ESB请示并调用服务。
2.服务提供者与服务使用者之间技术协议的不同、数据格式的差异、交互方式的多样化都通过“服务适配器(Adapter)”进行配置和处理。
3.基于上述架构核心业务系统、信贷管理系统、财务管理系统等业务系统封装为独立的服务,通过Adapter与ESB进行连接,形成全行统一的业务流程服务平台。
4.与传统的系统集成方式不同,应用不再需要考虑和处理与集成应用间的差异。
5.ESB作为服务之间的桥梁,构建了服务间的请求/响应、消息的发布/订阅、事件广播等多种交互模式,也实现了消息的路由、消息的分发、消息的监控等;
Adapter承担了服务间的翻译工作,完成不同应用系统接口间的转换(例如:支付系统对外提供的是消息连接方式,信贷系统是Web服务方式,通过引入Adapter两个系统原有接口都无需改动),从而保证了系统的稳定性。
Part-6 【适配器(Adapter)设计】
1.引进了Adapter后,各应用系统完全按照构件化设计思路进行改造,只关心自身能实现的功能,并且对外提供服务和请求服务,对外提供数据和监听数据。
2.由此可划分为“功能体”和“接口”两部分。更强调的是在逻辑上相对独立和完整的功能,接口是面对适配器的。
3.与ESB的交互交给适配器(Adapter)处理,从而基于在原有系统改造代价最小的情况下实现面向SOA集成。
4.基于上述架构的适配器描述如下:
Adapter A
{
Incoming Interface∥对外请求服务的接口
{
Ⅱ1:……;
Ⅱ2:……;
}
Outgoing Interface∥对外提供服务的接口
{
OI1:……;
OI2:……;
}
∥Function Part∥功能实现部分
}
Part-7 【流程化服务集成】
1.通过构件基于SOA的统一业务流程服务平台,通过规范化的流程建模,将银行前、中、后台分离开来,按服务的提供与服务的使用的关系,将它们集成连接起来。
2.业务流程将包含业务功能、流程、业务规则、人工任务等组成部分(例如:贷款开户流程中的审批、开户等),它们以服务的形式编排起来,组合成业务流程。
3.由此形成了一个非常灵活的环境,可以方便地对服务组件进行替换。
例如,可以用业务规则服务组件替换人工任务审批组件,由于两个服务通过Adapter封装了其差异性,对于ESB具有接口的一致性,从而不会对流程产生任何影响。
Part-8 【总结】
1.尽管SOA在实现业务灵活性方面的效果明显,但是实际应用中仍存在语义定义复杂、性能下降、可靠性、安全性等问题,需要在未来的研究中解决。
来自 https://my.oschina.net/lock0818/blog/349401
基于SOA的银行系统架构的更多相关文章
- 基于SOA分布式架构的dubbo框架基础学习篇
以需求用例为基,抽象接口,Case&Coding两条线并行,服务(M)&消费(VC)分离,单元.接口.功能.集成四层质量管理,自动化集成.测试.交付全程支持. 3个大阶段(需求分析阶段 ...
- 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...
- 基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇
开篇 系统架构的文章,准备在这段时间好好的梳理和整理一下,然后发布基于AgileEAS.NET平台之上的企业级应用架构实践,结合具体的案例来说明AgileEAS.NET平 台之上如何进行系统的逻辑架构 ...
- 基于SOA的高并发和高可用分布式系统架构和组件详解
基于SOA的分布式高可用架构和微服务架构,是时下如日中天的互联网企业级系统开发架构选择方案.在核心思想上,两者都主张对系统的横向细分和扩展,按不同的业务功能模块来对系统进行分割并且使用一定的手段实现服 ...
- JAVAEE——宜立方商城02:服务中间件dubbo、工程改造为基于soa架构、商品列表实现
1. 学习计划 第二天:商品列表功能实现 1.服务中间件dubbo 2.工程改造为基于soa架构 3.商品列表查询功能实现. 2. 将工程改造为SOA架构 2.1. 分析 由于宜立方商城是基于soa的 ...
- SOA面向服务架构简述
在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契 ...
- 基于 SOA 的组件化业务基础平台
业务基础平台是业务逻辑应用和基础架构平台之间的一个中间层,解决 “应用软件的业务描述和操作系统平台.软件基础架构平台之间的交互与管理问题”.操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题” ...
- SOA面向服务架构
SOA面向服务架构 风尘浪子 只要肯努力,梦想总有一天会实现 随笔分类 - SOA面向服务架构 结合领域驱动设计的SOA分布式软件架构 摘要: 领域驱动设计DDD的总体结构,Repository层使用 ...
- 基于SOA的组件化业务基础平台[转]
转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...
随机推荐
- debian8.4 ubuntu14.04双系统_debian8.4硬盘安装
本文根据官网说明和实际安装而写,利在分享知识,但转载请注明出处以尊重知识! 一 首先在win7下利用EasyBCD添加安装选项,“添加新条目|安装|配置” 在弹出的memu.lst中填写如下内容: t ...
- Tomcat权威指南-读书摘要系列8
调试与疑难排查 解读日志文件 /conf/logging-properties 用RequestDumperValue来调试 查看Web通信流量 server.xml <Valve classN ...
- Phalcon框架之———— 2.0升级到3.0 问题Model验证问题解决
Github源码:https://github.com/phalcon/cphalcon/tree/master/phalcon/validation/validator Phalcon 2.0 Mo ...
- 使用WebHelper调用Asp.net WebAPI
1.WebHelper using System; using System.Collections.Generic; using System.Collections.Specialized; us ...
- 最小生成树问题------------Prim算法(TjuOj_1924_Jungle Roads)
遇到一道题,简单说就是找一个图的最小生成树,大概有两种常用的算法:Prim算法和Kruskal算法.这里先介绍Prim.随后贴出1924的算法实现代码. Prim算法 1.概览 普里姆算法(Prim算 ...
- 第9月第9天 CTFramesetterCreateWithAttributedString
1. NSString *text = @"This\nis\nsome\nmulti-line\nsample\ntext."; UIFont *uiFont = [UIFont ...
- HDU 2073 无限的路 (模拟)
题目链接 Problem Description 甜甜从小就喜欢画图画,最近他买了一支智能画笔,由于刚刚接触,所以甜甜只会用它来画直线,于是他就在平面直角坐标系中画出如下的图形: 甜甜的好朋友蜜蜜发现 ...
- NOIP2016-D2-T2 蚯蚓(单调队列)
构建三个单调队列(用STL),分别储存未切的蚯蚓,切后的第一段,切后的第二段,即可简单证明其单调性. 证明:设$q$为单调队列$\because a_1 \geqslant a_2 \geqslant ...
- 1、Saltstack简介及安装配置
1.Saltstack简介 Saltstack是基于Python开发的一套C/S架构,具备Puppet.Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高:使用号称世界上最 ...
- python3解析库pyquery
pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语 ...