当前位置: 首页 > news >正文

SOA设计的标准要求

1.文档标准化

         SOA服务具有平台独立的自我描述XML文档。Web服务描述语言是用于描述服务的标准语言。

2.通信协议标准

        SOA服务用消息进行通信,该消息通常使用XML Schema来定义(也称作XSD,XML Schema Definition)。消费者和提供者,或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通信也可以看作企业内部处理的关键商业文档。

3.应用程序统计与集成

         在一个企业内部,SOA服务通过一个扮演目录列表(Directory Listing)角色的登记处(Registry)来进行维护。应用程序在登记处(Registry)寻找并调用某项服务。统一描述、定义和集成是服务登记的标准。

4.服务质量(QoS)

        每项SOA服务都有一个与之相关的服务质量(Quality of Service,QoS )。QoS的一些关键元素有安全需求(例如认证和授权)、可靠通信以及谁能调用服务的策略。

        在企业中,关键任务系统用来解决高级需求,例如安全性、可靠性和事务。当一个企业开始采用服务架构作为工具来进行开发和部署应用的时候,基本的Web服务规范,像WSDL、SOAP以及UDDI就不能满足这些高级需求。正如前面所提到的,这些需求也称作服务质量。与QoS相关的众多规范已经由一些标准化组织(Standards Bodies)提出,像W3C和OASIS(the Organization for the Advancement of Structured Information Standards)

4.1可靠性

         在典型的SOA环境中,服务消费者和服务提供者之间会有几种不同的文档在进行交换。具有诸如“仅且仅仅传送一次(Once-and-only-once Delivery)”和“最多传送一次(At-most-once 

Delivery)”“重复消息过滤(Duplicate Message Elimination)”和“保证消息传递(Guaranteed Message Delivery)”等特性消息的发送和确认,在关键任务系统(Mission-critical Systems)中变得十分重要。WS-Reliability和WS-Reliable Messaging是两个用来解决此类问题的标准。这些标准现在都由OASIS负责。

4.2安全性

         Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换、消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准,例如,SAML(as Security Assertion Markup Language)实现Web服务消息的安全。OASIS正致力于Web服务安全规范的制定。

4.3策略

         服务提供者有时候会要求服务消费者与某种某种策略通信。例如,服务提供商可能会要求消费者提供Kerberos安全标示才能取得某项服务。这些要求被定义为策略断言(Policy Assertions),一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间的策略通信。

4.4控制

         在SOA中,进程是使用一组离散的服务创建的。BPEL4WS或者WSBPEL(Web Service Business Process Execution Language)是用来控制这些服务的语言。当企业着手于服务架构时,服务可以用来整合数据仓库(Silos of Data),应用程序,以及组件。整合应用意味着像异步通信,并行处理,数据转换,以及校正等进程请求必须被标准化。

4.5管理

         随着企业服务的增长,所使用的服务和业务进程的数量也随之增加,一个用来让系统管理员管理所有,运行在多种环境下的服务的管理系统就显得尤为重要。WSDM(Web Service for Distributed Management)的制定,使任何根据WSDM实现的服务都可以由一个WSDM适应(WSDM-compliant)的管理方案来管理。

        其他的QoS特性,例如合作方之间的沟通和通信,多个服务之间的事务处理,都在WS-Coordination和WS-Transaction标准中描述,这些都是OASIS的工作。

 

相关文章:

  • SAP HCM HR_PAD_HIRE_EMPLOYEE 自定义信息类型字段保存问题
  • 标题:深入探索Linux中的`ausyscall`
  • SpringCloud整合OpenFeign实现微服务间的通信
  • Visual Studio Code 怎么恢复默认布置
  • 计算机组成结构—IO方式
  • SpringCache和SpringTask
  • 【ARM64 常见汇编指令学习 19.2 -- ARM64 地址加载指令 ADR 详细介绍】
  • 高防CDN是如何应对DDoS和CC攻击的
  • 堆排序-调整算法
  • wireshark 标记自己想要的数据包
  • C++ OpenCV 图像分类魔法:探索神奇的模型与代码
  • 【上篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史
  • 用git下载hugging face上的大模型,以Qwen1.5-7B为例
  • webservice、WCF、webAPI、MVC权限认证
  • 型号FM152A,FM148R和利时
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【笔记】你不知道的JS读书笔记——Promise
  • CentOS从零开始部署Nodejs项目
  • ES10 特性的完整指南
  • php ci框架整合银盛支付
  • SpiderData 2019年2月13日 DApp数据排行榜
  • yii2权限控制rbac之rule详细讲解
  • 彻底搞懂浏览器Event-loop
  • 大快搜索数据爬虫技术实例安装教学篇
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 浮动相关
  • 关于Java中分层中遇到的一些问题
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 巧用 TypeScript (一)
  • 软件开发学习的5大技巧,你知道吗?
  • 时间复杂度与空间复杂度分析
  • 温故知新之javascript面向对象
  •  一套莫尔斯电报听写、翻译系统
  • 原生JS动态加载JS、CSS文件及代码脚本
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • 回归生活:清理微信公众号
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​520就是要宠粉,你的心头书我买单
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # 计算机视觉入门
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (1)bark-ml
  • (3)选择元素——(17)练习(Exercises)
  • (31)对象的克隆
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (6)设计一个TimeMap
  • (NSDate) 时间 (time )比较
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (原創) 物件導向與老子思想 (OO)
  • (转)树状数组
  • ./configure,make,make install的作用(转)
  • .NET 4.0中的泛型协变和反变
  • .net core 6 集成和使用 mongodb