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

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

软件测试SOA:我们是否重新发明了轮子?

发布: 2009-8-28 11:11 | 作者: 不详 | 来源: 领测软件测试网 | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

多中间件支持:CORBA、J2EE、MQ、Tuxedo——这些技术都在企业中用于集成。基于这些产品和技术构建的应用程序已经变成了一个筒仓,因为企业中可能会出现多个无法交互的“域”。服务基础架构应该允许企业基于合适的粒度水平在这些筒仓中公开有用的资产。有了用于发现这些系统中的元数据并基于它们自动创建服务的工具之后,这类服务的公开应该会变得更加容易。所有这类服务都应该以一种统一的方式被公开,并根据它基于的技术进行抽象,例如,我应该能够利用基于MQ的帐单编制功能和基于Tuxedo的呼叫处理功能构建一个新的复合应用程序,而不必学习有关MQ或Tuxedo的任何知识。 对多种传输方式的支持:JMS、MQ、FTP、HTTP等都是现今在企业中普遍应用的传输方式,而且在不久的将来还将继续使用。服务基础架构不仅应该支持这些传输方式,还应该提供一种使用企业的专用协议或传输方式扩展它们的方式。另外,服务基础架构应该直接进行协议转换,而不应让服务使用像HTTP这样的通用协议。对于某些高性能的应用程序来说,这很重要,因为转换到标准消息或使用像HTTP这样的协议所带来的开销可能是不可接受的。 服务的发布和发现:服务必须先被发现,然后才能被重用。需要使用某种形式的注册库来发现现有的服务(目录应该基于某种查询或浏览格式),从而注册或发布新的服务。另外,对这些服务使用的策略需要进行定义和注册,这类策略可以描述诸如使用服务的成本和安全特征之类的内容。 服务运行时和生命周期管理:这涉及到监控服务的可用性、服务的故障恢复、服务的版本控制,或者停止使用服务。简而言之,必须提供高级的操作性支持。在前几代的集成和中间件产品中,管理和操作性支持似乎是马后炮。这给大多数企业造成了相当大的麻烦,并提高了成本。服务基础架构应该以操作性考虑为核心。另一个重要的方面是,由于可以在多个应用程序中重用服务,服务的不可用性将影响到依赖于它的所有应用程序。因此,应该提供用于服务版本控制和升级的特殊方式。 对服务复合的支持:这涉及到使用现有服务构建新的复合应用程序。由于服务本身是应用中立的,可以用在服务的初始设计者预想不到的上下文中,所以必须支持消息转换、基于消息内容的路由和对一些简单条件逻辑的引入。 服务安全性:安全性显然是一个大问题,所以必须支持基于某种策略、使用审计、警报触发机制的服务访问控制。此外,由于服务可以横跨具有其独有安全性模型的多个应用程序,所以必须提供与这些安全性模型的集成,从而提供端到端的安全性。 易用性:服务基础架构本身不应该引入新的编程模型或API。它在本质上应该是高度声明式的,几乎或完全不需要编码。这应该由非常直观的可视化工具提供。

图1.服务基础架构的基本要素

我们的目标达到了吗?

服务基础架构在支持SOA和增强重用方面走了很长一段路。这代表着整个行业在支持重用和简化系统构建方面所做出的共同努力。毫无疑问,基于在部署利用这类基础架构的新应用程序方面的经验,整个行业将会继续发展。很多公司都很关心Web services标准的数量,其中一些标准是由相互竞争的供应商阵营所驱动的。供应商之间需要进行更多的合作,不仅要快速聚合Web services和安全性领域中的一些重要标准,而且要解决实际的测试和验证问题,这样才不会由于产品的互操作性而给客户造成不便。

我列出了一组有关服务基础架构的长长的需求清单。好消息是市场上已经出现几种支持其中绝大部分功能的产品。然而,有一点必须意识到:仅仅通过购买一种声称支持这些特性的产品,企业还不能拥有能够交付灵活性和敏捷性价值的服务基础架构。SOA和支持SOA的服务基础架构是可以转换的,因此需要对组织、流程管理和文化进行更改。IT组织应该实施架构一致性,并使自身与其业务风险承担者之间的同盟关系更加紧密,以便在进行转换时获得支持和资金。流程应该按照如何交付服务以及如何管理SOA中参与者之间的相互依赖性进行定义。一些被大多数应用程序重用的服务可以是水平的和一般性的,其他的则可以专门用于一些选定的应用程序。一个涵盖如何为这些服务提供资金以及如何开发这些服务的管理模型颇为重要。最后,文化应该鼓励和奖赏对现有服务的重用,而不是从头开始构建一切。

所有这些内容听起来可能令人生畏,但是实际情况是,这确实是一项令人生畏的任务。然而,现在出现了一些有利于开发的好兆头。首先,Web服务互操作性(Web Service Interoperability,WS-I)小组特别制定了图表,以便改进跨不同实现的Web服务互操作性。供应商们基于WS-I提供的配置文件进行互操作性测试。尽管这看起来似乎是明显应该做的事,但是CORBA或J2EE并非如此。而专用中间件和EAI产品的情况则更为糟糕。第二个好消息是,用于构建服务基础架构的工具已经越来越成熟,而且更加易于使用。例如,BEA的AquaLogic Service Bus产品是完全配置驱动的——几乎所有任务都能够通过一个图形界面来完成。最后,许多企业都已经部署了SOA,并且已经在应用程序开发速度和成本方面获益。更加成熟的IT组织已经获得了围绕其实现的这些指标和最佳实践,并向它们的企业证明了敏捷IT可以成为多么具有竞争力的区分点。

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

44/4<1234

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

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