個人理解: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