菜鸟的EJB(一)什么是EJB?

什么是ejb?

sun微公司对于ejb的定义大体是这样的,ejb是一套用于开发和部署分布式组件的的架构。采用ejb的架构应用可以是扩展伸缩的,是可以被事务来管理的。可以是一次编写,能够运行在不同的符合ejb规范的应用服务器平台上的。

java企业级bean。从大面上j2ee来讲,作为企业级开发的一个解决方案之一。从javabean这样一个颗粒的角度来讲,ejb就是一个简单的javabean类。通过打包成jar放到不同的服务器上,以及结合RMI来调用服务器上的ejb对象。

为什么要ejb?

企业级开发

最重要的、理由最充分还是分布式。那么什么是分布式呢?对于企业级的业务逻辑复杂和大数据处理,并且永久的高可靠运行、应对业务处理能力的扩展和伸缩。这个就要求分布式的处理,而ejb就是这样一个拥有分布式及分布式业务处理的可选解决方案。为什么说是可选的,因为在后面还有像spring
mvc这样优秀的解决方案。所以这套从j2ee到ejb的解决方案就一直在企业应用领域所使用,当然且把这些ejb的缺点放到一边来学习学习这套解决方案。

ejb3.0

而相对之前的ejb2.0,ejb3.0通过注解及一些的默认配置使ejb变得更加的“容器化”。极大的简化了之前由于笨重的xml配置,更加轻便敏捷的开发。

结构

持久化服务

持久化我们应该不陌生,在hibernate、及ibatis还是后面的mybatis都提供了一整套解决方案。在ejb3.0中,有相应的java
persistence api。可以将pojo对象映射到数据库中,ejb3.0在2.0基础上统一了这套api规范,使这样的entitybean对象能够在不同场合被使用。

ejb 3.0 持久化的搭建:http://fansofjava.iteye.com/blog/336952

和hibernate的区别

首先需要讲明的是ejb是针对企业级开发应用的解决方案,而对于大多数情况下。不是所有的项目和应用都会涉及到如此的大的业务逻辑处理和大数据维护,因为不是每一个电商都能做成阿里的。而hibernate在本质上是针对数据库的crud的提供了一套更为易于操作的解决方案,更准确的讲是在jdbc和sql查询的基础上。更为轻量级和应用,ejb包括了分布式、分布式声明事务、安全以及rmi这一套的规范。两者在合适的场合使用某个就好了,针对的具体的情况去选择。

enterprise bean

这个部分分为两个方面,session bean和message-driven bean。

session bean

stateful session bean

什么是会话bean?

支持业务逻辑操作,从客户端获得ejb对象知道对象销毁这样一个过程称之为session。

什么是对象的状态?

对象的状态的其实就是实例变量(成员变量)的值。对应就是类变量。

什么叫有状态的会话bean?

一个ejb对象能够为同一个客户端在多次请求(即方法调用)之前保持状态信息。

过程是这样一个过程,每次调用context对象的lookup方法时,其实每次客户端去服务器请求ejb对象时,实际上是在服务器端的对象池里面来取这个ejb对象。因为在ejb类的对象创建之初会给每个对象指定id,类似于sessionID。这个对象是通过原型复制的方式来获取的,这样每次对于客户端来讲都会有一个ejb对象来为它服务。这样就是简单的一个session
bean的调用和创建过程。

stateless session bean

其实就是当客户端来请求ejb对象时,每次都是一个ejb对象。这样不能区分不同客户端状态。实现的基本上用单例实现。

message-driven bean

简单理解就是一种处理异步请求的java 类,使ejb能够互相之间交互。

后序

总体上来讲ejb是企业开发的一种可选解决方案,也是j2ee中一个很小的部分。有着非常良好的应用架构,当然也不是尽善尽美的。看到这样一句话来形容是最贴切的,你要么把事情做的尽可能简单,让人挑不出毛病;要么把事情做的尽可能复杂,让人找不出毛病。ejb就是后面这种,考虑了企业级开发的很多问题,提供了解决方案。但是鉴于实际运用过程中,就像上面的讲的不是每一个电商都能干到淘宝的级别。过于复杂的开发过程和维护,让人却步。因为人们更倾向于一种简洁快速的开发方式,特别是人们在提出了敏捷开发这样一个前景下。帕累托法则
告诉我们,用最少的时间去完成最重要的部分80%的工作。

时间: 2025-01-03 01:51:56

菜鸟的EJB(一)什么是EJB?的相关文章

EJB通过ANT提高EJB应用的开发效率、开发具有本地接口的无状态bean、开发有状态bean

把jboss集成进eclipse 关闭Jboss控制台按Ctrl+c,在MyEclipse→Servers→Jboss里面可以配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorld 加入ANT,右击项目新建xml:build.xml,右击打开方式选择Ant .. 对应用进行编译.打包.发布.解发布 <?xml version="1.0" encoding="UTF-8"?> <!--basedirz项目所在路径,.代表在bui

深入了解EJB (三)EJB是什么以及规范之间的内在联系

