为什么要使用EJB

经常有同学问我这样的问题:现在企业使用EJB的多吗?什么情况下会使用EJB?为了回答这个问题,我们首先要知道EJB的目标是什么。
EJB的目标
在EJB的规范中描述的EJB的目标如下:
Ø 企业JavaBean架构将成为使用Java2编程语言构建面向对象的业务应用的标准组件架构。
Ø 企业JavaBean架构将成为使用Java2编程语言构建分布式的业务应用的标准组件架构。
Ø 企业JavaBean架构将支持Web Service的开发、部署和使用。
Ø 企业JavaBean架构将简化应用程序的编写:应用开发者不必理解底层的事务和状态管理细节,多线程,连接池,或者其它的复杂的底层API。
Ø 企业JavaBean应用将遵循Java编程语言的“Write Once, Run Anywhere™”特性。企业Bean开发一次,可以不重新编译或者修改源代码而直接部署在多个平台上。
Ø 企业JavaBean架构将解决企业应用生命周期中的开发、部署和运行等各方面问题。
Ø 企业JavaBean架构定义协议来保证来自不同厂商的开发、部署组件的工具能够在运行的时候相互协作。
Ø 企业JavaBean架构使得使用不同厂商的工具开发的组件来构建应用成为可能。
Ø 企业JavaBean架构将提供企业Bean和Java EE组件以及非Java语言编写的应用之间的交互。
Ø 企业JavaBean架构将与已经存在的服务器平台兼容。厂商能够通过扩展他们已经存在的产品来支持企业JavaBeans。
Ø 企业JavaBean架构将与其它Java API兼容。
Ø 企业JavaBean架构将与CORBA协议兼容。
(上面的内容来源《Java EE5实用教程——基于WebLogic和Eclipse》)
目标解读
对于上面的内容可以从以下几个方面理解:
要成为标准组件架构、不同厂商的工具可以相互协作:如果成为标准,将会有众多的EJB提供者、使用者、和工具提供者,应用前景绝对可观。
用于分布式:可能涉及数据的分布式、处理过程分布式以及管理的分布式,这样意味着EJB绝对不是为了小的应用。
要支持Web Service、要与其他Java EE组件或者非Java应用交互、要与已经存在的服务器平台兼容、要与其它的Java API兼容、要与CORBA协议兼容,由此可见EJB绝对不是为了处理简单的问题。
简化应用程序的编写,包括组件的编写和使用。应用开发者不必理解底层的事务和状态管理细节,多线程,连接池,或者其它的复杂的底层API。如果没有这些支持,我们要开发分布式应用,可能需要考虑很多东西,而现在简化多了。
目前公司的应用情况
在2006年《程序员》的调查中,使用EJB的应用的比例是13%,应该说这个比例不高,本人认为可能的原因有两个:
第一, EJB主要用于大型分布式系统,而实际上现在很多系统还都比较简单,尤其是独立的网站特别多。以至于JSP的应用能到61%。
第二, EJB的功能非常强大,并且比较复杂,所以学习的难度比较大。
而在今后,这两个方面都应该会发生变化,而且是朝着有利于EJB的发展的方向发生变化。软件系统在企业中的作用越来越明显,今后会有更多的企业愿意花更多的钱来开发满足企业发展的复杂的系统,这时候EJB就可以有用武之地了。关于EJB的复杂性,从EJB3可以看出,已经有很大改进,现在EJB的开发与普通的JavaBean的开发已经没有太大的区别。
鉴于以上的分析,还是建议那些希望在Java方向发展的人不要放弃EJB,如果您学进去,会发现并不难,并且它里面很多思想对您会有深刻的影响。
EJB使用范例 EJB使用的一个小例子,有助于新人学习中间件 立即下载

相关推荐

EJB 介绍

NULL 博文链接:https://j2ee2009.iteye.com/blog/1092698

为什么要用EJB

1998年3月在SanFrancisco召开的JavaOne98开发者大会上,Sun公司正式发布了业界期待已久的EJB1.0版(EnterpriseJavaBeans1.0)规范说明,在众多的大公司和开发人员中引起了巨大的反应,这标志着用Java开发企业级应用系统将变得非常简单。这次JavaOne大会也被称之为"EJB展览会",许多公司纷纷表示要推出有关EJB的产品,已经推出或正准备推出EJB产品

Bob@优快云 924

为什么要使用EJB?

首先,我们必须明确,为什么要使用J2EE?J2EE优点是什么?使用J2EE的主要原因是多层结构,传统的两层C/S结构难于维护,稳定性极差,界面代码和数据库代码混淆在一起,牵一动百,多层结构使得界面和数据库完全分离,并且诞生了中间件这样的技术,如下图:Web+EJB能组成真正的多层结构为什么使用EJB我原先认为这不是一个讨论的话题,因为EJB是J2EE重要的组成部分,可以说没有EJB的J2EE只是一种Web系统,这样的系统非常容易丧失了多层结构的大部分优点(仔细想想那些混合多种层次功能JavaBeans和传统两层结构有什么区别?)。当然,可以人为地在Javabeans之间进行层次划分,例如Hib

