EJB

EJB

 

前言

回顾EJB出现以前的Java应用开发,大部分开发者直接用JSP页面,在加上少量Java Bean就可以完成整个应用,所有的业务逻辑、数据库访问逻辑都直接写在JSP页面中。系统开发前期,开发者不会意识到有什么问题,但随着开发进行到后期,应用越来越大,开发者需要花费大量时间去解决非常常见的系统级问题,反而无暇顾及真正需要解决的业务逻辑问题。

最初的EJB 1.0大约于1998年发布,而struts1早期版本发布于2000年,从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发领域,Java就逐渐成为企业应用开发的主流技术,一直到2003年,Strut1+EJB一直都是Java技术架构的不二选择,然后这一切随着2003年Spring以without EJB的面目出现之后,一切都开始改变。

我仿佛忽略了EJB,从我入行Java以来(2017年),听到业界最多的呼声就是Spring,在追寻这些呼声之中,我越发迷茫,于是开始了漫长的历史追寻。我从最基础的Servlet开始一步步探索,Servlet、JSP、Model1、Model2(Struts1)、WebWork、Struts2,正当我打算深入了解Hibernate之时,EJB映入我的眼帘,我开始慌忙的追寻历史,生怕把这宝贵的知识遗漏在角落里,按照年代来算,EJB比Struts1早两年,我觉得我还是有必要去探索一下这门技术。

 

EJB是什么?

 

是什么

Java体系结构:

 

 

J2EE体系结构:

 

 

其中EJB属于J2EE体系结构中的业务逻辑部分。

  

EJB构成:

EJB容器中有三个类也称为组件,分别是:

Session Bean(逻辑)

EntityBean(数据)

messageDrivenBean(消息)

从上图可以看到:

1、组件是在容器中的。容器提供了组件的环境并对其进行了管理。

2、调用组件的被称为ejb客户端。客户端可以运行在web容器中。如jsp、servlet、jndi、  web service等。

 

一个简单的分布式集群图:

Enterprise javabean(EJB)技术是Java平台的服务器端组件体系结构,Enterprise Edition(Java EE)。EJB技术允许快速和简化开发的分布式的、事务性的、安全的和便携式基于Java技术的应用程序。【oracle官网】

EJB是sun的JavaEE服务器端组件模型设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编好的程序(即:类)打包放在服务器上运行。凭借Java跨平台的优势,EJB技术部署的分布式系统可以不限于特定的平台EJB(Enterprise JavaBean)是J2EE(JavaEE)的一部分,定义一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务中心支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。在EJB3.0推出以后,实体Bean被单独分了出来,形成了新的规范JPA。【百度百科】

 

一个技术规范

EJB从技术上而言不是一种"产品",而是一中技术规范。EJB是一种描述了构建应用组件要解决的标准:

 可扩展(Scalable)

 分布式(Distributed)

 事务处理(Transactional)

 数据存储(Persistent)

 安全性(Secure)

 

EJB的期望

提供一个标准的分布式、基于OO的组件架构

屏蔽复杂的系统级功能需求

Write once,run anywhere

与非Java应用之间的互操作能力

兼容CORBA标准

 

选择EJB

EJB服务器完成"繁杂"的工作:应用开发人员关注于业务逻辑的实现而不是底层的实现机制、支持事务处理(多个业务操作同时成功,或全部失败),可以通过在代码外的描述来定义事务处理级别可扩展性,EJB可以根据您应用的增长而扩展,EJB服务器往往还提供了负载均衡,由EJB服务器提供的资源的访问权限控制。

 

EJB的架构

如上图EJB的体系结构。为了满足架构的目标,规范中描述了:

服务器(Server)

容器(Container)

类(Class)和实例(instance)

Home和Remote接口

客户端(Client)

 

推荐阅读:

EJB发展史:

https://blog.csdn.net/li_xiao_ming/article/details/52793930

Spring和EJB的竞争发展史:

https://blog.csdn.net/aspdao2/article/details/4895377

EJB(百度百科):

https://baike.baidu.com/item/EJB/144195?fr=aladdin

EJB是什么:

https://blog.csdn.net/jojo52013145/article/details/5783677

https://blog.csdn.net/origination_star/article/details/80035985

EJB技术概览:

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

EJB的优势和使用场景:

http://book.51cto.com/art/201008/220993.htm

RPC:

http://developer.51cto.com/art/201906/597963.htm

