传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229

服务层

服务层主要体现了SOA体系下的组件复用和业务复用机制。服务的边界定义决定于粒度和耦合度。
粒度表示的是一个服务的大小,它可以理解为服务操作的范围,粗粒度的服务,操作的内容广而且杂;细粒度的服务,操作的内容细而且简单。粗粒度的服务设计,可以减小服务之间的耦合性,但付出的代价就是增加服务的复杂性,服务具备了太多的功能,增加了设计的复杂性和维护的难度;细粒度的服务,可以让服务的实现变得简单,但这样会增加服务的数量,服务过细过多,这样必然有一些服务需要组合才能实现一定的功能,那样就增加了服务之间的耦合度,只要其中一个服务发生了变动,势必牵一发而动全身。
耦合代表的是服务与服务之间的关系。SOA的初衷就是为了降低系统各个部分之间的耦合性,使得服务可以重用。但很显然,耦合性是受到服务粒度很大的影响,而且从某种程度上讲,粒度的选择就决定了系统内部的耦合性。
服务分类
SOA提倡服务要粗粒度,即应该具有更大的闭包集合。因此按照粒度来分,可以把服务分解为四种类型:基本服务、组合服务、合成服务和流程服务。
一、基本服务
例如核心层中的SSO验证模块等等。基本服务即是系统提供的最小粒度的服务,或者说是原子服务。这类服务考虑的是利用它们的可重用性,它们是组成一些较大粒度的服务的基础。基本服务可以说是原有系统跟业务需求细分的中间结合点,它既是原有系统能够提供的最细粒度的服务,同时也是要设计的系统最细粒度的服务。
二、合成服务
是基本服务简单的组合,只是为了把具有相同功能但操作不同的业务对象的基本服务组合到一起,形成一个对外提供相同功能的服务。它类似设计模式里面的工厂模式,只要告诉服务接口传进来的是哪一个业务对象,那么服务就能自动识别应该调用哪一个基本服务。
三、组合服务
组合服务是系统里面最复杂的部分,它不是基本服务的简单堆积到一块,它是最大粒度的服务,里面各个基本服务的关系受到工作流程的控制。它是基本服务与工作流程的结合。
四、流程服务
流程服务是业务流程的技术实现载体,根据业务和管理领域划分流程服务域,不同的服务域实现不同的业务和管理流程。流程服务调用基础服务获得业务功能和数据,流程服务之间也可以通过互相调用以实现不同流程的串接。根据业务负载的大小规划每个服务域内流程服务的数量,比如业务推动服务域通常负载较重,则构建多个处理不同类流程的流程服务以分担业务负载。原则上业务流程应独立于应用系统,但在部署一体化套装软件的情况下,应优先使用套装软件提供的业务流程功能,此时对应的服务域内不需部署同类功能的流程服务。
基于上面的理解,我们的服务设计遵循这样的设计思路:先从功能模块分离出基本服务,各个功能模块可以看成是合成服务,由功能模块分离出来的就是基本服务;然后在基本服务的基础上设计组件和业务对象;设计完组件和业务对象之后再来设计组合服务;与提供核心数据和业务功能的基础服务不同,流程服务实现的是有人机交互的长时处理流程,对于短时的全自动不需人工参与的处理流程,一般由基础服务域内基于服务编排成的合成服务来实现。这样不管组合服务需要多少,组合服务多复杂,都可以通过基本服务和工作流程进行各种形式组合起来。而且组合服务经常需要变动,这样的设计能够保证这些变动不会引起太大的改动。因此我们根据功能分主要分为两类:包括录入、验印、扫描、数据核对、版面分类等人工处理服务,以及记账、影像切分、OCR等自动服务。

某大型银行深化系统技术方案之十二:服务层之服务分类相关推荐

  1. 某大型银行深化系统技术方案之十三:服务层之服务接口模式

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 服务层 服务层主要体现了SOA体系下的组件复用和业务复用机制.服务的边界定义决定于粒度和 ...

  2. 某大型银行深化系统技术方案之十四:服务层之服务调度机制

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 服务层 服务层主要体现了SOA体系下的组件复用和业务复用机制.服务的边界定义决定于粒度和 ...

  3. 某大型银行深化系统技术方案之十六:业务应用层

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 面向完整的业务应用处理.对于不同类型的业务应用,定制其特有的处理流程和不同基础服务的组合 ...

  4. 某大型银行深化系统技术方案之十五:服务层之服务调用

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 服务层 服务层主要体现了SOA体系下的组件复用和业务复用机制.服务的边界定义决定于粒度和 ...

  5. 某大型银行深化系统技术方案之十:核心层之任务调度

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 核心层 核心层主要提供后台业务集中处理中最基本.共性的信息处理.流程调度和相关的管理功能 ...

  6. 某大型银行深化系统技术方案之十七:技术架构

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 在上述功能架构中,除了核心层外,应用层及服务层都包括了用户UI界面,因此服务中包括了Ma ...

  7. 某大型银行深化系统技术方案之十一:核心层之业务活动监控

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 核心层 核心层主要提供后台业务集中处理中最基本.共性的信息处理.流程调度和相关的管理功能 ...

  8. 某大型银行深化系统技术方案之八:核心层之异步流程控制机制

    传送门☞Android兵器谱☞转载请注明☞http://blog.csdn.net/leverage_1229 核心层 核心层主要提供后台业务集中处理中最基本.共性的信息处理.流程调度和相关的管理功能 ...

  9. [置顶] 某大型银行深化系统技术方案之二十:代码结构

    传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 架构代码部分主要的包结构是Backing.Entity.Dao.Servic ...

最新文章

  1. 企业怎样管理员工才会更有效?
  2. 数据变异性的度量 - 极差、IQR、方差和标准偏差
  3. PCA主成分分析/协方差矩阵
  4. 《当程序员的那些狗日日子》(十五)首次接单
  5. 多功能监护系统开发与设计
  6. jQuery对象和DOM对象
  7. [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例
  8. 旋转数组中的最小元素 java_程序员算法面试题之旋转数组的最小值
  9. 前端学习(1):HTML和CSS导学
  10. c#Ice开发之环境配置(一)
  11. Python爬虫urllib库的使用
  12. 从GPU到3D渲染:游戏图形渲染技巧与性能优化
  13. vba 保存word里面的图片_笔记7 【office精华课】一套课程学会Word+Excel+PPT(一)【Word】(2020年第37周 周五)...
  14. linux的forx函数-进程控制
  15. SolidWorks模型分享:皮带轮 免费模型下载
  16. 【云驻共创】华为云文字识别服务的体验之旅
  17. Verilog语法练习
  18. 商业银行的组织结构-决策系统、执行系统和监督系统
  19. rm -rf 命令 与正则表达式
  20. Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005‘ 兼容

热门文章

  1. 计算机二进制和太极,八卦与二进制
  2. java 字符串索引从0开始_无限字符串中的字符串的第一个索引-Java
  3. java 调试js_Java与JS代码调试技巧
  4. oracle disk missing,oracle asm disk被格式化为ntfs文件系统
  5. go mysql delete_go 操作mysql、增删改查
  6. python中凯撒密码加密_凯撒密码加密
  7. 如何用git将本地文件放到github上
  8. 普通的测试员和牛逼的测试员有什么区别?完成这两次跨越,你也可以
  9. 测试上路2年,你处于什么阶段了?不醒着拼,你连应届生都比不过...
  10. php工程师用的到高等数学吗,学习Python解决高等数学问题