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

服务层

服务层主要体现了SOA体系下的组件复用和业务复用机制。服务的边界定义决定于粒度和耦合度。
粒度表示的是一个服务的大小,它可以理解为服务操作的范围,粗粒度的服务,操作的内容广而且杂;细粒度的服务,操作的内容细而且简单。粗粒度的服务设计,可以减小服务之间的耦合性,但付出的代价就是增加服务的复杂性,服务具备了太多的功能,增加了设计的复杂性和维护的难度;细粒度的服务,可以让服务的实现变得简单,但这样会增加服务的数量,服务过细过多,这样必然有一些服务需要组合才能实现一定的功能,那样就增加了服务之间的耦合度,只要其中一个服务发生了变动,势必牵一发而动全身。

耦合代表的是服务与服务之间的关系。SOA的初衷就是为了降低系统各个部分之间的耦合性,使得服务可以重用。但很显然,耦合性是受到服务粒度很大的影响,而且从某种程度上讲,粒度的选择就决定了系统内部的耦合性。

服务调度机制
在SOA体系中,实现服务层的调度机制主要包括:服务注册与发现、服务调用、服务监控等。
一、服务注册与发现——UDDI
UDDI 提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。UDDI 构建于网络传输层和基于 SOAP 的 XML 消息传输层之上。诸如 Web 服务描述语言(Web Services Description Language,WSDL)之类的服务描述语言提供了统一的 XML 词汇(与交互式数据语言(Interactive Data Language,IDL)类似)供描述 Web 服务及其接口使用。
系统通过添加分层的功能搭起整个基础,比如使用 Web 服务流程语言(Web Services Flow Language,WSFL)的 Web 服务业务流程描述、安全性、管理和服务质量功能,从而解决系统可靠性和可用性问题。
下图说明了 UDDI 消息的传输,通过 HTTP 从客户机的 SOAP 请求传到注册中心节点,然后再反向传输。注册中心服务器的 SOAP 服务器接收 UDDI SOAP 消息、进行处理,然后把 SOAP 响应返回给客户机。就注册中心条例而言,客户机发出的要修改数据的请求必须确保是安全的、经过验证的事务。

二、服务调用过程
针对不同的服务模型,可以有下列两类调度方式:
1.Mashup--Ajax
Ajax(Asynchronous JavaScript and XML)是一个Web应用模型。它包括几种关注内容的异步加载和呈现的技术:XHTML和用于确定呈现风格的CSS;浏览器为动态显示和交互所提供的文档对象模型(DOM)API;异步数据交换,通常是XML数据;浏览器端的脚本,主要是JavaScript。
将这些技术结合在一起使用时,它们的目标是通过与内容服务器交换少量的数据为用户创造平滑、良好的Web体验,而不用在用户执行某些操作之后重新加载并重新呈现整个页面。我们可以使用各种Ajax工具包和库为mashup构建Ajax引擎。
2.UUDI查询API与发布API
查询API包含两类调用,使程序能快速地定位候选Web服务及其调用规范,然后在最初调用获得的初始信息的基础上,获得进一步的相关信息的细节。这类以find_xx命名的API提供了多种搜索标准,从而能对注册中心中的数据进行广泛地搜索。另一方面,如果事先已经知道所需数据的关键字,则可以通过直接调用get_xx API得到相应的结构数据(如:businessEntity、businessService、bindingTemplate、tModel)。
发布API包括四个save_xx 函数和四个delete_xx 函数,每个对应于一个UDDI主要结构(businessEntity,binsinessService,bindingTemplate,tModel)。一旦得到授权,一个独立的机构可以注册任意数量的businessEntity 或tModel信息,也可以修改原先发布的信息。API 设计模型很简单:可以更改特定的相关信息,也可以使用save功能来保存新信息。要删除整个结构则可以调用delete功能。详细信息请参见程序员API 规范(Programmer's API Specification)。
三、服务监控
UDDI注册服务中,利用WEB服务管理和安全来监控各项服务:
Web服务管理为Web服务提供了可见性和管理。监控服务可用性,以确保服务质量、执行SLA(服务级别协议)。还负责处理负载均衡、故障替换及Web服务可靠消息传送。
Web服务安全为外部用户或者应用程序访问的Web服务提供了安全环境。包括加密、数字签名、验证、授权、机密性、数据完整性和不可否认性。

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

  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 面向完整的业务应用处理.对于不同类型的业务应用,定制其特有的处理流程和不同基础服务的组合 ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. swagger error: Conflicting schemaIds: Duplicate schemaIds detected for types A and B
  2. 循环神经网络 (RNN)
  3. Linux:如何获取打开文件和文件描述符数量
  4. SAP Connect对inbound邮件接收问题的处理和调试环境搭建
  5. linux高级安全ssh限制利用PAM
  6. 大数据技能练习之爬虫
  7. 电商宝:做最懂电商卖家的财务管理“小秘书”
  8. 3d游戏的总体设计框架
  9. 解决cnzz加载时间长的问题
  10. 服务器先装系统还是先做热备,安装ibm服务器双机热备操作系统图文详细步骤.doc...
  11. pdo操作oracle,PDO基础操作
  12. 数据库系统的核心:数据模型
  13. 正在更新office,请稍后 然后报错 解决办法
  14. Linux命令卸载谷歌浏览器,UBUNTU16.04安装谷歌浏览器卸载firefox浏览器
  15. Wrong namespace. Expected 'cn.itheima.dao.CustomerMapping' 错误
  16. 项目经验--听讲座有感
  17. BeautifulSoup安装
  18. Html5小游戏 转微信小程序,白鹭H5游戏转微信小游戏问题集锦,你关心的都在这里...
  19. 【GEE笔记7】文本ee.String
  20. Linux MQ中间件/var/mqm文件系统结构与错误日志分析

热门文章

  1. 华为机试HJ106:字符逆序
  2. enum是java关键字吗_enum是java关键字吗?
  3. 云服务器系统满了怎么办,云服务器磁盘空间满了怎么办
  4. java四舍五入自己写_java提高篇-----详解java的四舍五入与保留位
  5. android 代码植入,Android Studio之Debug运行期代码植入的方法
  6. 四核八线程和八核八线程区别
  7. c语言中char的取值扩大,C语言中 char 类型的取值范围为什么是-128~127
  8. latex 箭头_Pandoc上手以及如何使得latex文件转换为Docx文件(MAC)
  9. Mybatis的复习
  10. mysql查询结果做表_MySQL将一个表的查询结果作为本表的查询条件更新数据