关键字: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的核心规则,但没有抛弃概念本身。
文章来源于领测软件测试网 https://www.ltesting.net/