• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

终极SOA技术

发布: 2007-6-13 19:50 | 作者: admin | 来源: | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网

当前似乎人人都愿意谈论SOA以及它如何解决大部分(如果不是全部)的架构问题。而在本文中我不打算讨论创建SOA的优点。我想谈的是什么技术能最大程度地帮助我们创建面向服务架构。似乎大多数支持SOA的人都一直在讨论使用web services来实现。让我们现实一些。web services是一项不错的技术,但是还远远达不到它关于创建跨web的无缝集成的承诺。用Jave创建的web services常常无法访问.NET客户机,反之亦然(参阅Web Services Interoperability和Web services programming tips and tricks: Improve interoperability between J2EE technology and .NET)。即使最后成功地进行跨平台web services通信,还是会面对很多问题,比如版本控制、安全性,以及难以表示XML中的复杂数据结构。如果web services都不能解决SOA的实现问题,还有哪种技术能解决?

终极SOA技术的特征

如果让我来开发一项技术,以协助构建健壮的面向服务架构,我认为它必须具备一些特征。具体来说,是以下特征:

对处理网络故障的强力支持——网络随时都可能出现故障。我希望该技术能包含这一点,并提供抽象的概念和具体的工具以恰当地处理网络故障。

安全性——关于这一点已经说得够多了。

表示复杂概念/交换复杂的数据结构的能力——我不想因为技术不支持而无法提供某种服务。

跨平台的兼容性——我不想因.NET或传统的客户机不能使用构建于Jave基础上的SOA而烦恼。

易用性——鉴于新框架、新技术和新方法的不断涌现,谁有时间纠缠于一项难以使用的技术?

现在我可以断言,有一项现有的技术符合80%的要求:Jini。虽然Jini这个主题值得更深入的研究,而不仅仅是了解我在这里强加给您的内容,但还是让我解释一下为什么我认为Jini符合那些要求(其中的大部分!)。

在我看来,Jini为解决网络故障问题提供了终极支持。由诸如租用(leasing)和自动服务发现之类的功能可以看出,Jini技术不仅意识到连接网络的不确定性,而且还提供了处理该问题的概念和工具。

Davis项目是为解决Jini中棘手的安全性问题创建的,它已经被并入了2.0版本。支持安全性的构建与所使用的安全传输协议相结合,形成一个完美的安全性解决方案

Jini使用的都是可移动代码。因为我是在创建Jini服务,而不仅仅受限于交换数据。是的,我知道RPC(远程过程调用)被认为已经过时了。XML才是大势所趋。但无论如何,就我个人而言,我从不曾看好它,但那又是另外一个话题了……

跨平台的兼容性体现在几个方面。的确,Java是“一次编写,到处运行”的(不是吗?),但是我们希望非Java的客户机也能使用支持SOA的Jini。例如,让支持Corba的客户机能够连接到Jini。要获得关于连接到Jini的非Java客户机的更多信息,请参考与Jim Waldo的对话。

您可能已经注意到,我将易用性放到了最后。这是Jini的不足之处。遗憾的是,构建复杂的Jini服务仍然很麻烦(需要有黑巫术、献祭的羊和神秘的仪式,非一般人能为)。这令人沮丧。

行动呼吁

我坚信Jini具有成为支持健壮的面向服务架构创建的技术的潜力,前面我只是试图吊起您对Jini的胃口,现在我要催促您从百忙之中抽出一点点时间来了解更多有关Jini的知识。在Jini.org上有一个繁荣的社区,Sun的官方Jini站点上也有很棒的信息。当然,您要问了,如果我所言属实,为什么Jini没有成为一项主流技术?为什么并非大家都在谈论Jini?好吧,回到Jini技术的致命缺点:易用性。不是开玩笑,Jini很难,这限制了它的广泛使用。如果某个大公司(例如:Sun、BEA或者IBM)能认识到Jini的力量并构造一个Jini服务器,我相信很快人人都在创建Jini服务。想想看,如果使用当前的语言特性,只能使用某些类似 @Jini-Service的方式来注释方法,就如同一些框架允许创建web服务一样,那为什么不利用Jini来构建SOA?问题在于创建框架(即Jini服务器)并非一项平常的任务。社区已经开始使用像Rio之类的项目来应对这项挑战,但仍然有许多工作要做。因此我将以一个对前面提及的大公司的挑战结尾:突破条条框框的限制,认识到使用Jini创建SOA的潜力,然后致力于创建Jini服务器,使开发人员在该平台上能够轻松地使用一两个注释来创建和部署Jini服务。嘿,如果你们不做的话,JBoss大概会做的……

(责任编辑:铭铭)



延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网