ejb与soa的区别是,ejb是一种特殊的javabean,比起一般的javabean,也就是java的class,多了一些接口需要继承和实现。soa是一种架构,全称是面向服务(s就是service)的架构,简单说就是一种设计结构。

一、ejb与soa的区别
ejb与soa的区别是,ejb是一种特殊的javabean,比起一般的javabean,也就是java的class,多了一些接口需要继承和实现。soa是一种架构,全称是面向服务(s就是service)的架构,简单说就是一种设计结构。先说EJB,这是Java官方(SUN公司)为了使Java支持分布式系统而制定的规范,可以说是J2EE规范的核心之一。由各个应用服务器各自去实现,比如IBM的Websphere、JBoss等。
但是,因为EJB本身的一些固有缺陷(本人没有EJB的实践经验,就不展开了,反正大家都说不好用),所以并没有得到广泛的使用,加上EJB只能基于Java,所以IBM、Oracle、HP等各个大厂又开始大力鼓吹、推广SOA。
SOA最初是个叫做Gartner的小公司(相对的小)提出来的,是一种“架构”或者说“思想”,具有跨平台、跨编程语言、松耦合等特性。但SOA本身并非具体的规范、更非具体的产品,所以IBM、Oracle等厂商各自有各自的产品和解决方案,而且都很重、很贵,如果按照这些大厂的解决方案去实施SOA,肯定要采购一大批硬件和软件,还不一定用得顺手。
抛开这些大厂的SOA解决方案和开源的SOA方案不谈,SOA落到实现上最常见的技术方案是WebService,而WebService又是由SOAP、WSDL、UDDI等构成。
然而,WebService(准确的说是SOAP)也不是个好伺候的东西,首先学习曲线比较陡、各种开源框架多如牛毛,遇到异常各种晦涩的异常信息,各种类冲突等,加上其他的一些缺陷,于是更加轻量、更加灵活的Restful异军突起。
从狭义上讲,可以认为WebService等同于SOAP。从广义上讲,Restful和SOAP都可以算做WebService的具体实现。
它们的关系是:SOA是概念上的、最顶层的抽象,WebService是实现层的抽象,SOAP和Restful都是具体的实现方式。
延伸阅读:
二、Spring Cloud
Spring Cloud是基于Spring Boot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。 Spring Cloud包含了非常多的子框架,其中,Spring Cloud Netflix是其中一套框架,由Netflix开发后来又并入Spring Cloud大家庭,它主要提供的模块包括:服务发现、断路器和监控、智能路由、客户端负载均衡等。
以上就是关于ejb与soa有什么区别的内容希望对大家有帮助。
