zoukankan      html  css  js  c++  java
  • EJB2.1学习系列一:初识EJB

    为何学习EJB2.X

    从接触java(2006年)这门语言起,就只有一种言论,“EJB太笨重”,轻量级的Spring更是现下最好的解决方案。所以工作后从来没有碰过EJB的任何东西,但是我也不想人人亦云,你说都没有接触,学习,深入了解过一种东西,而听信别人说它不好,这是对自己很不负责的表现。哪怕有一天,我真的也发表说EJB哪里不好的言论,也是经过了自己一番努力学习了解后,有理有据地分析的结论。所以,想反驳一个东西,得先了解它,我觉得有必要学习下EJB的时候来了。也不从最新的EJB3.X学起,就从大家都反感的之前版本学起。然后再看一下Rod Johnson大神的作品<<expert one-on-one j2ee development without ejb>>,看他是怎么抛弃EJB,又怎么构造自己的架构设计,即Spring前身。

    EJB初起认识

    EJB设计架构有如下期望目标:

    • Ejb是用java语言构建面向对象的,分布式的应用程序的标准组件
    • Ejb必需很好支持开发,部署,和web services使用
    • Ejb使开发应用程序比较简单,应用程序开发者不用关注底层事务状态管理,多线程,连接池,或更复杂的底层api
    • Ejb必需遵守java语言的“一次编写,到处运行”的理念,一个ejb程序能只开发一次,然后部署到不同的平台上而不用多次修改或编译代码
    • Ejb架构重点关注的是应用开发,部署,和运行时期这几个方面
    • Ejb架构应该定义各产商应该遵守的开发,部署规则约定
    • Ejb架构将使开发应用程序通过使用不同产商的组件组合
    • Ejb设计架构应该遵守CORBA协议

    从上面的列表可以看出,EJB的目标是针对企业级开发环境下,一套能简化开发流程,让我们只关注业务,而封装底层复杂的技术体系。

    EJB架构中的各类角色

    Ejb架构定义了六种不同的角色概念:

    1. 企业bean提供者。此角色的输出一般是ejb-jar文件面里包含了多个企业beans
    2. 应用集成者。它们所做的是把 各种企业beans组合集成为一个大的可部署的单元
    3. 部署者。它们把"企业bean提供者"或"应用集成者"提供的一个或多个ejb-jar文件部署在特定的运行环境中(EJB容器或服务器)
    4. EJB服务器提供者。它必需在分布式事务管理,分布式对象和更底层系统级服务了解,所以一个典型的EJB服务器产商会是操作系统提供商,中间件开发商,或数据库产商
    5. EJB容器提供商。它是企业级beans的运行时环境。容器厂商必需隔离企业级beans的规范和特定厂商的容器实现,它们的实现应该符合Ejb规范合约。
    6. 系统管理员。职责是监控ejb运行时的实时情况,并根据ejb容器厂商的配置说明进行配置和网络配置

    EJB运行结构图

    EJB实体对象种类

    • 会话bean(session object)
    • 实体bean(entity object)
    • 消息驱动bean(message-drive object)

    参考ejb2.1 specification


  • 相关阅读:
    Mysql(三) Mysq慢查询日志
    Mysql(二) Mysql错误日志
    Mysql(一) Mysql二进制日志
    HA(二)Heartbeat实现LVS集群DR模式下Director高可用
    HA(一)高可用集群原理
    LVS(五)LVS集群RealServer高可用健康监测
    LVS(四)LVS集群DR模式
    LVS(三)LVS集群NAT模式
    LVS(二)LVS集群中实现的三种负载均衡技术
    Cocos2d-JS实现的打飞机
  • 原文地址:https://www.cnblogs.com/jcli/p/2379443.html
Copyright © 2011-2022 走看看