企业级SOA
来源:互联网 发布:python json dump 编辑:程序博客网 时间:2024/04/28 00:23
一、什么是SOA (service-oriented-architecture )
首先,soa是异构程序间通信的解决方案。
二、如何实现SOA思想
通过 webService 和soap协议。
具体流程是:client程序根据soap协议格式封装“请求数据“, 然后通过http通信协议发送给server程序,server程序收到请求进行解析然后再交由对应服务进行处理,完了将处理结果封装成soap格式反馈给client程序。
这里要弄清楚,server程序是如何发布服务的。这个可以联系tomcat发布应用来理解,首先它启动一个socket 服务端,需要有url,需要有监听端口。别人通过这样url可以得到一个wsdl文件。这个文件描述了,server程序提供了那些服务,client需要提供什么样的请求数据,可以得到什么样的结果。
所以客户端要想访问服务端的服务,必须解决以下问题,一、根据url建立一个socket客户端和服务端建立连接,二、将对象转换成xml,因为soap的数据格式是xml,然后将封装好的数据传送过去并接收响应结果。
底层的原理个人理解大致是这样。
三、现实中的应用—-企业级SOA
现实企业中的soa应用要复杂的多
首先,企业SOA中出现了个ESB
其次,企业中soap消息的通信协议也不单纯是http,还有jms,现实中企业是综合采用这两种通信协议,访问外企业提供的服务时用http做transport,企业内部各系统间通信时则使用jms。所以,又牵扯到了一个MQ。
先说,为什么传输协议还要用jms,一是因为http是点对点、同步式的通信协议,无法满足所有某些业务需求,二是因为jms,它支持点对点、订阅发布模式、即支持同步又支持异步、可靠、可伸缩。总之http能的他都能http不能的他也能。那为什么还要http干脆全用jms不好了?不能,因为jms没有http的朋友圈大,比如自己企业可以统一使用IBM WebSphere MQ 使用java语言,你还能管住其他企业用什么产品什么技术吗,不能,所以这个jms虽好可是不是通用的技术。http是通用的,所以才搞了两套,跟外国人对话用英语(http)自家人唠嗑还是用普通户痛快。
在说说这个ESB(enterprise-service-bus),试想世上有千千万万个服务,如果一一同他们建立联系很麻烦,并且如果一个服务发生了变化,那么这个服务的客户端程序也要跟着变化,这样不利于维护。如果存在一个中间人,大家都只跟这个中间人打交道,那情况就会简单很多,如果中间的功能再强大一些可以屏蔽通信协议的不同那就更好了。这个中介就是ESB事实上,它所提供的功能比我说的要强大的多。详情请看
ESB是什么
大概的原理先记录这么多,具体和spring整合配置的东西,还需要继续研究。
- 企业级SOA
- 建设企业级SOA大厦
- SOA与企业级软件系统架构
- 企业级SOA的信息安全保证
- Ajax联手SOA打造企业级应用
- 如何构建有效的企业级SOA治理
- Ajax联手SOA打造企业级应用
- 打造你自己的企业级 SOA 市场
- 架构设计师与SOA之架构企业级SOA应用
- 精通企业级SOA(SAP NetWeaver +mySAP ERP)-0
- 应用+平台——SAP企业级SOA产品的特点
- 应用+平台——SAP企业级SOA产品的特点
- SAP将在公用事业领域采用新企业级SOA技术
- SOA架构实践首先从企业级IT架构设计着手
- SOA架构实践首先从企业级IT架构设计着手
- 在企业级 SOA 中使用 Web 服务,第 14/15 部分
- 企业级SOA之路——在Web Service中使用HTTP和JMS
- 用企业级数据服务解决SOA的最后一英里问题
- [HEOI2012]采花
- 海森矩阵(Hessian Matrix)
- 请求大佬看看C#这个怎么写进去
- 差分约束系统模板
- 4.ROS 多机通信 虚拟机[作为从机]-控制树莓派或者odroid 或者ros[作为主机]
- 企业级SOA
- 不同VLAN之间的通信
- 欢迎使用CSDN-markdown编辑器
- 各种优化方法总结比较(sgd/momentum/Nesterov/adagrad/adadelta)
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- android 登录成功后再跳转到目标界面的思考
- 第4章 依赖管理基础
- thinkphp5的验证器详解,以及自定义验证器
- Windows主线程和子线程的关系