您的位置:jsp学习站首页 >> JAVA类 >> JAVA基础 >> 漫谈EJB (3)

漫谈EJB (3) (2)

[ 来源:互网络 | 更新日期:2007-09-04 07:03:56 | 浏览次数:4837]
简介:myEJB中绑定了home接口。EJB的客户端,在得到这样一个初始的context后,然后就可以使用以下的代码来定位到home接口:      MyEJBHome home = ctx
位到需要的资源或者对象。例如,假定你已经在WebLogic Server中配置了一个EJB,并且在myApp.myEJB中绑定了home接口。EJB的客户端,在得到这样一个初始的context后,然后就可以使用以下的代码来定位到home接口:

      MyEJBHome home = ctx.lookup( "myApp.myEJB" ); 

    一旦你得到你所需对象的一个引用--在这个例子中,就是EJB的home接口--然后你可以调用它上面的方法。为了在一个context中查找到一个对象,JNDI还提供方法可以做到:

    插入或者绑定一个对象到一个context中。在你配置一个EJB时,这是非常有效的方法;
    
    从一个context中移去一个对象

    列出一个context中的所有对象

    创建和删除subcontexts

企业Java Beans(Enterprise Java Beans,EJB)

    J2EE其中一个引人注目的技术是EJB。它提供了一个架构来开发和配置到客户端的分布式商业逻辑,因此可以明显减少开发扩展性、高度复杂企业应用的难度。EJB规范定义了EJB组件应该如何及何时与它们的容器交互。由容器来负责提供普通的服务,例如目录服务、事务管理、安全、资源池和容错。

    EJB规范定义了三类基本的bean:

    会话beans(session beans):会话beans为业务流程建模,由于他们通常表示执行某个动作,因此可以把它们当作是动词。这个执行的动作可以是任何事情,例如增加数量,访问数据库,调用其它系统,调用其它企业Bean。我们可以举出很多的例子,包括一个计价引擎,一个工作流引擎,一个目录引擎,一个信用卡认证中心,或一个网上证券交易引擎。

    实体beans(Entity beans):这是持久保存数据的代表--典型的是存储在数据库中--因此在服务器崩溃后数据仍然存在。多个客户端可以使用EJB来表示同样的数据。实体beans为企业数据建模,由于它们表示数据对象(就是缓存数据库信息的Java对象),因此可以把它们当作名词。实体beans的例子包括一种产品,一项订单,一个雇员,一张信用卡,或一支股票。会话beans典型的方式是通过实体beans来实现业务目标的,例如一个证券交易引擎(会话beans)处理股票(实体beans)。

    Message-Driven beans:Message-Driven beans也表示动作,这一点上它类似于会话beans。它们之间的不同点在于你只能够通过发送消息给Message-Driven beans的方式来调用它们。Message-Driven beans的例子包括了接受股票交易消息的beans,信用认证消息,或工作流消息。这些Message-Driven beans也可以调用其它的企业beans。

    接着,我们讨论无状态和有状态

    无状态的beans(Stateless beans):这是一个单一使用的服务,不维护任何的状态,在服务器崩溃时也不再存在,而且生存期也相对地短。例如,一个无状态的session bean可能用作执行温度转换。

    有状态的bean:它提供了一个传统的与客户端交互的方法,存储客户端的状态。在线购物车就是这样一个有状态session ean的典型例子。有状态session beans在服务器崩溃时也不再存在,而且生存期也相对地短,并且每个实例只可以用在一个单一的线程中。

JavaServer Pages (JSP
[1] [2] [3] [4]
Tags:关键字:漫谈EJB (3)
责任编辑:glen