首页 > 代码库 > EJB是什么

EJB是什么

个人理解:EJB可以说像是一个Web Service,但也不完全是,比如EJB将编写好的业务组件放置在EJB容器上,然后提供接口给客户端访问;但是功能不仅限如此,EJB标准中提供了很多规范等,而这些规范只有在EJB容器才能正常运行。还可以说是RPC(Remote Procedure Call远程过程调用)。

以上是最好理解的概念,但是详细的介绍就不是那么简单,以下是详细的说明:

https://zh.wikipedia.org/wiki/EJB

http://developer.51cto.com/art/200906/128387.htm

https://my.oschina.net/yao00jun/blog/219930

总的来说可以归纳于下面两张图:

技术分享

技术分享

图片转自:http://www.cnblogs.com/MyITHome/archive/2012/08/31/2665917.html

EJB与Spring的区别:

Spring容器取代了原有的EJB容器,因此以Spring框架为核心的应用无须EJB容器支持,可以在Web容器中运行。

Spring容器管理的不再是复杂的EJB组件,而是POJO(Plain Old Java Object) Bean。

对于Spring的作者而言,他已经深深地吃透了EJB的设计理念,并遵循这种理念开发出了一个开源的Spring框架。换个角度来看,Spring容器又何尝不是另一个Bean容器,只是这个Bean容器并未遵循Sun公司的EJB容器规范。

个人理解:也就是说EJB需要EJB提供的容器才能进行部署。

详细参考:http://book.51cto.com/art/201008/220993.htm

EJB容器:

1、BEA weblogic
2、IBM websphere
3、Oracle 9i App server
4、Sun one

EJB是什么