REST和SOAP
介绍
本文讨论两种Web服务访问协议, 肥皂 (“简单对象访问协议”)和 休息 (“具象国家转移”)。
网页服务
Web服务被定义为主动从定义的源获取,读取或传输数据以产生指定的结果 - 结果。
以下基本示例显示了Web服务的基本用法,然后了解如何使用SOAP或REST将数据传输到Web服务或从Web服务传输数据。
如果开发人员正在编写一个需要在一个地方进行数据计算的应用程序,那么将在该位置的代码中编写计算方法。但是,如果在应用程序的其他部分中需要进行数据计算,那么如果开发人员将计算方法放在需要的每个区域中,那么维护将是低效且不切实际的。
必须对该方法进行一次更改,才需要查找每个实例进行编辑(并重新测试)。使用Web服务以最佳方式运行并提高业务灵活性,此方案将受益。
通过创建一个具有可访问方法的Web服务来进行添加,减法,除法和乘法,只要需要进行数据计算,应用程序就会使用该Web服务;它调用Web服务进行计算并生成结果。因此,开发人员只有一个地方可以维护数据计算方法。
Web服务中处理数据的方式取决于SOAP或REST是否已实现。
SOA和BPMN
基于可执行进程构建的应用程序基于a 面向服务的体系结构 (“SOA”)。这是一种如何使用传输,生成,验证或计算数据的服务的方法。
SOA 越来越有利于提高开发质量和时间,提高应用程序性能和可扩展性。
业务流程建模表示法 (“BPMN”)正在对服务或业务流程建模,这可以由非技术人员(即业务分析员)完成。运用 BPMN,将模型实现为可执行流程的开发人员可以轻松解释业务模型(用于服务),这些流程可能需要也可能不需要人工交互。
简单对象访问协议(SOAP)
SOAP是一种通过Internet传输数据的方法。
最初由微软开发,由于互联网的出现,SOAP取代了旧的 DCOM 和 CORBA 技术,它已经存在了比REST更长的时间。
SOAP被认为比REST更重,即传输数据需要更多的行李,这意味着每个消息请求需要更多带宽,并且数据源和目标在打包和接收数据时还有更多工作要做。
SOAP仅使用 XML 对于因特网上的消息传递服务,XML消息请求可能非常复杂,如果手动开发,需要特别注意,因为SOAP不灵活且有错误。
可以使用.NET语言(作为示例)自动化SOAP消息请求,其中开发人员不需要使用XML,因为它是在后台自动生成的。
如果消息请求遇到任何问题,则在消息响应中返回详细的错误信息,并且还可以通过引用消息响应中提供的标准错误代码来自动执行此过程。
因此,所使用的编程语言是实现SOAP的难度的决定因素。
SOAP消息附带的一件行李就是 Web服务描述语言 (“WSDL”)解释Web服务的工作原理。当应用程序引用Web服务时,它会读取并了解如何处理Web服务。
SOAP不一定要使用 HTTP (超文本传输协议)专门;它可以在SMTP和其他传输协议上使用。
由于SOAP是标准化的,因此它比REST更严格,尽管两者都依赖于既定规则。
休息
REST是更新,更时尚的SOAP表兄,并且很快成为大多数Web和移动应用程序的选择。
在推出十多年后,REST是一种更轻,更易维护和可扩展的与Web服务交互的方式。
与SOAP不同,REST不使用 XML 只; 纯文本, CSV,和 RSS 可以使用,以及 JSON 用于AJAX调用;只要源和目标都能理解所使用的格式。
与SOAP相比,REST不那么复杂,被认为是一个较小的学习曲线。大多数现代编程语言都有库和框架来促进REST(RESTful)服务,例如C#,Python,Java和Perl。
REST由于处理最少而使用不同的消息格式更高效,因此速度更快。
两者都有优点和缺点,因此在考虑使用哪种访问协议时,请考虑组织中使用的编程语言,应用程序环境和应用程序要求。