使用Axis2来构建Web Service客户端

简介:
Web services可以用来为用户提供广泛的功能,从简单的,少时间消耗的功能到多时间消耗的业务服务。当我们使用(调用客户端的应用程序)这些Web Service时,我们不能用简单的调用机制来针对那些对时间消耗有很大要求的服务操作。例如,如果我们使用一个简单的传输通道(如HTTP)并使用IN-OUT模式来调用一个需要很长时间来完成的Web Service,那么多数情况下,我们得到的结果将是"connection time outs"。另一方面,如果我们从一个简单的客户端应用程序调用一个同步的服务,使用"blocking"的客户端API将会降低客户端应用程序的性能。现在来分析一下一些常用的服务调用形式。
许多Web Service引擎提供给客户BlockingNon-Blocking的客户端APIs
1Blocking API-一旦服务被启用,客户端的应用程序将被挂起,直到operation被执行完毕(表现为收到一个responsefault),才能重新获得控制权。这是调用Web Service最简单的方式,并且这种方式适用于多数业务情形。
 
2Non-Blocking API-这是一个回叫或轮询机制的API。因此,一旦服务被起用,客户端应用程序马上得到控制权,通过使用一个callback对象来获得response。这种方式使得客户端应用程序可以很方便的同步启用多个Web Service
这两种机制都是工作在API层面上的。称将通过使用Non-Blocking API而产生的异步行为方式为API Level 异步。
这两种机制都使用单一的传输连接来发送request和接收response。它们的性能远远落后于使用两个传输连接来发送request和接收response(不管是单工还是双工)。所以这两种机制都不能解决需要长时间处理的事务的传输问题(在operation处理完成之前,很有可能你的连接已经超时了)。一种可能的解决方法是使用两个独立的传输连接来发送和接收request&response。这种异步行为,我们称为Transport Level 异步。
通过组合API Level异步和Transport Level 异步,我们可以得到四种调用模式。如下所示。
API (Blocking/Non-Blocking)
Dual Transports (Yes/No)
Description
Blocking
No
最简单和常用的调用模式
Non-Blocking
No
使用回叫或轮询机制
Blocking
Yes
在单工模式下,service operationIN-OUT时,很有用。(如SMTP
Non-Blocking
Yes
此模式下的异步效果最大
Axis2提供了所有上述4种调用Web Service的实现方式。 


本文转自zhangjunhd51CTO博客,原文链接:http://blog.51cto.com/zhangjunhd/23805,如需转载请自行联系原作者
相关文章
|
4天前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
21天前
|
监控 前端开发 JavaScript
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
使用 MERN 堆栈构建可扩展 Web 应用程序的最佳实践
27 6
|
23天前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
25 2
|
28天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
1月前
|
XML Java Maven
WebService客户端调用的5种常见方式
本文介绍了在Java中创建和调用WebService的方法,包括服务端的搭建、配置类的添加以及客户端的多种调用方式(如使用JDK原生代码、wsimport命令、动态调用、代理工厂及HttpClient)。文中详细展示了每种方法的实现步骤和示例代码,强调了服务端与客户端参数实体类字段的兼容性,并推荐使用代理工厂方式进行调用。
WebService客户端调用的5种常见方式
|
29天前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
1月前
|
缓存 安全 前端开发
构建高效Web应用的五大关键技术
【10月更文挑战第42天】在数字化浪潮中,Web应用已成为企业与用户互动的重要桥梁。本文将深入探讨提升Web应用性能和用户体验的五项核心技术,包括前端优化、后端架构设计、数据库管理、安全性增强以及API开发的最佳实践。通过这些技术的应用,开发者可以构建出更快、更稳定且更安全的Web应用,满足现代网络环境的需求。
|
7月前
|
缓存 应用服务中间件 数据库
Python Web Service开发及优化
随着互联网的快速发展,Web服务已成为现代技术的核心。Python作为一种功能强大且易于学习的编程语言,在Web服务开发领域占据着重要地位。Python Web服务开发的重要性在于它能够提供高效、可扩展且易于维护的解决方案。本篇博客将探讨如何使用Python的Flask框架、Gunicorn WSGI服务器和Nginx网页服务器来实现高性能的Web服务。
|
7月前
|
XML Java 应用服务中间件
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
98 0
|
7月前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
169 0
下一篇
DataWorks