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 简易信息 ...
随机推荐
- jQuery实现radio第一次点击选中第二次点击取消功能(转)
转载自:http://www.jb51.net/article/113730.htm 由于项目的需求,要求radio点击两次后为取消状态,不方便修改为checkbox,可以用正面的方法实现. // j ...
- laravel iis搭建
1.urlrewrite https://www.iis.net/downloads/microsoft/url-rewrite 2.安装phpmanager 3.目录定位到public 赋给iuse ...
- kali Rolling安装之后的一些常用配置总结(更新)
原文: https://ssooking.github.io/kali-rolling-an-zhuang-zhi-hou-de-yi-xie-chang-yong-pei-zhi-zong-jie/ ...
- Extjs gridpanel 合并单元格
/* * *合并单元格的函数,合并表格内所有连续的具有相同值的单元格.调用方法示例: * *store.on("load",function(){gridSpan(grid,&qu ...
- Caused by: java.io.IOException: Added a key not lexically larger than previous.
为了重复这个实验,遇到不少坑 https://www.iteblog.com/archives/1889.html /** * Created by Administrator on 2017/8/1 ...
- 【微信小程序】scroll-view与Page下拉冲突
需求:主界面是个列表.列表可以纵向滑动,下拉添加新的条目Item.每个条目Item可以横向滑动. 发现做下拉时,用Page的enablePullDownRefresh和scroll-view条目的横向 ...
- WPF中的命令简介
使用Prism委托命令Demo: WPF委托命令DelegateCommand的传参方式 在WPF中使用命令的步骤很简单 1.创建命令 2.绑定命令 3.设置命令源 4.设置命令目标 WPF中命令的核 ...
- python 全局变量的使用
我尝试使用 类似 C 语言的方式去调用 python 的全局变量,发现不行,后经过 尝试,要使用 global 进行调用 test_num = 0; # 首先声明一个全局变量 def test_fun ...
- [zigbee]zigbee的一些基础
--------------------------下面转自知乎 首先要区分协议跟协议栈.◇协议是一种规定.是一系列的通信标准,通信双方按照这一标准进行数据收发.◇协议栈是一系列代码,是协议的具体实现 ...
- tomcat出现的PermGen Space问题<转>
最近做项目碰到了让我纠结的问题,tomcat服务器运行一段时间,总是会自动报异常:java.lang.OutOfmemoryError: PermGen Space 的错误,导致项目无法正常运行. 出 ...