基于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

转载于:https://www.cnblogs.com/kakaisgood/p/10102606.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一次前后端分离的实践

前后端分离该如何做? 这个问题,不同的技术人员,由于所处的岗位不一样,给出的答案都不一样。 前后端分离的问题,不仅仅是技术上的选型问题,还涉及到整个团队在认知、职责、流程上面重新定义的问题,这也是为…

C++解析-外传篇(1):异常处理深度解析

0.目录 1.异常的最终处理 2.结束函数terminate() 3.小结 1.异常的最终处理 问题: 如果在main函数中抛出异常会发生什么? 如果异常不处理,最后会传到哪里? 下面的代码的输出什么? 示例——异常的最终处理?&a…

springboot快速集成swagger

今天技术总监说:小明,我们本次3.0改造,使用swagger2.0作为前后端分离的接口规范,它可以一键生成前后端的API,一劳永逸……小明:??? Spring Boot 框架是目前非常流行的微服务框架&…

php curl处理get和post请求

CURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 CURL 库。使用PHP的CURL 库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页&#xff0…

前端攻略系列(二) - 前端各种面试题

幸运且光荣的被老大安排了一个任务 - “去整理些前端面试题”。年前确实不是招人的好时候,所以我们前端团队经过了超负荷的运转,终于坚持过了春节。春节以后就开始招人啦,这套题考察的目标就是基础基础再基础,嘿嘿。 事先声明&…

html 初识

一、web请求流程模拟 python编写的简易服务器应用程序 import socketserversocket.socket() ip_port (127.0.0.1,8080) server.bind(ip_port) server.listen()while 1:conn, addr server.accept()from_browser_msgconn.recv(1024)print(from_browser_msg)conn.send(bHTTP/1.1 …

WEB文件上传之JQuery ajaxfileupload插件使用(二)

1.JQuery ajaxfileupload插件使用准备 下载地址: http://www.phpletter.com/DOWNLOAD/ 2.原理分析 ajaxfileupload也是利用iframe实现无刷新异步提交,与我的上一篇文章(WEB文件上传之apache common upload使用(一)&…

Navicat安装激活

有条件的同学麻烦不要使用下面的激活步骤,仅供个人学习使用 。。。。。。 。。。。。。 。。。。。。 。。。。。。 一、去官网下载最新Navicat软件https://www.navicat.com.cn/download/navicat-premium 二、去下载激活脚本https://github.com/DoubleLabyrinth/nav…

WEB文件上传之apache common upload使用(一)

文件上传一个经常用到的功能,它有许多中实现的方案。 页面表单 RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) RFC1897规范 http协议上传 页面控件(flash/html5/activeX/applet) 自定义数据规范 http协议上传 页面控件(flash/html5/act…

前端CSS学习笔记

一 CSS介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(超文本标记语言)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语…

Java爬取并下载酷狗音乐

本文方法及代码仅供学习,仅供学习。 案例: 下载酷狗TOP500歌曲,代码用到的代码库包含:Jsoup、HttpClient、fastJson等。 正文: 1、分析是否可以获取到TOP500歌单 打开酷狗首页,查看TOP500,发现存…

Webpack/Vue-cli两种方式加载markdown文件并实现代码高亮

准备的资源: highlight.js : 实现代码高亮,通过npm install highlight.js -D安装 vue-markdown-loader:解析md文件的必备loader,通过npm install vue-markdown-loader -D安装 下面我们分两个场景来说明一下md文件的…

新浪微博第三方登陆重定向错误23123

新浪微博第三方登陆重定向错误23123 2019年06月02日 13:49:43 温室花朵 阅读数:2更多 个人分类: 第三方微博登陆21323编辑当我们使用微博第三方登陆的时候,发现登陆出错了,错误码为:21323,解决方案如下&…

Utility Manager 的一些百度不了的操作

一进来是不是这样的! 那突然出了点问题,咋办呢! 就像这样子的, 恢复默认布局就OK啦!哈哈哈,太聪明啦,但是百度了好长时间还是找不到啊,怎么办呐,烦死啦! 其实…

记录一次内网渗透试验

0x00 前言 目标:给了一个目标机ip,要求得到该服务器权限,并通过该ip渗透至内网控制内网的两台服务器 攻击机:kali (192.168.31.51) 目标机:windows 2003 (192.168.31.196) 0x01 信息收集 nmap端口探测 御剑后台扫描 …

2018-2019 1 20165203 实验五 通用协议设计

2018-2019 1 20165203 实验五 通用协议设计 OpenSSL学习 定义:OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。基本功…

弄懂webpack,只要看这一片就够了(文末有福利)

什么是webpack ​ webpack是什么,官网中是这么说的。 ​ 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包…

beta冲刺总结那周余嘉熊掌将得队

作业格式 课程名称:软件工程1916|W(福州大学)作业要求:项目Beta冲刺团队名称: 那周余嘉熊掌将得队作业目标:beta冲刺总结队员学号队员姓名博客地址备注221600131Jaminhttps://www.cnblogs.com/JaminWu/队长…

在Winform中菜单动态添加“最近使用文件”

最近在做文件处理系统中,要把最近打开文件显示出来,方便用户使用。网上资料有说,去遍历“C:\Documents and Settings\Administrator\Recent”下的最近文档本。文主要介绍在Winform界面菜单中实现【最近使用的文件】动态菜单的处理&#xff0c…

Vue组件通信原理剖析(一)事件总线的基石 $on和$emit

首先我们先从一个面试题入手。 面试官问: “Vue中组件通信的常用方式有哪些?” 我答: 1. props 2. 自定义事件 3. eventbus 4. vuex 5. 还有常见的边界情况$parent、$children、$root、$refs、provide/inject 6. 此外还有一些非props特性$att…