好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件开发接口资料.ppt

75页
  • 卖家[上传人]:豆浆
  • 文档编号:3803936
  • 上传时间:2017-08-05
  • 文档格式:PPT
  • 文档大小:799.50KB
  • / 75 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 接口技术,福建富士通信息软件有限公司,Fujian Fujitsu Communication Software Co., Ltd.(FFCS),二〇一一年 九月八日,,,,主流接口技术,1,,,2,,,3,XML解析技术,Webservice介绍,内容提要,,,4,Webservice框架,主流接口技术,WEB ServiceCorbaEJB消息队列FTPHTTPSocket中间表,WEB Service,基于HTTP 传递xml 定义的SOAP 协议数据,是开 放的标准,标准性高,扩展性好优点: 因为是基于HTTP 协议,耦合度低,可以方便穿 越防火墙,目前有大量成熟应用,接口开发有很多支持工具和环境,开发工作量较低缺点: 性能方面相对于中间件服务调用较低,Corba,系统向外提供 Corba 服务,客户端直接调用优点: 跨平台、跨系统、跨语言,性能很高,比较稳定,扩展性良好缺点: Corba 产品不十分成熟、系统间耦合度增高,而且对于外部系统之间客户端开发接口以及调试工作量相对大一些,适用于实时性要求比较高的场合接口,EJB,系统向外提供服务供客户端直接调用优点: 性能很高,有成熟产品支持,可靠稳定,扩展性良好。

      缺点: 系统间耦合度增高,而且对于外部系统之间客户端开发接口以及调试工作量相对大一些,十分适用于系统内部子系统之间的接口,中间表,这种方式是通过数据库中间表获取系统的数据,将相关的数据同步到其他系统优点: 接口实现简单,效率高,缺点:系统间耦合度较高,对双方系统的稳定性以及接口的稳定性要求较高接口分类,接口调用方式同步:调用方在调用接口后必须在接口的结果返回后才可以继续执行自己的任务异步:调用方在调用接口后不需要等待接口的结果返回,可以继续执行自己的任务接口交互方式实时:接口的响应速度有很高要求,通常要求接口处理能在秒级完成非实时:调用者对接口执行速度要求不太高 接口数据量 大数据量:指大量数据传输,通常是批量数据; 小数据量:接口数据量偏小,一般小于 100K 的数据包接口频率 非周期:接口不按固定周期交互,通常为事件触发,比如查询; 周期:接口按固定周期,比如按日、按周、按月、按小时、按分钟或其他频率交互corba,ejb ,webservice的区别,Corba,EJB 共同点:通过专有的网络协议通讯不能跨平台调用通过分布式对象调用来实现分布式架构,分布式架构是绑定在面向对象的机制上的分布式对象架构的缺陷在EJB2时代被充分暴露了出来web services有一些明显不同于Corba和EJB分布式对象架构的特征:通过标准SOAP协议通讯,一般走HTTP通道能够跨平台调用通讯格式是xml文本,而不是二进制数据格式通过RPC(Remote Procedure Call Protocol)机制来实现分布式调用,而不是通过面向对象机制实现分布式调用 RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

      选择接口技术,同步实时小数据量WEB SERVICE、CORBA异步非实时小数据量接口表、WEB SERVICE异步非实时大数据量接口表、FTP,,,,主流接口技术,1,,,2,,,3,XML解析技术,Webservice介绍,内容提要,,,4,Webservice框架,XML解析技术,XML解析技术分析 所有的XML处理都从解析开始,无论是使用XSLT或Java语言,第一步都是要读入XML文件,解码结构和检索信息等等,这就是解析,即把代表XML文档的一个无结构的字符序列转换为满足XML语法的结构化组件的过程XML解析技术的分类 面向文档的流式解析;面向文档的对象式解析;面向文档的指针式解析;面向应用的对象式解析;,面向文档的流式解析技术,流式解析是一种基于事件的解析过程,解析器顺序读取XML文档,产生一个对应的事件流,并向事件处理程序发送所捕获的各种事件,如元素开始和元素结束等,而事件处理程序则通过不同的方法处理这些事件流式解析是将XML文档作为一个数据流来处理,因此,它具有类似于流媒体的优点,能够立即开始读取数据,而不是等待所有的数据被处理而且,由于应用程序只是在读取数据时检查数据,不需要将整个文档一次加载到内存中,使得在处理大型文档时具有较好的时间和空间上的效率。

      然而效率的代价是易用性的降低,流式解析编程较为复杂,程序员需要负责更多的操作并且由于应用程序没有以任何方式存储数据,所以使得更改数据或在数据流中往后移是不可能的再加上它的单遍解析特性,意味着它也不支持随机访问流式解析又分为两种解析方式:推式解析(SAX)和拉式解析(StAX)这两种方式的主要区别在于是由解析器还是应用程序控制读循环(读入文件的循环)拉式解析: 在这种解析方式中,应用程序控制着读循环循环中,应用程序负责反复调用解析器获得下一个事件,直到文档结束 推式解析: 在这种解析方式中,解析器控制着读循环,在文档结束之前控制权不会返回给应用程序解析器通过回调的方式进行数据处理java常用的XML解析技术,DOM(Document Object Model)W3C 里边一种成熟的标准SAX (Simple API for XML)一种被广泛接受的 XML 的 API ,成为事实上的标准 StAX (Streaming API for XML)在 JSR-173 中提到的一种很有前途的新型解析模型按照解析方式可分为:基于树(tree-based), DOM基于事件(event-based), SAX, StAX,DOM解析技术,DOM解析是面向文档的对象式解析技术 DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。

      DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准DOM是以层次结构组织的节点或信息片断的集合这个层次结构允许开发人员在树中寻找特定信息分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作由于 它是基于信息层次的,因而DOM被认为是基于树或基于对象的 DOM 以及广义的基于树的处理具有几个优点首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理DOM使用起来 也要简单得多DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用 navigation APIs访问所需的树节点来完成任务可以很容易的添加和修改树中的元素然而由于使用 DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候由于它的遍历能力,DOM解析器常用于 XML文档需要频繁的改变的服务中SAX解析技术,SAX 采用了“推模式”( push modal )解析SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。

      SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的 tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据 SAX 处理的优点非常类似于流媒体的优点分析能够立即开始,而不是等待所有的数据被处理而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中这对于大型文档来说是个巨大的优点事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析一般来说,SAX还比它的替代者DOM快许多STAX解析技术,StAX 是一种令人振奋的新型解析技术,和 SAX 一样,它也采用了事件驱动模型不过,在对于事件的处理上, SAX 采用了“推模式”( push modal ),而 StAX 则使用的是“拉模式”( pull model )从这个原理来判断的话, StAX 的实现显然要更加灵活,程序可以选择自己需要处理的部分,而 SAX 则一定会遍历整个文档将 StAX 叫成“程序驱动模型”可能更利于理解一些 优点: 接口简单,使用方便 采用流模型分析方式,有较好的性能。

      缺点: 单向导航,不支持XPath,很难同时访问同一文档的不同部分选择解析技术,为了比较这五种方式在解析XML文档时的性能表现,创建了三个不同大小的XML文档:(100KB)、 (1MB)、(10MB)分别用以上解析方式对这三个XML进行解析,然后打印出所有的用户信息,并分别计算它们所用的时间测试代码会在文章后面的附件中给出,这里只比较它们的耗时 由上面的测试结果可以看出,性能表现最好的是SAX,其次是StAX Stream和StAX Event,DOM和DOM4J也有着不错的表现性能最差的是JDOM所以如果你的应用程序对性能的要求很高,SAX当然是首选如果你需要访问和控制任意数据的功能,DOM是个很好的选择,而对Java开发人员来讲,DOM4J是更好的选择 如果只需要做XML文档解析的话,综合性能、易用性、面向对象特征等各方面来衡量,StAX Event无疑是最好的选择主流接口技术,1,,,2,,,3,XML解析技术,Webservice介绍,内容提要,,,4,Webservice框架,WebService简介,Webservice是描述一些操作(利用标准化的 XML 消息传递机制可以通过网络访问这些操作)的接口。

      存在于互联网当中的组件,具有独立性,跨平台和技术,通过URL进行定位调用Webservice体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互交互涉及发布、查找和绑定操作WebService的功能,WebService是一种跨编程语言和跨操作系统平台的远程调用技术所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,银联提供给商场的pos刷卡系统(采用交互提问的方式来加深大家对此技术的理解)远程调用技术有什么用呢?商场的POS机转账调用的转账方法的代码是在银行服务器上,还是在商场的pos机上呢?什么情况下可能用到远程调用技术呢?例如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以webservice服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率,往大的概念上吹,就是所谓的SOA应用所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行除了WebService外,常见的远程调用技术还有RMI(Remote method invoke)和CORBA,由于WebService的跨平台和跨编程语言特点,因此比其他两种技术应用更为广泛,但性能略低。

      WebService的调用原理,WebService使用SOAP协议实现跨编程语言和跨操作系统平台WebService采用HTTP协议传输数据,采用XML格式封装数据(即XML中说明调用远程服务对象的哪个方法,传递的参数是什么,以及服务对象的返回结果是什么)WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议(simple object access protocol,简单对象访问协议) SOAP协议 = HTTP协议 + XML数据格式 SOAP协议是基于HTTP协议的,两者的关系就好比高速公路是基于普通公路改造的,在一条公路上加上隔离栏后就成了高速公路商店的服务员只要收到了钱就给客户提供货物,商店服务员不用关心客户是什么性质的人,客户也不用关心商店服务员是什么性质的人同样, WebService客户端只要能使用HTTP协议把遵循某种格式的XML请求数据发送给WebService服务器, WebService服务器再通过HTTP协议返回遵循某种格式的XML结果数据就可以了,WebService客户端与服务器端不用关心对方使用的是什么编程语言。

      HTTP协议和XML是被广泛使用的通用技术,各种编程语言对HTTP协议和XML这两种技术都提供了很好的支持,WebService客户端与服务器端使用什么编程语言都可以完成SOAP的功能,所以,WebService很容易实现跨编程语言,跨编程语言自然也就跨了操作系统平台。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.