J2EE主要是关于企业级基于Java的C/S模式(包括传统C/S和所谓的B/S)应用的标准,是SUN的企业标准。
SOA是IBM推出的关于分布式计算的企业标准。
至于是Castor + Hibernate + Webservice还是其它什么(多得很)来做SOA,那只是SOA的实现。SOA是一个应用模式,并没规定用什么来做。
云计算,也只是一个概念,它得用某个具体的分布式计算模式来实现,譬如SOA,或其它。

反正我是没有见过有人开发死抱着标准不放的,比如ibatis不是标准,好用但是我就不用,我就用OpenJPA,因为实现了JPA标准,从来没见过有人这么干事,我觉得标准不能用来对接就失去了标准的意义,比如JPA吧,如果“领域层你们公司做,持久层另一家公司做”那么中间的衔接可能需要一个JPA这样的公认方式,但是事实是没有人这么切分任务,这是荒谬的,领域层和持久层的实现一般都是一个人做,JPA标准起不到衔接作用,那凭啥希望别人使用这个标准?用OpenJPA\Hibernate\JDO\IBatis\TopLink除了使用习惯和对个别查询的特殊需求以外又有啥区别。。

呵呵 除了OpenJPA\Hibernate\JDO\IBatis\TopLink
SOA标准还定义了SDO,那么现在我们就有SDO\OpenJPA\Hibernate\JDO\IBatis\TopLink

其实SDO = Castor + Hibernate + Webservice,试图统一OpenJPA\Hibernate\JDO\IBatis\TopLink,站在他们肩膀上,可是用户会答应吗?这里就体现标准的尴尬

SDO是为数不多的IBM主导的JSR规范,大概只会出现在IBM的SOA方案中,我对其不太清楚,我的印象就是好像希望将数据库(JDBC)、文件(Stream)、远程接口(RPC,JMS)等等所有数据源统一成一种规范接口

企业标准,本来就不是什么强迫的东西。它是本企业用来规范自身产品的标准文档。有内部的,也有对外公布的。
如果,在该领域的许多企业都追随这个标准,它就成了事实标准。
因此,企业标准,在形式上看,是自用的东西;但在内涵里却具侵略性,如果多数人跟着我走,我就成霸主了。
你不服气,完全可以不跟着它走。可是,很多人却认为,跟某些企业标准走,划算。
还有人专门设法去窃取人家内部的企业标准呢。

至于某些具体实现里的规范,那又是另外一回事。