为何不让软件测试SOA变得简单?[1]

发表于:2009-08-25来源:作者:点击数: 标签:软件测试soaSOA
为何不让软件 测试 SOA变得简单?[1] SOA管理 关键字: soa 最近,SOA成为跨技术平台(特别是J2EE和.Net)软件 开发 中的热门话题。然而,如果我们比较一下围绕着SOA的宣传和90年代后期EJB和服务件的宣传,你会发现这没有什么区别。1998年,EJB带领互联网的潮流
为何不让软件测试SOA变得简单?[1]    SOA管理

关键字:soa

  最近,SOA成为跨技术平台(特别是J2EE和.Net)软件开发中的热门话题。然而,如果我们比较一下围绕着SOA的宣传和90年代后期EJB和服务件的宣传,你会发现这没有什么区别。1998年,EJB带领互联网的潮流并推翻了以CORBA为统治和由PB/Oracle Forms和其他主导的CS架构标准。SOA,作为一种新技术的术语,还不具有那么大的破坏性。SOA只是一种想法/概念和一组构建应用功能的最佳实践。相反地,J2EE是一套完整地开发技术,可以用来设计所有的东西。

  我对SOA的主要关注在于企业级Java应用通用的问题:复杂性。次要关注的是SOA通常作为一种解决方案被用来跨越J2EE应用各层,虽然这好像没有什么意义。本文提取出SOA的基本元素并介绍他们。一旦我们理解这些,就可以理解SOA系统中的更复杂的组件了。最后,我们可以了解一下SOA给J2EE应用带来的实际价值,同时并不增加无用的复杂性。

  本文分为个部分:首先,提出了我对SOA作为一种标准参考点的定义。其次,检查那些主要的软件工程问题通过SOA可以解决而不是用SOA来检查。再次,会给出基于复杂需求的SOA的建议分类。最后,给出三种主要SOA分类的建议实现。

  SOA是什么?

  SOA有很多定义。下面是我的定义:

  SOA是宏级别的应用到应用架构级的设计模式:

  1、可选地暴露应用的功能作为一组离散的组件。

  2、使这些组件能被用来构建更复杂的组件和应用。

  3、仅包含基于消息的组件内部通讯。

  我还遗漏了什么呢?还有一些方面,包括:

  1、安全

  2、事务

  3、状态或无状态会话

  4、消息数据

  5、消息特性

  6、消息协议

  7、消息内容

  8、具体技术实现

  这些方面也是重要的,但不是主要的。我的定义提取了SOA的核心规则,但没有抛弃概念本身。

  

原文转自:http://www.ltesting.net