关于EJB,为什么用EJB?为什么不用EJB?

EJB

学习编程,热爱编程 1万+

YOLOv8中间特征层可视化

在通过观察这些特征,可以清楚地看到模型如何逐步将输入图像转化为有意义的表示。

weixin_45314480的博客 6891

别再手动敲代码了!用STM32CubeMX+FreeRTOS图形化配置,5分钟搞定多任务通信框架

本文详细介绍了如何利用STM32CubeMX和FreeRTOS快速搭建多任务通信框架,大幅提升嵌入式开发效率。通过图形化配置工具,开发者可在5分钟内完成任务调度、时钟配置和内核对象生成,特别适合物联网设备开发。文章还提供了代码优化和调试技巧,帮助开发者轻松应对复杂应用场景。

weixin_30363285的博客 292

EJB初探(二)为什么需要EJB

EJB(Enterprise Java Bean)是JavaEE中面向服务的体系架构的解决方案,可以将功能封装在服务器端,以服务的形式对外发布,客户端在无需知道方法细节的情况下来远程调用方法,大大降低了模块间的耦合性,提高了系统的安全性和可维护性。本章将介绍EJB的作用,创建一个基于EJB的程序,讲解EJB的配置以及会话Bean的使用。 为什么需要EJB 要想知道为什么要使用EJB,就需要知道...

jcpp9527的博客 3831

网络安全 —— 实验(基于华为eNSP模拟器)

8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)8. 实验八 —— 通过路由的远程管理(基于实验七的基础配置)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)6. 实验六 —— 交换机的远程控制(直接控制和间接控制)5. 实验五 —— 将交换机作为PC端通过交换机相连。5. 实验五 —— 将交换机作为PC端通过交换机相连。4. 实验四 —— 两个PC机通过两台交换机相连。2. 实验二 —— 两个PC机通过交换机相连。2. 实验二 —— 两个PC机通过交换机相连。

这个家伙看起来很懒,只想把你留下来哦 9342

ejb的定义配置及其使用

