【分布式java应用笔记】分布式与soa
2012-04-12 00:11
274 查看
SCA
在xml中composite是SCA定义的最小部署单位。每个xml文件的根元素必须为composite,在composite下可以有多个component及service标签
Component
通过implementation定义和已有系统的集成,提供多种实现集成的支持:Spring、Java、C等。Service子标签表明当前component对外提供了什么service;reference子标签表明当前component引用了什么service
service
service代表了对外提供服务的描述,包含了name、promote、requires和policySets四个属性。其中promote属性指定了提供此服务的component。
Interface子标签可定义对外提供的接口。支持三种方式对外提供接口:java语言方式的接口、 WSDL1.1以及WSDL2.0方式。可将interface标签写为interface.Java或interface.wsdl,Java方式的情况还支持callbackInterface属性。
binding标签来指定服务发布的方式,SCA默认支持的方式有SCA、WebService以及JMS三种,如不指定则以服务的实现方式来决定。
从service标签来看,在采用SCA的情况下,可以很方便地将各种方式实现的功能以多种方式对外提供,对系统的侵入非常小。
SCA标准默认提供的通信方式为SCA、WebService和JMS三种。SCA方式是指由框加来选择采用相应的通信方式,需要调用的服务在同一JVM中,则会自动切换为本地调用,如在不同JVM中,则采用Webservice或JMS等方式;WebService的实现为HTTP方式;JMS则可用多种方式来实现:TCP/IP、HTTP等。
SCA提供了清晰的发布服务、调用服务及无缝和现有应用集成的支持。在调试、跟踪的支持上SCA标准没有明确的定义;依赖管理方面也没有明确的定义;高性能及高可用这两点不好在标准中进行定义。
ESB
ESB只是一个概念,核心思想基于消息中间件来实现系统间的交互。基于消息中间件所构建的系统交互的中间场所称为总线,系统间交互的数据格式采用统一的消息格式,由总线完成消息的转化、路由、发送到相应的目标应用。
ESB五要素:
标准的消息通信格式
使各个系统保持同样的方式与总线通信
消息路由
消息路由是指当总线接到消息后,根据消息中的数据来决定需要调用的系统。当多个系统相互调用时,可以总线上以流程的方式编排访问的顺序。如根据A系统返回的结果决定是访问B系统还是C系统。
支持多种消息交互类型
消息交互要支持请求、响应和发布、订阅等方式,请求、响应方便实现同步请求,发布、订阅方便实现异步消息广播。
支持多种网络协议
多个系统进行交互,通常支持多种网络协议,如TCP/IP、UDP/IP、HTTP等
支持多种数据格式并能相互转换
各系统发送消息至总线,由总线将消息转发,各系统中的数据格式总线要支持转换。
相关文章推荐
- 分布式系统概念与设计-第十四章笔记
- 分布式系统阅读笔记(二十)-----分布式多媒体系统
- SOA架构的三层体系结构分布式系统
- 分布式服务框架学习笔记 01 - 软件架构发展史
- Spark学习笔记(二)-弹性分布式数据集RDDs
- 18.03.16,web学习第七十六天,day02,soa架构、Dubbo分布式、zookeeper、pageHelper插件
- 分布式系统阅读笔记(二十一)-----分布式系统设计(Google Case Study)
- Apache Kafka笔记(五):消息模式、分布式部署等细节
- 分布式系统阅读笔记(八)-----分布式对象和组件
- 学习笔记:The Log(我所读过的最好的一篇分布式技术文章)
- 大数据学习笔记之二十一 云存储的分布式文件存储代表GFS
- 学习笔记:The Log(我所读过的最好的一篇分布式技术文章)
- [第1篇] 谈谈分布式事务之一:SOA需要怎样的事务控制方式
- Hadoop学习笔记【12】-Hadoop2.1全分布式集群安装
- Hadoop(CDH)分布式集群安装笔记(亲测)
- SOA分布式框架之dubbo
- 利用rpcgen构建分布式程序的8个步骤---学习笔记
- 《大规模分布式存储系统》笔记——单机存储系统、分布式系统
- Hadoop学习笔记之Hadoop伪分布式环境搭建