- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结合互操作性浅谈软件体系架构ppt课件
结合互操作性浅谈软件体系结构
邓超,陈迪豪,张宇乾,黄达彬
什么是互操作性
互操作性(Interoperability)
互操作性简单来说就是互用性,是指不同的计算机系统、网络、操作系统和应用程序一起工作并共享信息的能力,也是一个衡量各种功能单元之间进行通信、执行程序或传递数据的能力。
简单来说就是电脑与电脑,电脑的各个零部件,电脑中的各个程序相互交流信息,彼此“谈话”,就可以称之为互操作性
互操作性:在玩家客户端之一运行于Sun Microsystems之上而另一方则利用JamVM运行于GNU Classpath的情况下,玩双角色网络游戏。这些应用程序执行的是相同的字节代码,并且采用标准的RMI-IIOP通讯报文进行互操作。
补充:互操作性的分类
一:语法互操作性
二:语义互操作性
什么是语法互操作性
语法互操作性:
对于深入推进互操作性的任何工作而言,语法互操作性都不可或缺。如果一个系统能够进行通讯和交换数据,那么,它就具备语法协同工作能力。就数据的通讯而言,基本的要素包括规定的数据格式、通讯协议以及接口描述等等。一般而言,XML或SQL标准提供的就是语法互操作性。
换句话说语法互操作性是体现互操作性最最基本的要求,所以对于任何互操作性工作而言,其都是不可或缺的。
什么是语义互操作性
语义互操作性:
数据交换至少要涉及到两个计算机系统参与方:即发送方计算机系统和接受方计算机系统。数据交换旨在为所有的参与方计算机系统,或者交换双方或其中之一带来有用的结果。不过,这些参与方计算机系统的所有用户事先已经就有关何谓有用结果的规定达成了一致意见。只有当参与方计算机系统之间所交换的数据能够得到对方正确处理和使用的情况下,才能称为实现了语义协同工作能力。
简而言之,语义互操作性就是指进行交互的两个主体,能够彼此正确的识别出对方所要表达的意思。
什么是软件构架
某个软件或计算机系统的软件构架师该系统的一个或多个结构,他们由软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。
互操作性是软件体系架构不可或缺的一部分
互操作性才能保证抽象
互操作性的实例(C/S架构,thrift接口)
C/S架构
Example1:
使用C/S架构开发一个互联网产品,客户端通过网络请求向服务器获得数据。这时候双方的工程师和软件架构师首先要定义传输的协议规范和数据格式,如在Wiki上定义好接口,然后两边的工程师参照Wiki就可以分别开工码字了(这里就体现了高互操作性的好处)。
以米聊为例
Thrift接口
Example2:
使用Thrift接口可以服务器之间数据传输的效率(这里体现了高互操作性的另一个优势)。Thrift是一个软件框架,允许你定义一个简单的定义文件中的数据类型和服务接口,跨C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk和OCaml这么多种语言。而我们知道Java的序列化和反序列化的效率是很低的,如果通讯的两个实体都使用自己编写的格式统一的thrift文件,则可以更少数据量的传输,从而大大地提高了服务器之间信息交换的能力。
原创力文档


文档评论(0)