1、ejb定义 a、定义一个ejb接口:继承EJBObject类,定义方法名; b、定义ejb类:实现SessionBean接口,并实现ejb接口中的方法; c、定义home类:继承EJBHome类,创建ejb接口对象。 例如: public interface VentureHome extends EJBHome { Venture crea...

336

Lumerical官方案例、FDTD时域有限差分法仿真学习(十四)——超透镜(Metalens)

这个例子的目的是设计一个由圆柱形纳米棒组成的衍射超透镜。 纳米棒的半径和排列经过调整以在超透镜表面上产生所需的相位分布。 该设计通过近场和远场分析在 Ansys FDTD、RCWA(严格耦合波分析)和 OpticStudio 中得到验证。...

weixin_45719141的博客 3万+

SpaceMesh Mining 教程

當參與Spacemesh的用戶在完成P盤工作後需要完成兩個部分工作:PoET+PoST,這兩部分均是在不同的規定時間完成,具體可參考後續的時間表。註意!只有PoET和PoST均完成的用戶才可以獲得收益。Spacemesh相關P盤教程:說明:1.Spacemesh每個紀元epoch周期為14天,在8月7日完成PoET的將在8月20日完成PoST,收益將在8月25日後發放(之後用戶收益將每隔14天發放一次) 後續PoET時間為8月7日+N14 **後續PoST時間為8月20日+N。

Yc Chan 的个人博客 1045

什么是EJB?EJB详解

EJB到底是什么? 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的运行效率。然而,估计很多人都搞错了,这个"服务群集"和"分布式运算"并没有根本解决运行负载的问题,尤其是针对数据库的应用系

soulofball的博客 1万+

Hadoop与Kafka集群部署与优化实践指南

分布式系统是现代大数据处理的核心架构,其中Hadoop作为分布式存储与计算框架,Kafka作为分布式消息队列系统,共同构成了实时数据处理的基础设施。通过HDFS实现海量数据存储,结合YARN进行资源调度,而Kafka则保障了数据流的实时传输与高吞吐。这种技术组合在电商用户行为分析、物联网数据采集等场景中表现卓越。部署过程中需关注硬件资源配置、关键参数调优以及集群监控方案,例如通过调整HDFS块大小和Kafka partition数量来优化性能。合理运用Flume、Spark Streaming等工具可实现系

weixin_29061997的博客 362

java swing ejb_为什么要使用EJB

首先,我们必须明确,为什么要使用J2EE?J2EE优点是什么?使用J2EE的主要原因是多层结构,传统的两层C/S结构难于维护,稳定性极差,界面代码和数据库代码混淆在一起,牵一动百,多层结构使得界面和数据库完全分离,并且诞生了中间件这样的技术,如下图:Web+EJB能组成真正的多层结构为什么使用EJB我原先认为这不是一个讨论的话题,因为EJB是J2EE重要的组成部分,可以说没有EJB的J2EE只是一...

weixin_39889337的博客 175

硬件工程师提前批真题及答案解析2

我们需要考虑题目可能的简化假设,即输入电阻 Ri​ 可能是 rbe​ 和 βre​ 的组合,但题目可能简化为: Ri​≈rbe​+βre​。由于锗管的正向导通电压较小(0.2 V~0.3 V),而硅管的正向导通电压较大(0.6 V~0.7 V),因此-4.7 V的电压差不符合硅管的特性,而更接近锗管的特性。在三极管电路中,静态电位是指在无信号输入时,三极管各电极的直流电压。re​ 是动态发射极电阻,通常可以近似为 re​=IE​VT​​,但在题目中已经给出了 re​=300Ω,因此可以直接使用这个值。

XU157303764的博客 783

【深度学习新浪潮】李飞飞团队VAGEN框架深度解析:让VLM智能体学会“三思而后行“

VAGEN框架的真正价值,不仅在于性能指标的突破,更在于重新定义了VLM智能体的发展方向——人工智能的进步不应只追求"做得对",更要实现"想得清"。李飞飞团队通过强制显式思考、动态表示适配和精细化奖励三大创新,让智能体第一次具备了可解释的世界建模能力。正如人类通过"观察-预测-行动"认识世界,VAGEN为AI注入的这种思考范式,或许正是通往通用人工智能的关键一步。对于开发者而言,开源的VAGEN框架不仅提供了强大的工具,更揭示了一个重要理念:让AI学会思考,比让它学会执行更重要。

专注:太空算力、AI infra、异构调度、大模型成本工程 281

EJB基础三 有状态EJB

有状态EJB其实是类似于CDI中的依赖作用域。就是你需要一个有状态EJB的时候,就会新建一个有状态EJB。因为根据需求创建的,所以每个请求都有一个,这样才可以保存状态,故成为有状态EJB。 无状态EJB在wildfly中默认最大20个,假如有100个请求,那么这20个无状态EJB只能被共享。共享了又怎么能保存客户端的状态呢?购物车就是个明显的有状态EJB,将购物车它放到session里,这样保证

ilovewqf的博客 5万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【进阶EJB】问你EJB知多少?

EJB近几年好像不太常用了,但是作为SUN公司重点推荐的一种规范,其强大之处还不被很多人熟知。接下来一系列关于EJB的博文就将一一揭开EJB的神秘面纱,今天我们就先来宏观看一下就是什么是EJB呢?

不忘初心 1649

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

EJB2移植到EJB3的一些实践

众所周知EJB被人病诟的很大的一个缺陷就是它复杂的配置,和奇异的编程模型。所以EJB3的推出减小了这些毛病, 但是Rod Johnson似乎还是不满意:) 关于2个标准的对比已经有很多文章和书籍了,我这里不再赘述。我只想说的是自己经历到的移植的经验,希望和大家分享。主要是session bean的移植。首先是开发EJB配置的模式由于EJB3把配置由descriptor移到了

卢声远 Shengyuan Lu的专栏 1817

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

为什么要使用EJB?(转载)

为什么要使用EJB?(转载)init_Nav();  首先,我们必须明确,为什么要使用J2EE?J2EE优点是什么?使用J2EE的主要原因是多层结构,传统的两层C/S结构难于维护,稳定性极差,界面代码和数据库代码混淆在一起,牵一动百,多层结构使得界面和数据库完全分离,并且诞生了中间件这样的技术。  Web+EJB能组成真正的多层结构  为什么使用EJB我原先

空中花园的专栏 1614

EJB 叫我如何爱上你 --评《精通EJB》及EJB

是本好书先谈谈《精通EJB》这本书,Ed Roman是著名网站TheServerSide.com的CEO,自己也拥有一家专门从事中间件开发的公司MiddleWare, 另外两个合著者Tyler Jewell是BEA的J2EE专家,Scott W. Ambler也是面向对象设计和敏捷建模的大师,由这样的专家写出来的书籍,的确堪称经典,让人看得放心,读得顺心。整个J2EE架构是个非常复杂的架构,而《精

天外网志 1万+

EJB 和 without EJB

            自古有矛就有盾,有正就有邪,中国人讲:“天地万物,阴阳两极.”西方人讲:“辨证唯物主义”。其实本质都是一样,都是说明了事物都有两面。            以前略略看过EJB的一些资料,就当时不成熟的思想来看,觉得EJB的分布式概念相当好,对于实际工作的情况而言也是蛮实用的一个方法,比如在电力,电信,银行大型行业里面使用这种构架业务层和web服务器层分开,业务层就全放在EJ

闷炮闲话 1656
上一篇: 有状态会话Bean(sfsb)和无状态会话Bean(slsb)的区别
下一篇: 消息驱动Bean(MDB)的开发
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值