EJB基础

1.EJB的全称是EnterPrise JavaBeans,是java中的商业应用组件技术。EJB组件结构    是基于组件的分布式

计算结构,是分布式应用系统中的组件,它并不是一个产品,而是java服务器端服务框架的规范,软件厂商根

据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问

题。
2.EJB规范定义开发和部署基于事务性,分布式对象应用程序的服务器端软件组件的体系结构。
3.企业组织可以构建他们自己的组件,或从第三方供应商购买组件,这些服务器端组件成为Enterprise Bean

,他们是EnterPrise JavaBean驻留的分布式对象,为网络中的客户机提供远程服务。
4.EJB作为企业级的数据访问/持久化标准在1999年作为J2EE规范的核心规范出现,极大的转变了java企业级开

发的模式,为java软件开发提供了一个良好的架构。

---EJB架构的目标
   1.减轻直接操作底层数据库的工作量
   2.为企业级开发引入了面向对象/面向服务的开发架构
   3.数据对象生命周期的自动管理
   4.分布式能力
   5.集成/声明式的安全/事务管理
---传统EJB与新一代EJB之间的区别
  --传统EJB
       -Bean类,它是EJB组件的主要实现。
       -EJB对象,客户根本不能够直接调用EJB实例
       -远程接口,这些接口中的方法会暴露给远程客户
       -本地接口,这些接口中的方法会暴露给本地客户
       -Home接口,Home接口定义了用于创建,销毁,查找本地(或远程)EJB对象的若干方法
  --新一代EJB
       EJB3.0则简化了EJB组件的开发过程,改变了EJB的编程模型,但要清楚的是EJB技术本身并没有因此而

变味,它仍然是服务器端软件组件框架。EJB3.0变化的知识开发和部署模型,而它的核心框架和架构元力并没

有改变。
       EJB3.0实现了以下几方面:
       1)不在需要Home接口和对象接口
       2)不在需要组件接口
       3)使用java元数据注释
----EJB组件类型
    -会话Bean
      会话Bean用于实现业务逻辑,它分为有状态bean和无状态bean,每当客户端发出EJB调用请求时,容器

就会选择一个Session Bean来为客户端服务。会话Bean可以直接访问数据库,但更多的时候,它是通过实体

Bean实现数据访问。
   -实体Bean
      从名字上,我们就能猜到,实体bean代表真是物体的数据。在EJB3.0中,实体bean仅作为普通的java对

象来使用,它负责跟数据库进行对象与关系映射(O/R Mapping)。
   -消息驱动Bean(MDB)
       MDB是设计用来专门处理基于消息请求的组件。它能够收发异步JMS消息,并能轻易地与其他EJB交互:

它特别适合用于当一个业务执行的时间很长,而执行结果无需实时向用户反馈这样一个场合。

 

---EJB容器
    EnterpriseJava Bean是在称作EJB容器的特殊环境中运行的EJB软件组件。Enterprise Bean不能在EJB容

器外部运行。EJB容器在运行时管理Enterprise Bean的各个方面,包括远程访问bean,安全性,持续,事务,

并行性和资源的访问与合用。
    容器不允许客户机应用程序直接访问EnterpriseJava Bean。当客户机应用程序调用Enterprise Bean上的

远程方法时,容器首先拦截调用,以确保持续,事务和安全性都正确运用于客户机对bean执行的每一项操作。

---Enterprise Bean与容器交互的方式
     1)回调方法:每个bean都会实现EnterpriseBean接口的子类型,该接口定义了一些方法,称为回调方法

         。
     2)JBContext:每个Bean都会得到一个EJBContext对象,它是对容器的直接引用。EJBContext接口提供 

      了与容器直接交互的方法。
     3)java命名和目录接口(JNDI):JNDI是java平台的标准扩展,用于访问命名系统,如LDAP,NetWare

,文件系统等。

---EJB运行环境
   EJB需要运行在EJB容器,每个javaEE应用服务器都含有EJB容器和Web容器。多以既可以运行EJB,又可以运行Web应用。目前支持EJB3.0的应用服务器有Jboss(4.2.x以上版本),Glassfish,Weblogic(10以上版本),Sun Application Server(9.0以上版本),Oracle Application Server(10g以上版本)和我们国内的apusic应用服务器。JBoss是使用做多的开源应用服务器,Weblogic是市场占有率坐高的商业应用服务器。

你可能感兴趣的:(java,bean,应用服务器,weblogic,ejb,服务器)