EJB的魅惑来源
有人发帖子问学习EJB有个屁用啊?看完下面一个简单的介绍,也许你对EJB很感兴趣,它的优点极具魅惑力。
一、EJB是基于组件的开发。
利用Enterprise JavaBean,你就能像搭积木一样开发EJB组件,然后你或者是其他人可以把这些EJB组件组装货重新组装到不同的应用中去。例如,你可能创建了一个Customer(顾客)Bean(组件),它表示数据库中的一个顾客。这个Customer Bean就能用到多个应用中,比如可以用在审计程序,电子商务购物车系统或技术支持应用中。只要应用中需要表示一个顾客,几乎都可以使用这个组件。
实际上,对于Bean来说,Bean的开发人员和Bean的使用人员可能不在同一公司工作,甚至彼此不认识。如果你是一位Bean开发人员,可以构建一个Order(订单)Bean,Payroll(工资) bean,或者是其他bean,这样其他公司的开发人员(可能跟你毫无关系)就能向你购买这些组件,或用来建立他们自己的应用。
基于组件开发有一大妙处就是基于组件,可以让代码重用上升到一个新的高度,这里不是重用Java类,而是重用一个更大的功能块。bean要怎么工作通常完全可以从外部进行修改,根本不用动bean内部的代码。
利用EJB,我们就可以集中精力来处理企业的业务逻辑,而像事务、网络、安全等等这些底层服务则统统留给EJB服务器开发商来解决。因为EJB服务商已经提供了许多服务,所以你不必亲自动手编写这些服务:事务管理、安全、并发、网络、资源管理。而且EJB允许你在部署时定制和配置可重用组件,而不用去动它的源代码。
二、WODA
因为企业bean是可移植的,这不仅仅是指他们可以移植到不同的JVM中去,更重要的是可以移植到不同的EJB服务器。都说Java能跨平台,这点让我们极度喜欢Java,这就是所谓的“一次编写,到处运行(write-once-run-anywhere WORA)”。EJB则是把可移植性提升到了一个新的高度,这里还能做到“一次编写,到处部署(write-once-deploy-anywhere WODA)”。可以让你摆脱运行平台的限制,这样就能让你的应用不只是在一种操作系统上运行,相比之下,WODA则更进一步。
相信你看到这里能对EJB的兴趣又增长了几分,具体怎么体现EJB的优点,就需要进一步的学习和应用了。
EJB的魅惑来源的更多相关文章
- Web开发技术的演变
原文出处: WildFly 欢迎分享原创到伯乐头条 受到好文<Web开发的发展史>(英文)激发的灵感,写下我对web开发技术的认识. 1. 静态页面时代 大学时候,上机还得换卡穿拖鞋, ...
- 转Web开发的发展史---Web开发技术的演变
转自:http://blog.csdn.net/zzzkk2009/article/details/9849431 在接下来的几个月时间里,我打算写一系列关于完整web开发的文章.这第一篇文章虽然有所 ...
- 报表引擎API开发入门— EJB程序数据源
我们前面讲了几个数据源,今天我们来讲一下EJB数据源,这篇讲完我们数据源这部分就讲完了.数据连接不需要直接访问数据库,而是使用EJB做为数据源.FR通过定义程序数据集使用EJB的相关类获取到EJB数据 ...
- SSH与EJB 比较
SSH完全的开源产品,如果用SSH就必然会用到大量的开源的东东,从数据库到逻辑到控制到前端,开源产品大拼装, 其中SSH中的三大核心,Struts相当于JSF,spring相当于EJB,hiberna ...
- J2EE学习记录,EJB,JNDI,RMI
Java EE 是java平台企业版(Java Platform Enterprise Edition)缩写,是Sum公司为企业级应用推出的标准平台. 随着Java技术的发展,J2EE平台得到了迅速的 ...
- 我的EJB学习历程
http://blog.csdn.net/sinapaper/archive/2004/06/28/28659.aspx http://blog.csdn.net/sinapaper/archive/ ...
- EJB Remote/Local 绑定和JNDI Lookup
从同事那里学到一种方便的注解SessionBean的方式.代码我放到github去了 https://github.com/EdisonXu/Test/commit/703d49123dca9e666 ...
- jboss eap6.1(5)(ejb升级)
以前的项目是基于ejb2.x做的,ejb的配置文件为ejb-jar.xml和jboss.xml,现在把这个项目移到新版本服务器中的时候,报解析ejb-jar错误. 查阅许多资料才找到解决办法,原来jb ...
- Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索
Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索 1.1. Rss 简易信息聚合(也叫聚合内容 Really Simple Syndication1 1.1. Rss 简易信息 ...
随机推荐
- 对象序列化为何要定义serialVersionUID的来龙去脉
在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有10万用户并发访问,就有可能出现10万个Session对象 ...
- oracle的db link
cd $ORACLE_HOME/network/admin vi tnsnames.ora 添加 CCPBS_19 = (DESCRIPTION = (ADDRESS_LIST = ...
- 可以用的远程maven地址
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Sublime Text2/3怎样在Mac OSX中配置CTags插件
参考地址: http://jingyan.baidu.com/article/48206aeafba820216ad6b3f5.html
- 【转载】TCP协议要点和难点全解
说明: 1).本文以TCP的发展历程解析容易引起混淆,误会的方方面面 2).本文不会贴大量的源码,大多数是以文字形式描述,我相信文字看起来是要比代码更轻松的 3).针对对象:对TCP已经有了全面了解的 ...
- IIS7 https 发生413错误 未显示页面,因为请求实体过大
参考文档: http://msdn.microsoft.com/zh-cn/library/cc737382(v=ws.10).aspx http://www.java123.net/v/12 ...
- PostgreSql 函数
DECLARE curParkingTime TIMESTAMP ; curLeavingTime TIMESTAMP; parkingSpaceIndexCode VARCHAR[]; days I ...
- HTTP1.1 协议
Response Headers 响应头 Expires 设置响应内容的过期时间 过期时间头信息属性值只能是HTTP格式的日期时间,HTTP的日期时间必须是格林威治时 间(GMT),而不是本地时间.举 ...
- opencv 中affine函数实现旋转和平移
图像旋转和平移是图像处理中常用的一种操作,opencv2和opencv3中对图像的旋转和平移都是通过仿射变换函数cv::warpAffine()来实现的. 1.图像的旋转 图像的旋转具体实现分为两步: ...
- shell+钉钉机器人完成java程序中断后自启动和实时监控
java实时程序在运行过程中偶尔出现异常信息中断的情况,通过shell脚本即可完成自启动. 以下为监控一个实时的java程序的shell脚本. 通过每10秒检查一次java程序的进程,来判断程序是否处 ...