J2EE是一个很大的概念它主要包括了十三个技术规范,除了这十三个外还有一些其他一些规范但不太重要不需要关注,每个规范如果深入研究的话都包括了很多内容,这里不是逐一分析每一个规范的含义,只是谈谈J2EE规范里面几个规范的作用和对企业级开发的一点点理解,如有不恰当支持请指正. 十三个规范的核心是EJB(enterprise java bean),因此有必要重点分析一下ejb规范,以前ejb还没有向今天这么辉煌时,ejb1.0问世的时候里面仅仅有ejb.rmi等几个简单规范,也仅仅解决了当时分布式应用

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

EJB是Enterprice Java Beans的简称,即企业Java组件,是一个用于分布式业务应用标准服务端组件模型(这里强调是服务端组件模型,后面我们将会说一下为什么是服务端而不是客户端),是一组用java语言编写的包含字段和方法的代码体,而这些代码的核心任务就是实现纯粹的业务逻辑. 采用Enterprice Java Beans架构编写的应用是可伸的.事务性的.多用户安全的,可以一次编写这些应用,然后部署在任何支持Enterprice Java Beans规范的服务器平台,如JBoss.

EJB开发第一期---EJB开发配置

一.EJB 3.0简介 1.1 什么是EJB Enterprise JavaBeans是一个用于分布式业务应用的标准服务端组件模型.采用Enterprise JavaBeans架构编写的应用是可伸缩的.事务性的.多用户安全的.采用ejb编写的这些应用,可以部署在任何支持Enterprise JavaBeans规范的服务器平台,如jboss.weblogic等. EJB实际上是用于编写业务层代码.如果大家对于MVC (model-view-controller)结构的应用有所了解的话,我们知道一个

Java之旅EJB(3)——Ant提高ejb开发效率

前面已经讲过了并且已经演示过了,我们部署一个程序的过程是很繁琐的,不仅仅要手动拷贝生成的jar包,还有将在之前进行jar的生成,好麻烦啊,那么接下来就介绍一个新的小伙伴来帮你一把吧. Myeclipse或者说是eclipse是集成了ant工具的, 1.      简介 关于Ant的简介,这是网上的资料,Ant是一种基于Java的build工具.理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷.目前的最新版本为:Ant1.9.4[1]  . 既然我们已经有了make,gn

EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean

该jboss集成到eclipse 关掉Jboss控制台新闻Ctrl+c,在MyEclipse→Servers→Jboss可配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorld 增加ANT,右击项目新建xml:build.xml,右击打开方式选择Ant .. 相应用进行编译.打包.公布.解公布 <? xml version="1.0" encoding="UTF-8"? > <!--basedirz项目所在路径,.代表在bui

消息驱动EJB(一)JMS与EJB

本文 主要从两方面进行讲述: 1.为什么使用MDB 2.使用MDB的设计原则 先来看一下消息之间是如何通信的? 应用的一个组件将JMS消息发送指定消息目的,应用的另一个组件从消息目的读取消息并解析出消息的内容.这样就实现了两个组件之间的通信. 1.发送消息的一方,称为消息生产者 2.接收消息的一方,称为消息消费者 消息生产者和消息消费者无须直接耦合,甚至不需要知道对方的存在,这就是JMS规范所实现的效果. (一)JMS和EJB 1.消息生产者 要实现的功能比较单一,只要获取与消息目的的JMS会话

【J2EE浅析】——EJB

一.EJB概述 EJB(EnterpriseJava Bean)--java企业Bean,是J2EE十三种规范的一部分,为服务器端组件模型,设计目标与核心应用是部署分布式应用程序.EJB是java的核心代码,包括三种Bean类型:会话Bean(Session Bean),实体Bean(EntityBean)和消息驱动Bean(MessageDriven Bean). 通俗的说,EJB就是一个运行在独立的服务器上,封装了业务逻辑的组件.在一个商务软件中,核心部分就是其业务逻辑,它抽象了整个商务过程

EJB概述

Ejb(Enterprise JavaBeans)是使用java语言构造可移植的.可重用的和可伸缩的业务应用程序的平台. 从开发者的角度,EJB是在称为EJB容器的特定运行时环境中执行的一段java代码,容器提供若干组件服务. EJB组件有三种类型:会话bean.消息驱动bean和实体bean.会话bean和消息驱动bean用于实现EJB应用程序中的业务逻辑,而实体用于持久化. 容器以非常优雅的方式为EJB组件提供服务:当容器部署EJB时,通过指定要添加的服务类型,使用元数据注解预配置EJB.元

EJB学习(一)——EJB和WEB打包

在做Java版高校云平台的时候,每个模块在搭建底层的时候都建立了三个项目,分别是jar项目(对象core层).war项目(对应web层)和ear项目(对应ear层),刚开始接触这好几个项目,有些蒙了.最近在总结EJB的相关知识,对这些项目有了一些基本的了解,下面就对各个项目如何打包进行一个总结. 在这之前,我们先来认识一下EJB,EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序.简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.那么打包是怎么个回事