欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

WebService与使用风格RPC/SOA/REST

Java Web water 4961℃ 0评论

a.一般的系统,开发都是针对数据库开发,不存在系统之间的交互,但是随着现实是有好多系统(好多DB,DB不开放),这些系统之间要进行交互,就像人一样要互相帮助。所以      可以通过一下的方式:

  1.共享数据库DB(开发试图) ——————————————————- 比较简单,但是数据库压力大,最好不这样做

  2.依靠FTP做文件共享进行通信——————————————————- 需要开发FTP服务器,走FTP协议

  3.系统提供socket开发包进行Socket通信———————————————-必须开发两端(A端发送,B端接收,如何可以同步进行,定时或者实时),必须     是同一语言

  4.通过RPC远程调用——————————————————————不同的语言,比较常用

  5.提供WebServicet,通过SOAP协议进行通信——————————————面向服务的架构(目前推崇的)

  6.通过RestFull进行通讯————————————————————–面向服务的架构(目前推崇的)

b.SOA架构

  自从大学开始就一直学习计算机这个专业,一直到毕业工作,都是从事软件开发的工作,对于SOA的认识好像还是模模糊糊的,今天无事,也算普及一下计算机的一些基本理论  知识,所以说说最近自己的理解,当然了也参考的一些网上的介绍。

  

  软件:对于开发软件来说,就是如同制作一个计算机处理器(有专用的,也有通用的),通用的一般比较好,因为我们可以DIY,但是这样就以一个问
题,随着时间的变化,肯     能这个组件要升级,但是其他组件在DIY这个组件,也就是有依赖,不能你改了之后影响了使用你的人,尽量避免干扰,那如
何实现?就是对外发布服务(就是发布一      个访问方式比如SOAP等),这样只要双方认可SOAP那么就可以随便更改组件了,这就是面向服务的思
想。硬件就是通过接口(比如什么USEB接口,什么PCI总线等)

 

  之间有联系:服务的自治,管制等,结合BPM,RuleESBMQ Broker消息机制进行通信。

  

  软件系统:

      高可用高性能—–异步机制,消息机制,负载均衡机制,队列机制与调度机制(优先级)以及chain链机制

      高安全 ———-基于网络传输  基于应用  比如加密压缩基于RBAC的权限控制机制

  

  SOA:面向服务的一种架构:发布  组件  服务  定位  协议  消息(目的就是为了服务自治,采取异步措施,接触调用外部而依赖导致服务自治失败,本质就是降低组件间的耦合    性)  代理  

  

 

 消息的两种机制:

    基于请求响应的比如HTTP   

    基于事件的EDA(观察者模式)  异构组件之间通信的松耦合 —-对象之间的松耦合 ,组件之间的松耦合 ,服务之间的松耦合  是不是都是一样

  

  介绍一个例子:

    用户下一个订单的过程。

    通过门户网站下一个订单提交 —–后台系统(有许多的系统进行处理)———-门户网站系统

      

以上就是一个基于ESB,BPM,Rule,SOA,EDA机制的多种系统协作,采取异步处理机制(事件机制,队列机制),高可用高性能(多线程)高安全(权限机制)进行处理。

观察发现特想计算机的主板一样,主板上通过插口连接各个处理器(比如内存,显卡,网卡等),交互都是采取总线进行交互(什么地址总线,数据总线,指
令总线),接口之间有接口控制器(再带适配转换)而ESB就类似于计算机上的总线,类似的网络上也有总线(也就是为了拓扑,什么总线结构,星行结构等),
操作系统上面上的通道(信道)等。总之总线技术就是进行通信(双工单工等)的一机制。

=========================================================================================

SOA的好处:

 1. 松耦合:由于服务自治,有一定封装边界,服务调用交互是通过发布接口。这意味着应用程序不感兴趣的服务如何被实现。
   2.位置透明:服务的消费者不必关系服务位于什么地方。
   3.可在异构平台间复用。可以将遗留系统包装成服务。
   4.便于测试,能并行开发,较高可靠性和良好可伸缩性。

 

c.restfull与soap

  都是SOA实现的一种技术,但是设计的理念有所不同。

  restful基于HTPP的理念,而SOAP则基于RPC的理念

  HTTP理念:访问的资源,访问的方式,传输的数据都在http的URI中体现

  SOAP理念:基于HTTP,但是访问的资源,访问的方式,传输的数据都在报文中体现,想知道要解析xml

  restful可以知道任何东西,而soap想知道必须解析xml的报文。  

 

  SOA目标就是松耦合,高可用(对于一个业务系统要达到这个要求就要面向抽象进行设计,之间的交互通过委托进行职责的调度进而形成一次服务,但是对于异构系统之       间达到这种目的就最好采取SOA,这样可以通过BPM进行服务的重用,ESB的总线通信交互) 

     总结:典型的基于 SOAP 的 Web 服务以操作为中心,每个操作接受 XML 文档作为输入,提供
XML 文档作为输出。在本质上讲,它们是 RPC 风格的。而在遵循 REST 原则            
 SOA应用中,服务是以资源为中心的,对每个资源的操作都是标准化的 HTTP 方法。

转载请注明:学时网 » WebService与使用风格RPC/SOA/REST

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!