会不会跟着AXIS2上贼船

会不会跟着AXIS2上贼船
SOA架构是目前比较流行和追求的架构,AXIS2也是开发WebService比较流行和追随者众多的中间件,网上也有大量的文章,分析AXIS2提供的例子。十分遗憾,难以找到比较深入的例子和有自己思想的文章,不是说作者水平低,而是作者都是按照例子的思想和AXIS2的思路来写作。
首先,我们来分析一下什么情况下采用服务架构比较好,应该包括以下几种情况:
1、 分布式环境,两台不同的服务器之间,调用对方提供的服务,实现数据交换等;
2、 多态的客户端,应用系统提供多种访问形式,既有浏览器,也有客户端程序,但是服务器端采用同一服务程序,支持多种形式客户端的访问;
3、 客户端程序是由不同语言编写,WebService用来实现应用集成或者数据集成等。
接着,我们再来分析一下,采用服务提供上述目标和采用API提供上述目标的一些差异,应该有以下几个方面:
1、 如果采用API形式,必须要提供API程序包给调用者,并且说明API包的结果、可以调用的函数、调用函数的规范等;如果采用WebService形式,只需要告诉调用者接口规范和名称,调用者开发时,基于选择的开发环境,采用的API是环境提供的API;
2、 采用API形式,要求调用者的开发语言必须和API语言相通;如果采用WebService形式,调用者准受规范、而不受限于开发语言;
3、 采用API形式简单直接,效率也比较高;如果采用WebService形式,免不了数据的封装、拆封等过程,免不了服务查询等过程,效率可能会低一些。
最后,我们来看一下,采用AXIS2提供消息封装的几种形式:
1、 POJO
2、 ADB
3、 AXIOM
4、 JiBX
5、 XMLBEAN等。
注意,上述各种消息封装形式带来的以下不同:
1、 首先是消息的格式,有RPC[*]MessageReceiver、RawXML[*]MessageReceiver、以及自己定义的消息格式等;
2、 其次,服务程序的参数和返回值是不同的;
3、 最后,除RPC、AXIOM外,其余的程序都需要有存根等。
由于个人水平有限,我就想提出以下问题:
1、 采用POJO形式,我想应该能够满足不同开发语言的调用要求,毕竟RPC是标准的协议规范,但是,如果POJO中,有复杂的BEAN,不知道其它语言能不能很好封装消息;
2、 采用AXIOM形式,只不过是对XML构造和扩充进行了优化,也应当不会有太大的问题,并且扩充余地也比较大;
3、 其它形式提供的服务能够被另外的语言很方便地调用吗?
由于个人水平有限,提出上述看法,希望高手不吝执教!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值