EJB3基本概念、运行环境、下载安装与运行jboss
EJB3基本概念
什么是EJB:
EJB(EnterpriceJavaBeans)是一个用于分布式业务应用的标准服务端组件模型。采用EJB架构编写的应用是可伸的、事务性的、多用户安全的。采用EJB编写的这些应用,可以部署在任何支持EJB规范的服务器平台,如Jboss、weblogic等。
EJB用来干什么?
EJB实际是用来编写业务层代码。如果大家对于MVC(model-view-controller)结构的应用有所了解的话,我们知道一个基于MVC结构的应用应包含显示层、控制层和业务层,假设我们采用EJB开发基于MVC结构的应用,那么EJB就是用语开发应用的业务层。
EJB的好处:
EJB为我们提供了很多在企业开发中需要使用到的服务,如事务管理/安全/持久化[J1] /分布式等,因为这些服务由容器提供,无需我们自行开发,这样大大减少了我们的开发工作量。
EJB3和Spring比较:
如果你的应用不需要分布式[J2] 能力,确实没有必要使用EJB,因为Spring+Hibernate提供了大部分原来只有EJB才有的服务,而且这些服务比EJB更细致,更周到。
EJB设计的初衷是用于分布式场合,而Spring一开始就没有打算提供分布式功能。所以两者看似竞争的关系,但实际上两者的偏重点不一样,EJB属于重量级[J3] 组件,比较适合大型企业,因为大型企业一般会存在多个信息系统,而这些信息系统又相互关联。为了避免业务功能重复开发,实现最大程度的重用,有必要把业务层独立出来,让多个信息系统共享一个业务中心,这样应用就需要具备分布式能力。
EJB的分布式特点:
好处,为后期的软件维护带来的很大的方便,而且这种应用模式实现了业务功能的共享。
以后如果企业还要增加其他信息系统,又是要使用到相同的业务功能,我们就不需要在去开发这些功能了,直接使用共享的这些业务功能。这样软件就实现了最大程度的重用,而且这种重用是组件级别的,不是层面上的。
学习EJB不一定是用来找工作,EJB3包含很多知识点,学习它可以开阔我们的知识面,不管工作中是否用到EJB3,都应该学习一下,因为通过学习它可以让你站在更高的台阶思考问题。
运行环境
EJB3.0应用需要运行在EJB容器里,下面是一些JavaEE应用服务器,JavaEE应用服务器包含Web容器和EJB容器。
Jboss是 JavaEE应用服务器。
注意:Tomcat目前只是Web容器,它不能运行EJB应用。
下载安装与运行jboss
http://jbossas.jboss.org/downloads这里使用的是jboss-4.2.2.GA,下载后直接解压缩即可完成安装(解压路径最好不要有中文)。点击bib/run.bat启动,进入管理后台进行查看、管理:
提供我下载好的:http://pan.baidu.com/s/1qWnZ55E
双击run.bat 启动的是default配置的。
为Jboss设置系统变量:
后面的学习中我们需要使用到系统变量JBOSS_HOME,它指向的是Jboss的安装路径,在系统变量里面添加JBOSS_HOME变量,值为Jboss的安装路径。
为了方便输入Jboss的命令,我们把Jboss的bin目录添加到系统路径里,在PATH末尾添加;%JBOSS_HOME%/bin;
[J1]持久化是将程序数据在持久状态和瞬时状态间转换的机制。
[J2]分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。hadoop
[J3]比方说EJB就是一个重量级的框架,因为它对所编写的代码有限制,同时它也提供能分布式等复杂的功能。
相比之下,Spring就是轻量级框架,因为它需要的只是普通的Java对象,它所提供的也只是足够中小应用使用的功能。
复杂性
EJB3基本概念、运行环境、下载安装与运行jboss的更多相关文章
- 服务器运行环境(LNMP)安装说明
服务器运行环境(LNMP)安装说明 因为公司需要一套流程标准,所以写了如下步骤. 先下载文件environment.tar,将文件上传到服务器. 使用命令解压文件,tar xvf environmen ...
- Eclipse下载安装并运行第一个Hello world(详细)
Eclipse下载安装并运行第一个Hello world(详细) 1.下载安装和配置JDK JDK详细的安装教程参考:https://www.cnblogs.com/mxxbc/p/11845150. ...
- Windows7系统下JAVA运行环境下载、安装和设置(第二次更新:2012年03月14日)
1.下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,(由于Sun于2009年被oracle收购所以网址 ...
- Java 运行环境的安装、配置与运行
(一)SDK 的下载与安装 1. 下载SDK 为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包.SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器. ...
- 消息中间件系列二:RabbitMQ入门(基本概念、RabbitMQ的安装和运行)
一.基本概念 1. AMQP AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议.支持不同语言和不同的产品 2. 生产者 ...
- (转)Tomcat(java运行环境)安装及配置教程
转自:http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4be90.html 用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的 ...
- 实验 1 Java 运行环境的安装、配置与运行
一.实验目的 1. 掌握下载 Java SDK 软件包. 2. 掌握设置 Java 程序运行环境的方法. 3. 掌握编写与运行 Java 程序的方法. 4. 了解 Ja ...
- python 下载安装及运行环境配置(windows)
第一步:下载python安装包 下载地址:https://www.python.org/downloads/windows/ 我下载的是版本:3.6.4 安装包下载完成后,点击进行安装. 第二步:配置 ...
- Elasticsearch-6.7.0系列(一)9200端口 .tar.gz版本centos7环境--下载安装运行
https://www.elastic.co/guide/index.html(推荐) ES官方英文原版文档,一般会更新到最新版本 https://www.elastic.co/cn/d ...
随机推荐
- Centos常用命令之:文件与目录管理
在centos中常用的文件与目录操作命令有: ◇chmod:修改文件或目录的权限 ◇mkdir:新建目录◇rmdir:删除目录◇rm:删除目录或文件◇cp:复制目录或文件◇mv:移动目录或文件 下面就 ...
- 推荐一个c++小巧开源且跨平台的图像解码库
该图像解码库仅仅三个文件. 图像处理封装: spot.cpp spot.h 解码库实现: spot.c 支持图片文件格式如下: File format Read Write BMP files yes ...
- [CQOI 2010]扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...
- slab机制
1.内部碎片和外部碎片 外部碎片 什么是外部碎片呢?我们通过一个图来解释: 假设这是一段连续的页框,阴影部分表示已经被使用的页框,现在需要申请一个连续的5个页框.这个时候,在这段内存上不能找到连续的5 ...
- 51nod 1486 大大走格子(容斥原理)
1486 大大走格子 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 有一个h行w列的棋盘,里面有一些格子是不能走的,现在要 ...
- hdu 2254(矩阵)
题意:指定v1,v2,要求计算出在t1,t2天内从v1->v2的走法 思路:可以知道由矩阵求,即将其建图A,求矩阵A^t1 + ...... + A^t2. A^n后,/*A.xmap[v1 ...
- 【LA 3027 Corporative Network】
·一些很可爱的询问和修改,放松地去用并查集解决. ·英文题,述大意: 输入n(5<=n<=20000)表示树有n个节点,并且会EOF结束地读入不超过 20000个操作,一共有两种: ...
- 笔记9 AOP练习3(通过注解引入新功能 )
切面可以为Spring bean添加新方法. 在Spring中,切面只是实现了它们所包装bean相同接口的 代理.如果除了实现这些接口,代理也能暴露新接口的话,会怎么样 呢?那样的话,切面所通知的be ...
- C语言程序设计第五次作业——循环结构
(一)改错题 1.题目:输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5 ...
- $.messager.confirm 用法
<script type="text/javascript"> $(function () { $.messager.defaults = { ...