EJB2.0 CMP到BMP模式:

https://blog.csdn.net/seastar_pickle/article/details/307676

 

 

EJB github demo:

https://github.com/jboss-developer/jboss-eap-quickstarts

 

 

 

前言

EJB是什么?

是什么

一个技术规范

EJB的期望

选择EJB

EJB的架构

 

 

 

 

 

前言

回顾EJB出现以前的Java应用开发,大部分开发者直接用JSP页面,在加上少量Java Bean就可以完成整个应用,所有的业务逻辑、数据库访问逻辑都直接写在JSP页面中。系统开发前期,开发者不会意识到有什么问题,但随着开发进行到后期,应用越来越大,开发者需要花费大量时间去解决非常常见的系统级问题,反而无暇顾及真正需要解决的业务逻辑问题。

最初的EJB 1.0大约于1998年发布,而struts1早期版本发布于2000年,从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发领域,Java就逐渐成为企业应用开发的主流技术,一直到2003年,Strut1+EJB一直都是Java技术架构的不二选择,然后这一切随着2003年Spring以without EJB的面目出现之后,一切都开始改变。

我仿佛忽略了EJB,从我入行Java以来(2017年),听到业界最多的呼声就是Spring,在追寻这些呼声之中,我越发迷茫,于是开始了漫长的历史追寻。我从最基础的Servlet开始一步步探索,Servlet、JSP、Model1、Model2(Struts1)、WebWork、Struts2,正当我打算深入了解Hibernate之时,EJB映入我的眼帘,我开始慌忙的追寻历史,生怕把这宝贵的知识遗漏在角落里,按照年代来算,EJB比Struts1早两年,我觉得我还是有必要去探索一下这门技术。

 

 

 

 

EJB是什么?

 

是什么

Java体系结构:

 

 

 

J2EE体系结构:

 

 

 

其中EJB属于J2EE体系结构中的业务逻辑部分。

 

 

EJB构成:

 

EJB容器中有三个类也称为组件,分别是:

Session Bean(逻辑)

EntityBean(数据)

messageDrivenBean(消息)

从上图可以看到:

1、组件是在容器中的。容器提供了组件的环境并对其进行了管理。

2、调用组件的被称为ejb客户端。客户端可以运行在web容器中。如jsp、servlet、jndi、  web service等。

 

一个简单的分布式集群图:

 

 

 

 

Enterprise javabean(EJB)技术是Java平台的服务器端组件体系结构,Enterprise Edition(Java EE)。EJB技术允许快速和简化开发的分布式的、事务性的、安全的和便携式基于Java技术的应用程序。【oracle官网】

EJB是sun的JavaEE服务器端组件模型设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编好的程序(即:类)打包放在服务器上运行。凭借Java跨平台的优势,EJB技术部署的分布式系统可以不限于特定的平台EJB(Enterprise JavaBean)是J2EE(JavaEE)的一部分,定义一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务中心支持和核心开发工具(SDK)。在J2EE里,Enterprise Java Beans(EJB)称为Java企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。在EJB3.0推出以后,实体Bean被单独分了出来,形成了新的规范JPA。【百度百科】

 

一个技术规范

EJB从技术上而言不是一种"产品",而是一中技术规范。EJB是一种描述了构建应用组件要解决的标准:

 可扩展(Scalable)

 分布式(Distributed)

 事务处理(Transactional)

 数据存储(Persistent)

 安全性(Secure)

 

EJB的期望

提供一个标准的分布式、基于OO的组件架构

屏蔽复杂的系统级功能需求

Write once,run anywhere

与非Java应用之间的互操作能力

兼容CORBA标准

 

选择EJB

EJB服务器完成"繁杂"的工作:应用开发人员关注于业务逻辑的实现而不是底层的实现机制、支持事务处理(多个业务操作同时成功,或全部失败),可以通过在代码外的描述来定义事务处理级别可扩展性,EJB可以根据您应用的增长而扩展,EJB服务器往往还提供了负载均衡,由EJB服务器提供的资源的访问权限控制。

 

EJB的架构

如上图EJB的体系结构。为了满足架构的目标,规范中描述了:

服务器(Server)

容器(Container)

类(Class)和实例(instance)

Home和Remote接口

客户端(Client)

前进时,请别遗忘了身后的脚印。
原文地址:https://www.cnblogs.com/liudaihuablogs/p/13462022.html