oracle soap api,Web API与SOAP API的区别
大家好,又见面了,我是你们的朋友全栈君。
Web API与SOAP API的区别
总的来说,Web API比SOAP API有优势,多数情况下SOAP API的优势仅在消息结构的描述上。因此在三方集成时,当对方的集成工具仅支持根据WSDL来构建调用时,才建议考虑发布SOAP API。
1.请求消息格式不同
Web API的消息规格为URL请求;SOAP API的消息格式为SOAP规范。从消息封装、编码/解码上,Web API有明显的并发性能优势。
由于SOAP消息格式在发布时声明,可以方便一些高级工具调用方实现可视化的参数映射、配置化的调用。
例如,一个Web API请求消息
https://b2b.awspaas.com/openapi
?timestamp=1439277618461
&sig_method=HmacMD5
&cmd=app.install.check
&appId=com.actionsoft.apps.notification
&access_key=Salesforce#1
&format=json
&sig=DE90336BEDB0C3D3FE6DEE2FF0DF11AC
例如,一个SOAP API请求消息
xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”/>
com.actionsoft.apps.notification
2.响应消息格式不同
Web API可以返回JSON/XML结果,尤其是JSON数据格式是当今Web和移动端开发的首选规范;SOAP API返回一个XML的消息对象。从数据结果封装、编码/解码上,Web API有明显的并发性能优势,同时JSON结构有助于减少网络流量。
由于SOAP响应格式在发布时声明,可以方便一些高级工具调用方实现可视化的结果映射、配置化的调用。
例如,一个Web API响应消息
{
“data” : true,
“result” : “ok”
}
或
true
例如,一个SOAP API响应消息
xmlns:ns1=”http://service.sdk.actionsoft.com/”>
xmlns:ns2=”http://service.sdk.actionsoft.com/”>
true
3.安全机制不同
Web API可以基于HTTPS,而SOAP API可以基于WS-Security规范对消息加密时也可以使用HTTPS
Web API的认证基于访问凭证 ( access_key )和私钥 ( secret )的签名摘要验证,而SOAP API的认证基于WS-Security规范的用户名密码或者x509
4.客户端调用方式不同
SOAP API需要一个比较重的SOAP协议栈,会遇到跨语言、版本的SOAP互操作问题;Web API仅需要客户端支持HTTP(s)传输协议。
综上,Web API和SOAP API在请求、响应、安全和编程调用模式上有很大差异。AWS PaaS开发者可根据实际情况和上述差异,启用和配置合适的API协议。
5.并发处理能力的不同
测试环境
项
说明
AWS PaaS服务器
16核、16G内存、Centos 7.1 64 位、AWS PaaS(6.1.2.0830)
数据库服务器
16核、16G内存、Centos 7.1 64 位、 Oracle11.2g 64位
模拟客户机
2核、4G内存、Windows 7 32位、 LoadRunner 11
测试用例
方法
说明
demo.say
测试返回简单值
demo.calc
测试返回简单对象
测试用例可与我们技术支持联系,获得com.actionsoft.apps.poc.api应用
测试结果
Web API最大TPS(Trasaction per second事务数/秒)值为2137.529
SOAP API最大TPS(Trasaction per second事务数/秒)值为219.706
结论:Web API与SOAP API相比较,有明显的并发性能优势
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158341.html原文链接:https://javaforall.cn
相关文章
- ORA-19598: can not backup SPFILE because the instance was not started with SPFILE ORACLE 报错 故障修复 远程处理
- 使用OCCI API连接Oracle数据库(occi连接oracle)
- 使用Oracle连字符:解决复杂查询问题(oracle连字符)
- 掌握Oracle数字类型的精确表示法(oracle数字类型)
- 查看Oracle数据库的视图(oracle查看视图)
- Oracle视图赋权:简单有效的实践实现(oracle视图赋权)
- Oracle新增数据的步骤指南(oracle增加一行数据)
- 利用Oracle触发器实现数据库自动化管理(oracle触发器类型)
- 安装Oracle远程连接:基于SSH的实施方法(ssh安装oracle)
- Oracle财务系统:高效管理财务流程(oracle财务系统)
- 查询Oracle 优化:并行查询大幅提升性能(oracle开并行)
- Oracle给予查询权限的指引(oracle赋予查询权限)
- 使用Oracle内置API让程序开发更轻松(oracle内置api)
- Oracle数据库入门指南API快速入门(oracle入门api)
- OEM实现Oracle数据库管理简易化(oem管理oracle)
- API精准查询Oracle,轻松解决问题(Api查询oracle)
- 让AIX平台上的Oracle跑起来吧(AIX跑Oracle)
- Oracle 人才流失企业的重要考验(oracle人员流动大)
- 学习ORACLE轻松下载软件,迈出职业发展的第一步(ORACLE下载软件学习)
- 解锁Oracle Web登陆就在你身边(oracle web登陆)
- Oracle Web官网让你轻松获取最新技术资讯(oracle web官网)
- Oracle Web客户端让网络更加强大(oracle web客户端)
- Oracle httpd 架构打造高效优质的 Web 应用体验(oracle httpd)