新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → EJB规范 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4624 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: EJB规范 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     npuhetao 帅哥哟,离线,有人找我吗?
      
      
      威望:5
      头衔:骨灰级菜鸟
      等级:大二(研究C++)
      文章:230
      积分:2708
      门派:XML.ORG.CN
      注册:2004/3/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给npuhetao发送一个短消息 把npuhetao加入好友 查看npuhetao的个人资料 搜索npuhetao在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看npuhetao的博客楼主
    发贴心情 EJB规范

    EJB规范
       Enterprise JavaBean 规范为基于组件的事务性、分布式对象系统定义了一个体系结构。该规范颁布了一个编程模块,即组成 EJB API 的契约或协议以及一组类和接口。EJB 编程模块向 bean 开发人员和 EJB 服务器供应商提供了一组契约,这组契约定义了开发的公共平台。这些契约的目标是在支持一组丰富功能性的同时能够确保供应商之间的可移植性。

    Enterprise Bean 是在称作 EJB 容器的特殊环境中运行的软件组件。容器容纳和管理 Enterprise Bean 的方式与 Java Web 服务器容纳 Servlet 或 HTML 浏览器容纳 Java Applet 的方式相同。Enterprise Bean 不能在 EJB 容器外部运行。EJB 容器在运行时管理 Enterprise Bean 的各个方面,包括远程访问 bean、安全性、持续、事务、并行性和资源的访问与合用。

    容器不允许客户机应用程序直接访问 Enterprise Bean。当客户机应用程序调用 Enterprise Bean 上的远程方法时,容器首先拦截调用,以确保持续、事务和安全性都正确应用于客户机对 bean 执行的每一个操作。容器自动为 bean 管理安全性、事务和持续,于是 bean 开发人员不必将这种类型的逻辑写入 bean 代码本身中。Enterprise Bean 开发人员可以将精力集中于封装商业规则,而容器处理其它一切。

    如同 Java Web 服务器管理许多 Servlet,容器同时管理许多 bean。为减少内存消耗和处理,容器合用资源并非常小心地管理所有 bean 的生命周期。当不使用某个 bean 时,容器将它放在池中以便另一个客户机重用,或者可能将它驱逐出内存,仅当需要时再将它调回内存。由于客户机应用程序不能直接访问 bean -- 容器位于客户机和 bean 之间 -- 因此客户机应用程序完全不知道容器的资源管理活动。例如,未在使用的 bean 可能被驱逐出服务器内存,而它在客户机上的远程引用却丝毫不受影响。客户机在远程引用上调用方法时,容器只需重新实例化 bean 就可以处理请求。客户机应用程序并不知道整个过程。

    Enterprise Bean 依赖容器来获取它的需求。如果 Enterprise Bean 需要访问 JDBC 连接或另一个 Enterprise Bean,那么它需要利用容器来完成此项操作;如果 Enterprise Bean 需要访问调用者的身份、获取它自身的引用或访问特性,那么它需要利用容器来完成这些操作。Enterprise Bean 通过以下三种机制之一与容器交互:回调方法、EJBContext 接口或 JNDI。

    回调方法:
    每个 bean 都会实现 EnterpriseBean 接口的子类型,该接口定义了一些方法,称作回调方法。每个回调方法在 bean 的生命周期期间向它提示一个不同事件,当容器要合用某个 bean、将其状态存储到数据库、结束事务、从内存中除去该 bean 等操作时,它将调用这些方法来通知该 bean。回调方法可以让 bean 在事件之前或之后立即执行内部调整。在第 4 章中将详细讨论回调方法。


    EJBContext:
    每个 bean 都会得到一个 EJBContext 对象,它是对容器的直接引用。EJBContext 接口提供了用于与容器交互的方法,因此那个 bean 可以请求关于环境的信息,如其客户机的身份或事务的状态,或者 bean 可以获取它自身的远程引用。


    Java 命名和目录接口 (JNDI):
    JNDI 是 Java 平台的标准扩展,用于访问命名系统,如 LDAP、NetWare、文件系统等。每个 bean 自动拥有对某个特定命名系统(称作环境命名上下文 (ENC))的访问权。ENC 由容器管理,bean 使用 JNDI 来访问 ENC。JNDI ENC 允许 bean 访问资源,如 JDBC 连接、其它 Enterprise Bean,以及特定于该 bean 的属性。
    EJB 规范定义了 bean-容器契约,它包括了以上描述的机制(回调、EJBContext、JNDI ENC)以及一组严谨的规则,这些规则描述了 Enterprise Bean 及其容器在运行时的行为、如何检查安全性访问、如何管理事务、如何应用持续,等等。bean-容器契约旨在使 Enterprise Bean 可以在 EJB 容器之间移植,从而可以只开发一次 Enterprise Bean,然后在任何 EJB container 运行该 Enterprise Bean。供应商,如 BEA、IBM 和 GemStone,都销售包含 EJB 容器的应用程序服务器。理想情况下,任何符合规范的 Enterprise Bean 都应该可以在任何符合规范的 EJB 容器中运行。

    可移植性是 EJB 带来的主要价值。可移植性确保了为一个容器开发的 bean 可以迁移到另一个容器,如果另一个容器提供了更好的性能、特性或节省。可移植性还意味着可以跨几个 EJB 容器品牌利用 bean 开发人员的技能,从而向公司和开发人员提供了更好的机会。

    除了可移植性,EJB 编程模块的简易性也使 EJB 变得更有价值。由于容器负责管理复杂任务,如安全性、事务、持续、并行性和资源管理,因此 bean 开发人员可以自由地将精力集中在商业规则和一种非常简单的编程模型上。简单的编程模块意味着可以在分布式对象、事务和其它企业系统中更快地开发 bean,而无需高深的知识。EJB 将事务处理和分布式对象开发带入主流。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    你硬要把单纯的事情看得很严重,那样子你会很痛苦。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/22 9:39:00
     
     npuhetao 帅哥哟,离线,有人找我吗?
      
      
      威望:5
      头衔:骨灰级菜鸟
      等级:大二(研究C++)
      文章:230
      积分:2708
      门派:XML.ORG.CN
      注册:2004/3/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给npuhetao发送一个短消息 把npuhetao加入好友 查看npuhetao的个人资料 搜索npuhetao在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看npuhetao的博客2
    发贴心情 
    不能。

    ----------------------------------------------
    你硬要把单纯的事情看得很严重,那样子你会很痛苦。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/23 11:19:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/15 15:06:51

    本主题贴数2,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms