基于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 业务基础平台是业务逻辑和基础架构平台之间的 ...
随机推荐
- CronExpression
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.CronTr ...
- kubernetes配置secret拉取私仓镜像
2017.05.10 19:48* 字数 390 阅读 5216评论 0喜欢 8 对于公司内部的项目, 我们不可能使用公有开放的镜像仓库, 一般情况可能会花钱买docker私仓服务, 或者说自己在服务 ...
- Docker下的Spring Cloud三部曲之一:极速体验
版权声明:欢迎转载,请注明出处,谢谢. http://blog.csdn.net/boling_cavalry/article/details/79177930 目录(?)[+] 从本章开始, ...
- Numpy - Pandas - Matplot 功能与函数名 速查
用Python做数据分析,涉及到的函数实在是太多了,容易忘记,去网上查中文基本上差不到,英文有时候描述不清楚问题. 这里搞个针对个人习惯的函数汇总速查手册,下次需要用一个什么功能,就在这里面查到对应的 ...
- css3 @keyframes用法
使用@keyframes规则,可以创建动画. 在动画的过程中,可以多次更改css样式的设定. 对于指定的变化:发生时用0%,或关键字“from”和“to”,这与0%和100%相同. 0%:开头动画. ...
- 微信小程序-点击图片预览
拿接口 有封装 封装查看另外的博文 点击动作 WXHTML 注意 data-xxxx自定义属性 这样知道我点的是哪个参数
- Linux之chkconfig命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...
- bzoj千题计划283:bzoj4516: [Sdoi2016]生成魔咒(后缀数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=4516 考虑在后面新加一个字母产生的影响 假设是第i个 如果不考虑重复,那么会增加i个不同的字符串 考 ...
- MongoDB-3.4搭建副本集
搭建副本集 1:首先创建3台虚拟机作为配置环境 IP1:192.168.101.175 IP2:192.168.101.176 IP3:192.168.101.177 2.下载MongoDB 3.4版 ...
- 关于Python IDLE reload(sys)后无法正常执行命令的原因
转载自:http://blog.csdn.net/kxcfzyk/article/details/41414247?utm_source=tuicool&utm_medium=referral ...